机器学习-朴素贝叶斯之多项式模型

多项式模型:

记住一定用于离散的对象,不能是连续的
于高斯分布相反,多项式模型主要适用于离散特征的概率计算,切sklearn的多项式模型不接受输入负值
因为多项式不接受负值的输入,所以样本数据的特征为数值型数据,必须归一化处理保证数据里没有负数
其中需要用到贝叶斯概率公式:如下
当分子出现0时候,需要用到拉普拉斯平滑系数

贝叶斯概率公式,来自Wang’s Blog的原创

模型构建与训练:

需要用到的api是:from sklearn.naive_bayes import MultinomialNB
我们还需要对文章内容进行提取需要用到的api是:from sklearn.feature_extraction.text import TfidfVectorizer
英文的可以用这种方法进行分词中文的需要自己进行分词

实验如下:

导入贝叶斯多项式模型

from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
import sklearn.datasets as datasets
data = datasets.fetch_20newsgroups(data_home='./datasets',subset='all')
feature = data['data']#初始未进行特征值化
target = data['target']
# 分别创建模型,数据统计的实例对象
nb = MultinomialNB()
tf = TfidfVectorizer()
tf_feature = tf.fit_transform(feature)# 进行了特征值化
# 进行数据集切分
x_train, x_test, y_train, y_test = train_test_split(tf_feature,target,test_size=0.1,random_state=2023)
# 将训练集放入模型中进行训练模型
nb.fit(x_train,y_train)
# 输出训练后的模型里放入测试集的准确率
print(nb.score(x_test,y_test))
print(target)
print(feature)

输出结果:
显示的没办法爬数据,我又换了一组数据

# 导入贝叶斯多项式模型
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
import sklearn.datasets as datasets
# data = datasets.fetch_20newsgroups(data_home='./datasets', subset='all')
data = datasets.load_iris()
feature = data['data']#初始未进行特征值化
target = data['target']
# 分别创建模型,数据统计的实例对象
nb = MultinomialNB()
# tf = TfidfVectorizer()
# feature = tf.fit_transform(feature)# 进行了特征值化
# 进行数据集切分
x_train, x_test, y_train, y_test = train_test_split(feature,target,test_size=0.1,random_state=2023)
# 将训练集放入模型中进行训练模型
nb.fit(x_train,y_train)print(target)
print(feature)
# 输出训练后的模型里放入测试集的准确率
print(nb.score(x_test,y_test))

此时输出结果:

	[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2]
