博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
随机森林的使用
阅读量:5038 次
发布时间:2019-06-12

本文共 1438 字,大约阅读时间需要 4 分钟。

from sklearn.feature_extraction import DictVectorizerfrom sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizerfrom sklearn.preprocessing import MinMaxScaler,StandardScalerfrom sklearn.model_selection import train_test_splitfrom sklearn.tree import DecisionTreeClassifier,export_graphvizimport jieba
import  pandas as pd

调用方法来实现:

def decision():    #获取数据    taitan=pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')    #获取特征值    x=taitan[['pclass','age','sex']]    #获取目标值    y=taitan[['survived']]    #缺失值的处理    用年龄的平均值填补    x['age'].fillna(x['age'].mean(),inplace=True)    #分割数据集到训练集和测试集    x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.25)    #对数据进行one_hot编码    dict=DictVectorizer(sparse=False)    x_train = dict.fit_transform(x_train.to_dict(orient='records'))    print(dict.get_feature_names())    x_test = dict.fit_transform(x_test.to_dict(orient='records'))    #实例化一个决策树    dec=DecisionTreeClassifier()    dec.fit(x_train,y_train)    print("预测准确率:",dec.score(x_test,y_test))    export_graphviz(dec,out_file='./tree.dot',feature_names=['年龄','pclass=1st', 'pclass=2nd', 'pclass=3rd', '女人', '男人'])    # print(x_train)if __name__ == '__main__':    decision()

 如果想查看决策树的结构,可以使用可视化工具将其转化为图片 graphviz

win安装直接exe就行了,安装完成,需要将bin目录配置到path环境变量中去。即可执行dot命令。

dot  -Tpng tree.dot -o tree.png    #将dot文件转为png格式的图片  必须进入到指定目录下去操作

 

转载于:https://www.cnblogs.com/wen-kang/p/11068415.html

你可能感兴趣的文章
pytho logging
查看>>
一个Java程序员应该掌握的10项技能
查看>>
c#英文大小写快捷键
查看>>
tpframe免费开源框架又一重大更新
查看>>
一.go语言 struct json相互转换
查看>>
什么是架构设计
查看>>
程序员学习能力提升三要素
查看>>
PHP 微信错误状态返回码说明
查看>>
【4.1】Python中的序列分类
查看>>
ubuntu 移动文件
查看>>
Easy Mock
查看>>
看看 Delphi XE2 为 VCL 提供的 14 种样式
查看>>
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
SqlServer 遍历修改字段长度
查看>>
Eclipse快捷键:同时显示两个一模一样的代码窗口
查看>>
《架构之美》阅读笔记05
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
JDBC基础篇(MYSQL)——使用statement执行DQL语句(select)
查看>>
关于React中props与state的一知半解
查看>>