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

Novos dados para decisão

Olá pessoal :) Como eu poderia utilizar o modelo da árvore de decisão do projeto 4 para gerar uma espécie de "aplicativo"? Por exemplo, utilizando esse modelo, eu daria os inputs de um novo carro, ano, km e preço, e ele me retornaria se ele seria vendido ou não.

3 respostas
solução!

Olá Andre, tudo bem ? Espero que sim.

Peguei esse modelo que foi o ultimo que o instrutor treinou:

from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score

SEED = 5
np.random.seed(SEED)
raw_treino_x, raw_teste_x, treino_y, teste_y = train_test_split(x, y, test_size = 0.25,
                                                         stratify = y)
print("Treinaremos com %d elementos e testaremos com %d elementos" % (len(treino_x), len(teste_x)))

modelo = DecisionTreeClassifier(max_depth=3)
modelo.fit(raw_treino_x, treino_y)
previsoes = modelo.predict(raw_teste_x)

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

E depois utilizei o joblib para salvar esse modelo treinado, essa foi uma solução que encontrei na própria documentação do scikit learn:

from joblib import dump, load
dump(modelo, 'modelo.joblib')

Agora que temos o modelo salvo, podemos carrega-lo na nossa aplicação:

modelo_carregado = load('modelo.joblib')

E agora criei um simples input que vai pegar as entrada do usuário, pedir para o modelo prever e imprimir o resultado:

print("Preco: ")
preco = input()
print("Ano: ")
ano = input()
print("KM: ")
km = input()

entrada = [[preco, ano, km]]
resultado = modelo_carregado.predict(entrada)[0]
print("Vai vender ?")
if resultado == 1:
  print('Sim')
else:
  print('Não')

Acredito que esse é um caminho que você pode seguir para criar o que você propôs.

Recomendo que veja esses cursos:

Neles vai aprender como melhorar seu modelo, como escolher o modelo e como treinar seu modelo final que vai ser usado no mundo real.

Espero ter ajudado, qualquer duvida não hesite em perguntar.

Bons Estudos.

Olá Igor. Muito obrigado pela resposta, está bem claro, muito obrigado mesmo. Uma outra dúvida, sou iniciante nesse mundo da programação, portanto qual linguagem de front end que seria mais indicada para, por exemplo, criar uma interface para esse caso?

Olá Andre.

Se a ideia for criar uma aplicação web, entendo que vai ter que criar tanto um back-end quanto um fornt-end, então para continuar no Python recomendo a formação Django que é um framework que permite programar um back-end em Python.

No final da formação você vai conseguir criar uma pagina que pode receber os inputs, mandar para o back-end e esse por sua vez pode usar o seu modelo.

E caso tenha interesse em se aprofundar no front-end para personalizar mais as paginas que criar, recomendo a primeira parte da formação front-end.

Abraço.