求助:Colab与Spyder运行代码时出现NameError: name 'X_train'未定义问题
问题分析与解决
变量大小写不匹配导致报错
报错提示的是NameError: name 'X_train' is not defined,但你提供的代码里,通过train_test_split得到的是小写开头的x_train。Python对大小写敏感,X_train和x_train是两个完全独立的变量。检查后续代码中所有用到训练集特征的地方,把误写的X_train改成x_train就能解决这个问题。原始数据未定义的潜在问题
如果后续代码里确实用的是x_train,那要确认执行拆分前,x(特征数据集)和y(标签数据集)已经被正确定义并赋值。比如你可能漏掉了加载数据集的步骤(比如用pd.read_csv()读取本地或在线数据,或是手动构造x和y的代码),必须保证在运行train_test_split之前,x和y是有效的数据对象。
完整示例代码
# 1. 先加载并准备原始数据 import pandas as pd # 替换成你的数据集路径或构造方式 data = pd.read_csv("your_dataset.csv") x = data.drop("target_column", axis=1) # 提取特征列 y = data["target_column"] # 提取标签列 # 2. 拆分数据集 from sklearn.model_selection import train_test_split x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.33, random_state=42) # 3. 后续使用变量时保持大小写一致 print("训练集特征形状:", x_train.shape)
内容的提问来源于stack exchange,提问作者Shrey
相关产品推荐
相关产品推荐

