import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import gc
import warnings
warnings.filterwarnings('ignore')
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score
train = pd.read_csv(train_path)
test = pd.read_csv(test_path)
!pip install pycaret --user
# Unique
train.num_sold.value_counts()
'''
189 99
177 97
..
1384 1
1935 1
'''
# import regression model
from pycaret.regression import *
setup(data = train, target='num_sold',
silent=True, ignore_features=['row_id'],
fold=2)
setup 객체를 호출한다.
- model(): 각각 머신러닝 기능(Classification, Regression 등)에 따라 사용할 수 있는 머신러닝 모델들을 나열해준다.
- compare_models(): Setup 된 데이터를 각각 머신러닝 모델에 적용 후 비교한다.
- create_model(): model()에 적힌 머신러닝 모델을 선택해서 생성한다.
- tuned_model(): 데이터에 대한 머신러닝 모델의 파라미터 튜닝을 진행한다.
# Compare All models
compare_models()
# Create model
model = create_model('lightgbm')
# predict on Hold-Out data
predict_model(model)
final_model = finalize_model(model)
finalize_model은 검증 세트를 포함한 전체 데이터 세트에 대해 훈련된 모델 객체를 반환합니다.
# Which feature is important?
plot_model(final_model, 'feature')
머신러닝 모델에 대한 결과를 plot_model() 차트로 생성할 수 있습니다. 2번째 파라미터는 plot='feature'입니다. plot할 것을 적습니다.
evaluate_model(final_model)
evaluate_model()로 여러 가지 차트를 한 번에 표시할 수 있습니다.
interpret_model(final_model)
훈련된 모델 객체를 받아서 해석을 진행합니다. 2번째 인자로 plot할 속성을 선택할 수 있습니다.
# Predict for Test Data
pred_esb = predict_model(final_model, test)
re = pred_esb(['Label'])
# submission file
sample_sub = pd.read_csv('submission_path')
sample_sub['num_sold']=re
sample_sub
# Submission to csv
sample_sub.to_csv('submission.csv', index=0)
출처:
'kaggle' 카테고리의 다른 글
TPSJAN22-01 EDA 필사 (0) | 2022.01.12 |
---|---|
kaggle Digit Recognizer 필사2 (0) | 2021.12.24 |
Kaggle Digit Recognizer 필사 (0) | 2021.12.22 |