用sklearn模块函数进行基于决策树算法的乳腺癌分类,并进行决策树的可视化

老师发了关于乳腺癌的数据集,只有十一个列。和python自带的乳腺癌数据集一样,但是比自带的少了很多特征。

文件打开大概长这个样子,只有11列:

 一共有699行数据:

接下来就是代码实现了,先导入自己的文件,因为我的csv文件和python的 .py文件在一个目录下面,所以我就没有写完整的目录,这样是不会报错的。

from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
import pandas as pd
from sklearn import tree
data = pd.read_csv(r'breastCancer.csv')
print(data.head())
df=pd.DataFrame()  ##一个表格型的数据结构
X=data.iloc[:,0:10]  #取data的前9列
df['Class'] = data.Class  #Class为最后一列
y=df['Class']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)  #划分训练集和测试集,我这里设置的比例是训练集:测试集=8:2
clf = DecisionTreeClassifier(max_depth = 2,random_state = 0)  #这里的max_depth是决策树的深度,可以改成其他的数字
clf.fit(X_train, y_train)
print("模型在数据集上的得分:",clf.score(X_train,y_train))  #查看模型在数据集上的得分
print("模型在测试集上的得分",clf.score(X_test,y_test))  #查看模型在测试集上的得分
print("训练集X轴矩阵大小:",X_train.shape)
print("训练集y轴矩阵大小:",y_train.shape)
print("测试集X轴矩阵大小:",X_test.shape)
print("测试集y轴矩阵大小:",y_test.shape)
tree.plot_tree(clf)  #决策树可视化

下面就是我的运行结果:

 

 

 

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值