인공지능/machine learning

[ml] 머신러닝 예측/분류 문제를 풀기 위한 Tips

jmHan 2023. 11. 15. 20:12
반응형

Tips

1. dir과 help 함수 이용하기

help(list.append)
help(pandas)
dir(pandas)

 

2. 어떤 모델을 선택할지 모르겠을 때 랜덤포레스트 사용 

from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import RandomForestRegressor

 

pandas

1. 데이터 불러오기(read_csv) / 저장하기(to_csv) 

import pandas as pd

train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
submission = pd.read_csv('submission.csv')
submission.to_csv('submission.csv', index=False)

 

 

sklearn

1. x, y 데이터로 train, test 세트 구분하기(train, test 비율은 7:3으로 고정. random_state=42로 고정)

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3,random_state=42)

 

2. 모델링 순서 

  1. model import
  2. model 선언, 초기 하이퍼 파라미터 지정
  3. model.fit(x_train,y_train)을 통한 모델 학습
  4. 회귀, 분류 문제 모두 model.predict(x_validation) 을 통한 예측
  5. auc값을 구해야하는 경우 model.predict_proba(x_validation)을 통한 확률 추출                                                       (svm모델의 경우 학습시 probability=True옵션 추가)
  6. 원하는 metric으로 모델 평가 eg) accuracy_score(y_validation, model.predict(x_validation))

 

3. 라이브러리

#ensemble

from sklearn.ensemble import AdaBoostClassifier
from sklearn.ensemble import AdaBoostRegressor
from sklearn.ensemble import BaggingClassifier
from sklearn.ensemble import BaggingRegressor
from sklearn.ensemble import ExtraTreesClassifier
from sklearn.ensemble import ExtraTreesRegressor
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import RandomForestRegressor



#linear_model
from sklearn.linear_model import BayesianRidge
from sklearn.linear_model import ElasticNet
from sklearn.linear_model import GammaRegressor
from sklearn.linear_model import HuberRegressor
from sklearn.linear_model import Lasso
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import LogisticRegression    # 분류
from sklearn.linear_model import Ridge
from sklearn.linear_model import SGDRegressor
from sklearn.linear_model import SGDClassifier # 분류

 

import sklearn.metrics # 모델 평가
반응형