gqqnbig / cs145project

0 stars 2 forks source link

实现随机森林 #3

Closed gqqnbig closed 4 years ago

gqqnbig commented 5 years ago

研究随机森林,然后再写代码。

gqqnbig commented 5 years ago

给出准确率百分比

snowballisacat commented 5 years ago

random forest:
一个随机森林模型有很多决策树,每棵决策树的生成方法为:
 如果训练集大小为N,对于每棵树而言,随机且有放回地从训练集中的抽取N个训练样本(这种采样方式称为bootstrap sample方法),作为该树的训练集;   如果每个样本的特征维度为M,指定一个常数m<<M,随机地从M个特征中选取m个特征子集,每次树进行分裂时,从这m个特征中选择最优的;(此处m可以多试几个,因为特征量不大) 每棵树都尽最大程度的生长,并且没有剪枝过程。

做分类时,将数据在每棵树上跑一下,然后majority voting决定该样本的分类

notes: oob error(out-of-bag error),相当于validation了。在随机森林的每棵决策树的构建过程中,会有一部分训练样本没有参与树的构建。对于每个训练样本,用那些没有包含这些样本的决策树来给这些样本做分类,然后majority voting来预测这个样本的分类。给每一个样本做完一次之后用分错的样本占训练集的比例作为oob error rate

snowballisacat commented 4 years ago

只用userID和movieID作为input, validation准确率为0.5677,考虑加入genre和tagId作为input

snowballisacat commented 4 years ago

目前已经有genres,tagid作为inputs

gqqnbig commented 4 years ago

前100个用户的准确率为0.7398319327731092

gqqnbig commented 4 years ago

所有数据的准确率为0.7232726450752094