标签:idf href 评价标准 匿名 深度 无法 http 数据集 报名
赛题名称:零基础入门NLP之新闻文本分类
赛题目标:入门自然语言处理,接触NLP的预处理、模型构建和模型训练等知识点
赛题任务:对新闻文本进行分类
理解赛题背景与赛题数据
报名比赛后即可下载相应数据:
以匿名处理后的新闻数据为赛题数据
组成:训练集 测试集A 测试集B 数据提交格式样本
数据集中的标签对应关系:{‘科技‘: 0, ‘股票‘: 1, ‘体育‘: 2, ‘娱乐‘: 3, ‘时政‘: 4, ‘社会‘: 5, ‘教育‘: 6, ‘财经‘: 7, ‘家居‘: 8, ‘游戏‘: 9, ‘房产‘: 10, ‘时尚‘: 11, ‘彩票‘: 12, ‘星座‘: 13}
评价标准为类别 f1_score的均值,结果越大越好
关于f1_score的理解, f1分数是分类问题的一个衡量标准,值在0~1之间
公式:
每个类别有:
最后的结果(宏平均):
其中:
??precision-精准度/查准率
??recall-召回率/查全率
??TP(True Positive)-预测答案正确
??FP(False Positive)-错将其他类预测为本类
??FN(False Negative)-本类标签预测为其他类标签
Python实现:
from sklearn.metrics import f1_score
#预测结果
pred_ls = [0,1,1,2,0,1]
#实际标签
true_ls = [0,2,0,1,0,1]
#求f1_score
#属性average:二分类问题则选择参数binary;
#如果考虑类别的不平衡性,需要计算类别的加权平均,则使用weighted;
#如果不考虑类别的不平衡性,计算宏平均,则使用macro
f1=f1_score(true_ls,pred_ls,average=‘macro‘)
分析上诉代码:
对于类0:TP=2,FP=1,FN=0,precision=2/3,recall=1,f1_score=4/5
对于类1:TP=1,FP=1,FN=2,precision=1/2,recall=1/3,f1_score=2/5
对于类2:TP=0,FP=1,FN=1,precision=0,recall=0,f1_score=0
宏平均分数为0.400
使用pandas库完成数据的读、取、分析等操作
import pandas as pd
data_df = pd.read_csv("[path]\train_set.csv", seq=‘\t‘)
赛题难点:给出的数据是匿名化的,无法直接使用中文分词等操作
参考思路:TF-IDF + 机器学习分类器;FastText;WordVec + 深度学习分类器;Bert词向量
标签:idf href 评价标准 匿名 深度 无法 http 数据集 报名
原文地址:https://www.cnblogs.com/rn-05181226-rw/p/13357833.html