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

大数据 数据可视化
首先导入所需库文件,numpy,pandas用于数值处理,DictVectorizer用于特征处理,graphviz用于模型可视化。 导入所需的数据文件,用于训练和评估模型表现。

[[203082]]

开始前的准备工作

首先导入所需库文件,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")  

 

责任编辑:庞桂玉 来源: 36大数据
相关推荐

2020-11-02 13:54:41

Python可视化决策树

2023-03-06 16:07:19

梯度提升算法机器学习

2024-09-11 08:34:28

2022-11-11 08:00:00

决策树机器学习监督学习

2017-11-21 13:00:20

机器学习决策树可视化

2016-09-30 16:12:47

GBDT算法决策树

2018-02-02 15:50:07

决策树Apache Spar数据

2019-05-15 09:00:00

决策树机器学习人工智能

2022-12-21 14:39:35

机器学习案发决策树

2020-03-11 14:39:26

数据可视化地图可视化地理信息

2012-08-06 09:04:01

决策树建模

2017-12-12 12:24:39

Python决策树

2017-05-10 15:41:29

机器学习算法数据

2017-07-18 16:25:31

机器学习算法决策树

2018-07-13 15:53:26

大数据

2022-01-24 09:00:00

机器学习决策树算法

2023-08-11 17:30:54

决策树机器学习算法

2017-02-23 08:45:36

Python决策树数据集

2022-08-26 09:15:58

Python可视化plotly

2017-10-14 13:54:26

数据可视化数据信息可视化
点赞
收藏

51CTO技术栈公众号