实战微博互动预测之二_中文分析
实战微博互动预测之二 _
中文分析
#算法实战 #自然语言处理
1. 说明
前篇《实战微博互动预测之一 _
问题分析》中,已经对微博的整体反馈情况,以及单个用户的反馈做了初步的分析。本篇将从微博的信息内容中提取更多特征。
文本分析是数据分析中的常用技术,使用范围很广,比如:信息搜索,内容推荐,文章分类,内容提取等等。其核心是分析连续的文本,抽取关键数据,再进行下一步分析。
2. 文本分析
1) TF-IDF 算法
TF-IDF 是一种统计方法,TF 指词频,IDF 是逆向文件频率。TF
好理解,就是词在文章中出现的频率,出现频率高的词更可能是文章的关键词。但有些词如:“是”,“的”,“了”(即停用词)在任何文章出现频率都高,于是使用
IDF。IDF
通过总文件数目除以包含该词语之文件的数目,再将商取对数得到,它弱化了常用词的权重。TF-IDF
倾向于过滤掉常见的词语,保留重要的词语。
2) 中文分词
中文分析一般以词为单位,与英文不同的是中文的词与词之间没有空格划分,所以处理时,首先要分词。简单的方法是把所有词放在一个词典中,通过正向匹配,逆向匹配,双向匹配等方式分词,这 ...
实战微博互动预测之一_问题分析
实战微博互动预测之一 _
问题分析
#算法实战
1. 天池竞赛平台
微博互动预测是一个天池平台的竞赛,和其它平台相比,天池的数据量更大,赛题更接近实际场景。微博互动比赛算是其中比较小的,训练数据也有
300
多M,上百万条记录(虽然数据较多,但也是普通开发机可以处理的量级)。数据内容也比较丰富,和提供匿名纯特征拼算法的竞赛相比,它需要研究业务,发挥的空间也更大。
天池平台的大多数比赛分为线下赛和线上赛。第一阶段线下赛和 Kaggle,DC
差不多,就是在本地计算,然后上传预测结果,线上评分排名(每天两次),如果第一阶段排名靠前,可进入第二阶段线上赛,线上赛使用天池平台算力和工具,海量数据,支持分布计算,但也被线上工具所限。
2. 新浪微博互动预测
微博互动预测是前两年的赛题,现在仍开放线下赛,可以上传预测结果,计分并排名。它代表了现实中的一大类应用:数据量大,需要参赛者提取特征,数据有现实中的意义,无规律数据占多数,可多维度分析等等。赛题具体见:
https://tianchi.aliyun.com/getStart/introduction.htm?spm=5176.10 ...
实战人品预测之三_向高手学习
实战人品预测之三 _
向高手学习
这是本系列“实战人品预测”的最后一篇:向高手学习。在之前的两篇:《实战人品预测之一
_ 国内大数据竞赛平台》和《实战人品预测之二 _ 热门模型
xgboost》中我们尝试了 DataCastle
平台的“微额借款用户人品预测大赛”,对数据不做任何处理,仅用 xgboost
模型,经过 50000 次迭代,最终得分 0.70,据说该代码最高得分可到
0.717。距比赛中的最高分 0.734 仅 0.017 之差。前 400 名得分均在 0.70
以上,这最后的差距究竟在哪?
本篇以学习冠军“不得直视本王”(后简称大王)的竞赛报告书和代码的方式,向大王致敬,同时对比自己的不足,开拓思路,学习一些书本上没有的实战技巧。
竞赛报告书原文:http://blog.csdn.net/bryan__/article/details/50977513,内附源码地址。
##1. 思路
我们看到大多数挖掘比赛都不修改模型,甚至上来就直接代入
xgboost。参赛者的主要的工作是:特征工程,模型调参,组合模型。模型调参在上篇上已经详细说过了,本篇以介绍特征工 ...
实战人品预测之二_热门模型xgboost
实战人品预测之二 _ 热门模型
xgboost
1. 介绍
有人戏称数据挖掘比赛为 GBDT 调参大赛,因为在很多比赛后期,大家都使用
GBDT
类的算法,特征类似,只有模型参数不同,模型集成方法不同,最终大家的成绩差别也很小。
上篇《实战人品预测之一 _ 国内大数据竞赛平台》,介绍 DataCastle
平台的“微额借款用户人品预测大赛”比赛规则,以及一些初步的尝试。本篇说说最终获胜的,也是
GDBT 类算法中使用频率最高的 xgboost 算法的使用和调参方法。
2. xgboost 原理
之前在《机器学习 _
集成算法》篇(http://www.jianshu.com/p/3c8cca3e1ca2)中介绍过 GBDT
类的算法,简单回顾一下:
Boosting
算法不断地使用同一算法(比如决策树)建立新模型,而新模型分配给上一次错分样本更大的权重,最终根据按成功度加权组合得到结果。由于引入了逐步改进的思想,重要属性会被加权。
Gradient Boosting
Machine(GBM)梯度提升算法是目前比较流行的数据挖掘模型,它通过求损失函数在梯度方向下降的方法,层层改进,是泛 ...
实战人品预测之一_国内大数据竞赛平台
实战人品预测之一 _
国内大数据竞赛平台
1. 竞赛平台哪家强
Kaggle
是一个很好的竞赛平台,上面大牛很多,代码分享和思路讲解也很棒,但是它的用户信息和数据全都存在
google
服务器上,虽然网页能看到,但上传下载数据需要连外网,从当前的网络情况看来,只能用
VPN,用起来实在太麻烦了。
国内的大数据竞赛平台,DataCastle
和天池也不错,也有奖金。比赛结果后,排名靠前参加答辩的选手会将答辩 PPT
分享出来,有时也会分享代码。相对来说天池的数据包含丰富的业务场景,更粘近现实情况,有的比赛还提供在计算平台。
天池和 Kaggle 都有数据科学家的排行榜,以提供展示实力的途径。
2. 选择竞赛
从时效来看,建议一开始先选择参赛队多的往期题目,最好是获胜者提供了源代的。很多比赛在结束之后仍开放提交代码并提供线上评分(没有奖金),这样边做边学,速度更快,也不会陷入某个比赛无法自拔。
从难易来看,建议从简单的开始,如果影响因素太多,难以判别哪里出了问题。最好一开始选择纯数据的。
3. 典型问题
我觉得在实践的过程中,有几类典型问题是需要常试的:
以 xgb ...
机器学习_总结篇_十大经典算法与算法选择
机器学习 _ 总结篇 _
十大经典算法与算法选择
一、数据挖掘十大经典算法
最近写了一些机器学习的文档,对应数据挖掘经典算法,列表如下:
1. 聚类 K-Means
《机器学习_基于距离的算法KNN与K-Means》
2. 关联 Apriori
《机器学习_规则与关联规则模型Apriori、FP-Growth》
3. 最大期望 EM
《机器学习_隐马尔可夫模型HMM》
4. 决策树 DTree
《机器学习_决策树与信息熵》
5. CART: 分类与回归树
《机器学习_用树回归方法画股票趋势线》
6. 贝叶斯 Bayes
《机器学习_统计模型之(一)贝叶斯公式》
《机器学习_统计模型之(二)贝叶斯网络》
《机器学习_统计模型之(三)朴素贝叶斯》
7. 线性回归 logistic
《机器学习_最小二乘法,线性回归与逻辑回归》
8. 集成算法 adaBoost
《机器学习_集成算法》
####9. 支持向量机 SVM
《机器学习_SVM支持向量机》
10. PageRank
(没写)
11. 其它(特征工程)
《机器学习_用SVD奇异值分解给数据降维》
《机器学习_用PCA主成分分析给数据降 ...
机器学习_规则与关联规则模型Apriori、FP-Growth
机器学习 _
规则与关联规则模型 Apriori、FP-Growth
#机器学习 #关系规则
1. 何时使用规则模型
机器学习时常遇到一个问题:当数据并不完全可分时,分类器得分不高。真实世界中的数据经常是这样:各种无意义数据和少量有意义数据混在一起,无意义数据又没什么规律,无法统一去除。比如说,对股票外汇市场受各种因素影响,预测次日涨跌一般各算法效果都不好。虽然找不到通用的规则,却能在数据中探索到一些模式,比如十字星,孕线,三只乌鸦等组合还是具有一定的预测性。
之前使用决策树时,就遇到过这种情况,虽然整体得分不高,但某些叶节点上纯度高(全是正例或全是反例)并且实例多,可以把该分枝拿出来当规则使用。虽然不能用它预测任意数据,但可以作为一个过滤器使用。
2. 规则模型是什么
规则模型和决策树同属逻辑模型,不同的是决策树对正例反例同样重视,而规则只重视正例/反例其中一项。因此决策树呈现的是互斥关系,而规则模型允许重叠,结果也相对零散的规则列表。规则更像是在大量数据中挑选有意义的数据。
如果说树是精确模型,规则模型则是启发式策略(虽然经过修改也能覆盖所有实例,但一般不这么用)。 ...
机器学习_基于距离的算法KNN与K-Means
机器学习 _
基于距离的算法 KNN 与 K-Means
1. 距离的量度
1) 距离
距离的定义是一个宽泛的概念:只要满足非负、自反、三角不等式就可以称之为距离。其中非负是指任意两个相异点的距离为正;自反是
Dis(y,x)=Dis(x,y);三角不等式是 Dis(x,z)<=Dis(x,y)+Dis(y,z)
2) 马氏距离(闵可夫斯基距离)
其中 d 是维数,p 是阶数,也称为 p 范数。
当 p=1 时,是曼哈顿距离
当 p=2 时,是欧氏距离
当 p→∞时,是切比雪夫距离
当 p=0 时,是海明距离
3) 欧氏距离
两点间的直线距离(一般用两条竖线||w||代表 w 的 2 范数)代入公式:
4) 曼哈顿距离(城市街区距离)
各坐标数值差的和,就像汽车只能行驶在横平竖直的街道上,代入公式:
5) 切比雪夫距离
各坐标数值差的最大值,当马氏距离的
p→∞时,最终的结果取决于距离最大的维度上的距离:
Dis∞=maxj|xj-yj|
在二维的情况下:c=max(a,b)
6) 海明距离
L0
范数并不是一个真正的范数,它主要被用来度量向量中非零元素的个数。
7) 总 ...
机器学习_SVM支持向量机
机器学习 _SVM 支持向量机
1. 介绍
SVM
支持向量机属于广义的线性模型,先回忆一下线性模型:可依据平面(多维)或直线(一维/二维)来理解模型。简单地说,可用一条线将两类分开,如下图所示。
能将两类分开的直线不止一条(左图),我们希望找到离两组数据都最远的那条线(正中间那条线),以便更好地泛化。这就是右图中所示的极大边距分类器,一般把中间的直线称为决策面,把离决策面最近的那些点(训练实例)称为支持向量,也就是右图中紫圈中的点。
有时会遇到无法用直线分类的情况,如左图所示,但可以用圆环划分,右图展示了同样的数据,各个特征值取原始值的平方,变换到新的特征空间后,数据变成了线性可分。将数据从线性不可分转成线性可分的函数称为核函数,转换的方法称为核技巧(这里是取平方的操作,核函数一般将低维数据映射到高维)。由于需要把原始模型转换成线性模型,再进一步操作,我们叫它“广义线性模型”。
这就是一般意义上的支持向量机
SVM,它有两个重点:一个是考虑分类时的最大边距,另一个是使用核函数把线性不可分的变成线性可分的。
原理并不难,但具体实现涉及数学较多,如果嫌麻烦,请跳过“求解线性方程”部分 ...
机器学习_统计模型之(一)贝叶斯公式
机器学习 _
统计模型之(一)贝叶斯公式
1. 贝叶斯法则
先举个例子:比如事件 X 是努力,事件 Y
是成功,能成功的基本都努力了(条件Y成立时,X必然成立);但是努力不一定都能成功(条件
X 成立时,Y 不是一定成立)。也就是说,X 与 Y 之间的关系不对等,但 X 和 Y
又确实有关系。贝叶斯法则就是用来描述这种关系的。
所有要是有人说“成功源于努力,所以努力必能成功”,那是心灵鸡汤。正确的说法是努力能把成功的可能性提高一点。
2. 贝叶斯公式
事件X发生的概率,称为边缘概率,记作 P(X)。
事件 Y 在事件 X 已经发生条件下的发生概率,称为条件概率,记为
P(Y|X)。
事件 X,Y 共同发生的概率称为联合概率,记为 P(XY) 或者 P(X,Y)。
有公式:
P(XY) = P(Y)P(X|Y)=P(X)P(Y|X)
P(Y|X)=P(XY)/P(X)=P(Y) P(X|Y)/P(X)
还用上面的例子,稍作调整:假设有 50% 的人努力了,即 P(X)=50%;有
20% 的人成功了 P(Y)=20%;且知道成功的人 75% 都努力了
P(X| ...