我是Python和机器学习的新手。.我为Height Vs Weight数据集实现了一个简单的线性回归模型(预测重量)。
当我尝试使用Sklearn的SGDRegressor实现它时,我的模型无法正确预测,并且得到的分数为负。
我尝试用sklearn的LinearRegression实现,我得到0.24的分数。
当我尝试使用SGD优化模型时,为什么我的分数下降了??
我的HeightvsWeight训练和测试数据集:
Height:
Train shape: (8000, 1)
Test shape : (2000, 1)
Weight
Train shape: (8000, 1)
Test shape : (2000, 1)
model_sgd=linear_model.SGDRegressor(loss='squared_loss',
penalty='l2',max_iter=1000,tol=1e-3)
weight_train=weight_train.ravel()
model_sgd.fit(height_train,weight_train)
print("Y Intercept: ",model_sgd.intercept_)
print("Coefficient: ",model_sgd.coef_)
Result:
Y Intercept: [-1.21722085e+10]
Coefficient: [-3.28570145e+10]
print("Score of the Model : ",r2_score(weight_test,weight_predicted))
Score of the Model : -1.2368427374897364e+24
我在哪里弄错了?我如何使我的分数接近1