Python 3.x Azure机器学习与Python的过拟合/欠拟合机器学习模型

Python 3.x Azure机器学习与Python的过拟合/欠拟合机器学习模型,python-3.x,machine-learning,azure-machine-learning-studio,Python 3.x,Machine Learning,Azure Machine Learning Studio,我正在学习如何使用Azure ML Studio执行机器学习。目前,我只使用Python进行了机器学习 我使用Azure ML和Python运行了相同的机器学习项目,以查看每个产品的结果与均方根误差(RMSE)的接近程度。到目前为止,Azure ML和Python的RMSE已经有了很大的不同 我不明白为什么RMSE相距如此之远。我能想到的唯一原因是Python在训练数据上“适合”模型的方式。Python使用以下代码来拟合训练数据 lr = LinearRegression(labelCol='x

我正在学习如何使用Azure ML Studio执行机器学习。目前,我只使用Python进行了机器学习

我使用Azure ML和Python运行了相同的机器学习项目,以查看每个产品的结果与均方根误差(RMSE)的接近程度。到目前为止,Azure ML和Python的RMSE已经有了很大的不同

我不明白为什么RMSE相距如此之远。我能想到的唯一原因是Python在训练数据上“适合”模型的方式。Python使用以下代码来拟合训练数据

lr = LinearRegression(labelCol='xxxx')
lrModel = lr.fit(train_data)
但是,我不知道Azure ML如何适合培训数据


有人能告诉我Azure ML是如何完成训练数据拟合的吗?

我猜你可能使用了RMSE=√(1/n)∑ (y_i-pred_i)^2)要计算python中的RMSE,其中y是真正的标签,pred是线性回归中的预测值

我可以想象Azure使用稍微不同的术语,即RSE=√(1/(n-2)∑ (y_i-pred_i)^2),其中使用贝塞尔校正项1/(n-2)。这用于校正拟合2个参数的偏差(假设线性回归仅拟合斜率和截距,否则在多元线性回归中拟合k个参数时,1/(n-k)是贝塞尔校正)


试试看!然而,我无法解释为什么python和Azure之间的差异如此之大,因为贝塞尔的修正项应该只会产生很小的差异。

也许在Azure中RMSE的计算方式也不同。@LucAs,感谢您的联系。这正是我希望有人能够告诉我的,以及Azure如何将数据拟合到培训模型?不幸的是,我不知道Azure如何拟合模型,但我为您发布了一个想法,Azure可能会计算RSE,而不是RMSE@Luz作为,在这里可以找到用于该项目的python,我在Azure ML中使用了相同的项目。在python方法中,我得到了0.890179的RMSE,而在Azure ML中,我得到了2.09的RMSE。我能想到的唯一一件事是,为什么它们相距如此之远,是因为它们将训练数据拟合到模型的方式不同,但这并不难说。。我猜这不是因为Azure与模型的匹配不同,我猜是某个地方的输入错误或错误?