train&predict

主要是记录调试和训练的过程,以便时候反思。最重要的是通过哪些维度来衡量一个用户:

一、评论相关

因为统计所有的时间段的评论的特征没有想到很好的方法去做,所以下面的评论相关的特征是从对用户一天时间(或者是一段时间)内的评论计算得到的。更重要的是,想要去统计的是一天中用户的行为,所以。。

0、发表评论的总数;

1、评论的平均字数(去除掉HTML字符和HTML标签);

2、评论对应的不同帖子的总数;

3、评论对应的不同作者的总数;

4、平均的间隔时间(先取到所有的间隔时间,然后去除最大的10%,不然这项指标就废掉了- -);

5、字数平均差/平均字数;

6、相同内容的评论数目/评论总数;

7、特征的总数/评论总数;

8、回复别人的评论数目/评论总数;

9、被别人回复的评论数目/评论总数;

10、评论总数/帖子总数;

11、评论总数/作者总数;

12、未关注作者总数/作者总数;

二、私信相关的

13、发送私信的数目;

14、接受私信的数目;

15、发送私信的人数;

16、发送私信的平均字数;

17、相同内容的私信数/发送的私信总数;

18、发送私信的数目/发送给的人数;

19、被回复的私信的数目/发送私信的数目;

三、帖子相关

这部分当然也只统计一天中用户行为的统计。

20、帖子总数;

21、宝贝帖子数/帖子总数;

22、图片帖子数/帖子总数;

23、文字帖子数/帖子总数;

24、转推帖子数/帖子总数;

25、原创帖子数/帖子总数;

26、被喜欢的次数/帖子总数;

27、被转推的次数/帖子总数;

四、操作相关

当然,这里也是指的用户一天中的行为。

28、关注数;

29、取消关注数;

30、喜欢数;

五、用户自身

31、用户的注册天数

32、喜欢数;

33、关注数;

34、粉丝数;

统计上面的信息会扫描大量的数据,那么也就可以统计一些其他的信息:

最近大家都在聊什么~!~?

下面的工作就是从现有的数据中统计出样本,包括两个工作:

  • 根据手头有的文件的格式得到LIBSVM能识别的数据格式;
  • 人工根据评论去判断每条评论是否为垃圾并在最后的文件中标记出来;

在评论相关的维度中,【9】、【12】是不能直接得到的,需要读多个文件才能得到,具体过程如下:

train&predict_第1张图片

接下来计算私信相关的维度,首先有一个大前提:

没有发过评论的人都是好人。

评论文件时根据用户ID排序的,那么这是维度列表中的ID也是有序的。又因为私信文件也是有序的,所以这时候就有点像一个归并排序:

train&predict_第2张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(pre)