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

共享单车数据线性回归训练报错ValueError无法转字符串为float求解

共享单车线性回归报错解决方案

报错原因

  • 你定义的特征集里包含day、monthname、season三个字符串类型的分类特征,线性回归模型要求输入全部为数值类型,无法直接处理字符串
  • 报错出现日期格式字符串,大概率是你拆分训练集时误将包含date列的全量数据集传入,而非你提前定义好的特征集x;也有可能是day字段存在脏数据,混入了日期格式的字符串
  • 你尝试转换date列时的代码写法错误:float()函数无法直接作用于pandas的Series整列对象,仅支持传入单个值做转换

解决步骤

  1. 先确认训练集拆分逻辑正确,确保传入的是你定义的特征集:
from sklearn.model_selection import train_test_split
# 必须用提前定义的x做拆分,不要直接传全量df
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)
  1. 对特征集中的分类特征做数值编码,这里推荐使用独热编码避免引入无序特征的权重偏差:
# 对所有字符串类型的分类特征做独热编码,drop_first参数避免多重共线性
x = pd.get_dummies(x, columns=['day', 'monthname', 'season'], drop_first=True)
  1. 如果仍出现date相关报错,直接删除你不需要的非特征列即可,完全无需做类型转换:
df.drop(columns=['date', 'time', 'datetime'], inplace=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:06:07