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

目录

一、导入数据

二、选择特征

三、十折交叉验证

四、划分训练集和测试集

五、训练高斯贝叶斯模型

六、预测测试集

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

八、查看混合矩阵

九、输出评估指标

一、导入数据

复制代码
# 根据商户数据预测其是否续约案例
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))
相关推荐
martinzh5 分钟前
自一致性提示技术:让AI像老师一样反复确认
人工智能
CareyWYR7 分钟前
每周AI论文速递(250825-250829)
人工智能
智算菩萨12 分钟前
【机器学习基础】机器学习中的容量、欠拟合与过拟合:理论基础与实践指南
人工智能·机器学习
nju_spy20 分钟前
机器学习 - Kaggle项目实践(6)Dogs vs. Cats Redux: Kernels Edition 猫狗二分类
人工智能·算法·机器学习·计算机视觉·分类·南京大学·残差神经网络
大千AI助手21 分钟前
生成对抗网络(GAN):深度学习领域的革命性突破
人工智能·深度学习·生成对抗网络·gan·生成模型·ian goodfellow·对抗训练
Edda.41 分钟前
沃尔玛FCCA认证:供应链卓越管理的核心钥匙
大数据·新媒体运营·制造
YisquareTech1 小时前
零售行业全渠道应如何与零售后端系统集成?
大数据·edi·零售·数字化转型·数据集成·订单管理·b2b
技术与健康2 小时前
【系列08】端侧AI:构建与部署高效的本地化AI模型 第7章:架构设计与高效算子
人工智能·神经网络·cnn
sky丶Mamba2 小时前
学习大模型,还有必要学习机器学习,深度学习和数学吗
深度学习·学习·机器学习
QianCenRealSim2 小时前
“矿山”自动驾驶“路网”编辑功能实现
人工智能·自动驾驶·opendrive·矿山自动驾驶·矿山路网编辑·openscenario