【问题标题】:Program is showing error despite following instructions: name 'x_train' is not defined尽管遵循以下说明,程序仍显示错误:未定义名称“x_train”
【发布时间】:2021-12-30 20:02:10
【问题描述】:

我已经在 anaconda 中安装了 sklearn 模块,但是 train_test_split 显示错误。 “名称'x_train'未定义”

from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, Dropout
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.callbacks import TensorBoard

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split

但是在代码中它会抛出错误

train_df = pd.read_csv(r'fashion-mnist_train.csv')
test_df = pd.read_csv(r'fashion-mnist_test.csv')

train_data = np.array(train_df, dtype='float32')
test_data = np.array(test_df, dtype='float32')

x_train = train_data[:, 1:] / 255
y_train = train_data[:, 0]

x_test = test_data[:, 1:] / 255
y_test = test_data[:, 0]

x_train, x_validate, y_train, y_validate = train_test_split(
    x_train, y_train, test_size=0.2, random_state=12345,
)

当我使用 train test split 运行单元时,会发生以下错误:

NameError Traceback(最近一次调用最后一次) 在 2 3 x_train,x_validate,y_train,y_validate = train_test_split( ----> 4 x_train, y_train, test_size=0.2, random_state=12345, 5) NameError: name 'x_train' 没有定义

请帮忙!这是我在 ML 中的第一个项目

【问题讨论】:

  • 在 NameError 消息中,传递给 train_test_split 的参数与代码不完全匹配:在参数 random_state 之后传递了一个值 5。

标签: python pandas tensorflow keras scikit-learn


【解决方案1】:

以下代码中的数据集csv文件命名约定存在问题:

train_df = pd.read_csv(r'fashion-mnist_train.csv')
test_df = pd.read_csv(r'fashion-mnist_test.csv')

您需要将连字符 (-) 改为下划线 (_),如下所示:

train_df = pd.read_csv(r'fashion_mnist_train.csv')
test_df = pd.read_csv(r'fashion_mnist_test.csv')

此外,在导入这些文件时,对本地目录中的这些文件名进行相同的更改。

如果问题仍然存在,请告诉我们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-15
    • 2017-06-09
    • 2019-11-19
    • 2020-01-05
    • 2017-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多