下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、实验名称:使用朴素贝叶斯进行社会媒体挖掘1、实验目的:使用朴素贝叶斯进行社会媒体挖掘2、实验内容:学习朴素贝叶斯算法原理,并使用朴素贝叶斯进行社会媒体挖掘3、实验环境(设备、软件、实验数据):设备:笔记本电脑 软件:Pythonidle 实验数据:python_classes.data、python_tweets.data 4、实验步骤:安装相关Python库Json、nltk、Numpy、Sklearn、twitter;从社交网站下载数据;importtwitterconsumer_key="<YourConsumerKeyHere>"consumer_secret="<YourConsumerSecretHere>"access_token="<YourAccessTokenHere>"access_token_secret="<YourAccessTokenSecretHere>"authorization=twitter.OAuth(access_token,access_token_secret,consumer_key,consumer_secret)importosoutput_filename=os.path.join(os.path.expanduser("~"),"Data","twitter","python_tweets.json")importjsont=twitter.Twitter(auth=authorization)获取到Twitter消息,使用json库的dump函数将其转换为字符串形式后,写入到输出文件中;withopen(output_filename,'a')asoutput_file:search_results=t.search.tweets(q="python",count=100)['statuses']fortweetinsearch_results: if'text'intweet: output_file.write(json.dumps(tweet)) output_file.write("\n\n")加载库,提取消息;importos
importjson
fromsklearn.feature_extractionimportDictVectorizer
fromsklearn.naive_bayesimportBernoulliNB
importnumpyasnp
fromsklearn.baseimportTransformerMixin
fromnltkimportword_tokenize
fromsklearn.model_selectionimportcross_val_score
fromsklearn.pipelineimportPipeline#添加文件路径,路径最好不要出现中文input_filename=os.path.join("../","Data","twitter","python_tweets.json")
labels_filename=os.path.join("../","Data","twitter","python_classes.json")#加载消息。我们只对消息内容感兴趣,因此只提取和存储它们的text值,存在tewwts[]内tweets=[]
withopen(input_filename)asinf:
forlineininf:#strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
iflen(line.strip())==0:
continue
tweets.append(json.loads(line)['text'])#加载数据集:消息的类别(设置消息的类别为1或0)withopen(labels_filename)asinf:
labels=json.load(inf)构造一个用于抽取特征的类,返回结果为一个元素为字典的列表,第一个字典的各项为第一条消息中的所有词语;classNLTKBOW(TransformerMixin):
deffit(self,X,y=None):
returnself
deftransform(self,X):#word_tokenize对句子进行分词
return[{word:Trueforwordinword_tokenize(document)}fordocumentinX]抽取特征,将字典转换为矩阵,分类器安装顺序组装起来,创建流水线,将之前获取的消息导入流水线进行处理,得出结果;#流水线的每一步都用元组(‘名称’,步骤)来表示。现在来创建流水线。#具体使用流水线在第三章实验流水线。
pipeline=Pipeline([('bag-of-words',NLTKBOW()),('vectorizer',DictVectorizer()),('naive-bayes',BernoulliNB())])#通过交叉检验使用流水线,导入数据
scores=cross_val_score(pipeline,tweets,labels,scoring='f1',cv=3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中级检验师资格考试题库附解析
- 2026年AI-汽车故障智能诊断题库含答案
- 2026年中国铁建集团招聘考试试题及答案集
- 2026年气瓶充装检验核心试题及参考答案
- 2026年品牌人才面试宝典品牌经理面试题目及答案解析
- 2026年服务贸易创新发展岗位面试策略评估含答案
- 2026年物资保管岗位招聘面试物资搬运装卸安全规范应用练习题及详解
- 2026年儿童康复环境改造考试模拟题库含答案
- 2026年驻马店幼儿师范高等专科学校单招职业技能考试题库附答案解析
- 2026年福建体育职业技术学院单招综合素质考试模拟测试卷附答案解析
- 知识点及2025秋期末测试卷(附答案)-花城版小学音乐五年级上册
- 2025天津中煤进出口有限公司面向中国中煤内部及社会招聘第三批电力人才21人笔试参考题库附带答案详解(3卷合一)
- 噪声监测系统施工方案
- 2025年杭州余杭水务有限公司招聘36人笔试参考题库及答案解析
- 大一军事理论课件全套
- GB/T 191-2025包装储运图形符号标志
- 泵站维修采购合同模板
- 针织学全套课件
- 2023年巡检员岗位考试真题模拟汇编(共113题)
- 七下长江全能学案
- LZDD-18N 食品安全综合检测仪使用说明书20140530
评论
0/150
提交评论