我一直在比较来自 sklearn 的不同回归模型,这样做时我对我得到的模型的得分值感到困惑。在下面的代码中,您可以看到我同时使用了线性回归和岭回归,但是训练和测试数据集的得分值差异很大。
using Linear Regression
from sklearn.linear_model import LinearRegression as lr
model = lr()
model.fit(X_train, y_train)
model.predict(X_test)
print("LINEAR REGRESSION")
print("Training Score", end = "\t")
print(model.score(X_train, y_train))
print("Test Score", end = "\t")
print(model.score(X_test, y_test))
------------------------------------------------------------
O/P
LINEAR REGRESSION
Training Score 0.7147120015665793
Test Score 0.4242120003778227
Using Ridge Regression
from sklearn.linear_model import Ridge as r
model = r(alpha = 20).fit(X_train, y_train)
model.predict(X_test)
print("RIDGE REGRESSION")
print("Training Score", end = "\t")
print(model.score(X_train, y_train))
print("Test Score", end = "\t")
print(model.score(X_test, y_test))
-----------------------------------------------------------
O/P
RIDGE REGRESSION
Training Score 0.4991610348613835
Test Score 0.32642156452579363
我的问题是,训练数据集和测试数据集的得分值之间的较小差异是否意味着我的模型是通用的,并且对于测试和训练数据都同样适合(不是过度拟合),还是意味着其他什么。如果它确实意味着其他东西,请解释一下。
以及“alpha”值如何影响岭回归模型?我是初学者,所以请尽可能简单地解释任何事情。
谢谢你。