【发布时间】:2020-07-11 15:59:49
【问题描述】:
我正在做情绪分析并使用 scikit learn 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(最近调用 最后)在 ----> 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
提前致谢。
【问题讨论】:
标签: python scikit-learn python-3.7 nameerror train-test-split