这是数据集的一部分,该数据集包含1000个不同位置的房屋租金定价条目。
训练模型后,如果我发送与训练数据相同的训练数据,则结果不正确。这怎么可能?
X_loc = df[{'area','rooms','location'}]
y_loc = df[:]['price']
X_train, X_test, y_train, y_test = train_test_split(X_loc, y_loc, test_size = 1/3, random_state = 0)
regressor = LinearRegression()
regressor.fit(X_train, y_train)
y_pred = regressor.predict(X_train[0:1])
数据集:
price rooms area location
0 0 22000 3 1339 140
1 1 45000 3 1580 72
3 3 72000 3 2310 72
4 4 40000 3 1800 41
5 5 35000 3 2100 57
预期输出(y_pred)应该为220000,但显示为290000,它如何违反已经受过训练的输入?
您所观察到的正是所谓的“训练误差”。机器学习模型旨在找到“最佳”拟合,从而最大程度地减少“总误差”(即,针对所有数据点而不是每个数据点)。22000与29000的差距不是很大,尽管它不是确切的数字。这是因为线性回归尝试将数据中的所有变化压缩为一条直线。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句