Python数据挖掘—分类—决策树

Posted 我不要被你记住

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python数据挖掘—分类—决策树相关的知识,希望对你有一定的参考价值。

概念

决策树(Decision Tree):它通过对训练样本的学习,并建立分类规则,然后依据分类,对新样本数据进行分类预测,属于有监督学习

优点:决策树易于理解和实现,决策树可处理数值型和非数值型数据

 

步骤

  • 导入数据,确定虚拟变量的列,然后遍历这些列,将这些类的数据转换为分类型数据,再通过get_dummies()方法获取虚拟变量

 1 import pandas
 2 
 3 data=pandas.read_csv(
 4      "C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\5.3\data.csv")
 5 
 6 dummyColumns=["Gender", "ParentEncouragement"]
 7 
 8 for column in dummyColumns:
 9     data[column]=data[column].astype("category")
10     
11 
12 dummiesData=pandas.get_dummies(
13         data,
14         columns=dummyColumns,
15         prefix=dummyColumns,
16         prefix_sep="=",
17         drop_first=True)
18 
19 dummiesData.columns
  • 确定特征数据和目标数据

fData=dummiesData[[
     ParentIncome, IQ, Gender=Male,
    ParentEncouragement=Not Encouraged]]
    
tData=dummiesData["CollegePlans"]

我注意到:fData即是特征数据为一个DataFrame数据框,而tData则是一个Series

  • 导入DecisionTreeClassifier类,然后通过cross_val_score进行评分

1 from sklearn.tree import DecisionTreeClassifier
2 
3 dtModel=DecisionTreeClassifier(max_leaf_nodes=8)   #该处为调优
4 
5 from sklearn.model_selection import cross_val_score
6 
7 cross_val_score(
8     dtModel,
9     fData,tData,cv=10)

dtModel=DecisionTreeClassifier(max_leaf_nodes=8) 此处操作为调优操作,随机森林在不调优前普遍高于决策树模型

 

以上是关于Python数据挖掘—分类—决策树的主要内容,如果未能解决你的问题,请参考以下文章

Python数据挖掘—分类—决策树

基于python的决策树能进行多分类吗

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

如何在 Python 中绘制回归树

实验三:CART分类决策树python实现(两个测试集)|机器学习

实验三:CART分类决策树python实现(两个测试集)|机器学习