赛题1-新闻文本分类-Task01-赛题理解
赛题
环境安装
- 下载 anaconda 地址
- 现在官网就可以直接下载了
- 目前我装的是 py3.7
- 装好之后可以使用 jupyter 进行可视化开发
1 读取数据
import pandas as pd
train_set = pd.read_csv('./data/1/train_set.csv', sep='\t')
train_set.head()
train_set.count()
2 赛题解读
- 数据解读
- label 代表了类别,text 代表了一条新闻文本
- train_set 是训练集,test_a 是测试集
- 训练集、验证集和测试集
- 用训练集训练模型,用验证集验证模型 => 调整模型、挑选模型 => 用测试集评估最终的模型
- 目的就是做个分类函数,基于训练集总结规则
- 加密主要是,人能读懂新闻文本,可以人脑进行分类
- 个人思路
- 无思路直接看题解
- 可以把每一个类别中出现的词统计一下,不同的类别出现的关键词不一样
- 基于规则、基于概率
- 贝叶斯决策理论,将已知的先验概率转换为后验概率
- 课程安排
- Task01:赛题理解(1天)
- Task02:数据读取与数据分析(1天)
- Task03:基于机器学习的文本分类(3天)
- Task04:基于深度学习的文本分类1(2天)
- Task05:基于深度学习的文本分类2(4天)
- Task06:基于深度学习的文本分类3(4天)
- 明日预习
3 pandas
- 中文网 https://www.pypandas.cn/
- 英文网 https://pandas.pydata.org/docs/getting_started/index.html
- 官方教程一,Pandas能做什么
- 官方教程二,Pandas怎么读取写入数据
- 名称解释
- DataFrame
- 表结构
- A DataFrame is a 2-dimensional data structure that can store data of different types in columns
- It is similar to a spreadsheet, a SQL table or the data.frame in R
- 两纬数据表,和 sql 中的 table 类似
- 在 spark 中也有定义
- Series
- 序列/一维数组
- Each column in a DataFrame is a Series
- DataFrame 中的每一列都叫做 Series
- 示例 df[“Age”]
- 常用函数
- df[“Age”].max()
- df.describe()
- 很好用,直接打印 df 中数值类型的总计、均值、标准差、中位数等
- std 标准差
4 f1_score
- 统计学中,二分类模型,精确度指标
- 兼顾模型精确率、召回率
- [0, 1]
- 2 * (precision * recall) / (precision + recall)
- F分数被广泛应用在信息检索领域,用来衡量检索分类和文档分类的性能
- 计算-基础概念
TP, True Positive, 预测对了-正样本
FP, False Positive, 预测错了-正样本
TN, True Negative, 预测对了-负样本
FN, False Negative, 预测错了-负样本
- 计算-精确率、召回率
precision 精度/查准率 预测正样本其中对了的概率
precision = TP / (TP + FP) = 正样本预测对的数量 / 预测了正样本的数量
白话:预测了10个是正的, 其中几个对了
recall 召回率/查全率 正样本预测对的概率
(FN表示属于正样本但是预测错了,所以 TP + FN 就是正样本总数)
recall = TP / (TP + FN) = 正样本预测对的数量 / 正样本的总数
白话:总共有20个是正的, 预测正的对了的占多少
5 标准差
- 知乎文章参考
- 统计学中最核心的概念之一是:标准差及其与其他统计量(如方差和均值)之间的关系
- 目标是计算数字之间的差异,以及数字与平均值之间的差异
- 理解变异(variability)与差异(difference)之间的关系是理解多个统计估计和推断检验的关键
- 方差,即平均变异,或者差异平方的平均值(mean squared difference)
- 我们为什么不用方差来表示分数的差异呢?唯一的问题是,我们无法对比方差和原始分数,因为方差是「平方」值,即它是面积而非长度。其单位是 points^2,与原始分数的单位 points 不同。那么如何甩掉平方呢?开平方根啊!
- 分割平方和是理解机器学习中的泛化线性模型和偏差-方差权衡的关键概念
- 平均绝对值给所有差异提供的是相同的权重,而差异平方为距离平均值较远的数字提供更多权重
- 方差 = 标准差^2 = sum((Xn - Xm)^2) / n
- 平均值绝对值差异
- 权重是一样的,标准差起到了基于距离加权的功能
- 实际对比,提供数列 (1 2 10 3)
- 均值:2.5
- 均差:(1.5 0.5 7.5 0.5) => 10 / 4 => 2.5
- 方差:(2.25 0.25 56.25 0.25) => 59 / 4 => 14.75
- 标准差:(2.25 0.25 56.25 0.25) => 3.84
- 数字越分散时,标准差越大