百度新手賽:充電樁故障分類與檢測

由於該數據集比較好,沒有缺失值,就沒有做數據預處理,直接使用GDBT玄學調參,accuracy_score=1.0,代碼如下:

import warnings
import pandas as pd
from sklearn.ensemble import GradientBoostingClassifier
warnings.filterwarnings('ignore')
column_name1 = ['id', 'K1K2驅動信號', '電子鎖驅動信號', '急停信號', '門禁信號', 'THDV-M', 'THDI-M', 'label']
column_name2 = ['id', 'K1K2驅動信號', '電子鎖驅動信號', '急停信號', '門禁信號', 'THDV-M', 'THDI-M']
train = pd.read_csv("../data/data_train.csv", names=column_name1)
test = pd.read_csv("../data/data_test.csv", names=column_name2)
# x_train,y_train的劃分
x_train = train[['K1K2驅動信號', '電子鎖驅動信號', '急停信號', '門禁信號', 'THDV-M', 'THDI-M']]
y_train = train[['label']]
x_test = test[['K1K2驅動信號', '電子鎖驅動信號', '急停信號', '門禁信號', 'THDV-M', 'THDI-M']]
# GDBT,n_estimators過大容易造成過擬合,默認爲100
gdbt = GradientBoostingClassifier(learning_rate=0.1, max_depth=10,min_samples_split=800,
                        n_estimators=400, min_samples_leaf=60, subsample=0.85, random_state=10)
# GradientBoostingClassifier使用fit函數用來訓練模型參數
gdbt.fit(x_train, y_train)
gdbt_y_pre = gdbt.predict(x_test)
# 提交結果
lr_submission = pd.DataFrame({'id': test['id'], 'label': gdbt_y_pre})
lr_submission.to_csv('../submit/gdbt_submission.csv', index=False)
print("運行結束")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章