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

Python实现KNN时出现x_test未定义错误,求排查解决

KNN算法实现中的变量未定义问题修复

问题根源及修复点:

  • 数据集拆分赋值错误:你在使用train_test_split时,把返回的四个结果重复赋值给了x_train和y_train,导致根本没有生成x_test变量,这是报错的核心原因。正确的赋值应该包含x_test和y_test。
  • 特征提取语法错误:x= data_set.iloc[:,[2,3]].valuesS这行里多了个大写字母S,应该改为values。
  • 标准化阶段的变量引用问题:因为前面没生成x_test,所以后续调用st_x.transform(x_test)时会触发未定义错误,修复拆分代码后即可解决。

修正后的完整代码:

import pandas as PD
import numpy as np
import matplotlib.pyplot as mtp

data_set= PD.read_csv('hw6.data.csv.gz')

# 修正valuesS为values
x= data_set.iloc[:,[2,3]].values
y= data_set.iloc[:, 4].values

from sklearn.model_selection import train_test_split
# 修正变量赋值,生成x_test和y_test
x_train, x_test, y_train, y_test= train_test_split(x,y, test_size=.25, random_state=0)

from sklearn.preprocessing import StandardScaler
st_x= StandardScaler()
x_train= st_x.fit_transform(x_train)
# 现在x_test已定义,可正常执行转换
x_test= st_x.transform(x_test)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 11:01:59