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

  • 相关阅读:
    决策表快速排序
    书摘
    读书笔记
    echarts x y轴设置
    echarts图类型设置
    echarts入门
    jqgride实现多选
    jqgride实现每一行的单选
    Mac react环境搭建
    两列布局,三列布局
  • 原文地址:https://www.cnblogs.com/U940634/p/9746295.html
Copyright © 2011-2022 走看看