2
respostas

Esse teste é válido?

Eu criei um pequeno algoritmo para testar o machine learning na prática criando um cliente hipotético e estimando se ele iria comprar ou não do site:

Eu treinei o algoritmo com o seguinte código:

from sklearn.svm import LinearSVC
import pandas as pd
from sklearn.model_selection import train_test_split


uri = "https://gist.githubusercontent.com/guilhermesilveira/2d2efa37d66b6c84a722ea627a897ced/raw/10968b997d885cbded1c92938c7a9912ba41c615/tracking.csv"
dados = pd.read_csv(uri)
mapa = {
    "home" : "pagina_principal",
    "how_it_works" : "como_funciona",
    "contact" : "contato",
    "bought" : "comprou"
}
dados = dados.rename(columns = mapa)

x = dados[["pagina_principal", "como_funciona", "contato"]]
y = dados[["comprou"]]

treino_x, teste_x, treino_y, teste_y = train_test_split(x,y, random_state= 20, test_size=0.25,
                                                        stratify=y
                                                        )

algoritmo = LinearSVC()
algoritmo.fit(treino_x, treino_y) ## treinou.

depois disso eu criei um novo dataframe com as mesmas colunas da dataframe original só que com dados da navegação de um possível cliente hipotético, meu código ficou assim:

## criando um cliente hipotetico para para verificar se ele irá comprar ou não
cliente_hipotetico = {'pagina_principal':  [1],
        'como_funciona': [1],
        'contato' : [1]
        }

cliente_hipotetico = pd.DataFrame (cliente_hipotetico, columns = ['pagina_principal','como_funciona',"contato"])

##verificando se o cliente vai comprar ou não
previsao = algoritmo.predict(cliente_hipotetico)
if(previsao == [0]):
  print("O cliente não irá comprar")
else:
  print("O cliente irá comprar!")

Esse teste que eu fiz é válido para verificar o que o algoritmo acha quando aparecer um cliente com esses dados? Se não, gostaria de saber um método para verificar a resposta do algoritmo frente a um cliente hipotetico definido.

2 respostas

Boa noite Caio!

Esse modelo é válido sim, mas você poderia explora-lo mais, se a intenção é tão somente só mostrar se o cliente vai comprar ou não de acordo com as páginas clicadas, ok.

Mas você poderia colocar a acurácia do seu modelo, pois o seu modelo pode estar com overfitting (coisa que eu acho difícil).

Mas, parabéns pelo modelo.

Boa noite Eduardo!

Eu tinha reservado essas duas variáveis (teste_x e teste_y) pra medir a acurácia

previsao = algoritmo.predict(teste_x)

acurancia = accuracy_score(previsao, teste_y) * 100

print("Sua acurancia é de %.2f%%" % acurancia )

O resultado deu 96%

Mas o que eu queria entender é como eu usaria o modelo já treinado numa aplicação real que precisasse classificar algum cliente por exemplo.

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