决策树ID3算法案例

本文介绍如何利用Python的pandas和sklearn库完成数据预处理、特征编码,并构建决策树分类器。文章详细展示了从读取CSV文件到训练模型、以及最后将决策树可视化的全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pandas as pd
file_root="G:/python/源码/源码/lesson.csv"
dataframe=pd.read_csv(file_root,encoding="gbk")
#print(dataframe)
x=dataframe.ix[:,1:5].as_matrix()
y=dataframe.ix[:,5].as_matrix()
for i in range(0,len(x)):
    for j in range(0,len(x[i])):
        if (x[i][j]=="是" or x[i][j]=="高" or x[i][j]=="多"):
            x[i][j]=1
        else:x[i][j]=-1
for i in range(0,len(y)):
    if(y[i]=="高"):
        y[i]=1
    else:
        y[i]=-1
#容易出错的地方:直接将X,Y进行训练
#正确做法:将x,y转化为dataframe,然后再转化为数组并指定整数格式
xf=pd.DataFrame(x).as_matrix().astype(int)
yf=pd.DataFrame(y).as_matrix().astype(int)
from sklearn.tree import DecisionTreeClassifier
model=DecisionTreeClassifier(criterion="entropy")#使用ID3算法
model.fit(xf,yf)
#可视化
from sklearn.tree import export_graphviz
from sklearn.externals.six import StringIO
with open("G:/python 安装/graphviz/bin/dtc.dot","w") as file:
    export_graphviz(model,feature_names=["combat","num","promption","datam"],out_file=file)
#用graphviz将.dot转化为png、pdf
#dot -Tpng dtc.dot -o lesson.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值