티스토리 뷰

📝 모델의 성능 개선하기

  • train_test_split() : 데이터셋 나누기
  • pd.get_dummies() : One-Hot-Encoding
  • RandomForestClassifier

 

 

 

 

📝 One-Hot-Encoding

  • pd.get_dummies() 사용.
X = pd.get_dummies(X_raw)
  • Ordinal encoding & One hot encoding  :  범주형 변수를 수치형으로 변환하는 방법
  • Ordinal encoding :  범주형 변수에 정해진 순서나 등급이 있을 때 사용.  => 모델학습에 문제발생 가능성 O
  • One hot encoding : 범주형 변수의 모든 값을 이진수(binary)로 표현.   => 데이터 양 증가

 

 

 

 

 

📝 train과 test 데이터 나누기 : train_test_split()

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    stratify=y,
                                                   test_size=0.2,
                                                   random_state=42)
  • train, test 어느 한 쪽이 더 많고 적고 하면 안 됨.
  • 정답의 비율이 train, test가 비슷하게 나뉘도록 해주는 것이 stratify의 기능
  • 클래스를 균형있게 나눠주면 학습과 예측에 도움이 된다.

 

 

 

 

 

📝 RandomForest로 예측하기

  • n_estimators : 숲에 있는 나무의 수.  ( int타입  / default=100 )
  • criterion : 분할의 품질을 측정하는 피처.  ( { 'gini', 'entropy', 'log_loss' }  /  default='gini' )
  • max_depth : 트리의 최대 깊이.  ( int타입  /  default=None )
  • min_samples_split : 내부 노드를 분할하는 데 필요한 최소 샘플 수  ( int 혹은 float 타입  /  default=2 )
  • max_features : 최상의 분할을 찾을 때 고려해야 할 피처의 수  (int 혹은 float 타입  /  { 'auto', 'sqrt', 'log2' }  / default='auto' )
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier(random_state=42)

# 학습하기
model.fit(X_train, y_train)

# 실행하기
y_predict=model.predict(X_test)

# 정확도 평가하기
# 정확도(accuracy)는 성능 평가 기준 중 하나로, 전체 샘플 중에서 올바르게 예측한 샘플 수를 의미합니다.
(y_test == y_predict).mean()

# 모델 평가하기
# feature_importances_ 를 통해 모델의 피처 중요도를 추출합니다.
fi = pd.DataFrame(model.feature_importances_)
fi.index = model.feature_names_in_
fi = fi.sort_values(by=0)

 

 

 

 

※ 공부 마무리 : 주요 파라미터 알아두기 !

※ 더 알아볼 개념 : 랜덤포레스트

 

랜덤 포레스트란 무엇입니까?

홈 Reference Center 관련 용어 랜덤 포레스트란 무엇입니까? 랜덤 포레스트는 지도 머신 러닝 알고리즘입니다. 정확성, 단순성 및 유연성으로 인해 가장 많이 사용되는 알고리즘 중 하나입니다. 분

www.tibco.com

잠들기 전에 읽어보기 !

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함