zoukankan      html  css  js  c++  java
  • 阿里&新浪微博比赛相关心得--持续更新

      介绍就从简了,阿里和新浪微博举办的数据比赛,用数据挖掘机器学习那一套对新浪微博数据进行预测分析。详细的介绍还是拜读官网吧,下面开始进入正题:

    一、数据的载入和处理

      本次竞赛的数据量有几百M,如果用matlab来进行处理的话,内存会吃不消,因为matlab变量是存在内存里面的,笔者的台式机8G内存,除去系统的3G,剩下的5G用来读这些数据,读取进来就已经很吃力了,别说处理了,所以,数据的载入和处理,我决定交给SQL server 这样的数据库系统软件来做。我matlab并不熟练,可能有更好的方法来载入处理,如果读者知道的话,请务必在下面留言,告知笔者,给笔者一个长知识的机会,谢谢!

      差点又离题了,这次数据的载入,关键需要注意的地方就是中文文本的处理方式,因为官方给予的数据的默认编码方式是utf-8的统一编码格式,如果你数据库设置的排序规则——就是语言首选项之类的设置的不对的话,那么你导入进去也是乱码显示的。这个时候,需要你更改语言的排序规则,或者把元数据稍微用系统自带的记事本打开数据,另存为中文格式的数据一下(就是ANSI的格式),也可以。关键就是,一定要统一,这点很重要,官方数据是utf-8的话,你的数据库默认的排序规则就要设置为latin,但不巧的是,我安装的时候设置成简体中文了,修改排序规则的话,我其他的数据库也得变,所以,我尽量不该底层,用记事本修改下官方的数据,再导入,也不失为一种折衷的高效之举。

      

      好了,数据导入已经完毕了,下次再写好了,笔者困到不行了。

    二,提交一份数据

      这次要预测的数据是微博的转发数,评论数,和赞的数量。而且评测的方法是类似于MSE准则的评分方式,详情请见大赛官网,如果是MSE准则评分方式,采取提交平均分的方式是非常占便宜的,因为根据统计学的知识,样本的均方值会在样本数趋于无穷的时候,收敛于真实的均值,也就是说,平均分这样的做法,对于采取MSE准则来说,是比较容易获得高分的。这样解释可能大家都豁然开朗了。接下来想说一下我的具体的解题思路,就是把数据进行文本关键词分类,时间分类,之后再聚类,然后在这些聚类下分别进行平均,然后得出一个比较精确的平均结果,那你有可能有疑问,既然是平均,最容易想到的是整体的平均值,如果提交一份整体的平均值,不是也可以吗?对,那样是平均值,但是那样的平均值太粗糙了,每个人发的每篇微博的情况都不一样,假如你把每个人的每篇微博都平均了,之后的得出来的结果就是一个过拟合的结果了,因为你认为每个人都是服从整体平均的,这样的依据是不合理的,所以,还需要科学合理的分类,或者用一些巧妙的聚类手段,将我们的用户和博文进行分类之后,在细分的基础上进行平均,这样的成绩理应比粗糙的平均更有说服力,而且成绩更高才对。

      基于这样一个想法,我们今天就提交了一份,每个用户的平均。因为要预测的用户,和训练的用户是有重叠的,换句话说,训练数据中,甲发了微博A,微博B,有了它的评论数,转发数,和赞数,而预测数据同样数显了甲,但是,我们就是要预测他的微博C和微博D的评论数,转发数,和赞数,其中,90%以上都是这样一种情况,剩下的10%是什么情况呢?剩下的是一些新用户。比如训练数据中,出现了乙的微博M,微博N的评论数,转发数和赞数,但是预测数据出现了新用户丙,我们要预测新用户丙的微博X的评论数,转发数,和赞数。这样就明显制造了一个分类,就是,预测数据中在训练数据中出现的老用户,和训练数据中没有出现的新用户,这样两大阵营。我们对老用户,用老用户的平均数据来预测,我们对于新用户,用整体的平均数据来预测(保守起见而已),那么就得出了一份比较基本的结果了。

      今天的结果是,正确率37.24%,看来下一步还需要进一步的分类和分析才行呢。加油。持续更新中~

  • 相关阅读:
    数据结构-树与二叉树-思维导图
    The last packet successfully received from the server was 2,272 milliseconds ago. The last packet sent successfully to the server was 2,258 milliseconds ago.
    idea连接mysql报错Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property
    redis学习笔记
    AJAX校验注册用户名是否存在
    AJAX学习笔记
    JSON学习笔记
    JQuery基础知识学习笔记
    Filter、Listener学习笔记
    三层架构学习笔记
  • 原文地址:https://www.cnblogs.com/pengsy/p/4751841.html
Copyright © 2011-2022 走看看