大数据项目 :利于TF-TI和情感分析发现假新闻

什么是假新闻?

假新闻一般是夸大其辞的,通过网络达到迅速传播的新闻.通过检查特定的词汇分析感情,和算法可以推演出是否是假新闻

TfidfVectorizer ?中文用jieba

TfidfVectorizer可以把原始文本转化为tf-idf的特征矩阵,从而为后续的文本相似度计算,主题模型(如LSI),文本搜索排序等一系列应用奠定基础。利于算法量化文字
[tfidf介绍](https://zhuanlan.zhihu.com/p/67883024)

PassiveAggressiveClassifier?

一种增量学习方法好处是他的算法不断改进
增量算法

前置条件

import numpy as np
import pandas as pd
import itertools
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.linear_model import PassiveAggressiveClassifier
from sklearn.metrics import accuracy_score, confusion_matrix

缺少的库可以通过
pip install numpy pandas sklearn 之类的下载

#Read the data直接读取数据
df=pd.read_csv('D:\\DataFlair\\news.csv')
#df.shape
#df.head()
#获取标签
labels=df.label
labels.head()
#DataFlair - Split the dataset 分开4个子集 在这里根据
x_train,x_test,y_train,y_test=train_test_split(df['text'], labels, test_size=0.2, random_state=7)
#DataFlair - Initialize a TfidfVectorizer 初始化Tfidf,训练,构建词汇表以及词项idf值,并将输入文本列表转成VSM矩阵形式
tfidf_vectorizer=TfidfVectorizer(stop_words='english', max_df=0.7)
#DataFlair - Fit and transform train set, transform test set
tfidf_train=tfidf_vectorizer.fit_transform(x_train) 
tfidf_test=tfidf_vectorizer.transform(x_test)
#DataFlair - Initialize a PassiveAggressiveClassifier  一次初始循环量为50
pac=PassiveAggressiveClassifier(max_iter=50)
pac.fit(tfidf_train,y_train)
#DataFlair - Predict on the test set and calculate accuracy 根据test组数据预测pred组
y_pred=pac.predict(tfidf_test)
score=accuracy_score(y_test,y_pred)
print(f'Accuracy: {round(score*100,2)}%')
#DataFlair - Build confusion matrix建立 矩阵
confusion_matrix(y_test,y_pred, labels=['FAKE','REAL'])

材料包链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值