классификация настроений с использованием керас - PullRequest
0 голосов
/ 12 ноября 2018

Я очень плохо знаком с классификацией глубокого обучения.У меня есть обзоры данных с меткой (pos, neg), и я пытаюсь классифицировать данные, используя керасы.Вот мой код:

from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer

sentences_train, sentences_test, y_train, y_test = 
     train_test_split(review_list2, label_list, test_size=0.25, random_state=1000)

vectorizer = CountVectorizer()
vectorizer.fit(sentences_train)

X_train = vectorizer.transform(sentences_train)
X_test  = vectorizer.transform(sentences_test)

#build the model 

from keras.models import Sequential
from keras import layers

input_dim = X_train.shape[1]  

model = Sequential()
model.add(layers.Dense(8, input_dim=input_dim, activation='relu'))
model.add(layers.Dense(2, activation='softmax'))
model.compile(loss='binary_crossentropy', 
              optimizer='adam',  metrics=['accuracy'])


 model.summary()
 history = model.fit(X_train, y_train, epochs=100, verbose=False, validation_data=(X_test, y_test), batch_size=10)

Я получил ошибку:

   AttributeError                            Traceback (most recent call last)
<ipython-input-52-34c39f53e335> in <module>
----> 1 history = model.fit(X_train, y_train, epochs=100, verbose=False, validation_data=(X_test, y_test), batch_size=10)

d:\py-ver35\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
    950             sample_weight=sample_weight,
    951             class_weight=class_weight,
--> 952             batch_size=batch_size)
    953         # Prepare validation data.
    954         do_validation = False

d:\py-ver35\lib\site-packages\keras\engine\training.py in _standardize_user_data(self, x, y, sample_weight, class_weight, check_array_lengths, batch_size)
    787                 feed_output_shapes,
    788                 check_batch_axis=False,  # Don't enforce the batch size.
--> 789                 exception_prefix='target')
    790 
    791             # Generate sample-wise weight values given the `sample_weight` and

d:\py-ver35\lib\site-packages\keras\engine\training_utils.py in standardize_input_data(data, names, shapes, check_batch_axis, exception_prefix)
     90         data = data.values if data.__class__.__name__ == 'DataFrame' else data
     91         data = [data]
---> 92     data = [standardize_single_array(x) for x in data]
     93 
     94     if len(data) != len(names):

d:\py-ver35\lib\site-packages\keras\engine\training_utils.py in <listcomp>(.0)
     90         data = data.values if data.__class__.__name__ == 'DataFrame' else data
     91         data = [data]
---> 92     data = [standardize_single_array(x) for x in data]
     93 
     94     if len(data) != len(names):

d:\py-ver35\lib\site-packages\keras\engine\training_utils.py in standardize_single_array(x)
     25                 'Got tensor with shape: %s' % str(shape))
     26         return x
---> 27     elif x.ndim == 1:
     28         x = np.expand_dims(x, 1)
     29     return x

AttributeError: 'str' object has no attribute 'ndim' 

Я пробовал упоминать все решения, связанные с этой ошибкой, но все еще не могу исправить.Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...