我在挖掘有关物流运输的大型(100K条目)数据集方面遇到困难。我大约有10个名义上的String属性(即城市/地区/国家/地区名称,客户/船只识别码等)。除此之外,我还有一个日期属性“出发”和一个按比例缩放的数字属性“目标”。
我想做的是使用训练集来找出哪些属性与“目标”具有强相关性,然后通过预测测试集中条目的“目标”值来验证这些模式。
我认为聚类,分类和神经网络可能对这个问题有用,因此我使用了 RapidMiner , Knime 和 elki ,并尝试在我的数据上应用他们的一些工具。但是,大多数这些工具仅处理数字数据,因此没有得到有用的结果。
是否可以将我的名义属性转换为数字属性?还是我需要找到可以实际处理名义数据的其他算法?
答案 0 :(得分:4)
您最有可能想使用基于树的算法。这些是使用名义功能的好方法。请注意,您不想使用“类似ID”的属性。
我建议先使用RapidMiner的AutoModel功能。 GBT和RandomForest应该能很好地工作。
最好, 马丁
答案 1 :(得分:2)
名义属性的处理不依赖于工具。这是一个问题,您使用什么算法。例如,具有欧几里得距离的k均值不能处理字符串值。但是其他距离函数可以处理它们,而算法可以处理它们,例如RapidMiner的随机森林实现
您当然也可以将名义属性转换为数值,例如通过使用二进制虚拟编码或分配唯一的整数值(这可能会导致一些偏差)。在RapidMiner中,您可以使用标称数值运算符。
根据标称值的分布,处理稀有值也可能很有用。您可以将它们归为一个新类别(例如“其他”),也可以在应用虚拟编码后使用特征选择算法。
请参阅示例RapidMiner流程的屏幕截图(使用Operator Toolbox扩展程序中的 Replace Rare Values 运算符)。
编辑:马丁也正确,AutoModel将是检查有问题的属性并找到合适算法的一个很好的开始。