【MachineLearning】之 朴素贝叶斯(实战)

本文介绍了使用朴素贝叶斯算法对一个包含产业风险、管理风险等6个特征的企业运营评估数据集进行分类预测,以判断企业是否会破产。首先,详细描述了数据集的特征和等级,接着进行了数据集的划分,训练集占70%,测试集占30%。然后,使用多项式模型的朴素贝叶斯进行建模,并探讨了模型参数。最后,通过计算分类准确率评估模型性能。
摘要由CSDN通过智能技术生成


一、数据集介绍及预处理


本次应用到的数据集为企业运营评估数据集 course-10-company.csv,总共有 250 条数据,每条数据包括 6 个特征值,分别为:

  • industrial_risk: 产业风险
  • management_risk: 管理风险
  • finacial_flexibility: 资金灵活性
  • credibility: 信用度
  • competitiveness: 竞争力
  • operating_risk: 操作风险

其中,每条特征值包括 3 个等级,分别为:

  • Positive: 好
  • Average: 中
  • Negative: 坏

3 个等级分别用 P, A, N 代替。

通过这些特征对该企业是否会破产进行分类预测,其中:

  • NB: 表示不会破产
  • B: 表示会破产


二、数据集划分


加载好数据集之后,为了实现朴素贝叶斯算法,同样我们需要将数据集分为 训练集测试集,依照经验:训练集占比为 70%,测试集占 30%。

同样在此我们使用 scikit-learn 模块的 train_test_split 函数完成数据集切分。

from sklearn.model_selection import train_test_split

x_train,x_test, y_train, y_test =train_test_split(train_data,train_target,test_size=0.4, random_state=0)

其中:

  • x_train,x_test, y_train, y_test 分别表示,切分后的特征的训练集,特征的测试集,标签的训练集,标签的测试集;其中特征和标签的值是一一对应的。
  • train_data,train_target分别表示为待划分的特征集和待划分的标签集。
  • test_size:测试样本所占比例。
  • random_state:随机数种子,在需要重复实验时,保证在随机数种子一样时能得到一组一样的随机数。
# 导入数据集
# !wget -nc http://labfile.oss.aliyuncs.com/courses/1081/course-10-company.csv

import pandas as pd

enterprise_data = pd.read_csv('course-10-company.csv')
enterprise_data.head()
enterprise_data = enterprise_data.replace(
    {
   "P": 1, "A": 2, "N": 3, "NB": 0, "B": 1})  # 对元素值进行替换
enterprise_data
"""数据集划分
"""
from sklearn.model_selection import train_test_split

# 得到企业运营评估数据集中 feature 的全部序列: industrial_risk, management_risk 等特征
feature_data = enterprise_data.iloc[:, :-1]
label_data = enterprise_data["label"<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值