Weka的主成分分析
Posted
技术标签:
【中文标题】Weka的主成分分析【英文标题】:Principal Component Analysis on Weka 【发布时间】:2014-08-17 23:30:20 【问题描述】:我刚刚在训练集上计算了 PCA,Weka 向我返回了新属性以及它们被选择和计算的方式。 现在,我想使用这些数据构建一个模型,然后在测试集上使用该模型。
不知道有没有办法根据新的属性类型自动修改测试集?
【问题讨论】:
【参考方案1】:您需要主成分进行分析还是只需要输入分类器?如果不只是使用 Meta->FilteredClassifier 分类器。将过滤器设置为 PrincipalComponents,并将分类器设置为您要使用的任何分类器。在未转换的训练集上训练它,你就可以将它提供给未转换的测试集。
如果你真的需要修改后的测试集,我建议你使用知识流工具来做这样的事情:
【讨论】:
【参考方案2】:要从命令行执行此操作,可以在以下位置找到文档:https://weka.wikispaces.com/Batch+filtering
这是一个例子:
java weka.filters.supervised.attribute.AttributeSelection \
-b -i train.arff -o train_pca.arff \
-r test.arff -s test_pca_output.arff \
-E "weka.attributeSelection.PrincipalComponents -R 0.95 -A 5" \
-S "weka.attributeSelection.Ranker -T -1.7976931348623157E308 -N -1"
【讨论】:
在-E参数前最后使用-c来保留输出类。以上是关于Weka的主成分分析的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用psych包的principal函数对指定数据集进行主成分分析PCA进行数据降维(输入数据为相关性矩阵)计算主成分评分系数每个样本(观察)的主成分得分由主成分分数系数构建的公式得到