【任务3·模型融合】
用你目前评分最高的模型作为基准模型,和其他模型进行stacking融合,得到最终模型及评分果。
读取数据
data_all = pd.read_csv('data_all.csv', encoding='gbk')
划分数据集
x = data_all.drop(columns=["status"]).as_matrix()
y = data_all[["status"]].as_matrix()
y = y.ravel()
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3, random_state=2018)
归一化处理
scaler = StandardScaler()
scaler.fit(x_train)
x_train_standard = scaler.transform(x_train)
x_test_standard = scaler.transform(x_test)
模型融合
lr = LogisticRegression(random_state=2018)
svm = LinearSVC(random_state=2018)
xgbc = XGBClassifier(random_state=2018)
lgbm = LGBMClassifier(random_state=2018)
sclf = StackingClassifier(classifiers=[svm, lgbm, xgbc], meta_classifier=lr)
sclf.fit(x_train_standard, x_test_standard)
print('5-fold cross validation:\n')#5折交叉验证