朴素贝叶斯算法python sklearn实现_朴素贝叶斯算法——实现新闻分类(Sklearn实现)...

1、朴素贝叶斯实现新闻分类的步骤

(1)提供文本文件,即

(2)准备数据

将数据集划分为训练集和测试集;使用jieba模块进行分词,词频统计,停用词过滤,文本特征提取,将文本数据向量化

(3)分析数据:使用matplotlib模块分析

(4)训练算法:使用sklearn.naive_bayes 的MultinomialNB进行训练

在scikit-learn中,一共有3个朴素贝叶斯的分类算法类。分别是GaussianNB,MultinomialNB和BernoulliNB。

其中GaussianNB就是先验为高斯分布的朴素贝叶斯,MultinomialNB就是先验为多项式分布的朴素贝叶斯,而BernoulliNB就是先验为伯努利分布的朴素贝叶斯。

(5)测试算法:使用测试集对贝叶斯分类器进行测试

2、代码实现

# -*- coding: UTF-8 -*-

import os

import random

import jieba

from sklearn.naive_bayes import MultinomialNB

import matplotlib.pyplot as plt

"""

函数说明:中文文本处理

Parameters:

folder_path - 文本存放的路径

test_size - 测试集占比,默认占所有数据集的百分之20

Returns:

all_words_list - 按词频降序排序的训练集列表

train_data_list - 训练集列表

test_data_list - 测试集列表

train_class_list - 训练集标签列表

test_class_list - 测试集标签列表

"""

def TextProcessing(folder_path, test_size=0.2):

folder_list = os.listdir(folder_path) # 查看folder_path下的文件

data_list = [] # 数据集数据

class_list = [] # 数据集类别

# 遍历每个子文件夹

for folder in folder_list:

new_folder_path = os.path.join(folder_path, folder) # 根据子文件夹,生成新的路径

files = os.listdir(new_folder_path) # 存放子文件夹下的txt文件的列表

j = 1

# 遍历每个txt文件

for fil

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
朴素叶斯算法是一种基于概率统计的分类算法,它的核心思想是利用叶斯定理计算出每个类别的后验概率,然后选择具有最大后验概率的类别作为分类结果。在这个过程中,朴素叶斯假设每个特征之间相互独立,也就是说,每个特征对于分类的贡献是独立的。 在Python中,我们可以使用scikit-learn库来实现朴素叶斯算法。具体步骤如下: 1.准备数据:将数据集划分为训练集和测试集。 2.训练模型:使用训练集来训练朴素叶斯模型。 3.测试模型:使用测试集来测试模型的准确率。 下面是一个简单的朴素叶斯分类器的实现示例: ``` from sklearn.naive_bayes import GaussianNB from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split # 加载数据集 iris = load_iris() # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.3, random_state=0) # 创建朴素叶斯分类器对象 gnb = GaussianNB() # 训练模型 gnb.fit(X_train, y_train) # 预测测试集的结果 y_pred = gnb.predict(X_test) # 计算准确率 accuracy = sum(y_pred == y_test) / len(y_test) print("准确率:", accuracy) ``` 这里使用了iris数据集作为示例数据集进行分类。首先,我们使用`train_test_split`函数将数据集划分为训练集和测试集,然后创建一个`GaussianNB`对象,训练模型并使用测试集来测试模型的准确率。最后,我们计算出准确率并将其打印出来。 完整的代码可以在以下链接中找到: https://github.com/Light-City/NaiveBayesClassifier-Python/blob/master/NaiveBayesClassifier.py

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值