Decision Tree
- 데이터에 있는 규칙을 학습을 통해 자동으로 찾아 tree 기반의 분류 규칙 적용
- 트리를 어떻게 분할할 것인가가 중요
- tree 깊이가 깊어질수록 결정 tree의 예측 성능이 저하될 수도 있음
- 가급적 최대한 균일한 데이터 세트를 구성할 수 있도록 분할할 수 있게 해야 함
※ 그래프 구조
- 루트 노드 : 최상위 node
- 규칙 노드(Decision Tree) = 규칙 조건
- 리프 노드 = 결정된 클래스값 (맨 마지막)
※ graphic에 표현된 문구들
- gini : value=[]로 주어진 데이터 분포의 지니계수
- samples : 한 규칙에 해당하는 데이터 건수
- value = [] : 클래스 값 기반의 데이터 건수
※ 지니(gini) 계수
- 경제학에서 불평등 지수를 나타낼 때 사용하는 계수, 0에 가까울수록 가장 평등하고, 1에 가까울수록 불평등
- Decision Tree는 지니계수가 높은 지점에서 지니 불순도를 낮추는 방향으로 가지치기를 진행
- sklearn API 관점 : 데이터 세트를 분할하는데 가장 좋은 조건, 즉 정보 이득이나 지니계수가 높은 조건을 찾아서 자식 tree node에 반복적으로 분할한 뒤 데이터가 모두 특정 분류에 속하게 되면 분할 stop 후 결정
회귀 분석(Regression Analysis)
- 관찰된 연속형 변수들에 대해 두 변수 사이의 모형을 구한뒤 적합도를 측정해 내는 분석 방법
- 단순회귀분석(simple regression analysis) = 하나의 종속변수와 하나의 독립변수 사이의 관계를 분석
- 다중회귀분석(multiple regression analysis) = 하나의 종속변수와 여러 독립변수 사이의 관계를 규명하고자 할 경우
Linear Regression (선형 회귀)
- 입력 데이터(연속형 데이터)에 대한 선형 함수를 만들어 예측 수행
- from sklearn.linear_model import LinearRegression
- 모델 생성
li_model = LinearRegression()
- 훈련
li1 = li_model.fit(X_train, y_train)
- 예측
pred = li1.predict(X_test)
- 평가
li1.score(X_test, y_test)
R2 Score (결정계수)
- 실제 값의 분산 대비 예측 값의 분산 비율 (통계학 회귀분석에서 자주 쓰임)
- 1에 가까울 수록 좋은 모델, 0에 가까울 수록 나쁨, 음수가 나오면 잘못 평가되었음을 의미
MSE(Mean Squared Error)
- 예측 값과 실제 값의 차이에 대한 제곱에 대하여 평균을 낸 값
- 작을수록 좋지만, 너무 작으면 과대적합이 될 수 있음에 주의
- 예측 값이 실제 값보다 크게 예측이 되는지 작게 예측되는지 알 수 없음
RMSE (Root Mean Squared Error)
- MSE에 루트를 씌운 값 (MSE의 장단점을 거의 그대로 따라감)
- 제곱 오차에 대한 왜곡을 줄여줌
MAE (Mean Absolute Error)

- 예측값과 실제값의 차이에 대한 절대값에 대하여 평균을 낸 값
- 작을수록 좋지만, 너무 작으면 과대적합이 될 수 있음에 주의
- 스케일에 의존적
Logistic Regression
- Logistic Regression은 회귀가 아닌 분류 모델
- 주어진 데이터가 비연속형 데이터(이진 분류)일때 Linear Regression 대신 사용
- 입력 데이터에 대한 선형 함수를 만들어 예측 수행
- Sigmoid 함수를 활용해 타깃값에 포함될 확률을 예측
- 모델 생성
lr_clf = LogisticRegression()
- 훈련
lr_clf.fit(X_train, y_train)
- 예측
pred = lr_clf.predict(X_test)
- 평가
lr_clf.score(X_test, y_test)
'빅데이터 부트캠프 > 머신러닝&딥러닝' 카테고리의 다른 글
빅데이터 부트캠프 26&27일차 (0) | 2022.08.10 |
---|---|
빅데이터 부트캠프 25일차 (0) | 2022.08.08 |
빅데이터 부트캠프 23&24일차 (0) | 2022.08.05 |
빅데이터 부트캠프 21일차 (0) | 2022.08.03 |
빅데이터 부트캠프 19&20일차 (0) | 2022.08.01 |
댓글