[[5.1 3.5 1.4 0.2][4.9 3.  1.4 0.2][4.7 3.2 1.3 0.2][4.6 3.1 1.5 0.2][5.  3.6 1.4 0.2][5.4 3.9 1.7 0.4][4.6 3.4 1.4 0.3][5.  3.4 1.5 0.2][4.4 2.9 1.4 0.2][4.9 3.1 1.5 0.1][5.4 3.7 1.5 0.2][4.8 3.4 1.6 0.2][4.8 3.  1.4 0.1][4.3 3.  1.1 0.1][5.8 4.  1.2 0.2][5.7 4.4 1.5 0.4][5.4 3.9 1.3 0.4][5.1 3.5 1.4 0.3][5.7 3.8 1.7 0.3][5.1 3.8 1.5 0.3][5.4 3.4 1.7 0.2][5.1 3.7 1.5 0.4][4.6 3.6 1.  0.2][5.1 3.3 1.7 0.5][4.8 3.4 1.9 0.2][5.  3.  1.6 0.2][5.  3.4 1.6 0.4][5.2 3.5 1.5 0.2][5.2 3.4 1.4 0.2][4.7 3.2 1.6 0.2][4.8 3.1 1.6 0.2][5.4 3.4 1.5 0.4][5.2 4.1 1.5 0.1][5.5 4.2 1.4 0.2][4.9 3.1 1.5 0.2][5.  3.2 1.2 0.2][5.5 3.5 1.3 0.2][4.9 3.6 1.4 0.1][4.4 3.  1.3 0.2][5.1 3.4 1.5 0.2][5.  3.5 1.3 0.3][4.5 2.3 1.3 0.3][4.4 3.2 1.3 0.2][5.  3.5 1.6 0.6][5.1 3.8 1.9 0.4][4.8 3.  1.4 0.3][5.1 3.8 1.6 0.2][4.6 3.2 1.4 0.2][5.3 3.7 1.5 0.2][5.  3.3 1.4 0.2][7.  3.2 4.7 1.4][6.4 3.2 4.5 1.5][6.9 3.1 4.9 1.5][5.5 2.3 4.  1.3][6.5 2.8 4.6 1.5][5.7 2.8 4.5 1.3][6.3 3.3 4.7 1.6][4.9 2.4 3.3 1. ][6.6 2.9 4.6 1.3][5.2 2.7 3.9 1.4][5.  2.  3.5 1. ][5.9 3.  4.2 1.5][6.  2.2 4.  1. ][6.1 2.9 4.7 1.4][5.6 2.9 3.6 1.3][6.7 3.1 4.4 1.4][5.6 3.  4.5 1.5][5.8 2.7 4.1 1. ][6.2 2.2 4.5 1.5][5.6 2.5 3.9 1.1][5.9 3.2 4.8 1.8][6.1 2.8 4.  1.3][6.3 2.5 4.9 1.5][6.1 2.8 4.7 1.2][6.4 2.9 4.3 1.3][6.6 3.  4.4 1.4][6.8 2.8 4.8 1.4][6.7 3.  5.  1.7][6.  2.9 4.5 1.5][5.7 2.6 3.5 1. ][5.5 2.4 3.8 1.1][5.5 2.4 3.7 1. ][5.8 2.7 3.9 1.2][6.  2.7 5.1 1.6][5.4 3.  4.5 1.5][6.  3.4 4.5 1.6][6.7 3.1 4.7 1.5][6.3 2.3 4.4 1.3][5.6 3.  4.1 1.3][5.5 2.5 4.  1.3][5.5 2.6 4.4 1.2][6.1 3.  4.6 1.4][5.8 2.6 4.  1.2][5.  2.3 3.3 1. ][5.6 2.7 4.2 1.3][5.7 3.  4.2 1.2][5.7 2.9 4.2 1.3][6.2 2.9 4.3 1.3][5.1 2.5 3.  1.1][5.7 2.8 4.1 1.3][6.3 3.3 6.  2.5][5.8 2.7 5.1 1.9][7.1 3.  5.9 2.1][6.3 2.9 5.6 1.8][6.5 3.  5.8 2.2][7.6 3.  6.6 2.1][4.9 2.5 4.5 1.7][7.3 2.9 6.3 1.8][6.7 2.5 5.8 1.8][7.2 3.6 6.1 2.5][6.5 3.2 5.1 2. ][6.4 2.7 5.3 1.9][6.8 3.  5.5 2.1][5.7 2.5 5.  2. ][5.8 2.8 5.1 2.4][6.4 3.2 5.3 2.3][6.5 3.  5.5 1.8][7.7 3.8 6.7 2.2][7.7 2.6 6.9 2.3][6.  2.2 5.  1.5][6.9 3.2 5.7 2.3][5.6 2.8 4.9 2. ][7.7 2.8 6.7 2. ][6.3 2.7 4.9 1.8][6.7 3.3 5.7 2.1][7.2 3.2 6.  1.8][6.2 2.8 4.8 1.8][6.1 3.  4.9 1.8][6.4 2.8 5.6 2.1][7.2 3.  5.8 1.6][7.4 2.8 6.1 1.9][7.9 3.8 6.4 2. ][6.4 2.8 5.6 2.2][6.3 2.8 5.1 1.5][6.1 2.6 5.6 1.4][7.7 3.  6.1 2.3][6.3 3.4 5.6 2.4][6.4 3.1 5.5 1.8][6.  3.  4.8 1.8][6.9 3.1 5.4 2.1][6.7 3.1 5.6 2.4][6.9 3.1 5.1 2.3][5.8 2.7 5.1 1.9][6.8 3.2 5.9 2.3][6.7 3.3 5.7 2.5][6.7 3.  5.2 2.3][6.3 2.5 5.  1.9][6.5 3.  5.2 2. ][6.2 3.4 5.4 2.3][5.9 3.  5.1 1.8]]
0.9333333333333333

