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

%matplotlib inline失效与Sklearn特征名警告问题排查及修复求助

问题排查与代码修复方案

问题1:%matplotlib inline 语句无法生效

  • 原因:%matplotlib inline是Jupyter Notebook专属的魔法命令,PyCharm等本地IDE不支持该语法。
  • 修复方案:
    • 若需在PyCharm中显示Matplotlib图像,直接在绘图代码末尾添加plt.show();
    • 也可进入PyCharm设置(File > Settings > Tools > Python Scientific),勾选Show plots in tool window,图像会在PyCharm专用窗口中显示。

问题2:Sklearn特征名警告

  • 原因:训练模型时的X是带列名的Pandas DataFrame,但预测时传入的cars是普通列表(无特征名),Sklearn会校验输入特征的一致性,因此抛出警告。
  • 修复方案:将预测数据转换为和训练集X列名、特征顺序完全一致的DataFrame。

修复后的完整代码

import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# 替换为你的实际数据集路径
auto = pd.read_csv("your_file_path.csv")

# 构造特征集X和目标变量y
X = auto.iloc[:, 1:-1].drop('horsepower', axis=1)
y = auto['mpg']

# 训练线性回归模型
lr = LinearRegression()
lr.fit(X, y)

# 构造预测数据并转换为匹配特征名的DataFrame
my_car1 = [4, 160, 190, 12, 90, 1]
my_car2 = [4, 200, 260, 15, 83, 1]
cars_df = pd.DataFrame([my_car1, my_car2], columns=X.columns)

# 执行预测并输出结果
mpg_predict = lr.predict(cars_df)
print(mpg_predict)

# 如需显示图像,添加绘图代码后调用plt.show()
# plt.plot(...)
# plt.show()

内容的提问来源于stack exchange,提问作者user20207408

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:31:06