我有超过1000个实例的历史牲畜价格数据和3个属性。我使用了WEKA(怀卡托环境知识分析)工作台。我已经为训练数据和测试数据创建了ARFF文件。当我跑步时,我得到预测的价格,它给了我SMOreg模型。
我的问题是如何使用这个等式,这样当我输入新数据时,它应该给我预测的价格?
该模型给出了这个等式;
Predicted price = + 0.2209 * (normalized) SEX - 0.3164 * (normalized) GRADE + 0.3937
在SEX下,1为女性,2为男性。在等级下,2是重量等于或高于100kg,而3是重量低于100kg。
问题在于,当我尝试使用这个等式代替性别和等级值时,它并没有给出真实的预测价格。 后来我想在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
Actual Class,SMO Predicted
648000.0, 606226.8428201795
360000.0, 401190.9898681232
416000.0, 463105.0101318615
324000.0, 258069.15717980522
648000.0, 606226.8428201795
...........................
请帮忙
答案 0 :(得分:2)
你必须对预测进行去标准化。
可用数据中的某处应该是标准化参数,原始数据的均值和stdev(标准偏差)。您的数据都已标准化,可能使用转换
y' = (y - mean) / stdev
其中y是原始价格,而y'是标准化价格。
现在你必须扭转这个过程。解决y:
y = y' * stdev + mean
对每个预测执行此操作,您应该具有所需的预测价格。