from dados import carregar_acessos from sklearn.naive_bayes import MultinomialNB x,y = carregar_acessos() treino_dados = x[:90] treino_marcacoes = y[:90] teste_dados = x[-9:] teste_marcacoes = y[-9:] modelo = MultinomialNB() modelo.fit(treino_dados, treino_marcacoes) #print(modelo.predict([[1, 0, 1], [0,1,0], [1,0,0],[1,1,0],[1,1,1]])) resultado = modelo.predict(teste_dados) diferencas = resultado - teste_marcacoes acertos = [d for d in diferencas if d == 0] total_de_acertos = len(acertos) total_de_elementos = len(teste_marcacoes) taxa_de_acerto = 100.0 * total_de_acertos / total_de_elementos print(taxa_de_acerto) print(total_de_elementos)
from sklearn.naive_bayes import MultinomialNB from dados import carregar_acessos X, Y = carregar_acessos() porcentagem_treino = 0.9 modelo = MultinomialNB() tamanho_de_treino = int(porcentagem_treino * len(Y)) tamanho_de_teste = int(len(Y) - tamanho_de_treino) treino_X = X[:tamanho_de_treino] treino_Y = Y[:tamanho_de_treino] teste_X = X[-tamanho_de_teste:] teste_Y = Y[-tamanho_de_teste:] modelo.fit(treino_X, treino_Y) resposta_teste = modelo.predict(teste_X) print("\nResposta: ", resposta_teste) diferenca = teste_Y - resposta_teste print("\nDiferença: ", diferenca) acertos = [d for d in diferenca if d == 0] print("\nAcertos: ", acertos) total_de_acertos = len(acertos) print("\nTotal de acertos: ", total_de_acertos) total_de_elementos = len(teste_X)
# Primeira abordagem foi 90% para treino e 10% para teste # resultado 88% from dados import carregar_acessos dados, marcacoes = carregar_acessos() treino_dados = dados[:90] treino_marcacoes = marcacoes[:90] teste_dados = dados[-9:] teste_marcacoes = marcacoes[-9:] from sklearn.naive_bayes import MultinomialNB modelo = MultinomialNB() modelo.fit(treino_dados, treino_marcacoes) resultado = modelo.predict(teste_dados) diferencas = resultado - teste_marcacoes acertos = [d for d in diferencas if d == 0] total_de_acertos = len(acertos) total_de_elementos = len(teste_dados) taxa_de_acerto = 100.0 * total_de_acertos / total_de_elementos print(taxa_de_acerto) print(total_de_elementos)
# o teste foi feito com 90% de para treino e 10% para testes. com 88% de acerto from dados import carregar_acessos X,Y = carregar_acessos() treino_dados = X[:90] treino_marcacoes = Y[:90] teste_dados = X[-9:] teste_marcacoes = Y[-9:] from sklearn.naive_bayes import MultinomialNB modelo = MultinomialNB() modelo.fit(treino_dados, treino_marcacoes) resultado = modelo.predict(teste_dados) diferencas = resultado - teste_marcacoes acertos = [d for d in diferencas if d == 0] total_de_acertos = len(acertos) total_de_elementos = len(teste_dados) taxa_de_acerto = 100 * total_de_acertos / total_de_elementos print("%s%%" % (taxa_de_acerto)) print(total_de_elementos)
from dados import carregar_acessos from sklearn.naive_bayes import MultinomialNB # Carrego o csv e savo nas variáveis x,y x, y = carregar_acessos('acesso.csv') """ Preciso separar minha base de treino da minha base de testes para que meu teste não fique contaminado, tendo resuldados que não vão ser de fato fiéis. """ # Base de treino treino_dados = x[:70] treino_marcacoes = y[:70] # Base de testes teste_dados = x[-29:] teste_marcacoes = y[-29:] # Carrego meu modelo modelo = MultinomialNB() # Treino meu modelo modelo.fit(treino_dados, treino_marcacoes) # Predição usando o base de testes # Onde 1 => provavelmente irá comprar, e 0 não resultado = modelo.predict(teste_dados) # Agora verificamos a taxa de acerto: diferencas = resultado - teste_marcacoes
# Abordagem inicial: 90% para treino e 10% para teste: taxa de acerto 88.9% from sklearn.naive_bayes import MultinomialNB from dados import carregar_acessos x, y = carregar_acessos() treino_dados = x[:90] treino_marcacoes = y[:90] teste_dados = x[-9:] teste_marcacoes = y[-9:] modelo = MultinomialNB() modelo.fit(treino_dados, treino_marcacoes) resultado = modelo.predict(teste_dados) diferencas = resultado - teste_marcacoes acertos = [d for d in diferencas if d == 0] total_de_acertos = len(acertos) total_de_elementos = len(teste_dados) taxa_de_acertos = 100.0 * total_de_acertos / total_de_elementos print('Taxa de acerto:', taxa_de_acertos) print('Total de elementos testados:', total_de_elementos)
# minha abordagem inicial foi # 1. separa 90% para treino e 10% para teste:88.88888888888889% from dados import carregar_acessos (X, Y) = carregar_acessos() treino_dados = X[:90] treino_marcacoes = Y[:90] teste_dados = X[-9:] teste_marcacoes = Y[-9:] from sklearn.naive_bayes import MultinomialNB modelo = MultinomialNB() modelo.fit(treino_dados, treino_marcacoes) resultado = modelo.predict(teste_dados) diferencas = resultado - teste_marcacoes acertos = [diferenca for diferenca in diferencas if diferenca == 0] total_de_acertos = len(acertos) total_de_elementos = len(teste_dados)