组队学习说明 :
12天的时间实现数据预处理(TF-IDF与word2VEC)->模型实践(朴素贝叶斯,svm与lightgbm)->模型优化
任务路线
数据初始->数据处理->基本模型->实践模型优化->模型优化
任务周期 : 12天
定位人群: 能够熟练使用python,难度系数适中
每个任务周期所需要的时间: 2-3h
1.下载数据,读取数据,观察数据
2.将训练集拆分为训练集和验证集
3.分享自己对数据以及赛题的理解与发现
ps. 电脑爆内存的可以先提取5000条数据进行实践
数据包含2个csv文件,
train_set_scv:此数据集用于训练模型,每一行对应一篇文章,文章分别在"字"和""词的级别上做了脱敏处理,共有四列:
第1列: 文章的索引ID
第2列: 文章的正文在"字"的级别上表示,即字符相隔正文(article)
第3列: "词"级别上的表示,即词语相隔正文(word_seg)
第4列: 这篇文章的标注(class)
注: 每一个数字对应一个’字’或’词’,或’标点符号’,'字’的编号与’词’的编号是独立的
test_set.csv: 此数据用于测试数据,同train_set.csv,但不包含class
注:test_set与train_test 中文章id的编号是独立的
# 单行中间变量完全显示
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
import pandas as pd
df_train = pd.read_csv('./new_data/train_set.csv',nrows=5000)
df_train.head()
df_train['article']
我们可以看到数据共分为’id’,‘article’,‘word_seg’,'class’这四个字段.并且主办方已为我们进行了脱敏,分词,数字化处理
我们对数据进行统计分析:
df_test = pd.read_csv('./new_data/test_set.csv',nrows=5000)
df_test.head()
print(df_train.info(), df_test.info())
print('大家好,我是你们的小可爱~')
df_train.isnull().any()
文本分类共19类,各类别数据均在2000条以上,没有严重的类别不均
df_train['class'].value_counts()
数据说明中显示:
'artile'是字级别上的,'word_seg'是词级别的,也就是说举办方已经把单词给我们切好了,不需要自己动手手动分词,已经把单词数字化(脱敏),因此数据划分中x以df_tarin['word_seg']即可
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(df_train[['word_seg']],
df_train[['class']],
test_size = 0.3,
random_state = 2019)
print (X_train.shape)
print (X_test.shape)
y_train.shape
y_test.shape