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)效果好。
達觀杯文字智慧型處理挑戰賽
筆者嘗試了一下達觀杯的比賽,如下圖所示 import pandas as pd import imp from sklearn.linear model import logisticregression from sklearn.feature extraction.text import cou...
達觀杯文字智慧型處理挑戰賽練習
比賽官方對資料的說明是資料報含兩個檔案 train set.csv和test set.csv 一.初識資料 train set.csv 此資料集用於訓練模型,每一行對應一篇文章。文章分別在 字 和 詞 的級別上做了脫敏處理。共有四列 第一列是文章的索引 id 第二列是文章正文在 字 級別上的表示,即...
達觀杯 文字智慧型處理挑戰賽 02
原理 將每篇文章看成一袋子詞,並忽略每個詞出現的順序。即將整段文字以詞為單位切分開,然後每篇文章可以表示成乙個長向量,向量中的每一維代表乙個單詞,而該維對應的權重則反映了這個詞在原文章中的重要程度。權重與詞在文字 現的頻率有關,而其中不考慮詞與詞之間的上下文關係。詞袋模型的三步驟 分詞 統計修訂詞特...