输出的效果还挺不错

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/123422.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【2023年冬季】华为OD统一考试(B卷)题库清单(已收录345题),又快又全的 B 卷题库大整理

目录 专栏导读华为OD机试算法题太多了,知识点繁杂,如何刷题更有效率呢? 一、逻辑分析二、数据结构1、线性表① 数组② 双指针 2、map与list3、队列4、滑动窗口5、二叉树6、并查集7、栈 三、算法1、基础算法① 贪心算法② 二分查找③ 分治递归…

【PC电脑windows-学习样例generic_gpio-ESP32的GPIO程序-基础样例学习】

【PC电脑windows-学习样例generic_gpio-ESP32的GPIO程序-基础样例学习】 1、概述2、实验环境3、 物品说明4、自我总结5、本次实验说明6、实验过程(1)复制目录到桌面(2)手动敲写(3)反复改错(4&am…

09 用户态跟踪:如何使用eBPF排查应用程序?

09 用户态跟踪:如何使用eBPF排查应用程序? sudo bpftrace -e usdt:/usr/bin/python3:function__entry { printf("%s:%d %s\n", str(arg0), arg2, str(arg1))} # -*- coding: UTF-8 -*- import socket from socket import SOL_SOCKET, SO_R…

时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测

时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测 目录 时序预测 | Python实现ARIMA-LSTM差分自回归移动平均模型结合长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 时序预测 | Python实现ARIM…

【数值计算汇总】js前端数值计算校验转换

前言 这个合集功能主要是为了处理前端计算数据 因为我的项目有很多表格公式计算是前端写的 所以有一个很麻烦的事情就是加减乘除的时候因为各种情况导致报错 最常见的就是后端传的值不规范 有时候这个字段没有值的时候给我返回的是数字0,有时候字符串数字0&#xf…

SOLIDWORKS PDM 2024数据管理5大新功能

1. 改进的视觉内容 • 通过装配体可视化功能,在 SOLIDWORKS 中以图形方式查看零部件数据,如工作流程状态。• 使用特定图标迅速识别焊件切割清单零部件。 优点:重要数据和系统信息一目了然。 2.增强的数据保护和跟踪功能 •保护“包含”和…

【jvm】虚拟机栈之动态链接

目录 一、说明二、代码示例三、生成的字节码四、字节码说明4.1 常量池4.1 方法调用4.3 变量4.4 字符串4.5 父类Object4.6 System类 一、说明 1.指向运行时常量池的方法引用 2.每一个栈帧内部都包含一个指向运行时常量池中该栈帧所属方法的引用 3.包含这个引用的目的就是为了支持…

代码随想录算法训练营第4天| 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交 、142.环形链表II

JAVA语言编写 24. 两两交换链表中的节点 谷歌、亚马逊、字节、奥多比、百度 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。…

Openssl数据安全传输平台010:jasoncpp 1.9.5编译及常用API- Windows/Centos8-含测试代码

文章目录 0. 代码仓库1 安装注意版本问题1.1 windows 下的安装1.1.1 使用cmake生成sln工程1.1.2 使用sln工程生成静态库 -Debug 1.2 Linux 下的安装1.2.1 安装jsoncpp1.2.2 旧版本0.10.x版本相关环境配置问题 2 Winsows环境下编译 c 测试文件: json-test.cpp2.1 配置…

nginx请求时找路径问题

nginx请求时找路径问题 你是否遇到过这样的情况: 当你安装了nginx的时候,为nginx配置了如下的location,想要去访问路径下面的内容,可是总是出现404,找不到文件,这是什么原因呢,今天我们就来解…

免登陆 同步脚本 zookeeper kafka集群详细安装步骤

一.免登陆配置 #修改注解名 vim /etc/hostname #修改host文件 vim /etc/hosts 192.168.1.10 kafka1 kafka1 192.168.1.11 kafka2 kafka2 192.168.1.12 kafka3 kafka3#免登陆生成秘钥和授权自动登陆 ssh-keygen -t rsa cd ~/.ssh shh-copy-id kafka1 shh-copy-id kafka2 shh-co…

服务器数据恢复—nas硬盘故障导致raid6失效、存储无法访问的数据恢复案例

服务器故障&分析: 一台nas存储中有一组由十几块硬盘组建的raid6磁盘阵列。 nas存储中的raid6阵列成员盘出现故障离线,磁盘阵列崩溃,nas存储无法正常访问。 北亚企安数据恢复工程师将nas存储内的所有硬盘编号后取出,经过硬件工…

MGRE环境下的OSPF

实验拓扑 需求 1 R6为ISP只能配置IP地址,R1-R5的环回为私有网段 2 R1/4/5为全连的MGRE结构,R1/2/3为星型的拓扑结构,R1为中心站点 3 所有私有网段可以互相通讯,私有网段使用OSPF完成。 IP规划 配置IP R1 # interface GigabitEt…

2023 年四川省职业院校技能大赛(高等职业教育) “信息安全管理与评估”样题

2023年四川省高职院校大学生信息安全管理与评估技能大赛任务书 第一阶段:第二阶段:任务 1 应急响应(40分)任务 2 操作系统取证(40 分)任务 3 网络数据包分析(50 分)任务 4 计算机单机…

Kitex踩坑 [Error] KITEX: processing request error,i/o timeout

报错问题 2023/010/28 17:20:10.250768 default_server_handler.go:234: [Error] KITEX: processing request error, remoteService, remoteAddr127.0.0.1:65425, errordefault codec read failed: read tcp 127.0.0.1:8888->127.0.0.1:65425: i/o timeout 分析原因 Hert…

Ps:对象选择工具

对象选择工具 Object Selection Tool是 Photoshop 2020 版以后新增的选区工具,可用于自动选择图像中的对象或区域,如人物、汽车、宠物、天空、水、建筑物和山脉等。 快捷键:W 让对象选择工具自动检测并选择图像内的对象或区域,或者…

3.7 移动端TB(D)R架构基础

一、各类电子设备功耗对比 桌面级主流性能平台,功耗一般为300W(R7/I7X60级别显卡),游戏主机150-200W入门和旗舰游戏本平台功耗为100W主流笔记本为50-60W,超极本为15-25W,旗舰平板为8-15W旗舰手机为5-8W&am…

【Linux】部署单体项目以及前后端分离项目(项目部署)

一、简介 以下就是Linux部署单机项目和前后端分离项目的优缺点,希望对你有所帮助。 1、Linux部署单机项目: 优点: 1.简化了系统管理:由于所有服务都在同一台机器上运行,因此可以简化系统管理和维护。 2.提高了性能&a…

记录使用阿里 ARoute 遇到的坑

1.按照官方一个配置好之后 尝试使用 跳转出现 Aroute Theres no route matched path"" 我这边遇到的坑是配置问题 kotiln 使用了 Java的配置 plugins {id("com.android.application")id("org.jetbrains.kotlin.android")id("kotlin-kapt&…

Linux mv命令:移动文件或改名

mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。该命令的基本格式如下: [rootlocalhost ~]# mv 【选项】 源文件 目标文件 -f:强制覆盖,如果目标文…