当前位置: 首页 > news >正文

一般课程网站要怎么做国家建设部建筑业网站

一般课程网站要怎么做,国家建设部建筑业网站,另类投资公司网站建设规定,ui培训机构北京基于朴素贝叶斯分类器的钞票真伪识别模型 内容 本实验通过实现钞票真伪判别案例来展开学习朴素贝叶斯分类器的原理及应用。 本实验的主要技能点: 1、 朴素贝叶斯分类器模型的构建 2、 模型的评估与预测 3、 分类概率的输出 源码下载 环境 操作系统&#xf…

基于朴素贝叶斯分类器的钞票真伪识别模型

内容

本实验通过实现钞票真伪判别案例来展开学习朴素贝叶斯分类器的原理及应用。

本实验的主要技能点:

1、 朴素贝叶斯分类器模型的构建

2、 模型的评估与预测

3、 分类概率的输出

源码下载

环境

  • 操作系统:Windows10、Ubuntu18.04
  • 工具软件:Anaconda3 2019、Python3.7
  • 硬件环境:无特殊要求
  • 核心库:
    • numpy 1.19.4

    • ipython 7.16.2

    • scikit-learn 0.24.2

    • pandas 1.1.5

    • mglearn 0.1.9

原理

1、数据集

钞票数据集包括1371行、5列,前四列是钞票的四个光学图像指标(即样本的特征),最后一列是钞票的真伪(0-真币,1-假币,即样本的标签)。因为训练数据是有标签的,因此本实验是监督学习中的一个分类问题。

请添加图片描述

本任务涉及以下几个环节:

a)加载、查看数据集

b)获取样本的特征数组和标签数组

d)将数据集拆分为训练集和测试集

e)构建模型拟合数据、评估并做出预测

2、分割测训练集和测试集

sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.25, random_state=0)

在机器学习中,我们通常将原始数据按照比例分割为“测试集”和“训练集”,从 sklearn.model_selection 中调用train_test_split 函数 ,参数列表如下

  • train_data:被划分的样本特征集
  • train_target:被划分的样本标签
  • test_size:如果是浮点数,在0-1之间,表示样本占比;如果是整数的话就是样本的数量
  • random_state:是随机数的种子
    • 若为None时,每次生成的数据都是随机,可能不一样
    • 若为整数时,每次生成的数据都相同

步骤

打开notebook 开发环境,新建ipynb文件,命名为实验一:基于朴素贝叶斯分类器的钞票真伪识别模型.ipynb保存在当前项目根目录下的code文件夹中。

步骤一 加载、查看数据集

我们使用pandas读取数据集文件,增加列名。

from sklearn.naive_bayes import GaussianNB # 引入高斯朴素贝叶斯分类器
from sklearn.model_selection import train_test_split # 数据集拆分
from IPython.display import display	# 显示import pandas as pd
import numpy as np# 读取钞票数据文件
banknote = pd.read_csv('../dataset/banknote.csv')# 添加列名
banknote.columns=['feature0', 'feature1','feature2','feature3','class']# 显示数据框
display(banknote)

显示结果:

请添加图片描述

钞票的四个特征分别对应其光学图像检测参数:

  • feature0-小波变换图像指标

  • feature1-小波偏斜变换图像指标

  • feature2-小波峰度变换图像指标

  • feature3-图像熵

共1371条数据,4个特征列,1个标签列。

步骤二 将数据集拆分为训练集和测试集

# 获得样本特征数组data(前4列)
data = banknote.values[:,0:4]# 获得样本标签数组target(最后一列)
target = banknote.values[:,-1]print(data.shape) # 查看样本特征数组形状
print(target.shape) # 查看样本标签数组形状# 数据集拆分,辅助函数可以很快地将实验数据集划分为任何训练集(training sets)和测试集(test sets)。
X_train, X_test, y_train, y_test = train_test_split(data, target, test_size=0.25, random_state=0)print(X_train.shape, X_test.shape) # 查看拆分结果

显示结果:

(1371, 4)
(1371,)
(1028, 4) (343, 4)

步骤三 创建模型,评估并预测

# 创建贝叶斯分类器
model = GaussianNB().fit(X_train, y_train) # 训练# 输出模型在训练集和测试集上的准确率
train_score = model.score(X_train, y_train) # 得分
test_score = model.score(X_test, y_test)
print(train_score, test_score)# 在测试集上预测钞票真伪
num = 10 # 显示的样本数量
y_pred = model.predict(X_test) # 预测
print('y_pred:', y_pred[:num]) # 预测结果
print('y_true:', y_test[:num]) # 实际结果
y_proba = model.predict_proba(X_test[:num]) # 预测结果的概率(每个样本为真钞和假钞的概率)
print(np.around(y_proba, decimals=3))

输出结果:

0.8424124513618677 0.8542274052478134
# 预测结果(0-真币,1-假币)
y_pred: [0. 0. 1. 0. 0. 0. 0. 0. 1. 1.]
y_true: [1. 0. 1. 0. 0. 0. 0. 0. 1. 1.]
# 预测结果个概率
[[0.588 0.412][0.998 0.002][0.    1.   ][0.998 0.002][0.998 0.002][0.953 0.047][0.681 0.319][0.994 0.006][0.    1.   ][0.054 0.946]] 

贝叶斯分类器除可以输出预测结果外,还可以输出样本属于每个类别的可能性概率,可以通过predict_proba方法来输出。

http://www.yayakq.cn/news/666477/

相关文章:

  • 河间专业做网站电话宣传网站建设方案
  • 成都网站优化实战html5网站源码
  • 上海哪里有网站建设中国的网站域名是什么
  • 公司微信网站建设方案seo推广系统
  • asp.net 微网站开发教程深圳网站关键词优化排名
  • 做网站无需备案wordpress分享
  • 淄博网站文章优化dart语言做的网站
  • 顶做抱枕网站做电影网站侵权
  • 陕西城乡建设厅网站服务平台收件箱
  • 怀化公司网站建设简述网络营销的特点及功能
  • 中国代加工网站网站模板图
  • 建设公益网站多少钱免费用的云服务器
  • 网站的页面由什么组成新网站怎么推广
  • 电脑维修 做网站网站制作销售术语
  • 怎么给网站做后台网站开发简单
  • 一级域名网站里有二级域名河北seo优化
  • 网站开发与维护专业前景jsp网站建设项目
  • 网站做淘宝客网站网站代理怎么做的
  • 自适应网站如何做mip网页文化传媒公司能否建设经营网站
  • wordpress网站关键字百度?o法提交网站
  • win7做系统网站哪个好做宣传网站
  • 开网站程序网页建站要多久
  • 如何判断一个网站是php还是asp杭州汇咖网站建设有限公司怎么样
  • 网站做系统国外域名建站
  • 什么网站比较少人做微网站注册
  • 开个做网站要多少钱新网站建设银行提升转账额度
  • 成长厉程网站网站开发人员职能
  • 网站的建设主机费用好听的房地产公司名字
  • 网站美工工作流程宁波网站推广运营
  • 大连微网站开发wordpress 点击数筛选