决策树模型调优
来源:互联网 发布:淘宝助手数据包 编辑:程序博客网 时间:2024/06/06 05:12
在上一篇用决策树判断广告的文章中,我们对数据做了简单的处理,过滤掉特征存在nan值的样本,利用决策树分类,得到了93.3%的准确率。
现在我们来用一些方法进一步提高准确率。
from sklearn.pipeline import Pipelinefrom sklearn.decomposition import PCAfrom sklearn.grid_search import GridSearchCV#利用主成分分析尝试提高准确率#n_components为最终的特征维度pca = PCA(n_components=15)clf = DecisionTreeClassifier(random_state=14)X_pca = pca.fit_transform(X)scores = cross_val_score(clf,X_pca,y,scoring='accuracy')print("Accuracy:{0:.1f}%".format(np.mean(scores)*100)) #Accuracy:93.6%
利用主成分分析,我们将准确率提高了0.3个百分点。这里我们认为设定n_components=15。并不一定是较好的参数。接下来我们继续优化。#利用网格搜索来调整参数pca = PCA()clf = DecisionTreeClassifier(random_state=14)pipe = Pipeline([ ('pca',pca), ('clf',clf)])grid_param={ 'pca__n_components':list(range(1,20))}grid = GridSearchCV(pipe,grid_param)grid.fit(X,y)print(grid.best_params_)print("Accuracy:{0:.1f}%".format(grid.best_score_*100)) #best_params_:{'pca__n_components': 16},Accuracy:94.9%
利用网格搜索,我们得到了最优参数n_components=16,准确率提高到94.9%,较优化前提高了1.6个百分点。
试试继续优化模型。#尝试简单的特征工程来提高准确率from sklearn.pipeline import FeatureUnionfrom sklearn.feature_selection import SelectKBest,chi2pca = PCA()selection = SelectKBest(score_func=chi2)combined_features = FeatureUnion([ ('pca',pca), ('univ_select',selection)])clf = DecisionTreeClassifier(random_state=14)pipe = Pipeline([ ('feature',combined_features), ('clf',clf)])grid_param = { 'feature__pca__n_components':list(range(1,20)), 'feature__univ_select__k':list(range(1,10))}grid = GridSearchCV(pipe,grid_param)grid.fit(X,y)print(grid.best_params_)print("Accuracy:{0:.1f}%".format(100*grid.best_score_))这里我们采用两种方法来处理原始数据:PCA和SelectKBest。SelectKBest可以从原始数据中选择K个重要特征,评估分数为chi2,即卡方检验。
然后用FeatureUnion合并特征。
最终我们得到了95.6%的准确率。
{'feature__univ_select__k': 9, 'feature__pca__n_components': 13}Accuracy:95.6%
通过优化,单棵树的准确率达到了95.6%,已经相当不错。后续我们将利用集成模型来进一步提高准确率。
阅读全文
0 0
- 决策树模型调优
- 决策树模型
- 决策树模型
- 决策树模型
- 决策树模型
- 决策树模型
- 基于决策树的模型
- 决策树模型入门学习
- 决策树-模型与学习
- 决策树模型(1)
- 01背包 决策树模型 Python
- 决策树(Decision Tree)模型笔记
- 白话一下什么是决策树模型
- R语言决策树分类模型
- 白话一下什么是决策树模型
- 白话一下什么是决策树模型
- 自动训练(决策树)模型
- R语言 决策树--预测模型
- Mysql
- 谷歌地图API 显示地图添加maker点,信息窗体及事件
- webService集成spring
- java jframe 城市三级联动
- 【HDU1269】迷宫城堡
- 决策树模型调优
- 【题解】 树形dp 守卫部署
- Hadoop-->Flume原理与应用
- POJ 3138 ACM Team Selection 笔记
- 登录页面登录名和密码错误提示解决方案
- Java继承的两个小例子
- 关于数据结构的学习
- const的用法,特别是用在函数前面与后面的区别
- 样本标准差