Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Olá. Fiz exatamente como está no exemplo do professor, porém, ocorreu o erro abaixo ao executar.

Z = modelo.predict(pontos)
Z.reshape(xx.shape)
Z
import matplotlib.pyplot as plt
plt.contourf(xx, yy, Z, alpha=0.3)
plt.scatter(teste_x.horas_esperadas, teste_x.preco, c=teste_y, s=1)

TypeError: Input z must be a 2D array.

2 respostas
solução!

Opa João, tudo certo?

o problema nesse seu código é que a instrução Z.reshape(xx.shape) ela te retornar um novo array 2D e não altera a referência para o objeto Z. Por isso ocorre o erro na função contourf.

Para o seu código funcionar, você deve usar o código dessa forma:

Z = modelo.predict(pontos)
Z = Z.reshape(xx.shape)
Z

com isso você consegue garantir que a sua variável Z vai ter o retorno do método reshape que no nosso caso é um array 2D.

Agora deu bom.....rs.... Muito obrigado.