How to solve Nameerror: name 'n' is not defined in train_test_split of scikit-learn 0.22 version without downgrading the version?
How to solve Nameerror: name 'n' is not defined in train_test_split of scikit-learn 0.22 version without downgrading the version?
我正在做情绪分析并使用 scikit 学习 train_test_split 功能。但是我收到 Nameerror: 'n' is not defined 即使我已经定义了它。在检查各种论坛后,我发现这个错误与 scikit learn 的新版本(0.19 之后)有关。所以给出的解决方案是将 scikit learn 降级到 0.19 版本,它会起作用。但我的问题是我正在使用 python 3.7 并使用 anaconda3、jupyter notebook 6.0.3,它没有降级到旧版本。
我该怎么办?如何解决这个问题?
def postprocess(data, n=1000000):
data = data.head(n)
data['tokens'] = data['Articles'].progress_map(tokenize) ## progress_map is a variant of the map function plus a progress bar. Handy to monitor DataFrame creations.
data = data[data.tokens != 'NC']
data.reset_index(inplace=True)
data.drop('index', inplace=True, axis=1)
return data
data = postprocess(data)
x_train, x_test, y_train, y_test = train_test_split(np.array(data.head(n).tokens),
np.array(data.head(n).Sentiment), test_size=0.2)
错误:
NameError Traceback (most recent call
last) in
----> 1 x_train, x_test, y_train, y_test = train_test_split(np.array(data.head(n).tokens),
2 np.array(data.head(n).Sentiment), test_size=0.2)
NameError: name 'n' is not defined
提前致谢。
你似乎没有在你的 postprocess
函数之外的任何地方定义 n
,而且听起来这种错误不太可能是由于最近版本中的 scikit-learn 错误(当声称类似的东西,你应该总是包括你自己的研究结果)。
无论如何,这很可能会起作用(前提是您的代码和数据没有其他问题):
n=1000000
data = postprocess(data, n=n)
x_train, x_test, y_train, y_test = train_test_split(np.array(data.head(n).tokens),
np.array(data.head(n).Sentiment), test_size=0.2)
我正在做情绪分析并使用 scikit 学习 train_test_split 功能。但是我收到 Nameerror: 'n' is not defined 即使我已经定义了它。在检查各种论坛后,我发现这个错误与 scikit learn 的新版本(0.19 之后)有关。所以给出的解决方案是将 scikit learn 降级到 0.19 版本,它会起作用。但我的问题是我正在使用 python 3.7 并使用 anaconda3、jupyter notebook 6.0.3,它没有降级到旧版本。
我该怎么办?如何解决这个问题?
def postprocess(data, n=1000000):
data = data.head(n)
data['tokens'] = data['Articles'].progress_map(tokenize) ## progress_map is a variant of the map function plus a progress bar. Handy to monitor DataFrame creations.
data = data[data.tokens != 'NC']
data.reset_index(inplace=True)
data.drop('index', inplace=True, axis=1)
return data
data = postprocess(data)
x_train, x_test, y_train, y_test = train_test_split(np.array(data.head(n).tokens),
np.array(data.head(n).Sentiment), test_size=0.2)
错误:
NameError Traceback (most recent call last) in ----> 1 x_train, x_test, y_train, y_test = train_test_split(np.array(data.head(n).tokens), 2 np.array(data.head(n).Sentiment), test_size=0.2)
NameError: name 'n' is not defined
提前致谢。
你似乎没有在你的 postprocess
函数之外的任何地方定义 n
,而且听起来这种错误不太可能是由于最近版本中的 scikit-learn 错误(当声称类似的东西,你应该总是包括你自己的研究结果)。
无论如何,这很可能会起作用(前提是您的代码和数据没有其他问题):
n=1000000
data = postprocess(data, n=n)
x_train, x_test, y_train, y_test = train_test_split(np.array(data.head(n).tokens),
np.array(data.head(n).Sentiment), test_size=0.2)