首页 > 解决方案 > 以下代码中的错误是什么?如何解决错误

问题描述

import numpy as np
import pandas as pd

dataset=pd.read_csv('iris.csv')
dataset.shape
dataset.head(10)
feature_column = ['sepal_length','sepal_width','petal_length','petal_width']
x=dataset[feature_column].values
=dataset['species'].values
dataset[feature_column].values
dataset['species'].values

from sklearn.preprocessing import LabelEncoder
le=LabelEncoder()
y=le.fit_transform(y)
y[:10]

from sklearn.model_selection import train_test_split
X_train, y_train,X_test, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-65776283812c> in <module>
      1 from sklearn.model_selection import train_test_split
----> 2 X_train, y_train,X_test, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

NameError: name 'X' is not defined

标签: python

解决方案


错误非常具体......它来自这一行:

X_train, y_train,X_test, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

您将X(大写)作为第一个参数传递给train_test_split() 函数,但之前未定义。我相信你的意思是通过x(小写)。

PS:请注意,根据PEP8,大写名称只能用于常量:PEP8 constants


推荐阅读