Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取错误“;属性错误:';numpy.ndarray和#x27;对象没有属性';下'&引用;字内标记器_Python_Tensorflow_Machine Learning_Keras_Multilabel Classification - Fatal编程技术网

Python 获取错误“;属性错误:';numpy.ndarray和#x27;对象没有属性';下'&引用;字内标记器

Python 获取错误“;属性错误:';numpy.ndarray和#x27;对象没有属性';下'&引用;字内标记器,python,tensorflow,machine-learning,keras,multilabel-classification,Python,Tensorflow,Machine Learning,Keras,Multilabel Classification,我试图通过参考本文来训练一个模型来对多标签数据集进行分类。我是这个领域的新手,我遇到了一个错误“AttributeError:'numpy.ndarray'对象没有属性'lower'” 这是我的密码 reviews = pd.read_csv("/content/drive/My Drive/Interim Project Data/score.csv") Review_labels = reviews[["natral score", "ma

我试图通过参考本文来训练一个模型来对多标签数据集进行分类。我是这个领域的新手,我遇到了一个错误“AttributeError:'numpy.ndarray'对象没有属性'lower'”

这是我的密码

reviews = pd.read_csv("/content/drive/My Drive/Interim Project Data/score.csv")

Review_labels = reviews[["natral score", "man-made score", "sport score", "special event score"]]
Review_labels.head()

def preprocess_text(sen):
    # Remove punctuations and numbers
    sentence = re.sub('[^a-zA-Z]', ' ', sen)
    sentence = re.sub(r"\s+[a-zA-Z]\s+", ' ', sentence)
    sentence = re.sub(r'\s+', ' ', sentence)
    return sentence

X = []
sentences = list(reviews["User Review"])
for sen in sentences:
    X.append(preprocess_text(sen))

y = Review_labels.values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1, random_state=123)
print(len(X_train))
print(len(X_test))

from numpy import array
from keras.preprocessing.sequence import pad_sequences
from keras.preprocessing.text import Tokenizer


tokenizer = Tokenizer(num_words=5000)
tokenizer.fit_on_texts(X)

X_train = tokenizer.texts_to_sequences(X_train)
X_test = tokenizer.texts_to_sequences(X_test)
错误就在这里

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-128-ff374d8c5eb4> in <module>()
      7 tokenizer.fit_on_texts(X)
      8 
----> 9 X_train = tokenizer.texts_to_sequences(X_train)
     10 X_test = tokenizer.texts_to_sequences(X_test)
     11 

2 frames
/usr/local/lib/python3.6/dist-packages/keras_preprocessing/text.py in text_to_word_sequence(text, filters, lower, split)
     41     """
     42     if lower:
---> 43         text = text.lower()
     44 
     45     if sys.version_info < (3,):

AttributeError: 'numpy.ndarray' object has no attribute 'lower'
---------------------------------------------------------------------------
AttributeError回溯(最近一次呼叫上次)
在()
7标记器。在文本上匹配(X)
8.
---->9 X_序列=标记器。文本到序列(X_序列)
10 X_测试=标记器。文本到序列(X_测试)
11
2帧
/usr/local/lib/python3.6/dist-packages/keras_preprocessing/text.py in text_to_word_顺序(文本、过滤器、下位、拆分)
41     """
42如果更低:
--->43 text=text.lower()
44
45如果系统版本信息<(3,):
AttributeError:'numpy.ndarray'对象没有属性'lower'

如果有人能帮助解决这个问题,这将非常有帮助。

文本是str变量吗? 如果不是,也许你可以

text = str(text).lower()
只要它的值是可以转换成字符串的东西

试试看怎么样

标记器=标记器(num_words=5000,lower=False)

而不是


tokenizer=tokenizer(num_words=5000)

我也试过了。但后来我遇到了这个错误。
AttributeError:'numpy.ndarray'对象没有属性“translate”