Certificate/AICE

AICE Associate - ML 모델링

joowhan 2023. 4. 20. 14:50

해당 문제가  Linear인지, Classification 문제인지에 따라 다른 모델을 import 해야 한다. 

회귀 문제

  • 주요 모델들은 다음과 같다.
from sklearn.tree import DecisionTreeRegressor
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import RandomForestRegressor
from sklearn.neighbors import KNeighborsRegressor
from sklearn.svm import SVR
  • 평가지표들을 import한 후 사용
from sklearn.metrics import mean_absolute_error, r2_score, mean_absolute_percentage_error

print('MAE:', mean_absolute_error(y_test, y_pred))
print('R2-Score:', r2_score(y_test, y_pred))
  • 대표적으로 Linear Regression을 학습시켜본다. 
  • 전처리가 완료되었다면 순서는 선언, fit(), predict() 순이다. 
model = LinearRegression()
#학습
model.fit(x_train, y_trarin)
#예측
y_pred  = model.predict(x_test)
#성능평가
print(mean_absolute_error(y_test,y_pred))
print(mean_absolute_percentage_error(y_test, y_pred))

분류 문제

  • 주요 라이브러리 모델들은 다음과 같다. 
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
from lightgbm import LGBMClassifier
  • 평가 지표는 크게 confusion matrix와 classification report를 사용한다.
from sklearn.metrics import confusion_matrix
from sklearn.metrics import classification_report
  • 모델 선언 및 학습, 예측과정은 앞서 언급한 회귀 문제처럼 하면 된다.
  • 평가 결과를 heatmap으로 표현하려면 다음과 같이 하면 된다. 
y_pred = model.predict(x_test)
cr = confusion_matrix(y_test, y_pred)
sns.heatmap(cr, annot=True)