erc*_*can 7 algorithm data-mining
这不是与编程直接相关的问题,而是关于选择正确的数据挖掘算法.
我想从他们的名字,他们居住的地区,以及他们是否有互联网产品推断出人们的年龄.它背后的想法是:
我不确定这些假设是否成立,但我想测试一下.所以我所拥有的是来自我们客户数据库的100K观察结果
因为我有很多名义输入,所以我不认为回归是一个很好的选择.因为目标是数字的,所以我认为决策树也不是一个好选择.任何人都可以建议我适用于这种情况的方法吗?
新答案
我会尝试使用回归,但以我指定的方式。我会尝试对每个变量进行二值化(如果这是正确的术语)。互联网变量是二进制的,但我会将其变成两个单独的二进制值。我会用一个例子来说明,因为我觉得这样会更有启发性。对于我的示例,我将仅使用三个名称(Gertrude、Jennifer 和 Mary)和互联网变量。
我有4个女人。以下是他们的数据:
Gertrude, Internet, 57
Jennifer, Internet, 23
Gertrude, No Internet, 60
Mary, No Internet, 35
Run Code Online (Sandbox Code Playgroud)
我将生成一个矩阵 A,如下所示(每一行代表列表中的相应女性):
[[1,0,0,1,0],
[0,1,0,1,0],
[1,0,0,0,1],
[0,0,1,0,1]]
Run Code Online (Sandbox Code Playgroud)
前三列代表名称,后两列代表互联网/无互联网。因此,各列代表
[Gertrude, Jennifer, Mary, Internet, No Internet]
Run Code Online (Sandbox Code Playgroud)
您可以继续使用更多名称(名称为 500 列)和区域(名称为 20 列)来继续执行此操作。然后您将只需解决标准线性代数问题 A*x=b,其中上例中的 b 是
b=[[57],
[23],
[60],
[35]]
Run Code Online (Sandbox Code Playgroud)
您可能担心 A 现在将是一个巨大的矩阵,但它是一个巨大且极其稀疏的矩阵,因此可以非常有效地以稀疏矩阵形式存储。每行有 3 个 1,其余为 0。然后您可以使用稀疏矩阵求解器来求解此问题。您需要对生成的预测年龄进行某种相关性测试,以了解其效果如何。