python - 线性回归
问题描述
程序:
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. ]])
预测不完美为什么?数据集有什么问题吗?我是机器学习的新手,在此先感谢
解决方案
好吧,这实际上取决于您要预测的内容以及您拥有的功能是否是好的预测器。因此,即使您只是尝试使用 LR,如果您的目标变量可以通过功能解释,您应该获得一些合理的准确度指标。
查看您的y_test
您应该考虑删除异常值,这可能会提高模型的准确性。
您可能还想尝试一些更有效的回归器,例如RandomForestRegressor或SupportVectorRegressor。
推荐阅读
- python - 无法打开py文件-系统找不到指定的路径
- swift - UIDocumentPickerViewController 没有响应在 iOS 13 和 iOS 14 上选择的文档
- r - 无法替换字符串中的字符 - R 数据框
- firebase - Firestore 单元测试 Flutter
- c++ - 如何使用长度参数使用 iter::product
- download - 有没有办法从嵌入式系统下载 C 文件/项目
- google-cloud-automl - 如何使用用户创建的内容廉价地训练 Google AutoML 模型?
- java - 使用专有 cookie 和 HTTP 身份验证的 Spring Boot 身份验证
- javascript - 如何从具有已知格式的字符串生成 isoString
- r - 计算某个观察在时间序列数据集中持续的持续时间