Python数据挖掘—分类—决策树
2021-05-17 15:28
标签:依据 有监督 课程 决策树 bsp series port get 获取 我注意到:fData即是特征数据为一个DataFrame数据框,而tData则是一个Series Python数据挖掘—分类—决策树 标签:依据 有监督 课程 决策树 bsp series port get 获取 原文地址:https://www.cnblogs.com/U940634/p/9746295.html概念
决策树(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"]
导入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) 此处操作为调优操作,随机森林在不调优前普遍高于决策树模型