Tensorflow线性回归:获得调整后的R平方、系数、P值

Tensorflow线性回归:获得调整后的R平方、系数、P值,tensorflow,linear-regression,p-value,Tensorflow,Linear Regression,P Value,与线性回归相关的关键参数很少,例如调整后的R平方、系数、p值、R平方、多重R等。使用google Tensorflow API实现线性回归时,这些参数是如何映射的?根据我的经验,我们是否可以在模型执行后/执行期间获得这些参数的值,如果您想在模型运行时获得这些值,那么您必须使用tensorflow函数手工编写它们的代码。如果在模型运行后需要它们,可以使用scipy或其他实现。下面是一些关于如何编写R^2、MAPE、RMSE 我认为R2的公式应该如下。请注意,当网络状况如此糟糕,以至于其预测效果比

与线性回归相关的关键参数很少,例如调整后的R平方、系数、p值、R平方、多重R等。使用google Tensorflow API实现线性回归时,这些参数是如何映射的?根据我的经验,我们是否可以在模型执行后/执行期间获得这些参数的值,如果您想在模型运行时获得这些值,那么您必须使用tensorflow函数手工编写它们的代码。如果在模型运行后需要它们,可以使用scipy或其他实现。下面是一些关于如何编写R^2、MAPE、RMSE


我认为R2的公式应该如下。请注意,当网络状况如此糟糕,以至于其预测效果比平均值差时,它将变为负值:

total_error = tf.reduce_sum(tf.square(tf.subtract(y, tf.reduce_mean(y))))

unexplained_error = tf.reduce_sum(tf.square(tf.subtract(y, pred)))

R_squared = tf.subtract(1.0, tf.divide(unexplained_error, total_error)) 

调整后的平方=1-[(1-R平方)*(n-1)/(n-k-1)]


而n是观察数,k是特征数

不应使用R平方的公式。这存在于Tensorflow插件中。您只需要将其扩展到调整后的R平方

我强烈建议不要使用配方来计算r平方本身!我发现的例子不能产生一致的结果,特别是对于一个目标变量。这让我非常头疼

正确的做法是使用。Tensorflow附加组件是,文档是。您所要做的就是将
y\u shape
设置为输出的形状,通常是单个输出变量的
(1,)

然后,您可以使用
RSquare()
在处理调整的度量中返回的内容

total_error = tf.reduce_sum(tf.square(tf.subtract(y, tf.reduce_mean(y))))

unexplained_error = tf.reduce_sum(tf.square(tf.subtract(y, pred)))

R_squared = tf.subtract(1.0, tf.divide(unexplained_error, total_error))