KNN算法

knn = KNeighborsClassifier ( )

朴素贝叶斯

gnb = GaussianNB ( )

决策树

dtc = DecisionTreeClassifier ( )

SVM算法

svm = SVC ()

代码:

import numpy as np
import matplotlib.pyplot as plt
from itertools import product
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.tree import DecisionTreeClassifier
from sklearn.svm import SVC
# 加载数据
wine = datasets.load_wine ( )
x_train = wine.data [ : , [ 0 , 2 ] ]
y_train = wine.target
# 定义分类器对象,均使用默认参数
knn = KNeighborsClassifier ( )
gnb = GaussianNB ( )
dtc = DecisionTreeClassifier ( )
svm = SVC ()
# 训练分类器
knn.fit ( x_train , y_train )
gnb.fit ( x_train , y_train )
dtc.fit ( x_train , y_train )
svm.fit ( x_train , y_train )
# 测试并输出准确率
print ( 'KNN:' , knn.score ( x_train , y_train ))
print ( 'GaussianNB:' , gnb.score ( x_train , y_train ))
print ( 'Decision Tree:' , dtc.score ( x_train , y_train ))
print ( 'Support Vector Machine:' , svm.score ( x_train , y_train ))
# 获取测试点范围
x_min , x_max = x_train[:,0].min()-1 , x_train [:,0].max()+1
y_min , y_max = x_train [ : , 1 ].min ( ) - 1 , x_train [ : , 1 ].max ( ) + 1
# 生成测试点
xx , yy = np.meshgrid ( np.arange ( x_min , x_max , 0.1 ) , np.arange ( y_min , y_max , 0.1 ) )
# 设置子图
f , axe = plt.subplots ( 2 , 2 , sharex = 'col' , sharey = 'row' , figsize = ( 10 , 8 ) )
# 测试全部测试点并将分类结果作为颜色参数绘制结果图
for idx , clf , tt in zip ( product([0,1],[0,1]) , [ knn , gnb , dtc , svm] , [ 'KNN' , 'GaussianNB' , 'Decision Tree' , 'Support Vector Machine' ] ) :Z = clf.predict ( np.c_[ xx.ravel ( ) , yy.ravel ( ) ] )Z = Z.reshape ( xx.shape )axe [ idx [ 0 ] , idx [ 1 ] ].contourf ( xx , yy , Z , alpha = 0.4 )axe [ idx [ 0 ] , idx [ 1 ] ].scatter ( x_train [ : , 0 ] , x_train [ : , 1 ] , c = y_train , s = 20 , edgecolor = 'k' )axe [ idx [ 0 ] , idx [ 1 ] ].set_title ( tt )
plt.show()

结果:

