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

【机器学习系列】使用高斯贝叶斯模型进行数据分类的完整流程

目录

一、导入数据

二、选择特征

三、十折交叉验证

四、划分训练集和测试集

五、训练高斯贝叶斯模型

六、预测测试集

 七、查看训练集和测试集上的分数

 八、查看混合矩阵

九、输出评估指标

一、导入数据

# 根据商户数据预测其是否续约案例
import pandas
#读取数据到 data 变量中
data = pandas.read_csv('高斯贝叶斯.csv', encoding='ansi')

二、选择特征

features = [ '注册时长', '营收收入', '成本']
x=data[features]
y=data['是否续约']

三、十折交叉验证

#高斯贝叶斯
from sklearn.naive_bayes import GaussianNB
gaussianNB = GaussianNB()
from sklearn.model_selection import cross_val_score
#进行K折交叉验证
cvs = cross_val_score(gaussianNB, x, y, cv=10)
cvs.mean()

 分数如下:

四、划分训练集和测试集

from sklearn.model_selection import train_test_split#把数据集分为训练集和测试集
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)

五、训练高斯贝叶斯模型

gaussianNB = gaussianNB.fit(x_train, y_train)

六、预测测试集

predict=gaussianNB.predict(x_test)

 七、查看训练集和测试集上的分数

gaussianNB.score(x_train, y_train)
gaussianNB.score(x_test, y_test)

 八、查看混合矩阵

gaussianNB = GaussianNB()
#使用所有数据训练模型
gaussianNB.fit(x, y)
#对所有的数据进行预测
data['预测是否续约'] = gaussianNB.predict(data[features])
from sklearn.metrics import confusion_matrix
#计算混淆矩阵,labels参数,可由 gaussianNB.classes_ 得到
confusion_matrix(data['是否续约'], data['预测是否续约'], labels=['不续约', '续约']
)

九、输出评估指标

from sklearn.metrics import classification_report
# 输出评估指标
print(classification_report(y_test, predict))

http://www.lryc.cn/news/353345.html

相关文章:

  • Python中的单例模式:原理、实现与应用
  • Linux基础(六):Linux 系统上 C 程序的编译与调试
  • 移动硬盘难题:不显示容量与无法访问的解决策略
  • 基于springboot+vue的智慧外贸平台
  • @Async详解,为什么生产环境不推荐直接使用@Async?
  • LaTeX 2022软件安装教程(附软件下载地址)
  • 纯干货分享 机器学习7大方面,30个硬核数据集
  • 算法训练营day46
  • 推荐五个线上兼职,在家也能轻松日入百元,适合上班族和全职宝妈
  • Python_文件操作_学习
  • Leetcode 3154. Find Number of Ways to Reach the K-th Stair
  • Vue3/Vite引入EasyPlayer.js播放H265视频错误的问题
  • CentOS 7安装alertmanager
  • YOLOv10详细解读 | 一文带你深入了解yolov10的创新点(附网络结构图 + 举例说明)
  • 【openlayers系统学习】3.5colormap详解(颜色映射)
  • Redis教程(十五):Redis的哨兵模式搭建
  • 【C语言】8.C语言操作符详解(3)
  • 离线初始化k8s
  • C++字符编码 cppp-reiconv库使用详解
  • 通过继承React.Component创建React组件-5
  • PgSQL内核机制 - 算子执行统计元组个数
  • Ubuntu/Linux 安装Paraview
  • 内存泄漏及其解决方法
  • Java进阶学习笔记13——抽象类
  • 【Docker学习】深入研究命令docker exec
  • C语言中的文件操作
  • python使用xlrd读取excel的时候把字符串读成了数字
  • 【C语言】走进指针世界(下卷)
  • 【Spring】SSM整合_入门代码实现
  • C++代码错误解决1(函数模板)