我们将Google AutoML与使用输入作为CSV文件的表一起使用。我们已导入数据,将所有架构与可为空的列和训练模型相关联,然后进行部署并使用在线预测来预测一列的值。
我们定位的列的值是min-max(44-263)。
当我们部署并运行在线预测时,它会返回这样的值
预测结果
0.49457597732543945
95%的预测间隔
[-8.209495544433594, 0.9892584085464478]
大多数结果集采用上述格式。我们如何将其转换为(44-263)范围内的值。在同一网上没有找到太多文档。
寻找文档参考和解释以及对95%预测的解释。
答案 0 :(得分:3)
Google AutoML自动将日期标准化:
像这样:
normalized_df=(df-df.mean())/df.std()
因此,您只需要denormalize
输出,这是一个python示例:
def denormalize(df,norm_data):
df = df['targeted_column'].values.reshape(-1,1)
norm_data = norm_data.reshape(-1,1)
scl = MinMaxScaler()
tmp_ = scl.fit_transform(df)
new = scl.inverse_transform(norm_data)
return new
或仅乘以标准偏差,然后加上原始数据的均值
参考和文档: 不幸的是,该项目没有关于理论框架的明确文档。不过,他们的publication很棒 这对我了解他们的AutoML模型很有帮助。另外,这里还详细解释了为什么“ should you normalize/standardize/rescale the data”也具有转换公式。
答案 1 :(得分:2)
实际上是要澄清的(我是AutoML表的PM)-
AutoML表不对标签数据的预测值进行任何归一化,因此,如果您希望标签数据的最小/最大分布为44-263,则输出预测应也在那个范围内。两种可能性会使它明显不同:
1)您选择了错误的标签列
2)您用于此预测的输入功能与在使用的训练数据中看到的功能大不相同。
如果您希望我们帮助进一步调试,请随时与cloud-automl-tables-discuss@googlegroups.com联系