【问题标题】:Why do I get NameError: name 'train_test_split' is not defined? [closed]为什么我得到 NameError: name 'train_test_split' is not defined? [关闭]
【发布时间】:2020-04-08 10:21:39
【问题描述】:

我一直在关注我在网上找到的关于深度学习中的语音分析的教程,它一直给我命名错误。我对python很陌生,所以我不确定如何定义它。但是train_test_split是默认拆分数据的方法,train_test_split是导入的。

代码如下:

'''

import numpy as np
import pandas as pd 
import os
import seaborn as sns
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('fivethirtyeight')
from tqdm import tqdm
print(os.listdir("../input"))

from keras import Sequential
from keras import optimizers
from keras.preprocessing.sequence import pad_sequences
from keras.models import Sequential,Model
from keras.layers import LSTM, Dense, Bidirectional, Input,Dropout,BatchNormalization,CuDNNLSTM, GRU, CuDNNGRU, Embedding, GlobalMaxPooling1D, GlobalAveragePooling1D, Flatten
from keras import backend as K
from keras.engine.topology import Layer
from keras import initializers, regularizers, constraints
from sklearn.model_selection import KFold, cross_val_score, train_test_split

train = pd.read_json('C:/Users/User/Downloads/dont-call-me-turkey/train.json')
display(train.shape)

train.head()

train_train, train_val = train_test_split(train, random_state = 42)
xtrain = [k for k in train_train['audio_embedding']]
ytrain = train_train['is_turkey'].values
xval = [k for k in train_val['audio_embedding']]
yval = train_val['is_turkey'].values '''

它给出了一个错误:

NameError                                 Traceback (most recent call last)
<ipython-input-19-1e07851e6519> in <module>
----> 1 train_train, train_val = train_test_split(train, random_state = 42)
      2 xtrain = [k for k in train_train['audio_embedding']]
      3 ytrain = train_train['is_turkey'].values
      4 xval = [k for k in train_val['audio_embedding']]
      5 yval = train_val['is_turkey'].values

NameError: name 'train_test_split' is not defined

【问题讨论】:

  • 如果你输入这个:from sklearn.model_selection import train_test_split 你会得到什么?
  • 我得到'name 'train' is not defined'
  • 你做错了什么。 train 是您定义的 pandas 数据框。
  • 您是否运行了所有单元格?

标签: python deep-learning jupyter-notebook nameerror


【解决方案1】:

可能你还没有安装 sklearn Pip install sklearn 如果您已经这样做了,请尝试: from sklearn.cross_validation import train_test_split

【讨论】:

  • 我按照您的建议从 sklearn.cross_validation import train_test_split 输入并运行它,出现错误 ModuleNotFoundError: No module named 'sklearn.cross_validation'
  • 你运行pip install sklearn了吗?你显然没有安装它
  • 供日后参考:ARejected Edit 建议“train_test_split 在模型选择中”; 此编辑旨在解决帖子的作者,作为编辑毫无意义。它应该写成评论或答案。
  • @Nimantha The OP?
  • 2020年不得不用from sklearn.model_selection import train_test_split
猜你喜欢
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 2015-01-20
  • 2021-09-08
  • 1970-01-01
相关资源
最近更新 更多