차원의 저주 데이터 분석을 하거나, 딥러닝을 사용하는데, 더 복잡한 feature들을 사용함으로써 오히려 비선형성이 증가하였다. 데이터를 많이 획득하거나, 차원을 줄여야지 차원의 저주를 해결할 수 있다. PCA(Principal Component Analysis : 주성분 분석) 데이터 분포를 최대한 보존하면서, 차원을 축소해도 본질은 같지만 잘 설명할 수 있다. 변화량이 가장 많은 지점에서 축을 찍어주는게 원칙이다. 차원을 축소해서 계산이 빠르게 잘되게끔 한다. PCA의 내부적 순서 1) 학습 데이터셋에서 분산이 최대인 축(axis)을 찾는다. 2) 이렇게 찾은 첫번째 축과 직교(orthogonal)하면서 분산이 최대인 두 번째 축을 찾는다. 3) 첫 번째 축과 두 번째 축에 직교하고 분산을 최대한 보..
Ensemble 머신러닝 모델을 연결하여 더 강력한 모델을 만드는 기법 Simple Voting, Bagging과 Boosting 방식이 있다. Simple Voting Hard Voting : 다수의 분류기들 간에 다수결로 최종 클래스를 선정하는 방법 Soft Voting : 다수의 분류기들이 각각 분류한 확률값들을 기반으로 평균 확률값을 내어서 더 높은 확률값을 갖는 클래스로 최종 선정하는 방법. 일반적으로 성능은 Soft voting 방법이 더 우수하다고 알려져 있다. 사이킷런에 내장되어 있는 위스콘신 유방암 데이터로 Simple Voting을 시행해보자. 모델은 LogisticRegression과 KNN을 사용한다. LogisticRegression과 KNN중 LogisticRegression이 ..
로지스틱 회귀 선형 회귀 방식을 이용한 이진 분류 알고리즘 분류 레이블 : 0 or 1 0~1 범위를 예측 결과로 가지는 모델 필요 Sigmoid 함수를 활용해 타깃값에 포함될 확률을 예측 Logistic, sigmoid 함수 S자 모양의 함수 시그모이드 함수 함수값을 0아니면 1에 가까워지도록 하여, 이진 분류하는데 많이 쓰인다. 로지스틱 회귀 실습 위스콘신 유방암 데이터 위스콘신 유방암 데이터는 sklearn API에 내장되어 있는 예시 데이터이다. 우선 위스콘신 유방암 데이터를 가지고, 데이터프레임을 만들어 보자. 만든 데이터프레임의 정보를 살펴보니, 30가지의 요인들과 이 환자가 악성인지 양성인지 가리키는 target 값이 들어있었다. 모델 학습 및 평가 97.9% 확률로 잘 예측하였다. 이제 데..
회귀 분석 회귀는 '되돌아오다', '가지고 있는 속성을 되돌려 받는다'라는 의미로서 종속변수와 독립변수의 관계를 분석하는데 사용한다. 회귀분석에는 단순 회귀 분석과 다중 회귀 분석으로 나뉜다. 단순 회귀 분석 하나의 종속변수와 하나의 독립변수 사이의 관계를 분석하는 것 다중 회귀 분석 하나의 종속변수와 여러 독립변수 사이의 관계를 규명 연속된 변수에 많이 쓰인다. 예시)주택 가격 예측, 매출액 예측, 주가 예측, 온도 예측 대표 회귀 모델 최소제곱법을 활용한 LinearRegression 경사하강법을 활용한 SGDRegressor 선형 회귀 from sklearn.linear_model import LinearRegression # 객체 생성 li_model = LinearRegression() li1 ..
타이타닉 데이터 캐글 튜토리얼 문제로서, Titanic에 타고 있었던 사람들의 승선정보를 바탕으로 생존자와 사망자를 예측하는 문제이다. 먼저 데이터가 어떻게 구성되어 있는지 살펴보자. https://www.kaggle.com/c/titanic Titanic - Machine Learning from Disaster | Kaggle www.kaggle.com Survived : 0 = 사망, 1 = 생존 Pclass : 1 = 1등석, 2 = 2등석, 3 = 3등석 Sex : male = 남성, female = 여성 Age : 나이 SibSp : 타이타닉 호에 동승한 자매 / 배우자의 수 Parch : 타이타닉 호에 동승한 부모 / 자식의 수 Ticket : 티켓 번호 Fare : 승객 요금 Cabin :..
이중 분류 사이킷런에는 0~9까지의 손글씨 이미지를 제공하는 load_digits 데이터 셋이 있다. 해당 데이터셋을 받아와서 데이터를 전처리하고, Decision Tree 분류기로 0과 0이 아닌 이미지로 이중 분류하고, 성능을 평가해보자. 다중 분류 이제 10개 숫자 중 0만을 판별하는 조건을 없애고, 0~9까지 모두 분류하는 모델을 만들고 평가하여 보자. 분류의 갯수를 높이니 정확도가 살짝 낮아진 것을 확인할 수 있다. 모델평가 만약 모델을 검증했을 경우 정확도가 확 떨어질 경우 과적합화 된 경우라고 판단할 수 있다. 테스트 셋은 100만 개 정도 있으면 10% 정도 쓰면 된다. 과소평가란? 진짜 중요한 피쳐들을 떨어뜨려, 데이터를 학습하기에 정확성이 떨어지는 것을 말한다. 교차 검증을 통해 과대평..