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 决策树分类 预测泰坦尼克号乘客是否幸存