决策树分类预测过程可视化

简介:


决策树分类预测过程可视化

开始前的准备工作

首先导入所需库文件,numpy,pandas用于数值处理,DictVectorizer用于特征处理,graphviz用于模型可视化。


  
  
  1. #导入所需库文件 
  2.  
  3. import numpy as np 
  4.  
  5. import pandas as pd 
  6.  
  7. from sklearn.feature_extraction import DictVectorizer 
  8.  
  9. from sklearn import cross_validation 
  10.  
  11. from sklearn import tree 
  12.  
  13. import graphviz  

导入所需的数据文件,用于训练和评估模型表现。


  
  
  1. #导入数据表 
  2.  
  3. test=pd.DataFrame(pd.read_csv('TEST_ML_v2.csv',header=0,encoding='GBK'))  

特征处理

第二步,对特征进行处理。


  
  
  1. #特征处理 
  2.  
  3. X_df=test[['City''Item category''Period''Gender''Age''Market channels''Self-agent''Category''Loan channels']] 
  4.  
  5. X_list=X_df.to_dict(orient="records"
  6.  
  7. vec = DictVectorizer() 
  8.  
  9. X=vec.fit_transform(X_list) 
  10.  
  11. Y=np.array(test['Status'])划分训练集和测试集数据。  

划分训练集和测试集数据


  
  
  1. X_train,X_test,y_train,y_test=cross_validation.train_test_split(X.toarray(),Y,test_size=0.4,random_state=0) 

训练模型并进行预测

使用训练集数据对决策树模型进行训练,使用测试集数据评估模型表现。


  
  
  1. #训练模型 
  2.  
  3. clf = tree.DecisionTreeClassifier(max_depth=5) 
  4.  
  5. clf=clf.fit(X_train,y_train) 
  6.  
  7. clf.score(X_test,y_test) 
  8.  
  9. 0.85444078947368418  

简单对测试集的第一组特征进行预测,结果与实际值相符。


  
  
  1. #对测试集数据进行预测 
  2.  
  3. clf.predict(X_test[0]),y_test[0] 
  4.  
  5. (array(['Charged Off'], dtype=object), 'Charged Off' 

查看具体的分类概率值。


  
  
  1. #查看分类概率 
  2.  
  3. clf.predict_proba(X_test[0]) 
  4.  
  5. array([[ 1., 0.]])  

决策树分类预测可视化

第三步,对决策树的分类预测过程进行可视化,首先查看分类结果及特征的名称。


  
  
  1. #获取分类名称 
  2.  
  3. clf.classes_ 
  4.  
  5. array(['Charged Off''Fully Paid'], dtype=object)  

对决策树进行可视化,feature_names为特征名称,class_names为分类结果名称。


  
  
  1. #决策树可视化 
  2.  
  3. dot_data = tree.export_graphviz(clf, out_file=None, 
  4.  
  5. feature_names=vec.get_feature_names(), 
  6.  
  7. class_names=clf.classes_, 
  8.  
  9. filled=True, rounded=True
  10.  
  11. special_characters=True
  12.  
  13. graph = graphviz.Source(dot_data) 
  14.  
  15. graph 

将分类结果保存为PDF格式文档。


  
  
  1. #导出PDF文档  
  2. graph.render("test_e1")  


本文作者: 王彦平
来源:51CTO
相关文章
|
3月前
|
机器学习/深度学习 算法 数据可视化
机器学习的核心功能:分类、回归、聚类与降维
机器学习领域的基本功能类型通常按照学习模式、预测目标和算法适用性来分类。这些类型包括监督学习、无监督学习、半监督学习和强化学习。
78 0
|
5月前
|
机器学习/深度学习 数据挖掘 Python
简单几步,教你使用scikit-learn做分类和回归预测
简单几步,教你使用scikit-learn做分类和回归预测
128 0
|
8月前
|
机器学习/深度学习 数据可视化
数据分享|R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化
数据分享|R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化
|
8月前
|
机器学习/深度学习 数据可视化 算法
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
144 10
|
8月前
|
机器学习/深度学习 算法 搜索推荐
【视频】决策树模型原理和R语言预测心脏病实例|数据分享(上)
【视频】决策树模型原理和R语言预测心脏病实例|数据分享
|
8月前
|
机器学习/深度学习 数据可视化 知识图谱
R语言中回归和分类模型选择的性能指标
R语言中回归和分类模型选择的性能指标
|
8月前
|
数据可视化
R语言KNN模型分类信贷用户信用等级数据参数调优和预测可视化|数据分享
R语言KNN模型分类信贷用户信用等级数据参数调优和预测可视化|数据分享
|
8月前
|
机器学习/深度学习 算法 数据挖掘
【视频】决策树模型原理和R语言预测心脏病实例|数据分享(下)
【视频】决策树模型原理和R语言预测心脏病实例|数据分享
|
8月前
|
机器学习/深度学习 数据可视化 算法
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析(下)
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
|
8月前
|
机器学习/深度学习 数据可视化
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析(上)
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析