1
resposta

Shape of passed values is (1, 3), indices imply (540, 3)

x = dados[['horas_esperadas', 'preco']]
y = dados[['finalizado']]

from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score

SEED = 20

treino_x, teste_x, treino_y, teste_y = train_test_split(x, y,
                                                         random_state = SEED, test_size = 0.25,
                                                         stratify = y)
print("Treinaremos com %d elementos e testaremos com %d elementos" % (len(treino_x), len(teste_x)))

modelo = LinearSVC(random_state=SEED)
modelo.fit(treino_x, treino_y)
previsoes = modelo.predict(teste_x)

acuracia = accuracy_score(teste_y, previsoes) * 100
print("A acurácia foi %.2f%%" % acuracia)

sns.scatterplot(x="horas_esperadas", y="preco", hue=teste_y, data=teste_x) 

Fiz o código conforme explicado na aula porém está dando um erro de matriz, imagino:

ValueError                                Traceback (most recent call last)
<ipython-input-12-016376cce630> in <module>()
----> 1 sns.scatterplot(x="horas_esperadas", y="preco", hue=teste_y, data=teste_x)
      2 x_min = teste_x.horas_esperadas.min()
      3 x_max = teste_x.horas_esperadas.max()
      4 y_min = teste_x.preco.min()
      5 y_max = teste_x.preco.max()

12 frames
/usr/local/lib/python3.7/dist-packages/pandas/core/internals/managers.py in _verify_integrity(self)
    327         for block in self.blocks:
    328             if block.shape[1:] != mgr_shape[1:]:
--> 329                 raise construction_error(tot_items, block.shape[1:], self.axes)
    330         if len(self.items) != tot_items:
    331             raise AssertionError(

ValueError: Shape of passed values is (1, 3), indices imply (540, 3)

Onde posso tá errando? Tentei reiniciar todo o notebbok mas não funcionou.

1 resposta

Oii Carlos, tudo bem?

Analisei seu código e você colocou um colchetes a mais no valor passado para y. Seu código está assim:

x = dados[['horas_esperadas', 'preco']]
y = dados[['finalizado']]

E para que ele funcione sem problemas você precisa deixar apenas com um [] para y, assim:

x = dados[['horas_esperadas', 'preco']]
y = dados['finalizado']

Acredito que depois dessa correção você consiga rodar o código sem problemas!

Se você precisar, estou por aqui, ok? :D