1
resposta

Erro no método predict

O código que eu fiz é:

misterio1 = [1,1.1]
misterio2 = [1,1,0]
misterio3 = [0,1,1]

testes = [misterio1, misterio2, misterio3]
model.predict (testes)

No entanto, retorna com o seguinte erro:

/usr/local/lib/python3.10/dist-packages/sklearn/utils/_array_api.py:185: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.
  array = numpy.asarray(array, order=order, dtype=dtype)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-24-7b554ab05257> in <cell line: 6>()
      4 
      5 testes = [misterio1, misterio2, misterio3]
----> 6 model.predict (testes)

3 frames
/usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)
    900             # If input is 1D raise error
    901             if array.ndim == 1:
--> 902                 raise ValueError(
    903                     "Expected 2D array, got 1D array instead:\narray={}.\n"
    904                     "Reshape your data either using array.reshape(-1, 1) if "

ValueError: Expected 2D array, got 1D array instead:
array=[list([1, 1.1]) list([1, 1, 0]) list([0, 1, 1])].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

Poderia me ajudar a solucionar, por favor.

1 resposta

Olá Camila, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

O erro de valor (ValueError) está sendo apresentado devido a um pequeno erro de digitação no momento da declaração do animal misterioso misterio1. No momento em que foi fornecido o terceiro item para a lista, no seu código foi utilizado o ponto (.) o correto seria utilizar a vírgula (,) como apresentado abaixo:

misterio1 = [1,1,1]

Após realizar essa correção, basta executar o código novamente e dar continuidade na aula Primeiro treino e teste de um modelo de classificação a partir do minuto 8:55.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!