机器学习之路: python 实践 提升树 XGBoost 分类器

Posted 稀里糊涂林老冷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习之路: python 实践 提升树 XGBoost 分类器相关的知识,希望对你有一定的参考价值。

git: https://github.com/linyi0604/MachineLearning

数据集被我下载到本地,可以去我的git上拿数据集

XGBoost
提升分类器
属于集成学习模型
把成百上千个分类准确率较低的树模型组合起来
不断迭代,每次迭代生成一颗新的树


下面 对泰坦尼克遇难预测
使用XGBoost模型 和 其他分类器性能进行比较

 

 1 import pandas as pd
 2 from sklearn.cross_validation import train_test_split
 3 from sklearn.feature_extraction import DictVectorizer
 4 from sklearn.ensemble import RandomForestClassifier
 5 from xgboost import XGBClassifier
 6 
 7 ‘‘‘
 8 XGBoost
 9 提升分类器
10     属于集成学习模型
11     把成百上千个分类准确率较低的树模型组合起来
12     不断迭代,每次迭代生成一颗新的树
13     
14     
15 下面 对泰坦尼克遇难预测
16 使用XGBoost模型 和 其他分类器性能进行比较
17 
18 ‘‘‘
19 
20 titanic = pd.read_csv("../data/titanic/titanic.txt")
21 # 抽取pclass age 和 sex 作为训练样本
22 x = titanic[["pclass", "age", "sex"]]
23 y = titanic["survived"]
24 # 采集的age空的用平均数补全
25 x["age"].fillna(x["age"].mean(), inplace=True)
26 
27 # 分割训练数据和测试数据
28 x_train, x_test, y_train, y_test = train_test_split(x,
29                                                     y,
30                                                     test_size=0.25,
31                                                     random_state=33)
32 # 提取字典特征 进行 向量化
33 vec = DictVectorizer()
34 x_train = vec.fit_transform(x_train.to_dict(orient="record"))
35 x_test = vec.transform(x_test.to_dict(orient="record"))
36 
37 # 采用默认配置的随机森林进行预测
38 rfc = RandomForestClassifier()
39 rfc.fit(x_train, y_train)
40 print("随机森林预测准确率:", rfc.score(x_test, y_test))  # 0.7811550151975684
41 
42 # 采用XGBoost模型进行预测
43 xgbc = XGBClassifier()
44 xgbc.fit(x_train, y_train)
45 print("XGBoost预测准确率:", xgbc.score(x_test, y_test))  # 0.7872340425531915

 









以上是关于机器学习之路: python 实践 提升树 XGBoost 分类器的主要内容,如果未能解决你的问题,请参考以下文章

PYTHON机器学习及实践_从零开始通往KAGGLE竞赛之路pdf

Python机器学习及实践 课后小题

《Python机器学习及实践:从零开始通往Kaggle竞赛之路》

机器学习之路: python 回归树 DecisionTreeRegressor 预测波士顿房价

PYTHON机器学习及实践 从零开始通往KAGGLE竞赛之路pdf

机器学习之路: python 决策树分类 预测泰坦尼克号乘客是否幸存