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

TypeError报错及Logistic回归代码问题咨询:y_pred赋值位置应如何修正?

解决TypeError: Expected sequence or array-like, got <class 'function'>问题

咱们先拆解下你遇到的问题,以及代码里的几个小错误:

1. 核心报错原因与y_pred的正确写法

你现在的y_pred = none完全没起到预测的作用,这也是触发错误的关键:

  • 首先,Python里表示空值的是大写的None,小写的none是未定义的变量(如果没提前赋值,运行时会先触发NameError);
  • 更重要的是,你需要用训练好的模型对测试集生成预测结果,而不是随便赋个空值。所以这里应该写成:
    y_pred = logistic_model.predict(X_test)
    
    这行代码会让你训练好的logistic_model基于测试集特征X_test输出预测标签,这样accuracy_score就能拿到符合要求的序列/数组格式的预测值了。

2. 代码里的其他问题

除了y_pred的错误,还有个小细节要注意:

  • 确保你已经正确导入了需要的库:LogisticRegression来自sklearn.linear_model,accuracy_score来自sklearn.metrics,如果没导入的话也会报错。
  • 要保证X_train、y_train、X_test、y_test这些数据集已经正确划分并预处理(比如特征结构一致、没有缺失值等),不然模型训练或预测时也会出问题。

修正后的完整代码

# 先导入必要的库
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 假设你已经完成了数据集划分,X_train/y_train/X_test/y_test都已准备好
logistic_model = LogisticRegression()
logistic_model.fit(X_train, y_train)
# 生成测试集的预测结果
y_pred = logistic_model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(accuracy)

额外小提示

如果你的特征数值范围差异很大,建议在训练模型前对数据做标准化处理(比如用StandardScaler),这样LogisticRegression的表现会更好,但这不是导致当前报错的原因,属于优化建议~

内容的提问来源于stack exchange,提问作者just a person

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 17:47:31