【机器学习 sklearn】XGBoost and RandomForest

数据集下载网站:
http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt

对比随机决策森林以及XGBboost模型对泰坦尼克号上的乘客是否生还进行预测。

#coding:utf-8
from __future__ import division
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import time
start_time = time.time()


import pandas as pd
titanic = pd.read_csv('titanic.txt')

X = titanic[['pclass', 'age', 'sex']]
y = titanic['survived']

# print X
X['age'].fillna(X['age'].mean(), inplace=True)


from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=33)


from sklearn.feature_extraction import DictVectorizer


vec = DictVectorizer(sparse=False)
X_train = vec.fit_transform(X_train.to_dict(orient='record'))
X_test = vec.transform(X_test.to_dict(orient='record'))

from sklearn.ensemble import RandomForestClassifier

rfc = RandomForestClassifier()
rfc.fit(X_train, y_train)
print 'The accuracy of Random Forest Classifier on testing set:', rfc.score(X_test, y_test)



# 利用训练好的模型对测试样本进行预测,预测结果储存在变量y_predict中。
rfc_y_predict = rfc.predict(X_test)



# 依然使用sklearn.metrics里面的classification_report模块对预测结果做更加详细的分析。
from sklearn.metrics import classification_report
print classification_report(y_test, rfc_y_predict)



from xgboost import XGBClassifier

xgbc = XGBClassifier()

xgbc.fit(X_train, y_train)

xgbc_y_predict = xgbc.predict(X_test)
print 'The accuracy of eXtreme Gradient Boosting Classifier on testing set:', xgbc.score(X_test, y_test)

## 依然使用sklearn.metrics里面的classification_report模块对预测结果做更加详细的分析。
from sklearn.metrics import classification_report

print classification_report(y_test, xgbc_y_predict)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东华果汁哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值