我有超过 1000 个实例和 3 个属性的历史牲畜价格数据。我使用了 WEKA(怀卡托知识分析环境)工作台。我已经为训练数据和测试数据创建了 ARFF 文件。当我运行时,我得到了预测价格,它给了我 SMOreg 模型。
我的问题是如何使用该方程,以便当我输入新数据时它应该给出预测价格?
模型给出了这个方程;
Predicted price = + 0.2209 * (normalized) SEX - 0.3164 * (normalized) GRADE + 0.3937
在“SEX”下,1 为女性,2 为男性。级别下,2级为体重等于或大于100公斤,3级为体重低于100公斤。
问题是,当我尝试使用这个方程替换性别和成绩值时,它并没有给出真正的预测价格。 稍后我想在 Android 上使用该方程,以便可以使用应用程序进行价格预测。
以下是;
1. ARFF文件的一部分。
2.来自训练数据的SMOreg模型
3.部分预测价格
ARFF
@relation trainingDataset
@attribute SEX numeric
@attribute GRADE numeric
@attribute PRICE numeric
@data
1 , 2 , 364000
1 , 3 , 306000
2 , 2 , 530000
2 , 3 , 336000
1 , 2 , 400000
1 , 3 , 277000
2 , 2 , 558000
2 , 3 , 340000
1 , 2 , 356000
1 , 3 , 302000
运行时,它会给出以下输出
SMOreg
weights (not support vectors):
+ 0.2209 * (normalized) SEX
- 0.3164 * (normalized) GRADE
+ 0.3937
内核评估次数:562330(95.457% 已缓存)
Actual Class,SMO Predicted
648000.0, 606226.8428201795
360000.0, 401190.9898681232
416000.0, 463105.0101318615
324000.0, 258069.15717980522
648000.0, 606226.8428201795
......................................
请帮忙
最佳答案
您必须对预测进行非标准化。
可用数据中的某个位置应该包含标准化参数、原始数据的平均值和标准偏差。您的数据均已标准化,可能使用转换
y' = (y - mean) / stdev
其中 y 是原始价格,y' 是标准化价格。
现在你必须扭转这个过程。求解 y:
y = y' * stdev + mean
对您的每个预测执行此操作,您应该获得所需的预测价格。
关于model - 如何使用这个 smoreg 模型手动预测 future 价格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32891323/