Olá, não sei porque não consigo plotar a curva de decisão. No modelo Z recebi um alerta. Será que tem a ver? O 'scatter' aparece, mas a curva não. Ah, estou usando Jupyter.
Olá, não sei porque não consigo plotar a curva de decisão. No modelo Z recebi um alerta. Será que tem a ver? O 'scatter' aparece, mas a curva não. Ah, estou usando Jupyter.
Bom dia, Mariana! Tudo bem com você?
Em relação ao UserWarning
é apenas um aviso que diz que o modelo LinearSVC
foi treinado com dados que possuíam nomes de features, como colunas de um DataFrame do pandas, mas os novos dados que passamos para o modelo, no caso a variável pontos
, não têm esses mesmos nomes. Vale lembrar que é apenas um aviso, não um erro. Você observará que na tela do instrutor esse warning também aparece, no minuto 10:32 da aula. Todavia, se quiser corrigir isso, basta passar os dados para o predict
em formato de DataFrame, como mostro abaixo:
pontos_df = pd.DataFrame(pontos, columns=['horas_esperadas', 'preco'])
Z = modelo.predict(pontos_df)
Z = Z.reshape(xx.shape)
Z
Sobre a curva do scatter, plote em células separadas para evitar sobrescritas e para que você consiga acompanhar cada passo, por exemplo:
import matplotlib.pyplot as plt
plt.contourf(xx, yy, Z)
Em em outra célula:
plt.contourf(xx, yy, Z)
plt.scatter(teste_x["horas_esperadas"], teste_x["preco"], c=teste_y, s=1)
Após isso, reinicie o kernel e rode novamente todas as células:
Dessa forma, você verá a saída dos dois gráficos:
Obs: Em alguns casos, pode ser necessário rodar o comando run all
duas vezes para os resultados aparecerem corretamente. Isso pode ocorrer porque, em alguns notebooks, a criação do gráfico pode sofrer interferências se as células forem executadas de maneira desordenada ou se o estado do kernel não estiver limpo.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição. Abraços e bons estudos!