【统计学习方法】朴素贝叶斯对鸢尾花(iris)数据集进行训练预测

简介: 【统计学习方法】朴素贝叶斯对鸢尾花(iris)数据集进行训练预测

本文摘要

· 理论来源:【统计学习方法】第三四章 朴素贝叶斯

· 技术支持:pandas(读csv)、numpy、sklearn.naive_bayes.GaussianNB(高斯朴素贝叶斯模型)、sklearn.model_selection.cross_val_score(用于进行k折交叉验证)

· 代码目的:利用sklearn提供的高斯贝叶斯模型,对鸢尾花数据集进行学习+预测

作者:CSDN 征途黯然.

1、建议去了解一下,高斯、伯努利、多项式的朴素贝叶斯

2、突然间觉得sklearn很香,不想手撸模型了……

一、鸢尾花(iris)数据集


 Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于(iris-setosa, iris-versicolour, iris-virginica)中的哪一品种。

下载地址:点击此处

二、代码描述


  1、首先,导入鸢尾花数据集

  2、然后,数据预处理,数据集分成特征集和标签集

  3、最后,实例化高斯贝叶斯模型,进行k折交叉检验,查看准确率

image.png

三、python代码(注释详细)


import pandas as pd
import numpy as np
from sklearn.naive_bayes import GaussianNB  #导入模型
from sklearn.model_selection import cross_val_score
# 导入数据集
df = pd.read_csv('./iris/Iris.csv', usecols=[1, 2, 3, 4, 5])
# pandas打印表格信息
# print(df.info())
# pandas查看数据集的头5条记录
# print(df.head())
"""数据预处理"""
# 取前100条数据中的:前4个特征+标签,便于训练
data = np.array(df.iloc[:150, [0, 1, 2, 3, -1]])
# 数据类型转换,为了后面的数学计算
X, y = data[:, :-1], data[:, -1]
# 标签不需要是数字,字符串并不影响
# y = np.array([1 if i == 'Iris-setosa' else -1 for i in y])
"""调用sklearn提供的kNN算法"""
clf = GaussianNB()
print(cross_val_score(clf, X, y, cv=5))
相关文章
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
机器学习之线性回归与逻辑回归【完整房价预测和鸢尾花分类代码解释】
|
7月前
|
机器学习/深度学习 算法 数据挖掘
SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型
SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型
|
7月前
|
机器学习/深度学习 算法 索引
R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况
R语言逻辑回归logistic模型分析泰坦尼克titanic数据集预测生还情况
|
机器学习/深度学习 移动开发 资源调度
机器学习算法(二): 基于鸢尾花数据集的朴素贝叶斯(Naive Bayes)预测分类
机器学习算法(二): 基于鸢尾花数据集的朴素贝叶斯(Naive Bayes)预测分类
|
机器学习/深度学习 Python
【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类
【统计学习方法】K近邻对鸢尾花(iris)数据集进行多分类
245 0
|
7月前
|
机器学习/深度学习 算法 数据挖掘
分类算法中决策树和KNN算法讲解及对iris数据集分类实战(附源码)
分类算法中决策树和KNN算法讲解及对iris数据集分类实战(附源码)
215 0
|
7月前
|
机器学习/深度学习 算法
SVM算法、朴素贝叶斯算法讲解及对iris数据集分类实战(附源码)
SVM算法、朴素贝叶斯算法讲解及对iris数据集分类实战(附源码)
253 0
|
机器学习/深度学习 人工智能 数据挖掘
基于神经网络——鸢尾花识别(Iris)
鸢尾花识别是学习AI入门的案例,这里和大家分享下使用Tensorflow 2框架,编写程序,获取鸢尾花数据,搭建神经网络,最后训练和识别鸢尾花。
330 0
|
机器学习/深度学习 Python
【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
467 0
【统计学习方法】线性可分支持向量机对鸢尾花(iris)数据集进行二分类
|
机器学习/深度学习 Python
【统计学习方法】感知机对鸢尾花(iris)数据集进行二分类
【统计学习方法】感知机对鸢尾花(iris)数据集进行二分类
750 0
【统计学习方法】感知机对鸢尾花(iris)数据集进行二分类
下一篇
DataWorks