首页 > 解决方案 > 线性回归

问题描述

程序:

import pandas as pd

ds=pd.read_csv('Animals.csv')

x=ds.iloc[:,1].values
y=ds.iloc[:,2].values

from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0)
x_train = x_train.reshape(-1, 1)
y_train = y_train.reshape(-1,1)

from sklearn.linear_model import LinearRegression as lr
reg=lr()
reg.fit(x_train,y_train)

y_pred=reg.predict(x_test)

y_pred = array([[433.34494686],
                [433.20384407],
                [418.6791427 ],
                [433.34789435],
                [407.49640802],
                [432.25311216]])

y_test = array([[ 119.5],
                [ 157. ],
                [5712. ],
                [  56. ],
                [  50. ],
                [ 680. ]])

预测不完美为什么?数据集有什么问题吗?我是机器学习的新手,在此先感谢

标签: pythonpandasmachine-learning

解决方案


好吧,这实际上取决于您要预测的内容以及您拥有的功能是否是好的预测器。因此,即使您只是尝试使用 LR,如果您的目标变量可以通过功能解释,您应该获得一些合理的准确度指标。

查看您的y_test您应该考虑删除异常值,这可能会提高模型的准确性。

您可能还想尝试一些更有效的回归器,例如RandomForestRegressorSupportVectorRegressor


推荐阅读