-
멋쟁이 사저처럼 10주차 회고카테고리 없음 2022. 11. 17. 17:16
머신러닝 실습
1. one-hot 인코딩 VS ordinary 인코딩
onehot 인코딩
인코딩 전
favorite_drink coffee coke water soda 인코딩 후
favorite_drink_coffee favorite_drink_coke favorite_drink_water favorite_drink_soda 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ordinary 인코딩
인코딩 전
favorite_drink coffee coke water soda 인코딩 후
favorite_drink 0 1 2 3 2. 다항식 전개
Polynomial Feature는 피쳐의 값들을 [1, a, b, a^2, ab, b^2]로 계산하여 반환
예시)
from sklearn.preprocessing import PolynomialFeatures
X = np.arange(6).reshape(3, 2)
print(X)
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X)
pd.DataFrame(X_poly, columns=poly.get_feature_names_out())
3. 부스팅: 약한 모델들을 여러 개 결합하여 예측 혹은 분류 성능을 높이는 알고리즘
오답위주로 학습하는 방법, 이전 오차를 보완해서 순차적으로 만들기 때문에 무작위성이 없다.
- Bagging은 한 번에 병렬적으로 결과를 얻는 반면 Boosting은 순차적으로 진행
경사하강법: 손실이 가장 작은 지점을 찾기 위해 기울기가 0인 지점을 찾아 경사를 점점 내리는 방법
learning_rate 는 학습률을 의미하는데 보폭이라고도 한다. 보폭이 너무 손실이 가장 작은 지점을 대충 찾기 때문에 최저점을 지나칠 수도 있다, 반대로 학습률이 너무 작으면 모델링에 많은 시간이 걸릴 수 있다.
그래디언트 부스팅 트리 (Gradient Boosting Tree) 특징
- 랜덤 포레스트와 다르게 무작위성이 없다.
- 매개변수를 잘 조정해야 하고 훈련 시간이 길다.
- 데이터의 스케일에 구애받지 않는다.
- 고차원의 희소한 데이터에 잘 작동하지 않는다.