본문 바로가기

분류 전체보기

[Machine Learning] Tree-Based ML - 2. Ensemble Method (Random Forests) Ensemble Method 한종류의 데이터로, 다수결의 원칙으로 반복하여 여러개의 결정트리(머신러닝 학습모델(weak base learner, 기본모델))를 만들고. 각 결정 트리 하나마다 예측값을 확인하고 이들중 최빈값(분류)또는 평균값(회귀)을 최종 예측값으로 정한다. 이렇게 의견을 통합 하거나, 여러가지 결과를 합치는 방식. (a.k.a 집단지성) 부트스트랩(Bootstrap) 샘플링 앙상블에 사용하는 작은 모델들은 부트스트래핑(bootstraping)이라는 샘플링과정으로 얻은 부트스트랩세트를 사용해 학습을 합니다. 즉 원본 데이터에서 샘플링을 하는데 복원추출(중복추출가능)을 한다는 것인데 복원추출은 샘플을 뽑아 값을 기록하고 제자리에 돌려놓는 것을 말함. 이렇듯 샘플링을 특정한 수 만큼 반복하면.. 더보기
[Machine Learning] Tree Based ML - 1. Decision Tree Tree based Machine Learning의 기본 Decision tree. 데이터 분할하는 Algorithm으로 분류와 회귀문제 모두 적용 가능. 선형모델과 달리, Decision Tree 모델은 특성들을 기준으로 샘플을 분류해 나가는 형태. 각 특성들의 수치를 가지고 질문을 통해 정답 클래스를 찾아가는 과정, 여기서 질문이나 말단의 정답을 Node(노드)라고 하며 그 Node를 연결하는 선을 Edge(엣지)라고 한다. 결정트리는 분류(Classifier)와 회귀(Regressor)문제 모두 적용 가능합니다. 결정트리는 데이터를 분할해 가는 알고리즘입니다. 분류 과정은 새로운 데이터가 특정 말단 노드에 속한다는 정보를 확인한 뒤 말단노드의 빈도가 가장 높은 범주로 데이터를 분류한다. 결정트리의 .. 더보기
[Machine Learning] 특성 선택(Feature selection) - select K best 특성공학은 과제에 적합한 특성을 만들어 내는 과정입니다. 이 프로세스는 실무 현장에서 가장 많은 시간이 소요되는 작업 중 하나입니다. 이제 사이킷런의 SelectKBest를 사용해서 회귀모델에 중요한 특성을 선택해 보겠습니다. 1. Feature Engineering을 통해 1차적으로 데이터 정리 def engineer_features(X): # pandas.DataFrame.copy() X = X.copy() ## 욕실 갯수을 정수형으로 처리합니다. X['bathrooms'] = X['bathrooms'].round(0).astype(int) ## 총 방 수를 합하여 rooms로 합쳐 봅시다. X['rooms'] = X['bedrooms'] + X['bathrooms'] ## 사용하지 않을 특성을 삭제.. 더보기
[Machine Learning] 지도학습 -정규화 선형회귀[Ridge Regression (릿지 회귀, L2 Regression), Lasso Regression(라쏘 회귀; L1 regression)] 정규화 선형회귀(Regularized Method, Penalized Method, Contrained Least Squares) 정규화(Regularized) 선형회귀 방법은 선형회귀 계수(weight)에 대한 제약 조건을 추가함으로써 모형의 과적합을 막는 방법이다. 모형이 과도하게 최적화되면 모형 계수의 크기도 과도하게 증가하는 경향이 나타난다. 따라서 정규화 방법에서 추가하는 제약 조건은 일반적으로 계수의 크기를 제한하는 방법을 사용한다. Ridge 회귀모형 Lasso 회귀모형 Elastic Net 회귀모형 Ridge Regression (릿지 회귀, L2 Regression) Ridge 회귀는 과적합을 줄이기 위해서 사용하는 것, 정규화의 강도를 조절해주는 패널티값인 람다로 모델을 변형하여 과적합.. 더보기
[Machine Learning] 회귀모델의 평가지표 - MSE, MAE, RMSE, R2, OLS (최소자승법; Ordinary Least Squares) 회귀모델을 평가하는 평가지표들(evaluation metrics) MSE (Mean Squared Error) =np.mean(np.square((y_true - y_pred))) MAE (Mean absolute error) =np.mean(np.abs((y_true - y_pred))) RMSE (Root Mean Squared Error) =np.sqrt(MSE(y_true, y_pred)) R-squared (Coefficient of determination) = 참고 SSE(Sum of Squares Error, 관측치와 예측치 차이): SSR(Sum of Squares due to Regression, 예측치와 평균 차이): SST(Sum of Squares Total, 관측치와 평균 차이).. 더보기
[Machine Learning] 과적합(Overfitting) , 과소적합(Underfitting) - 분산편향 트레이드오프(Bias/Variance tradeoff) 일반화(generalization) 테스트데이터에서 만들어내는 오차를 일반화 오차라고 부른다. 훈련데이터에서와같이 테스트데이터에서도 좋은 성능을 내는 모델은 일반화가 잘 된 모델이라고 부릅니다. 모델이 너무 훈련데이터에 과하게 학습(과적합)을 하지 않도록 하는 많은 일반화 방법들이 있습니다. 예측모델이 훈련데이터에서보다 테스트데이터에서 오차가 적게 나오기를 기대하지만 현실적으로 모든 데이터를 얻을 수 없기 때문에 훈련데이터로부터 일반화가 잘 되는 모델을 학습시켜야 한다. 과적합(Overfitting) 과적합은 모델이 훈련데이터에만 특수한 성질을 과하게 학습해 일반화를 못해 결국 테스트데이터에서 오차가 커지는 현상 overfitting을 해결하는 방법 1. 특성(Feature)의 갯수를 줄여기 주요 특징을.. 더보기
[Machine Learning] 지도학습 - 다중선형회귀 vs 다항선형회귀 Multiple Linear Regression(다중선형회귀) Multiple Linear Regression(다중선형회귀)는 종속변수는 그대로 하나이지만 독립변수가 두 개 이상인 경우를 의미. 예를 들어, 아파트 집 값(종속변수)에 미치는 변수(독립변수)가 위치, 평수, 층수, 년식 등등 많은 경우이다. 다중선형회귀에서는 두개이상의 독립변수가 서로 연관관계에 있을때 결과가 제대로 나오지 않는 문제가 있다. (다중공선성) Multicolinearity (다중공선성) 두 개 이상의 독립변수가 서로 correlated 되었을 때 Multiple Linear Regression 결과가 정확하게 나오지 않는 것. 다중공선성 확인은 분산팽창지수 (Variation Inflation Factor ; VIF) 로 확.. 더보기
[Machine Learning] 지도학습 - 선형회귀(Linear Regression) 종속변수 y 와 한개 이상의 독립변수 X와의 선형 상관관계를 모델링 하는 회기분석(예측) 기법. 오류를 최소화 하거나 가능한 작게 만드는것 종속변수 y = Response 변수, Label, Target 독립변수 X = Predictor, Explanatory, feature (주로 Matrix라서 대문자 X) 선형회귀를 사용하는 목적 Data값 예측 선형 회귀를 사용해 데이터에 적합한 예측 모형을 개발한다. 개발한 선형 회귀식을 사용해 y가 없는 x값에 대해 y를 예측하기 위해 사용할 수 있다. Data간의 관계 예측 종속 변수 y와 이것과 연관된 독립 변수 X1, ..., Xp가 존재하는 경우에, 선형 회귀 분석을 사용해 Xj와 y의 관계를 정량화할 수 있다. Xj는 y와 전혀 관계가 없을 수도 있고.. 더보기