【发布时间】:2011-01-22 09:03:05
【问题描述】:
这不是直接与编程相关的问题,而是关于选择正确的数据挖掘算法的问题。
我想根据人们的名字、他们居住的地区以及他们是否拥有互联网产品来推断他们的年龄。其背后的想法是:
- 有些名字在特定的十年(名人、政治家等)过时或流行(这在美国可能不成立,但在感兴趣的国家/地区确实如此),
- 年轻人倾向于生活在人口密集的地区,而老年人更喜欢农村,并且
- 年轻人比老年人更多地使用互联网。
我不确定这些假设是否成立,但我想测试一下。所以我所拥有的是来自我们客户数据库的 100K 观察结果
- 大约。 500 个不同的名称(具有太多类的名义输入变量)
- 20 个不同的区域(名义输入变量)
- 互联网是/否(二进制输入变量)
- 91 个不同的出生年份(数值目标变量,范围:1910-1992)
因为我有这么多名义输入,我不认为回归是一个好的选择。因为目标是数字的,所以我认为决策树也不是一个好的选择。谁能建议我一种适用于这种情况的方法?
【问题讨论】:
-
100k 观察结果只有 500 个不同的名称?
-
你的第三个假设是有问题的;更好地检查研究
-
@Samuel:是的,500 个名字。人们在这里对婴儿的名字不是很有创意。
-
无论你做什么,我建议你使用一半的数据库(50k)来处理你的算法,然后在另一半上测试它的输出,看看它是否运行良好。这是一种通用方法,用于尝试对某事物进行建模以查看模型是否正确或只是针对其产生的人群量身定制。
-
@Matthieu:当然,我会使用交叉验证。
标签: algorithm data-mining