达观杯文本智能挑战赛一(数据读取,分训练测试集)

1.数据竞赛介绍:

参赛者需要根据达观竞赛提供的脱敏文本数据,实现精准分类

2.数据集介绍

数据集分为训练集和测试集(无label)。

其中训练集大小为(102277, 4),测试集大小为(102277, 3)

训练集的column包括:

Index(['id', 'article', 'word_seg', 'class'], dtype='object')

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

train_data = pd.read_csv('./new_data/train_set.csv')
test_data = pd.read_csv('./new_data/test_set.csv')

print("train set size: ", train_data.shape)
print("test set size: ", test_data.shape)

train_data.columns#查看数据的列
train_data['class'].value_counts()#查看数据每个类别的分布情况

#对每个类别含有的样本进行展示
t = train_data['class'].value_counts()
x = np.arange(len(t))
plt.bar(x,t)#画柱状图
plt.xticks(x,('1', '2', '3', '4', '5', '6', '7','8','9','10','11','12','13','14','15','16','17','18','19'))#添加横轴的刻度,否则会自动添加自己不想要的刻度
plt.xlabel('class')
plt.ylabel('samples')
plt.title('The Distribution of Class')
plt.show()

train_data.describe()#查看数据集

对其中的类别展示结果如下:

达观杯文本智能挑战赛一(数据读取,分训练测试集)

对整个数据集进行描述的结果:

达观杯文本智能挑战赛一(数据读取,分训练测试集)

2.对数据集进行划分

from sklearn.cross_validation import train_test_split
X = train_data.iloc[:,:-1]
y = train_data.iloc[:,-1]

x_train, x_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=33)

3.对数据的理解

之前对NLP了解不多,通过看前十强分享的PPT,看到在数据处理方面以及特征选择方面和普通的数据处理方法不同,并且了解到对于此数据用普通的机器学习方法(LR,LightGBM)没有用深度学习的方法(RCNN,RNN,LSTM)效果好。