房贷首付

Table of Contents

  • 1  datawhale_day01
    • 1.1  达观杯数据简介
    • 1.2  任务一:数据初始 时长:1天
      • 1.2.1  下载数据,读取数据,观察数据
      • 1.2.2  查看数据缺失情况
      • 1.2.3  查看数据分布情况
      • 1.2.4  划分数据集
  • 2  datawhale day02
    • 2.1  Tf-IDF 简介
      • 2.1.1  TF
      • 2.1.2  IDF
      • 2.1.3  TF-IDF
      • 2.1.4  例子
      • 2.1.5  code
  • 3  datawhale_day03
    • 3.1  词向量的定义
    • 3.2  词向量的获取方法1
      • 3.2.1  基于奇异值分解的方法
      • 3.2.2  基于迭代的方法
      • 3.2.3  扩展
    • 3.3  code_ train_word2vec
      • 3.3.1  1 准备训练数据
  • 4  datawhale_day04
    • 4.1  逻辑回归(LR)模型
      • 4.1.1  什么是逻辑斯蒂函数
      • 4.1.2  逻辑斯蒂回归---->分类
    • 4.2  决策树
      • 4.2.1  什么是决策树
      • 4.2.2  决策树的原理
    • 4.3  code_lr_svm
  • 5  datawhale day05
    • 5.1  1、LightGBM简介
    • 5.2  XGboost的缺点
    • 5.3  3、LightGBM原理
    • 5.4  LightGBM参数调优
    • 5.5  code_LightGBM
  • 6  datawhale_day06
    • 6.1  K折交叉验证&网格搜索法
    • 6.2  GridSearchCV & cross_val_score 思考
    • 6.3  code_模型调参
    • 6.4  code_模型融合

datawhale_day01

达观杯数据简介

组队学习说明 :

12天的时间实现数据预处理(TF-IDF与word2VEC)->模型实践(朴素贝叶斯,svm与lightgbm)->模型优化

任务路线

数据初始->数据处理->基本模型->实践模型优化->模型优化

任务周期 : 12天

定位人群: 能够熟练使用python,难度系数适中

每个任务周期所需要的时间: 2-3h

任务一:数据初始 时长:1天

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

你可能感兴趣的:(jupyter,notebook,04_自然语言处理)