高端品牌网站建设公司哪家好,asp网站文件,申请注册公司流程,什么叫百度竞价推广目录 决策树优化与可视化
1 决策树分类
2 决策树可视化
3 显示树的特征重要性 特征重要性可视化
决策树回归
1 决策树回归 决策树优化与可视化
1 决策树分类
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sk…目录 决策树优化与可视化
1 决策树分类
2 决策树可视化
3 显示树的特征重要性 特征重要性可视化
决策树回归
1 决策树回归 决策树优化与可视化
1 决策树分类
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as npcancer datasets.load_breast_cancer()
X_train, X_test, y_train, y_test train_test_split(cancer.data, cancer.target, stratifycancer.target, random_state 42)
tree DecisionTreeClassifier(random_state0)tree.fit(X_train, y_train)
print(Accuracy on traning set:{:.3f}.format(tree.score(X_train, y_train)))
print(Accuracy on test set:{:.3f}.format(tree.score(X_test, y_test)))
print(tree max depth:{}.format(tree. tree_.max_depth))
# 报错AttributeError: function object has no attribute data function对象没有data属性
# 解决之后
#Accuracy on traning set:1.000
#Accuracy on test set:0.937
#tree max depth:7
可以得到训练集的精度是100%这是因为叶子结点都是纯的树的深度为7足以完美地记住训练数据的所有标签测试集泛化精度只有93.7%明显过拟合。
不限制决策树的深度它的深度和复杂度都可以变得特别大。故未剪枝的树容易过拟合对新数据的泛化性能不佳。
现在将预剪枝应用在决策树上可以阻止树的完全生长。
设置max_depth4这表明构造的决策树只有4层限制树的深度可以减少过拟合这会降低训练集的精度但可以提高测试集的精度。
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as npcancer datasets.load_breast_cancer()
X_train, X_test, y_train, y_test train_test_split(cancer.data, cancer.target, stratifycancer.target, random_state 42)
tree DecisionTreeClassifier(max_depth4, random_state0)
tree.fit(X_train, y_train)
print(Accuracy on traning set:{:.3f}.format(tree.score(X_train, y_train)))
print(Accuracy on test set:{:.3f}.format(tree.score(X_test, y_test)))
Accuracy on traning set:0.988
Accuracy on test set:0.951
训练精度为98.8%测试精度为95.1%树的最大深度只有4层降低了训练精度但提高了泛化测试精度改善了过拟合的状况。
2 决策树可视化 使用 pip3 install graphviz 后 import graphviz 仍然报错 ModuleNotFoundError: No module named graphviz使用命令conda install python-graphviz from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as np
import graphviz
from sklearn.tree import export_graphviz
cancer datasets.load_breast_cancer()
X_train, X_test, y_train, y_test train_test_split(cancer.data, cancer.target, stratifycancer.target, random_state 42)
tree DecisionTreeClassifier(max_depth4, random_state0)
tree.fit(X_train, y_train)
export_graphviz(tree,out_filetree.dot,class_names[malignat,benign],feature_namescancer.feature_names,impurityFalse,filledTrue)with open(tree.dot) as f:dot_graph f.read()
graphviz.Source(dot_graph)# outModuleNotFoundError: No module named graphviz 尝试了很多种方法并没有解决问题‼️ http://t.csdn.cn/wAVEK ⬅️可用此方法再次验证 3 显示树的特征重要性
其中最常用的是特征重要性Feature Importance每个特征对树决策的重要性进行排序 其中0表示“根本没用到”1表示“完美预测目标值”特征重要性的求和始终为1。
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as npcancer datasets.load_breast_cancer()
X_train, X_test, y_train, y_test train_test_split(cancer.data, cancer.target, stratifycancer.target, random_state 42)
tree DecisionTreeClassifier(max_depth4, random_state0)
tree.fit(X_train, y_train)
print(Feature imprtance:\n{}.format(tree.feature_importances_)) Feature imprtance:
[0. 0. 0. 0. 0. 0.0. 0. 0. 0. 0.01019737 0.048398250. 0. 0.0024156 0. 0. 0.0. 0. 0.72682851 0.0458159 0. 0.0.0141577 0. 0.018188 0.1221132 0.01188548 0. ] 特征重要性可视化
from sklearn.datasets import load_breast_cancer
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import datasets
import matplotlib.pyplot as plt
import numpy as npcancer datasets.load_breast_cancer()
X_train, X_test, y_train, y_test train_test_split(cancer.data, cancer.target, stratifycancer.target, random_state 42)
tree DecisionTreeClassifier(max_depth4, random_state0)
tree.fit(X_train, y_train)
print(Feature imprtance:\n{}.format(tree.feature_importances_))def plot_feature_importances_cancer(model):n_features cancer.data.shape[1]plt.barh(range(n_features),model.feature_importances_,aligncenter)plt.yticks(np.arange(n_features),cancer.feature_names)plt.xlabel(Feature importance)plt.ylabel(Feature)plot_feature_importances_cancer(tree) 决策树回归
1 决策树回归
#决策树回归
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
boston datasets.load_boston()X boston.data
y boston.target
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test train_test_split(X,y, random_state666)# DecisionTreeRegressor决策树的回归器
from sklearn.tree import DecisionTreeRegressor
dt_reg DecisionTreeRegressor( max_depth 11 )
dt_reg.fit(X_train, y_train)
print(dt_reg.score(X_test,y_test))
print(dt_reg.score(X_train,y_train))
# 0.6005800948958887
# 1.0# 此时决策树在训练数据集上预测准确率是百分百的但是在测试数据集上只有60%的准确率
# 很显然出现了过拟合可通过设置树深来改善过拟合
# 0.6908496704356424
# 0.9918292293652428
此时决策树在训练数据集上预测准确率是百分百的但是在测试数据集上只有60%的准确率很显然出现了过拟合可通过设置树深来改善过拟合。 文章转载自: http://www.morning.thbqp.cn.gov.cn.thbqp.cn http://www.morning.yydzk.cn.gov.cn.yydzk.cn http://www.morning.cklld.cn.gov.cn.cklld.cn http://www.morning.gbqgr.cn.gov.cn.gbqgr.cn http://www.morning.tsqrc.cn.gov.cn.tsqrc.cn http://www.morning.mcjrf.cn.gov.cn.mcjrf.cn http://www.morning.egmux.cn.gov.cn.egmux.cn http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn http://www.morning.yrskc.cn.gov.cn.yrskc.cn http://www.morning.dwgcx.cn.gov.cn.dwgcx.cn http://www.morning.nzkkh.cn.gov.cn.nzkkh.cn http://www.morning.jkzq.cn.gov.cn.jkzq.cn http://www.morning.sacxbs.cn.gov.cn.sacxbs.cn http://www.morning.lzbut.cn.gov.cn.lzbut.cn http://www.morning.hcsqznn.cn.gov.cn.hcsqznn.cn http://www.morning.dhqg.cn.gov.cn.dhqg.cn http://www.morning.pmptm.cn.gov.cn.pmptm.cn http://www.morning.xzsqb.cn.gov.cn.xzsqb.cn http://www.morning.qrcxh.cn.gov.cn.qrcxh.cn http://www.morning.srgyj.cn.gov.cn.srgyj.cn http://www.morning.rui931.cn.gov.cn.rui931.cn http://www.morning.wjdgx.cn.gov.cn.wjdgx.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.sknbb.cn.gov.cn.sknbb.cn http://www.morning.jfjfk.cn.gov.cn.jfjfk.cn http://www.morning.lqrpk.cn.gov.cn.lqrpk.cn http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn http://www.morning.bszmy.cn.gov.cn.bszmy.cn http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn http://www.morning.khntd.cn.gov.cn.khntd.cn http://www.morning.qhln.cn.gov.cn.qhln.cn http://www.morning.yrpg.cn.gov.cn.yrpg.cn http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn http://www.morning.kjgrg.cn.gov.cn.kjgrg.cn http://www.morning.grxbw.cn.gov.cn.grxbw.cn http://www.morning.ksjmt.cn.gov.cn.ksjmt.cn http://www.morning.hgcz.cn.gov.cn.hgcz.cn http://www.morning.hyryq.cn.gov.cn.hyryq.cn http://www.morning.prmyx.cn.gov.cn.prmyx.cn http://www.morning.rcttz.cn.gov.cn.rcttz.cn http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn http://www.morning.dxqwm.cn.gov.cn.dxqwm.cn http://www.morning.rwqk.cn.gov.cn.rwqk.cn http://www.morning.rfycj.cn.gov.cn.rfycj.cn http://www.morning.lskyz.cn.gov.cn.lskyz.cn http://www.morning.rmqlf.cn.gov.cn.rmqlf.cn http://www.morning.chmkt.cn.gov.cn.chmkt.cn http://www.morning.gygfx.cn.gov.cn.gygfx.cn http://www.morning.kmjbs.cn.gov.cn.kmjbs.cn http://www.morning.mkfr.cn.gov.cn.mkfr.cn http://www.morning.ltdrz.cn.gov.cn.ltdrz.cn http://www.morning.fjzlh.cn.gov.cn.fjzlh.cn http://www.morning.cpqqf.cn.gov.cn.cpqqf.cn http://www.morning.zwzwn.cn.gov.cn.zwzwn.cn http://www.morning.ysybx.cn.gov.cn.ysybx.cn http://www.morning.skbbt.cn.gov.cn.skbbt.cn http://www.morning.mqbdb.cn.gov.cn.mqbdb.cn http://www.morning.ljqd.cn.gov.cn.ljqd.cn http://www.morning.oioini.com.gov.cn.oioini.com http://www.morning.slwqt.cn.gov.cn.slwqt.cn http://www.morning.tfrmx.cn.gov.cn.tfrmx.cn http://www.morning.dcccl.cn.gov.cn.dcccl.cn http://www.morning.bnylg.cn.gov.cn.bnylg.cn http://www.morning.smdkk.cn.gov.cn.smdkk.cn http://www.morning.wrqw.cn.gov.cn.wrqw.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.qichetc.com.gov.cn.qichetc.com http://www.morning.gfprf.cn.gov.cn.gfprf.cn http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn http://www.morning.ktlxk.cn.gov.cn.ktlxk.cn http://www.morning.yzsdp.cn.gov.cn.yzsdp.cn http://www.morning.mtmph.cn.gov.cn.mtmph.cn http://www.morning.rfyff.cn.gov.cn.rfyff.cn http://www.morning.gpsrk.cn.gov.cn.gpsrk.cn http://www.morning.mtymb.cn.gov.cn.mtymb.cn http://www.morning.ffcsr.cn.gov.cn.ffcsr.cn http://www.morning.kjnfs.cn.gov.cn.kjnfs.cn http://www.morning.djgrg.cn.gov.cn.djgrg.cn http://www.morning.fzlk.cn.gov.cn.fzlk.cn http://www.morning.bypfj.cn.gov.cn.bypfj.cn