机器学习实验:使用sklearn的决策树算法对葡萄酒数据集进行分类
机器学习实验:使用sklearn的决策树算法对葡萄酒数据集进行分类
问题如下:
使用sklearn的决策树算法对葡萄酒数据集进行分类,要求:
①划分训练集和测试集(测试集占20%)
②对测试集的预测类别标签和真实标签进行对比
③输出分类的准确率
④调整参数比较不同算法(ID3,C4.5,CART)的分类效果。
代码实现:
导入依赖包
#导入相关库 import sklearn from sklearn.model_selection import train_test_split from sklearn import tree #导入tree模块 from sklearn.datasets import load_wine from math import log2 import pandas as pd import graphviz import treePlotter
导入数据集
#导入数据集 wine = load_wine() X = wine.data #X Y = wine.target #Y features_name = wine.feature_names print(features_name) pd.concat([pd.DataFrame(X),pd.DataFrame(Y)],axis=1) #打印数据
划分数据集,数据集划分为测试集占20%;
#划分数据集,数据集划分为测试集占20%; x_train, x_test, y_train, y_test = train_test_split(X, Y,test_size=0.2) # print(x_train.shape) #(142, 13) # print(x_test.shape) #(36, 13)
导入模型,进行训练
#采用C4.5算法进行计算 #获取模型 model = tree.DecisionTreeClassifier(criterion="entropy",splitter="best",max_depth=None,min_samples_split=2,min_samples_leaf=1,min_weight_fraction_leaf=0.0,max_features=None,random_state=None,max_leaf_nodes=None,class_weight=None); model.fit(x_train,y_train) score = model.score(x_test,y_test) y_predict = model.predict(x_test) print('准确率为:',score) #准确率为: 0.9444444444444444
对测试集的预测类别标签和真实标签进行对比
pd.concat([pd.DataFrame(x_test),pd.DataFrame(y_test),pd.DataFrame(y_predict)],axis=1) #打印数据,对测试集的预测类别标签和真实标签进行对比
最后两列为真实标签和预测类别标签
调整参数比较不同算法(ID3,C4.5,CART)的分类效果
#采用CART算法进行计算 #获取模型 model = tree.DecisionTreeClassifier(criterion="gini",splitter="best",max_depth=None,min_samples_split=2,min_samples_leaf=1,min_weight_fraction_leaf=0.0,max_features=None,random_state=None,max_leaf_nodes=None,class_weight=None); model.fit(x_train,y_train) score = model.score(x_test,y_test) y_predict = model.predict(x_test) print('准确率为:',score) #准确率为: 1.0
画出最后预测的树
feature_name = ['酒精','苹果酸','灰','灰的碱性','镁','总酚','类黄酮','非黄烷类酚类','花青素','颜色强度','色调','od280/od315稀释葡萄酒','脯氨酸']dot_data = tree.export_graphviz(model,out_file=None,feature_names=feature_name,class_names=['二锅头','苦荞','江小白'],filled=True,rounded=True) graph = graphviz.Source(dot_data) graph #graph.render('tree')
机器学习实验:使用sklearn的决策树算法对葡萄酒数据集进行分类相关推荐
- scikit-learn决策树算法(鸢尾花数据集、餐饮饭店销量)
文章目录 实验三.scikit-learn决策树算法 一.实验目的 1. 熟悉掌握决策树的原理 2. 使用scikit-learn库中的对应函数实现决策树分类. 二.能力图谱 三.实验工具 1. An ...
- FlyAI小课堂:python机器学习笔记:深入学习决策树算法原理
分类技术(或分类法)是一种根据输入数据建立分类模型的系统方法,分类法的例子包括决策分类法,基于规则的分类法,神经网络,支持向量机和朴素贝叶斯分类法.这些技术都使用一种学习算法(learning alg ...
- 机器学习算法(4)—— 决策树算法
决策树算法 1 决策树介绍 2 信息熵 3 决策树划分依据 3.1 信息增益 3.2 信息增益率 3.3 基尼指数 3.4 小结 4. cart 剪枝 4.1 为何要 cart 剪枝 4.2 常用的剪 ...
- 【机器学习】这份分类决策树算法介绍请收好!
摘要: 决策树在机器学习算法中是一个相对简单的算法,如何不能进行适当的剪枝就容易造成模型的过拟合.决策树算法也是当前很多集成学习算法的基础,集成算法的效果往往比单独使用决策树算法效果更好. 关键词: ...
- 利用决策树算法在鲍鱼数据集上对年龄进行预测
在上一篇文章中,通过调取sklearn库中的tree模块来构建在鲍鱼数据集上的决策树,并对测试集鲍鱼的年龄进行预测,但是,通过调库的方式只能处理数值型的属性,若数据集中既包含连续型属性和离散型属性,则 ...
- 决策树算法:对鸢尾花进行分类
文章目录 一.什么是决策树 二.对鸢尾花进行分类 三.决策树可视化 三.决策树算法总结 一.什么是决策树 不用语言描述,直接看图 关于是否去上课,首先看的是是否能起床,然后课程,然后人数,然后是否点名 ...
- 机器学习Sklearn实战——决策树算法
sklearn-str类型数据量化操作 OrdinalEncoder import numpy as np import pandas as pd from sklearn.neighbors imp ...
- 机器学习算法(3:决策树算法)
一.决策树简介 决策树是附加概率结果的一个树状的决策图,是直观的运用统计概率分析的图法.机器学习中决策树是一个预测模型,它表示对象属性和对象值之间的一种映射,一颗决策树是一棵有向无环树,它由若干个节点 ...
- 基于sklearn的决策树算法
1.决策树介绍 决策树简单的理解为if-then的集合,其优点主要有分类速度快.可读性等.决策树的生成主要可分为三个步骤:特征的选择.决策树的生成.决策树的剪枝. 1.1特征选择 对于结点的选择,总得 ...
最新文章
- 理解学习this指向问题
- Numpy Axis
- 多线程中Local Store Slot(本地存储槽)[转]
- a标签download属性无效_HTML从零开始——链接标签
- 用字符串表达式访问JSON数据(java,fastjson)
- 关于从EXCEL中导入到SQL server中的问题
- PHP之cookie免登录
- linux中删除特殊文件
- Product of Array Except Self
- android 技术点记录
- centos7.0配置php环境,如何在centos7中配置一个php开发环境
- RS232和RS485通讯接口的区别
- DXP-2004软件安装
- opencv如何隐藏窗口
- MailServer配置Foxmail
- 一个大学生的人生随笔
- 在windows环境下搭建mac os
- 2022年第一季度的十个Web3项目
- BRISK特征提取算法 .
- 阈值分割:基本全局阀值法、上下阀值法、迭代法
热门文章
- 【推荐系统】协同过滤浅入(基于用户/项目/内容/混合方式)
- 请收下,700+页PDF社区精化!
- LeetCode376 摇摆序列
- NDK制作一个安卓执行程序
- 【vue+a-form+字体图标展示】在form表单中加入svg字体图标列表,新增操作详解
- [BUUCTF]PWN——judgement_mna_2016(32位fmt)
- 原子性、可见性、有序性解决方案
- 《大长今》分集剧情介绍(上)
- 智能存储 | 视频 DNA ,独一无二的安全标识
- 搭建hadoop 集群,出现 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).