使用KNN回归预测输出值时遇类型错误求助
KNN回归预测触发类型错误的解决方法
错误核心原因:训练数据的目标变量(y)包含字符串类型数据,KNN回归计算预测值时需要对邻居的目标值取均值,字符串与数值(float)无法执行加法运算,因此报错。
排查与解决步骤
- 检查训练数据集的目标列(y),确认是否存在非数值内容(比如带单位的文本、字符串形式的缺失值、分类标签等)。
- 将目标列转换为数值类型,示例代码如下:
import pandas as pd # 假设y是pandas Series格式的目标变量 # 强制转换为数值,无法转换的内容设为缺失值 y = pd.to_numeric(y, errors='coerce') # 删除包含缺失值的行(或根据需求填充缺失值) y_clean = y.dropna() # 同步清理对应的特征数据集X,保证行索引一致 X_clean = X.loc[y_clean.index] - 同时确认预测输入
new_data的所有特征均为数值类型,避免因输入类型不匹配引发其他错误。
内容的提问来源于stack exchange,提问作者manoj
相关产品推荐
相关产品推荐

