zoukankan      html  css  js  c++  java
  • 决策树算法

    上次的随机逻辑回归模型是发掘自变量和因变量的线型相关,决策树和神经网络是非线型关系变量的筛选.

    #-*- coding: utf-8 -*-
    import pandas as pd
    
    inputfile = '../data/sales_data.xls'
    data = pd.read_excel(inputfile, index_col = u'序号')
    
    #将类别标签好/是/高,转化为1,-1
    data[data == u''] = 1
    data[data == u''] = 1
    data[data == u''] = 1
    data[data != 1] = -1
    
    x = data.iloc[:,:3].as_matrix().astype(int) #读取前三列作为自变量
    y = data.iloc[:,3].as_matrix().astype(int) #读取第三列作为因变量,并转为为整型数据
    
    
    from sklearn.tree import DecisionTreeClassifier as DTC
    dtc = DTC(criterion='entropy') #基于信息增益
    dtc.fit(x, y) #训练模型
    
    #训练完毕,输出结果可视化
    from sklearn.tree import export_graphviz
    x = pd.DataFrame(x)
    from sklearn.externals.six import StringIO
    x = pd.DataFrame(x)
    with open("tree.dot", 'w') as f:
      f = export_graphviz(dtc, feature_names = x.columns, out_file = f)

    用的是决策树算法中的ID3算法(基于信息熵),最终使分类后的数据集的熵最小,C4.5决策树算法利用信息增益率划分数据集,CART决策树算法是利用Gini(基尼)指数划分数据集

  • 相关阅读:
    5月13日工作日志(需求规格说明书4.0)
    第十次会议
    5月21日日志
    5月12日工作日志
    关于游戏平衡性——王者荣耀英雄伤害数值参考
    每天一点新东西(1)
    我在都匀做网优(补)
    我在都匀做网优
    不算新的开始
    input的focus事件时,鼠标光标在最后
  • 原文地址:https://www.cnblogs.com/hanshuai0921/p/9150896.html
Copyright © 2011-2022 走看看