-
RANSAC(RANdom Sample Consensus) in pythondata-science-summary/summary 2020. 9. 20. 18:34반응형
<엔지니어는 구현을 못하면 모르는것이다>
RANSAC(RANdom Sample Consensus)
최소자승법(Linear Least Square)을 통한 예측은 아웃라이어가 있으면 크게 영향을 받는 반면
RANSAN은 가장 많은 수의 데이터들이 예측 모델 근방에 있는 모델을 선택하는 방법으로 아웃라이어에 강건하다.
데이터의 특정 두 점 또는 3점을 랜덤 선택하고 이 점으로 모델을 계산
=> 모델 주위(오차범위내)의 데이터 개수를 계산
=> 계산한 결과가 원하는 데이터 개수보다 적으면 다시 현재 오차범위내 데이터들로 다시 모델을 추정
=> 원하는 데이터 개수를 만족하면 모델을 저장
=> 이를 원하는 만큼 반복한뒤 최적의 모델 선택
from sklearn.linear_model import RANSACRegressor from sklearn.model_selection import train_test_split # 회귀용 가상 데이터 생성 from sklearn.datasets import make_regression # n_samples: 표본 데이터 수 , n_features: 독립변수 수, n_informative: 독립변수중 종속변수와 상관관계 있는 성분 수 X, y = make_regression(n_samples=10000, n_features=10, n_informative=5, random_state=123) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=123) from sklearn.linear_model import RANSACRegressor reg = RANSACRegressor().fit(X, y) reg.score(X_train, y_train) reg.predict(X_test) reg.score(X_test, y_test)
반응형'data-science-summary > summary' 카테고리의 다른 글
Association Rule (연관성 분석) in python (1) 2020.09.20 likelihood 와 maximum likelihood method 란? 간단정리 (0) 2020.09.20 후진 제거법 (Backward Elimination) in python (0) 2020.09.20 XGBoost in python (0) 2020.09.20 LightGBM in python (0) 2020.09.20