二分查找(2)
涉及旋转排序数组的二分查找
二分查找基础
涉及最基础的二分查找(是否存在元素,如果有重复也只需找出一个索引即可)
动态规划-凑零钱
动态规划是算法中重要的一环,我们从凑零钱问题开始逐步的总结框架,并能熟练的应用。
一元线性回归
线性模型试图学得一个通过属性的线性组合来进行预测的函数。
概率论起源
在生活中有些现象是注定的,比如往空中扔一个石头必然会落回地面,这叫作确定性现象。也有些现象虽然充满不确定性,但结果又有迹可循,比如掷一个六面骰子
递归思维-斐波那契
递归一直是搞不明白,而且越往里想越糊涂,这是第一篇递归思维的总结。
python操作Mysql数据库
目前工作中主要使用的还是mysql数据库,这里把常用的函数做下总结
反向传播
反向传播作为神经网络的基础算法之一,使梯度可以在计算图上进行传播。本文归纳总结下反向传播的相关知识
梯度下降(1)
这里从头归纳总结下梯度下降的相关知识,其余的优化算法与梯度下降的比较有时间再总结,在本文中不涉及。
文本分类(1)
相较于短文本,处理长文本时,需要更加精细的处理,这里针对不同长度的文本,分别做研究。
短文本分类
数据集介绍
在网上找了好久,最终决定使用DataFontain平台的互联网新闻情感分析竞赛数据集来作为这次短文本分类的训练用数据集。竞赛简介如下:
本赛题目标为在庞大的数据集中精准的区分文本的情感极性,情感分为正中负三类。面对浩如烟海的新闻信息,精确识别蕴藏在其中的情感倾向,对舆情有效监控、预警及疏导,对舆情生态系统的良性发展有着重要的意义。
数据集示例如下:
123import pandas as pdtrain_data = pd.read_csv("data/Train_DataSet.csv")train_data.head(5)
在本章中,我们只使用新闻标题作为训练数据,来判断新闻的类别,在下章的长文本分类时在使用新闻的content,最终结合使用所有的数据得到最终的分数。
目前初赛快结束了,分数最高的是0.8231。在本文写完之后看下最终的分数能否达到近似的水平,由于我没有测试集的label,所以使用训练集划分的分数作为最终的分数,差别应该不会很大。
那我们现在就开始系统的文本分类探究吧!
数据预处理
数据预处理是做NLP必不可少的流程之一。由于是NLP的第一篇文章,所以这里对预处理做详细的说明,比较几种预处理的结果。常用的预处理流程如下:
根据数据集的情况,有时需要去掉数字或者链接或者符号之类的 ,或者对数字做归一化处理等
分词
去停用词
一般而言,这3步就是对文本的预处理流程了、现在开始实战。
12train_label = pd.read_csv("data/Train_DataSet_Label.csv", header=0)train_label.head(5)
先把文本和label对应一下。
123456 ...