達觀杯文字智慧型挑戰賽一(資料讀取,分訓練測試集)

2021-09-16 21:24:25 字數 1665 閱讀 1559

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

原理 將每篇文章看成一袋子詞,並忽略每個詞出現的順序。即將整段文字以詞為單位切分開,然後每篇文章可以表示成乙個長向量,向量中的每一維代表乙個單詞,而該維對應的權重則反映了這個詞在原文章中的重要程度。權重與詞在文字 現的頻率有關,而其中不考慮詞與詞之間的上下文關係。詞袋模型的三步驟 分詞 統計修訂詞特...