我发现LinearRegression中score()的结果与r2_score()不同。我期望它们返回相同的results.The代码如下:
r2_train = np.empty(shape=[10, 0])
r2_train_n = np.empty(shape=[10, 0])
for set_degree in range (0,10):
pf = PolynomialFeatures(degree= set_degree)
X_train_tf = pf.fit_transform(X_train.reshape(11,1))
X_test_tf = pf.transform(X_test.reshape(4,1))
lr = LinearRegression().fit(X_train_tf, y_train)
r2_train = np.append(r2_train, r2_score(lr.predict(X_train_tf), y_train))
r2_train_n = np.append(r2_train_n, lr.score(X_train_tf, y_train))
发布于 2020-07-25 13:23:35
score() :-它只是比较实际值和预测值之间的误差/残差。
r2_score() :-它是指定整个数据集的剩余量的值。
r2评分更稳健,并且经常使用精度矩阵。
它被计算为
(r2_score =1- (RSS / TSS))
其中(RSS= Sqaure的剩余和& TSS =平方和的总数)。在使用OLS方法执行回归时,还应该考虑adjustedR2的值
https://stackoverflow.com/questions/63083618
复制相似问题