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) 此处操作为调优操作,随机森林在不调优前普遍高于决策树模型

猜你喜欢

转载自www.cnblogs.com/U940634/p/9746295.html
今日推荐