{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%pip install awswrangler pycaret[full]\n",
"# conda install -c nvidia -c rapidsai py-xgboost\n",
"%pip install xgboost\n",
"%pip install mlflow"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# import awswrangler as wr\n",
"import pandas as pd\n",
"import numpy as np\n",
"# import boto3\n",
"# from sagemaker import get_execution_role\n",
"import datetime\n",
"import string\n",
"import random\n",
"from pycaret.classification import *"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"data = pd.read_csv('data/data_feature_eng.csv')\n",
"# print(data)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Description | \n",
" Value | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" session_id | \n",
" 4457 | \n",
"
\n",
" \n",
" 1 | \n",
" Target | \n",
" label | \n",
"
\n",
" \n",
" 2 | \n",
" Target Type | \n",
" Binary | \n",
"
\n",
" \n",
" 3 | \n",
" Label Encoded | \n",
" 0.0: 0, 1.0: 1 | \n",
"
\n",
" \n",
" 4 | \n",
" Original Data | \n",
" (64800, 13) | \n",
"
\n",
" \n",
" 5 | \n",
" Missing Values | \n",
" False | \n",
"
\n",
" \n",
" 6 | \n",
" Numeric Features | \n",
" 10 | \n",
"
\n",
" \n",
" 7 | \n",
" Categorical Features | \n",
" 2 | \n",
"
\n",
" \n",
" 8 | \n",
" Ordinal Features | \n",
" False | \n",
"
\n",
" \n",
" 9 | \n",
" High Cardinality Features | \n",
" False | \n",
"
\n",
" \n",
" 10 | \n",
" High Cardinality Method | \n",
" None | \n",
"
\n",
" \n",
" 11 | \n",
" Transformed Train Set | \n",
" (45359, 21) | \n",
"
\n",
" \n",
" 12 | \n",
" Transformed Test Set | \n",
" (19441, 21) | \n",
"
\n",
" \n",
" 13 | \n",
" Shuffle Train-Test | \n",
" True | \n",
"
\n",
" \n",
" 14 | \n",
" Stratify Train-Test | \n",
" False | \n",
"
\n",
" \n",
" 15 | \n",
" Fold Generator | \n",
" StratifiedKFold | \n",
"
\n",
" \n",
" 16 | \n",
" Fold Number | \n",
" 10 | \n",
"
\n",
" \n",
" 17 | \n",
" CPU Jobs | \n",
" -1 | \n",
"
\n",
" \n",
" 18 | \n",
" Use GPU | \n",
" False | \n",
"
\n",
" \n",
" 19 | \n",
" Log Experiment | \n",
" False | \n",
"
\n",
" \n",
" 20 | \n",
" Experiment Name | \n",
" clf-default-name | \n",
"
\n",
" \n",
" 21 | \n",
" USI | \n",
" 0f6e | \n",
"
\n",
" \n",
" 22 | \n",
" Imputation Type | \n",
" simple | \n",
"
\n",
" \n",
" 23 | \n",
" Iterative Imputation Iteration | \n",
" None | \n",
"
\n",
" \n",
" 24 | \n",
" Numeric Imputer | \n",
" mean | \n",
"
\n",
" \n",
" 25 | \n",
" Iterative Imputation Numeric Model | \n",
" None | \n",
"
\n",
" \n",
" 26 | \n",
" Categorical Imputer | \n",
" constant | \n",
"
\n",
" \n",
" 27 | \n",
" Iterative Imputation Categorical Model | \n",
" None | \n",
"
\n",
" \n",
" 28 | \n",
" Unknown Categoricals Handling | \n",
" least_frequent | \n",
"
\n",
" \n",
" 29 | \n",
" Normalize | \n",
" True | \n",
"
\n",
" \n",
" 30 | \n",
" Normalize Method | \n",
" zscore | \n",
"
\n",
" \n",
" 31 | \n",
" Transformation | \n",
" False | \n",
"
\n",
" \n",
" 32 | \n",
" Transformation Method | \n",
" None | \n",
"
\n",
" \n",
" 33 | \n",
" PCA | \n",
" False | \n",
"
\n",
" \n",
" 34 | \n",
" PCA Method | \n",
" None | \n",
"
\n",
" \n",
" 35 | \n",
" PCA Components | \n",
" None | \n",
"
\n",
" \n",
" 36 | \n",
" Ignore Low Variance | \n",
" False | \n",
"
\n",
" \n",
" 37 | \n",
" Combine Rare Levels | \n",
" False | \n",
"
\n",
" \n",
" 38 | \n",
" Rare Level Threshold | \n",
" None | \n",
"
\n",
" \n",
" 39 | \n",
" Numeric Binning | \n",
" False | \n",
"
\n",
" \n",
" 40 | \n",
" Remove Outliers | \n",
" False | \n",
"
\n",
" \n",
" 41 | \n",
" Outliers Threshold | \n",
" None | \n",
"
\n",
" \n",
" 42 | \n",
" Remove Multicollinearity | \n",
" False | \n",
"
\n",
" \n",
" 43 | \n",
" Multicollinearity Threshold | \n",
" None | \n",
"
\n",
" \n",
" 44 | \n",
" Remove Perfect Collinearity | \n",
" True | \n",
"
\n",
" \n",
" 45 | \n",
" Clustering | \n",
" False | \n",
"
\n",
" \n",
" 46 | \n",
" Clustering Iteration | \n",
" None | \n",
"
\n",
" \n",
" 47 | \n",
" Polynomial Features | \n",
" False | \n",
"
\n",
" \n",
" 48 | \n",
" Polynomial Degree | \n",
" None | \n",
"
\n",
" \n",
" 49 | \n",
" Trignometry Features | \n",
" False | \n",
"
\n",
" \n",
" 50 | \n",
" Polynomial Threshold | \n",
" None | \n",
"
\n",
" \n",
" 51 | \n",
" Group Features | \n",
" False | \n",
"
\n",
" \n",
" 52 | \n",
" Feature Selection | \n",
" False | \n",
"
\n",
" \n",
" 53 | \n",
" Feature Selection Method | \n",
" classic | \n",
"
\n",
" \n",
" 54 | \n",
" Features Selection Threshold | \n",
" None | \n",
"
\n",
" \n",
" 55 | \n",
" Feature Interaction | \n",
" False | \n",
"
\n",
" \n",
" 56 | \n",
" Feature Ratio | \n",
" False | \n",
"
\n",
" \n",
" 57 | \n",
" Interaction Threshold | \n",
" None | \n",
"
\n",
" \n",
" 58 | \n",
" Fix Imbalance | \n",
" False | \n",
"
\n",
" \n",
" 59 | \n",
" Fix Imbalance Method | \n",
" SMOTE | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m_setup = setup(data=data, target='label', normalize=True, \n",
" feature_interaction=False, \n",
" feature_ratio=False,\n",
" trigonometry_features=False,\n",
" use_gpu=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# max_depth = 트리 최대 깊이\n",
"# max_leaves = 트리 최대 리프\n",
"# subsample = row sampling\n",
"# colsample_bytree = column sampling 각 이터레이션에 사용되는 칼럼의 비율\n",
"# learning_rate = 러닝레이트\n",
"# 일반적으로 row sampling 보다는 column sampling이 모형성능과 학습시간에 더 큰 영향을 준다\n",
"# xgboost = create_model('xgboost', max_depth=16, max_leaves=255)\n",
"# xgboost = create_model('xgboost')\n",
"xgboost = create_model('xgboost', max_depth=8, max_leaves=256)\n",
"# best_model = compare_models(n_select=6)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
" \n",
" \n",
" | \n",
" Accuracy | \n",
" AUC | \n",
" Recall | \n",
" Prec. | \n",
" F1 | \n",
" Kappa | \n",
" MCC | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 0.9821 | \n",
" 0.9970 | \n",
" 0.9297 | \n",
" 0.9506 | \n",
" 0.9400 | \n",
" 0.9296 | \n",
" 0.9296 | \n",
"
\n",
" \n",
" 1 | \n",
" 0.9828 | \n",
" 0.9962 | \n",
" 0.9357 | \n",
" 0.9496 | \n",
" 0.9426 | \n",
" 0.9325 | \n",
" 0.9325 | \n",
"
\n",
" \n",
" 2 | \n",
" 0.9859 | \n",
" 0.9972 | \n",
" 0.9503 | \n",
" 0.9559 | \n",
" 0.9531 | \n",
" 0.9448 | \n",
" 0.9448 | \n",
"
\n",
" \n",
" 3 | \n",
" 0.9837 | \n",
" 0.9956 | \n",
" 0.9444 | \n",
" 0.9472 | \n",
" 0.9458 | \n",
" 0.9362 | \n",
" 0.9362 | \n",
"
\n",
" \n",
" 4 | \n",
" 0.9780 | \n",
" 0.9956 | \n",
" 0.9181 | \n",
" 0.9345 | \n",
" 0.9263 | \n",
" 0.9133 | \n",
" 0.9133 | \n",
"
\n",
" \n",
" 5 | \n",
" 0.9839 | \n",
" 0.9971 | \n",
" 0.9415 | \n",
" 0.9513 | \n",
" 0.9464 | \n",
" 0.9369 | \n",
" 0.9369 | \n",
"
\n",
" \n",
" 6 | \n",
" 0.9830 | \n",
" 0.9969 | \n",
" 0.9386 | \n",
" 0.9483 | \n",
" 0.9434 | \n",
" 0.9334 | \n",
" 0.9335 | \n",
"
\n",
" \n",
" 7 | \n",
" 0.9828 | \n",
" 0.9964 | \n",
" 0.9430 | \n",
" 0.9430 | \n",
" 0.9430 | \n",
" 0.9329 | \n",
" 0.9329 | \n",
"
\n",
" \n",
" 8 | \n",
" 0.9786 | \n",
" 0.9944 | \n",
" 0.9284 | \n",
" 0.9297 | \n",
" 0.9290 | \n",
" 0.9165 | \n",
" 0.9165 | \n",
"
\n",
" \n",
" 9 | \n",
" 0.9826 | \n",
" 0.9970 | \n",
" 0.9341 | \n",
" 0.9494 | \n",
" 0.9417 | \n",
" 0.9315 | \n",
" 0.9315 | \n",
"
\n",
" \n",
" Mean | \n",
" 0.9823 | \n",
" 0.9963 | \n",
" 0.9364 | \n",
" 0.9459 | \n",
" 0.9411 | \n",
" 0.9307 | \n",
" 0.9308 | \n",
"
\n",
" \n",
" SD | \n",
" 0.0023 | \n",
" 0.0009 | \n",
" 0.0088 | \n",
" 0.0076 | \n",
" 0.0076 | \n",
" 0.0089 | \n",
" 0.0089 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# max leaves -> 2**(n-1), n = max_depth\n",
"params = {'max_depth': [128, 64, 32],\n",
" 'max_leaves': [256, 1024, 4096], \n",
" 'colsample_bytree':[0.2, 0.4, 0.6, 0.8, 1.0],\n",
" 'learning_rate':[0.05, 0.005]\n",
" }#range(14,17)}\n",
"# tuned_xgboost = tune_model(xgboost, optimize='F1', custom_grid=params)\n",
"tuned_xgboost = tune_model(xgboost, optimize='Accuracy', custom_grid=params, tuner_verbose=3)\n",
"# tuned_xgboost = tune_model(xgboost, optimize='Kappa')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transformation Pipeline and Model Successfully Saved\n"
]
},
{
"data": {
"text/plain": [
"XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
" colsample_bynode=1, colsample_bytree=0.6,\n",
" enable_categorical=False, gamma=0, gpu_id=0, importance_type=None,\n",
" interaction_constraints='', learning_rate=0.05, max_delta_step=0,\n",
" max_depth=64, max_leaves=1024, min_child_weight=1, missing=nan,\n",
" monotone_constraints='()', n_estimators=100, n_jobs=-1,\n",
" num_parallel_tree=1, objective='binary:logistic',\n",
" predictor='auto', random_state=1504, reg_alpha=0, reg_lambda=1,\n",
" scale_pos_weight=1, subsample=1, tree_method='gpu_hist',\n",
" use_label_encoder=True, validate_parameters=1, ...)"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tuned_xgboost"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "95949f8bf87d41b9a14b71c866fc7444",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(ToggleButtons(description='Plot Type:', icons=('',), options=(('Hyperparameters', 'param…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# plot_model(tuned_dt, plot='auc')\n",
"evaluate_model(tuned_xgboost)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transformation Pipeline and Model Successfully Saved\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
" \n",
" \n",
" | \n",
" Model | \n",
" Accuracy | \n",
" AUC | \n",
" Recall | \n",
" Prec. | \n",
" F1 | \n",
" Kappa | \n",
" MCC | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Extreme Gradient Boosting | \n",
" 0.9968 | \n",
" 0.9998 | \n",
" 0.9879 | \n",
" 0.9909 | \n",
" 0.9894 | \n",
" 0.9875 | \n",
" 0.9875 | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" hum | \n",
" d_hum | \n",
" dd_hum | \n",
" temp | \n",
" d_temp | \n",
" dd_temp | \n",
" door | \n",
" motion | \n",
" illum | \n",
" hour | \n",
" ... | \n",
" dayofweek_4 | \n",
" dayofweek_5 | \n",
" dayofweek_6 | \n",
" month_10 | \n",
" month_11 | \n",
" month_8 | \n",
" month_9 | \n",
" label | \n",
" Label | \n",
" Score | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" -1.945604 | \n",
" -2.290672 | \n",
" 0.909558 | \n",
" 2.232716 | \n",
" 0.689506 | \n",
" -0.019712 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -0.624394 | \n",
" 0.072370 | \n",
" ... | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9851 | \n",
"
\n",
" \n",
" 1 | \n",
" 1.311485 | \n",
" 0.005779 | \n",
" 0.000629 | \n",
" 0.923433 | \n",
" 0.003051 | \n",
" 0.717519 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -1.005454 | \n",
" 1.230731 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9941 | \n",
"
\n",
" \n",
" 2 | \n",
" 1.028260 | \n",
" -0.431640 | \n",
" 0.484373 | \n",
" 1.709003 | \n",
" 0.003051 | \n",
" -0.001014 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -0.243334 | \n",
" 0.941141 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 1.0 | \n",
" 1.0 | \n",
" 0.9728 | \n",
"
\n",
" \n",
" 3 | \n",
" -1.308348 | \n",
" 0.005779 | \n",
" 0.000629 | \n",
" -1.171419 | \n",
" 0.003051 | \n",
" -0.001014 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -0.624394 | \n",
" -0.217220 | \n",
" ... | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9958 | \n",
"
\n",
" \n",
" 4 | \n",
" 0.461810 | \n",
" 0.005779 | \n",
" -0.569680 | \n",
" 0.848617 | \n",
" -0.389210 | \n",
" -0.212032 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -1.005454 | \n",
" -1.665171 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9958 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 19436 | \n",
" 1.240679 | \n",
" -1.634543 | \n",
" 1.422582 | \n",
" 0.960842 | \n",
" 0.003051 | \n",
" -1.304522 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -1.005454 | \n",
" -0.941195 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9947 | \n",
"
\n",
" \n",
" 19437 | \n",
" 0.249391 | \n",
" 0.005779 | \n",
" 0.000629 | \n",
" -0.797338 | \n",
" 0.689506 | \n",
" -0.019712 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -0.624394 | \n",
" -0.362015 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9621 | \n",
"
\n",
" \n",
" 19438 | \n",
" 0.391003 | \n",
" 0.005779 | \n",
" 0.000629 | \n",
" -0.872155 | \n",
" 0.003051 | \n",
" -0.001014 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -0.624394 | \n",
" 1.665117 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9953 | \n",
"
\n",
" \n",
" 19439 | \n",
" 1.099066 | \n",
" 0.005779 | \n",
" -0.684251 | \n",
" 0.698985 | \n",
" -0.977600 | \n",
" 1.233045 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" -1.005454 | \n",
" -0.941195 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.9940 | \n",
"
\n",
" \n",
" 19440 | \n",
" 1.311485 | \n",
" 0.005779 | \n",
" 0.000629 | \n",
" 1.297514 | \n",
" 0.003051 | \n",
" -0.001014 | \n",
" -0.123705 | \n",
" -0.074166 | \n",
" 1.280906 | \n",
" 0.361961 | \n",
" ... | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 1.0 | \n",
" 1.0 | \n",
" 1.0 | \n",
" 0.7373 | \n",
"
\n",
" \n",
"
\n",
"
19441 rows × 24 columns
\n",
"
"
],
"text/plain": [
" hum d_hum dd_hum temp d_temp dd_temp door \\\n",
"0 -1.945604 -2.290672 0.909558 2.232716 0.689506 -0.019712 -0.123705 \n",
"1 1.311485 0.005779 0.000629 0.923433 0.003051 0.717519 -0.123705 \n",
"2 1.028260 -0.431640 0.484373 1.709003 0.003051 -0.001014 -0.123705 \n",
"3 -1.308348 0.005779 0.000629 -1.171419 0.003051 -0.001014 -0.123705 \n",
"4 0.461810 0.005779 -0.569680 0.848617 -0.389210 -0.212032 -0.123705 \n",
"... ... ... ... ... ... ... ... \n",
"19436 1.240679 -1.634543 1.422582 0.960842 0.003051 -1.304522 -0.123705 \n",
"19437 0.249391 0.005779 0.000629 -0.797338 0.689506 -0.019712 -0.123705 \n",
"19438 0.391003 0.005779 0.000629 -0.872155 0.003051 -0.001014 -0.123705 \n",
"19439 1.099066 0.005779 -0.684251 0.698985 -0.977600 1.233045 -0.123705 \n",
"19440 1.311485 0.005779 0.000629 1.297514 0.003051 -0.001014 -0.123705 \n",
"\n",
" motion illum hour ... dayofweek_4 dayofweek_5 \\\n",
"0 -0.074166 -0.624394 0.072370 ... 1.0 0.0 \n",
"1 -0.074166 -1.005454 1.230731 ... 0.0 0.0 \n",
"2 -0.074166 -0.243334 0.941141 ... 0.0 0.0 \n",
"3 -0.074166 -0.624394 -0.217220 ... 0.0 1.0 \n",
"4 -0.074166 -1.005454 -1.665171 ... 0.0 0.0 \n",
"... ... ... ... ... ... ... \n",
"19436 -0.074166 -1.005454 -0.941195 ... 0.0 0.0 \n",
"19437 -0.074166 -0.624394 -0.362015 ... 0.0 0.0 \n",
"19438 -0.074166 -0.624394 1.665117 ... 0.0 0.0 \n",
"19439 -0.074166 -1.005454 -0.941195 ... 0.0 0.0 \n",
"19440 -0.074166 1.280906 0.361961 ... 0.0 0.0 \n",
"\n",
" dayofweek_6 month_10 month_11 month_8 month_9 label Label Score \n",
"0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.9851 \n",
"1 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.9941 \n",
"2 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.9728 \n",
"3 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.9958 \n",
"4 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.9958 \n",
"... ... ... ... ... ... ... ... ... \n",
"19436 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.9947 \n",
"19437 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.9621 \n",
"19438 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.9953 \n",
"19439 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.9940 \n",
"19440 0.0 0.0 0.0 0.0 1.0 1.0 1.0 0.7373 \n",
"\n",
"[19441 rows x 24 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mdl = finalize_model(tuned_xgboost)\n",
"save_model(mdl, 'tuned_xgboost_0207')\n",
"# save_model(tuned_xgboost, 'tuned_xgboost_0207')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Transformation Pipeline and Model Successfully Loaded\n",
"\n",
"RangeIndex: 10000 entries, 54800 to 64799\n",
"Data columns (total 15 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 label 10000 non-null float64\n",
" 1 hum 10000 non-null float64\n",
" 2 d_hum 10000 non-null float64\n",
" 3 dd_hum 10000 non-null float64\n",
" 4 temp 10000 non-null float64\n",
" 5 d_temp 10000 non-null float64\n",
" 6 dd_temp 10000 non-null float64\n",
" 7 door 10000 non-null float64\n",
" 8 motion 10000 non-null float64\n",
" 9 illum 10000 non-null float64\n",
" 10 dayofweek 10000 non-null int64 \n",
" 11 month 10000 non-null int64 \n",
" 12 hour 10000 non-null int64 \n",
" 13 Label 10000 non-null float64\n",
" 14 Score 10000 non-null float32\n",
"dtypes: float32(1), float64(11), int64(3)\n",
"memory usage: 1.1 MB\n"
]
},
{
"data": {
"text/plain": [
"0.9821"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"load_mdl = load_model('tuned_xgboost_0207')\n",
"prediction = predict_model(load_mdl, data=data.iloc[-10000:])\n",
"prediction = prediction.astype({'Label':'float64'})\n",
"prediction.info()\n",
"from pycaret.utils import check_metric\n",
"check_metric(prediction['Label'], prediction['label'], metric = 'F1')"
]
}
],
"metadata": {
"interpreter": {
"hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
},
"kernelspec": {
"display_name": "Python 3.8.10 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}