<p>我发现的大多数答案(包括这里)都强调<a href="http://scikit-learn.org/stable/modules/generated/sklearn.metrics.r2_score.html#sklearn.metrics.r2_score" rel="noreferrer">R<sup>2</sup></a>和<a href="http://scikit-learn.org/stable/modules/generated/sklearn.metrics.explained_variance_score.html#sklearn.metrics.explained_variance_score" rel="noreferrer">Explained Variance Score</a>之间的区别,即:<strong>平均残差</strong>(即误差平均值)。</p>
<p>然而,还有一个重要的问题被抛在后面,那就是:我到底为什么要考虑误差的平均值?</p>
<hr/>
<p><strong>复习:</strong></p>
<p>R<sup>2</sup>:是测量(最小二乘)线性回归解释的变化量的<em>决定系数</em>。</p>
<p>为了评估<code>y</code></em>的<em>预测值,您可以从不同的角度看它,如下所示:</p>
<p><strong>方差</strong><sub>实际值</sub>×<strong>R<sup>2</sup></strong><sub>实际值</sub>=<strong>方差</strong><sub>预测值</sub></p>
<p>因此直观地说,R<sup>2<sup>越接近<code>1</code>,实际值和预测值的方差就越大,即相同的价差</p>
<hr/>
<p>如前所述,主要的区别是误差平均值;如果我们查看公式,我们会发现这是正确的:</p>
<pre><code>R<sup>2</sup> = 1 - [(Sum of Squared Residuals / n) / Variance<sub>y_actual</sub>]
Explained Variance Score = 1 - [Variance<sub>(Y<sub>predicted</sub> - Y<sub>actual</sub>)</sub> / Variance<sub>y_actual</sub>]
</code></pre>
<p>其中:</p>
<pre><code>Variance(Y<sub>predicted</sub> - Y<sub>actual</sub>) = (Sum of Squared Residuals - <b>Mean Error</b>) / n </code></pre>
<p>很明显,唯一的区别是我们从第一个公式中减去了平均误差。。。<strong>但是为什么?</strong></p>
<hr/>
<p>当我们将<strong>R<sup>2</sup>得分</strong>与<strong>解释方差得分</strong>进行比较时,我们基本上是在检查<strong>平均误差</strong>;因此,如果R<sup>2</sup>=解释方差得分,则意味着:平均误差=<strong>零</strong>!</p>
<p>平均误差反映了我们估计的趋势,即:有偏v.s无偏估计。</p>
<hr/>
<h2>总而言之:</h2>
<p>如果您希望使用无偏估计量,以便我们的模型不会低估或高估,您可以考虑将误差平均值考虑在内。</p>