1
resposta

setting an array element with a sequence.

from sklearn.svm import LinearSVC
model = LinearSVC()
model.fit(dados,classes)

está dando esse erro alguem sabe o que pode ser?

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-63-4eab5acbecc7> in <module>()
      2 
      3 model = LinearSVC()
----> 4 model.fit(dados,classes)

~/anaconda3/lib/python3.6/site-packages/sklearn/svm/classes.py in fit(self, X, y, sample_weight)
    225 
    226         X, y = check_X_y(X, y, accept_sparse='csr',
--> 227                          dtype=np.float64, order="C")
    228         check_classification_targets(y)
    229         self.classes_ = np.unique(y)

~/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py in check_X_y(X, y, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)
    571     X = check_array(X, accept_sparse, dtype, order, copy, force_all_finite,
    572                     ensure_2d, allow_nd, ensure_min_samples,
--> 573                     ensure_min_features, warn_on_dtype, estimator)
    574     if multi_output:
    575         y = check_array(y, 'csr', force_all_finite=True, ensure_2d=False,

~/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)
    431                                       force_all_finite)
    432     else:
--> 433         array = np.array(array, dtype=dtype, order=order, copy=copy)
    434 
    435         if ensure_2d:

ValueError: setting an array element with a sequence.
1 resposta

Olá Luis,

Pode ser que o erro esteja relacionado com a dimensão do vetor classes. Segue minha sugestão:

1) Certifique-se que o Array Classes não possui duas ou mais colunas do DataFrame de origem.

2) Se caso ele tiver apenas 1 coluna, o problema deve ser por causa do typo do array. Se Classes veio de um DataFrame, possivelmente você deverá remover as dimensões singulares:

##Importa das libraries
from sklearn.svm import LinearSVC
import numpy as np

##Tratativa dos dados
classes_transformadas = np.squeeze(classes)

model = LinearSVC()
model.fit(dados,classes_transformadas )

Espero que funcione.

Abs,

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software