最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Python版数据挖掘实验5报告:使用朴素贝叶斯进行社会媒体挖掘

来源:动视网 责编:小OO 时间:2025-10-01 20:46:45
文档

Python版数据挖掘实验5报告:使用朴素贝叶斯进行社会媒体挖掘

一、实验名称:使用朴素贝叶斯进行社会媒体挖掘1、实验目的:使用朴素贝叶斯进行社会媒体挖掘2、实验内容:学习朴素贝叶斯算法原理,并使用朴素贝叶斯进行社会媒体挖掘3、实验环境(设备、软件、实验数据):设备:笔记本电脑软件:Pythonidle实验数据:python_classes.data、python_tweets.data4、实验步骤:1.安装相关Python库Json、nltk、Numpy、Sklearn、;2.从社交网站下载数据;importconsumer_k
推荐度:
导读一、实验名称:使用朴素贝叶斯进行社会媒体挖掘1、实验目的:使用朴素贝叶斯进行社会媒体挖掘2、实验内容:学习朴素贝叶斯算法原理,并使用朴素贝叶斯进行社会媒体挖掘3、实验环境(设备、软件、实验数据):设备:笔记本电脑软件:Pythonidle实验数据:python_classes.data、python_tweets.data4、实验步骤:1.安装相关Python库Json、nltk、Numpy、Sklearn、;2.从社交网站下载数据;importconsumer_k
一、实验名称:使用朴素贝叶斯进行社会媒体挖掘

1、实验目的:

使用朴素贝叶斯进行社会媒体挖掘

2、实验内容:

学习朴素贝叶斯算法原理,并使用朴素贝叶斯进行社会媒体挖掘

3、实验环境(设备、软件、实验数据):

设备:笔记本电脑

    软件:Python idle

    实验数据:python_classes.data、python_tweets.data    

4、实验步骤:

1.安装相关Python库Json、nltk、Numpy、Sklearn、;

2.从社交网站下载数据;

import 

consumer_key = ""

consumer_secret = ""

access_token = ""

access_token_secret = ""

authorization = .OAuth(access_token, access_token_secret,

consumer_key, consumer_secret)

import os

output_filename = os.path.join(os.path.expanduser("~"),"Data", "", "python_tweets.json")

import json

t = .Twitter(auth=authorization)
3.获取到Twitter消息,使用json库的dump函数将其转换为字符串形式后,写入到输出文件中;

with open(output_filename, 'a') as output_file:

search_results = t.search.tweets(q="python", count=100)['statuses']

for tweet in search_results:

    if 'text' in tweet:

        output_file.write(json.dumps(tweet))

        output_file.write("\\n\\n")

4.加载库,提取消息;

import os

import json

from sklearn.feature_extraction import DictVectorizer

from sklearn.naive_bayes import BernoulliNB

import numpy as np

from sklearn.base import TransformerMixin

from nltk import word_tokenize

from sklearn.model_selection import cross_val_score

from sklearn.pipeline import Pipeline

# 添加文件路径,路径最好不要出现中文 

input_filename = os.path.join("../", "Data", "", "python_tweets.json")

labels_filename = os.path.join("../", "Data", "", "python_classes.json")

#加载消息。我们只对消息内容感兴趣,因此只提取和存储它们的text值,存在tewwts[]内

tweets = []

with open(input_filename) as inf:

    for line in inf:

# strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

        if len(line.strip()) == 0:

            continue

        tweets.append(json.loads(line)['text'])

#加载数据集:消息的类别(设置消息的类别为1或0)

with open(labels_filename) as inf:

    labels = json.load(inf)
5.构造一个用于抽取特征的类,返回结果为一个元素为字典的列表,第一个字典的各项为第一条消息中的所有词语;

class NLTKBOW(TransformerMixin):

    def fit(self, X, y=None):

        return self

    def transform(self, X):

    #word_tokenize 对句子进行分词

        return [{word: True for word in word_tokenize(document)} for document in X]

6.抽取特征,将字典转换为矩阵,分类器安装顺序组装起来,创建流水线,将之前获取的消息导入流水线进行处理,得出结果;

#流水线的每一步都用元组(‘名称’,步骤)来表示。现在来创建流水线。

#具体使用流水线在第三章实验流水线。

pipeline = Pipeline([('bag-of-words', NLTKBOW()), ('vectorizer', DictVectorizer()), ('naive-bayes', BernoulliNB())])

#通过交叉检验使用流水线,导入数据

scores = cross_val_score(pipeline, tweets, labels, scoring='f1',cv=3)

print("Score: {:.3f}".format(np.mean(scores)))
输出结果:

5、总结及心得体会:

    通过本次实验,我学习朴素贝叶斯算法原理,并使用朴素贝叶斯进行社会媒体挖掘,学会了如何到社交网络上获取数据并进行分析处理。

文档

Python版数据挖掘实验5报告:使用朴素贝叶斯进行社会媒体挖掘

一、实验名称:使用朴素贝叶斯进行社会媒体挖掘1、实验目的:使用朴素贝叶斯进行社会媒体挖掘2、实验内容:学习朴素贝叶斯算法原理,并使用朴素贝叶斯进行社会媒体挖掘3、实验环境(设备、软件、实验数据):设备:笔记本电脑软件:Pythonidle实验数据:python_classes.data、python_tweets.data4、实验步骤:1.安装相关Python库Json、nltk、Numpy、Sklearn、;2.从社交网站下载数据;importconsumer_k
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top