算法实践(二)【任务1.2 - 模型构建之集成模型】

【任务1.2 - 模型构建之集成模型】
构建随机森林、GBDT、XGBoost和LightGBM这4个模型,评分方式任意

# 加载库
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import GradientBoostingClassifier
from xgboost import XGBClassifier
from lightgbm import LGBMClassifier

# 读取数据
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)

# 随机森林
rf = RandomForestClassifier(n_estimators=100, oob_score=True, random_state=2018)
rf.fit(x_train, y_train)
rf_acc = rf.score(x_test, y_test)
print("RandomForestClassifier Acc: ", rf_acc)

# GBDT
gb = GradientBoostingClassifier(random_state=2018)
gb.fit(x_train, y_train)
gb_acc = gb.score(x_test, y_test)
print("GradientBoostingClassifier Acc: ", gb_acc)

# XGBoost
xgb = XGBClassifier(random_state=2018)
xgb.fit(x_train, y_train)
xgb_acc = xgb.score(x_test, y_test)
print("XGBClassifier Acc: ", xgb_acc)

# LightGBM
lg = LGBMClassifier(random_state=2018)
lg.fit(x_train, y_train)
lg_acc = lg.score(x_test, y_test)
print("LGBMClassifier Acc: ", lg_acc)

运行结果:

RandomForestClassifier Acc:  0.7820602662929222
GradientBoostingClassifier Acc:  0.7806587245970568
XGBClassifier Acc:  0.7855641205325858
LGBMClassifier Acc:  0.7701471618780659
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值