1.简介

这篇文章主要是介绍了python基于sklearn库使用不同的机器学习分类器对鸢尾花iris数据集进行分类。


2.iris数据集

鸢尾花数据集一共150个样本,其中:

  • 特征data的维度为150*4,行数150代表样本数,列数4代表特征数,包含花萼长度、花萼宽度、花瓣长度、花瓣宽度四个特征。

  • 标签target的维度为150*1,代表了不同的种类,0代表setosa,1代表versicolor,2代表virginica(三个不同的种类)。


3.分类器

一共使用了11个分类器,分别是

  • KNN(KNeighborsClassifier)

  • 逻辑回归(LogisticRegression)

  • 决策树(DecisionTreeClassifier)

  • 梯度提升(GradientBoostingClassifier)

  • AdaBoost(AdaBoostClassifier)

  • 随机森林(RandomForestClassifier)

  • 高斯朴素贝叶斯(GaussianNB)

  • 多项式朴素贝叶斯(MultinomialNB)

  • 线性判别分析(LinearDiscriminantAnalysis)

  • 二次判别分析(QuadraticDiscriminantAnalysis)

  • 支持向量机(SVC)


4.代码

# 引入库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import GradientBoostingClassifier, AdaBoostClassifier, RandomForestClassifier
from sklearn.naive_bayes import GaussianNB, MultinomialNB
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis, QuadraticDiscriminantAnalysis
from sklearn.svm import SVC# 加载数据集
iris_dataset = load_iris()# 划分训练集与测试集
X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'])# 使用不同的分类器(均使用默认参数)# KNN
clf = KNeighborsClassifier()
clf.fit(X_train, y_train)
print('KNN accuracy:', clf.score(X_test, y_test))# 逻辑回归
clf = LogisticRegression()
clf.fit(X_train, y_train)
print('逻辑回归 accuracy:', clf.score(X_test, y_test))# 决策树
clf = DecisionTreeClassifier()
clf.fit(X_train, y_train)
print('决策树 accuracy:', clf.score(X_test, y_test))# 梯度提升
clf = GradientBoostingClassifier()
clf.fit(X_train, y_train)
print('梯度提升 accuracy:', clf.score(X_test, y_test))# AdaBoost
clf = AdaBoostClassifier()
clf.fit(X_train, y_train)
print('AdaBoost accuracy:', clf.score(X_test, y_test))# 随机森林
clf = RandomForestClassifier()
clf.fit(X_train, y_train)
print('随机森林 accuracy:', clf.score(X_test, y_test))# 高斯朴素贝叶斯
clf = GaussianNB()
clf.fit(X_train, y_train)
print('高斯朴素贝叶斯 accuracy:', clf.score(X_test, y_test))# 多项式朴素贝叶斯
clf = MultinomialNB()
clf.fit(X_train, y_train)
print('多项式朴素贝叶斯 accuracy:', clf.score(X_test, y_test))# 线性判别分析
clf = LinearDiscriminantAnalysis()
clf.fit(X_train, y_train)
print('线性判别分析 accuracy:', clf.score(X_test, y_test))# 二次判别分析
clf = QuadraticDiscriminantAnalysis()
clf.fit(X_train, y_train)
print('二次判别分析 accuracy:', clf.score(X_test, y_test))# 支持向量机
clf = SVC()
clf.fit(X_train, y_train)
print('支持向量机 accuracy:', clf.score(X_test, y_test))

5.结果

KNN accuracy: 0.9736842105263158
逻辑回归 accuracy: 0.9736842105263158
决策树 accuracy: 0.9736842105263158
梯度提升 accuracy: 0.9473684210526315
AdaBoost accuracy: 0.9210526315789473
随机森林 accuracy: 0.9210526315789473
高斯朴素贝叶斯 accuracy: 0.9210526315789473
多项式朴素贝叶斯 accuracy: 0.9473684210526315
线性判别分析 accuracy: 0.9736842105263158
二次判别分析 accuracy: 0.9473684210526315
支持向量机 accuracy: 0.9736842105263158

完整的代码可以在我的github上找到:lizhiTech/iris_machine_learning_classifier: python鸢尾花数据基于sklearn使用不同的机器学习分类器,包括KNN、逻辑回归、决策树、梯度提升、AdaBoost、随机森林、高斯朴素贝叶斯、多项式朴素贝叶斯、线性判别分析、二次判别分析、支持向量机 (github.com)

或者csdn下载:python鸢尾花数据基于sklearn使用不同的机器学习分类器-机器学习文档类资源-CSDN文库

