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的主成分分析的主要内容,如果未能解决你的问题,请参考以下文章

主成分分析简介

主成分分析PCA

主成分分析(PCA)

R语言-主成分分析

R语言使用psych包的principal函数对指定数据集进行主成分分析PCA进行数据降维(输入数据为相关性矩阵)计算主成分评分系数每个样本(观察)的主成分得分由主成分分数系数构建的公式得到

PCA-1 主成分分析--主成分