【发布时间】:2012-10-10 15:04:11
【问题描述】:
我有一个包含 5 到 10 个特征的数据集。输出值是一个标量值。 (所以我看起来像线性回归,而不是分类器)。一些特征比其他特征更重要,一些特征组合可以产生很大的结果。
考虑到这些要求,Weka 中内置的哪些算法是不错的候选者?
【问题讨论】:
标签: algorithm machine-learning weka
我有一个包含 5 到 10 个特征的数据集。输出值是一个标量值。 (所以我看起来像线性回归,而不是分类器)。一些特征比其他特征更重要,一些特征组合可以产生很大的结果。
考虑到这些要求,Weka 中内置的哪些算法是不错的候选者?
【问题讨论】:
标签: algorithm machine-learning weka
您是否尝试过 Weka Explorer 中的“选择属性”选项卡? InfoGainAttributeEval 和 CorrelationAtrributeEval 是我通常开始使用的两种有用的特征选择方法。
这是 InfoGainAttributeEval 针对我的数据集的示例输出。第一列按降序列出每个属性的重要性。
Ranked attributes:
0.02416 8 attr8
0.014166 16 attr16
0.012868 14 attr14
0.011905 15 attr15
0.011624 6 attr6
0.010619 1 attr1
0.010367 3 attr3
0.010171 5 attr5
0.008921 7 attr7
0.008763 11 attr11
0.006094 9 attr9
0.00603 10 attr10
0.003089 4 attr4
0.00095 12 attr12
0.000672 2 attr2
0.000127 13 attr13
Selected attributes: 8,16,14,15,6,1,3,5,7,11,9,10,4,12,2,13 : 16
如果您有兴趣,请参阅以下链接以获取有关基于相关性的特征选择的经典论文: http://www.cs.waikato.ac.nz/~mhall/thesis.pdf
【讨论】:
Weka 有一组“Classifier”执行回归(它们输出 Weka 术语中的数字“类”)。在 Weka GUI 中,如果您选择数字属性作为“类”,您将看到它们。
其中有weka.classifiers.functions.SimpleLinearRegression,它完全按照它所说的那样做。 Weka 还有更复杂的回归引擎,比如MultilayerPerceptron。
【讨论】:
LinearRegression——但由于它是 Classifier 的一个实例,我怀疑它使用线性回归算法来预测一个 class 实例——而不是预测它的“分数”——如果你知道答案,我会很高兴知道的:|
the weights (theta values) to give to each feature when using linear regression。就我而言,不存在与输出负相关的负权重,但我肯定在某些参数上具有高度正相关。例如,与其他参数相比,某些参数对输出的影响非常大。
Classifier,但它仅适用于预测数值(即连续数据,而不是类)。 Weka 的术语在这方面是不同寻常的。