You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

线性回归模型散点图出现数据集不存在的负值问题求助

线性回归模型散点图出现数据集不存在的负值问题求助

我遇到了一个线性回归模型的问题:散点图里出现了明显的负值数据点,但我的原始数据集中根本没有负值。我已经检查过数据的形状和最小值,理论上图表不该显示这些负值,可我实在找不到问题出在哪。


模型评估函数代码

def evaluate_model(y_test, price_pred):
    gradient = price_linear.coef_
    intercept = price_linear.intercept_

    mile_mae = mean_absolute_error(y_test, price_pred)
    mile_mse = mean_squared_error(y_test, price_pred)
    mile_rmse = np.sqrt(mile_mse)
    mile_r2 = r2_score(y_test, price_pred)

    print(f'Gradient: {gradient}\n')
    print(f' Intercept: {intercept}')

    print(f' Mean absolute error: {mile_mae})')
    print(f' Mean squared error: {mile_mse}')
    print(f' Root mean squared error: {mile_rmse}')
    print(f' Coefficient of determination: {mile_r2}')

线性回归模型代码

numerical_inputs = ['Mileage', 'Year of manufacture', 'Engine size']

x = df[numerical_inputs]
y = df['Price']

# splitting of the data 
x_num_train, x_num_test, y_price_train, y_price_test = train_test_split(x, y, test_size=0.2, random_state=42)

# scaling the numerical data 
scale = StandardScaler()

# fitting only to train data to prevent data leakage 
scale.fit(x_num_train)
num_train_scaled = scale.transform(x_num_train)
num_test_scaled = scale.transform(x_num_test)

multi_price_linear = LinearRegression()

multi_price_linear.fit(num_train_scaled, y_price_train)

multi_price_pred = multi_price_linear.predict(num_test_scaled)

evaluate_model(y_price_test, multi_price_pred)

# plt.show()
plt.figure(figsize=(14, 8))
plt.scatter(y_price_test, multi_price_pred, alpha=0.6)
plt.plot([min(y_price_test), max(y_price_test)],
         [min(y_price_test), max(y_price_test)], color='red')
plt.ylabel('Actual Price')
plt.xlabel('Predicted Price')
plt.title('Predicted Price vs Actual Price')
plt.show()

模型输出结果

Gradient: [-2720.41736808  9520.41488938  6594.02448017] 

 Intercept: 13854.628699999997

 Mean absolute error: 6091.458141656242)
 Mean squared error: 89158615.76017143
 Root mean squared error: 9442.38400829851
 Coefficient of determination: 0.671456306417368

生成的散点图

散点图出现负值

我不想直接限制图表范围来隐藏这些负值,因为这可能意味着我的数据或者代码存在问题。求大家帮忙找找原因!

备注:内容来源于stack exchange,提问作者leakie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:50:28