机器学习之KNN算法,朴素贝叶斯,决策树,SVM算法比较相关推荐

  1. 机器学习实验二:朴素贝叶斯和SVM——肿瘤分类与预测(朴素贝叶斯)

    实操项目 1--肿瘤分类与预测(朴素贝叶斯) 实验要求 采用朴素贝叶斯方法,对美国威斯康星州的乳腺癌诊断数据集进行分类,实现针对乳腺癌检测的分类器,以判断一个患者的肿瘤是良性还是恶性. [实验要求] ...

  2. 02-分类算法:knn、朴素贝叶斯、决策树和随机森林

    目录 sklearn数据集 一.数据集划分 二. 数据集获取 三.sklearn机器学习算法的实现-估计器 分类算法-k近邻算法(KNN) 一.定义: 二.公式: 三.语法: 四.模型调优方法: 1. ...

  3. 机器学习算法-朴素贝叶斯

    一.概述 概率分类器 在许多分类算法应用中,特征和标签之间的关系并非是决定性的.比如说,我们想预测一个人究竟是否会在泰坦尼克号海难中生存下来,那我们可以建一棵决策树来学习我们的训练集.在训练中,其中一 ...

  4. 判别两棵树是否相等 设计算法_机器学习算法-朴素贝叶斯

    一.概述 概率分类器 在许多分类算法应用中,特征和标签之间的关系并非是决定性的.比如说,我们想预测一个人究竟是否会在泰坦尼克号海难中生存下来,那我们可以建一棵决策树来学习我们的训练集.在训练中,其中一 ...

  5. [Python图像处理] 二十六.图像分类原理及基于KNN、朴素贝叶斯算法的图像分类案例

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  6. ML之NB:基于news新闻文本数据集利用纯统计法、kNN、朴素贝叶斯(高斯/多元伯努利/多项式)、线性判别分析LDA、感知器等算法实现文本分类预测

    ML之NB:基于news新闻文本数据集利用纯统计法.kNN.朴素贝叶斯(高斯/多元伯努利/多项式).线性判别分析LDA.感知器等算法实现文本分类预测 目录 基于news新闻文本数据集利用纯统计法.kN ...

  7. 【机器学习算法-朴素贝叶斯、支持向量机】

    机器学习算法-朴素贝叶斯算法 1.朴素贝叶斯算法 2.支持向量机 2.1SVM基本综述 1.朴素贝叶斯算法 朴素贝叶斯是生成模型,需要根据已有的数据求出先验概率. 1.联合概率 2.条件概率 3.相互 ...

  8. a*算法的优缺点_轻松理解机器学习算法-朴素贝叶斯

    1.预备知识 贝叶斯定理(Bayes' theorem)是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关.通常事件A在事件B发生的条件下的概率,与事件B在事件A发生的条件下的概率是不一 ...

  9. 贝叶斯在计算机视觉中的应用,KNN与朴素贝叶斯在计算机视觉的鱼苗计数中的应用探索.doc...

    KNN与朴素贝叶斯在计算机视觉的鱼苗计数中的应用探索 ( 引言 每年鱼种养殖场或渔农都要根据自己的养殖需要购入鱼苗培育成鱼种,但购买时要做到鱼苗的准确计数很难.有些不法商贩和鱼苗繁殖场往往利用渔农的大 ...

  10. 秦曾昌人工智能课程---5、KNN和朴素贝叶斯

    秦曾昌人工智能课程---5.KNN和朴素贝叶斯 一.总结 一句话总结: 拟合和概率:构建机器学习模型,一般有拟合和概率两种方式 轻学无用:一定要保证学有所用,要深入学习,比如之前做的安卓,一定要学通, ...

最新文章

  1. SpringBoot学习(二)探究Springboot启动机制
  2. Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)...
  3. 用fuser或者lsof解决无法umount问题(device is busy)
  4. Console.log对象显示
  5. 基于android的视频采集系统的设计与实现,基于Android的视频采集系统的设计与实现...
  6. python打印文档添加条码_12行代码教会你用python读excel文件,提取数据,生成条形码...
  7. 使用awk进行文本处理
  8. mybatis实体类类型别名
  9. 用自定义IHttpModule实现URL重写 1
  10. Excel案例-杜邦分析法
  11. MySQL下载安装与配置详细教程
  12. mac下压缩mp3音频文件/linux 适用
  13. 英伟达官网如何下载显卡老版本驱动
  14. 怎么将多个Excel工作簿合并成一个新的工作簿
  15. Type-C PD协议取电SINK受电端9V12V15V20V
  16. 由于启用计算机,win10由于启动计算机时出现了页面文件配置问题的详细解决方案...
  17. spss modeler模型应用
  18. 成为阿里云大使的笔记
  19. QGIS官网安装包下载与安装
  20. 机器学习_深度学习毕设题目汇总——人脸B

热门文章

  1. split和slice方法
  2. 使用 Python 程序批量处理多了个 ^M
  3. vscode中如何修改vetur配置_vsCode vetur自用配置
  4. python keyerror 1_Python的KeyError的解决办法
  5. 【云原生 · Kubernetes】kubeadm创建集群
  6. JavaScript nodeType
  7. 函数对称性常见公式_excel函数对称性常见公式 16种常见的COUNTIF函数公式设置
  8. 番外-oracle数据库自动对数据库过期数据清除
  9. Redis主从数据不一致及读取过期数据问题的解决方案
  10. 创建二叉树并计算深度