【达观杯】数据竞赛学习篇(一)

1、下载数据

数据下载地址:
http://www.dcjingsai.com/common/cmpt/“达观杯”文本智能处理挑战赛_赛体与数据.html

得到训练集数据train_set.csv和测试集数据test_set.csv

其中:

train_set.csv:此数据集用于训练模型,每一行对应一篇文章。文章分别在“字”和“词”的级别上做了脱敏处理。共有四列: 第一列是文章的索引(id),第二列是文章正文在“字”级别上的表示,即字符相隔正文(article);第三列是在“词”级别上的表示,即词语相隔正文(word_seg);第四列是这篇文章的标注(class)。 注:每一个数字对应一个“字”,或“词”,或“标点符号”。“字”的编号与“词”的编号是独立的!
test_set.csv:此数据用于测试。数据格式同train_set.csv,但不包含class。 注:test_set与train_test中文章id的编号是独立的。
由于csv文件大,而且有些列的数据维度高,用excel打不开,所以借助python第三方库pandas和numpy处理数据。

2、查看原始数据

# -*- coding:utf-8 -*-
import numpy as np
import pandas as pd

train_data = pd.read_csv('E:\数据竞赛\达观杯文本处理\data\new_data\train_set.csv', encoding='utf-8', nrows=500)
#读取前500行数据
print(train_data.columns)      # ['id', 'article', 'word_seg', 'class']
print(train_data['article'])
print(train_data['word_seg'])
print(train_data.info())    #打印训练集的信息
print(train_data.describe())

"""calc length of article and word_seg"""
train_data['article'] = train_data['article'].map(lambda index: index.split(' '))
train_data['article'] = train_data['article'].map(lambda index: len(index))
train_data['word_seg'] = train_data['word_seg'].map(lambda index: index.split(' '))
train_data['word_seg'] = train_data['word_seg'].map(lambda index: len(index))
print(train_data)

3、数据集划分

# -*- coding:utf-8 -*-
import numpy as np
import pandas as pd

def divid_data_set(divid_rate):
    """
    divid_rate:train data set ratio.
    """
    data = pd.read_csv('E:\数据竞赛\达观杯文本处理\data\new_data\train_set.csv', nrows=500)
    data_length = len(data)
    train_data = data.iloc[:divid_rate * data_length, :]
    validate_data = data.iloc[divid_rate * data_length:, :]
    return train_data, validate_data


if __name__ == '__main__':
    divid_data_set(divid_rate=0.7)

本文参考链接:https://github.com/rogeroyer/dataCastle/tree/master/DaGuan_Cup_2018

猜你喜欢

转载自blog.csdn.net/xiu351084315/article/details/89047824