我们也提供包括深度学习、计算机视觉、机器学习等其他方向的其他代码及辅导服务,有需求可以通过csdn私聊或github上的联系方式联系我们。

python鸢尾花iris机器学习分类器分类相关推荐

  1. id3决策树 鸢尾花 python_机器学习之分类回归树(python实现CART)

    机器学习之分类回归树(python实现CART) 之前有文章介绍过决策树(ID3).简单回顾一下:ID3每次选取最佳特征来分割数据,这个最佳特征的判断原则是通过信息增益来实现的.按照某种特征切分数据后 ...

  2. 机器学习:鸢尾花(Iris)分类

    机器学习:鸢尾花(Iris)分类 背景 她还有一些鸢尾花的测量数据,这些花之前已经被植物学专家鉴定为属于 setosa.versicolor 或virginica 三个品种之一.对于这些测量数据,她可 ...

  3. python鸢尾花数据集_Python实现鸢尾花数据集分类问题——使用LogisticRegression分类器...

    . 逻辑回归 逻辑回归(Logistic Regression)是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法. 概率p与因变量往 ...

  4. [Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  5. sklearn基础篇(三)-- 鸢尾花(iris)数据集分析和分类

    后面对Sklearn的学习主要以<Python机器学习基础教程>和<机器学习实战基于scikit-learn和tensorflow>,两本互为补充进行学习,下面是开篇的学习内容 ...

  6. 支持向量机鸢尾花Iris数据集的SVM线性分类练习

    支持向量机&鸢尾花Iris数据集的SVM线性分类练习 摘要 一.SVM基础 1.三种支持向量机 2.非线性支持向量机 二.鸢尾花实例 1.认识鸢尾花 2.鸢尾花实例演示 3.使用多项式特征和核 ...

  7. python鸢尾花分类svm测试集_使用SVM对鸢尾花分类

    使用SVM对鸢尾花分类 百度AI Studio中的一个入门项目,增加了自己在实践时的一些注释,对小白来说阅读更顺畅.源码和数据在github上. 任务描述: 构建一个模型,根据鸢尾花的花萼和花瓣大小将 ...

  8. 【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类

    本文摘要 · 理论来源:[统计学习方法]第七章 SVM · 技术支持:pandas(读csv).numpy.sklearn.svm.svm思想.matplotlib.pyplot(绘图) · 代码目的 ...

  9. 【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类

    本文摘要 · 理论来源:[统计学习方法]第三章 K近邻 · 技术支持:pandas(读csv).collections.Counter(统计).numpy.sklearn.neighbors.KNei ...

最新文章

  1. html元素的分类有哪些?
  2. python难嘛-自学Python很难吗,为何会看不进去!
  3. Appium+python的单元测试框架unittest(2)——fixtures(转)
  4. python一次性输入多个数_python如何一次性输入多个数
  5. 为什么客户画像这么难?
  6. 高等数学同济七版课后习题答案
  7. TVS管参数说明以及如何选型
  8. Ubuntu 16.10 下 使用 C/C++ IDE anjuta 编译出现You must have `libtool' installed
  9. PS放大图片而不模糊的操作方法
  10. 计算机登录域时很慢,新装WIN7电脑加入域后,变的很慢
  11. crx什么意思_CRX文件是什么
  12. UE学习笔记(一)UC++基础类
  13. 理科爱好者杂志理科爱好者杂志社理科爱好者编辑部2022年第3期目录
  14. Docker 安装 SRS
  15. 求解斐波那契数列模$p$意义下最短循环节
  16. mysql的mgr是什么意思_MySQL之MGR简介
  17. 通讯录管理系统 课程设计报告(上交版)
  18. 树莓派 3B+ 使用微雪2-CH CAN FD HAT
  19. PCB800661驱动宽屏(480x1280分辨率)LVDS液晶屏
  20. linux下udp实现聊天软件,socket实现一个简单的对话聊天软件

热门文章

  1. linux usb xhci ehci,ehci是什么意思?ehci和xhci的区别有哪些?
  2. adb安卓调试桥测试应用(adb shell + crash(崩溃)日志)
  3. 微信提示已停止访问该网页应该怎么解决
  4. 市面上的教育点播软件选择从这几个方面来看
  5. 找到: 没有参数 原因: 实际参数列表和形式参数列表长度不同
  6. SFDC之trigger那些事儿
  7. 向量内积(点乘)和外积(叉乘)概念及几何意义
  8. 微信小程序类ExpandableListView分组实现
  9. 智能手机场景展示音乐可视化AE模板
  10. kali安装beef