Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

295
Visualizações
Keras: Esperaba 3 dimensiones, pero obtuvo una matriz con forma - modelo denso

Quiero hacer una clasificación de etiquetas múltiples (20 etiquetas de salida distintas), basada en palabras vectorizadas usando TfidfVectorizer. Tengo un conjunto de 39974 filas, cada una de las cuales contiene 2739 elementos (ceros o unos).

Me gustaría clasificar estos datos usando el modelo Keras que contendrá 1 capa oculta (~20 nodos con activación = 'relu') y la capa de salida equivale a 20 valores de salida posibles (con activación = 'softmax' para elegir el mejor ajuste).

Aquí está mi código hasta ahora:

 model = Sequential() model.add(Dense(units=20, activation='relu', input_shape=tfidf_matrix.shape)) model.add(Dense(units=20, activation='softmax')) model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy']) model.fit(tfidf_matrix, train_data['cuisine_id'], epochs=10)

Pero obtuve un error:

ValueError: error al verificar la entrada: se esperaba que dense_1_input tuviera 3 dimensiones, pero obtuvo una matriz con forma (39774, 2739)

¿Cómo puedo especificar que este NN se ajuste al uso de esta matriz?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

El número de filas (número de muestras de entrenamiento) no es parte de la forma de entrada de la red porque el proceso de entrenamiento alimenta la red con una muestra por lote (o, más precisamente, muestras de tamaño de lote por lote).

Entonces, en su caso, la forma de entrada de la red es (2739, ) y el código correcto debería ser así:

 model = Sequential() # the shape of one training example is input_shape = tfidf_matrix[0].shape model.add(Dense(units=20, activation='relu', input_shape=input_shape)) model.add(Dense(units=20, activation='softmax')) model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy']) model.fit(tfidf_matrix, train_data['cuisine_id'], epochs=10)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda