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

Dados devem sempre ser 1 ou 0?

Estou estudando uma situação da empresa em que trabalho para exercitar. Estou tentando responder a seguinte questão: sempre que um usuário faz uma requisição do item A, qual o próximo item que ele pede?

Gerei um CSV contendo duas colunas. Na primeira, a requisição A do usuário e na segunda coluna o que o usuário pediu depois da A, cfme. exemplo:

quem_pede,pede_depois
400093,400097
400097,400116
400049,400062

Logo, quem pediu o item de código 400093 pediu depois o 400097. São >30mil registros.

Na primeira coluna, que corresponde aos dados, devo sempre ter 1 ou 0? Pois, aparentemente o código python não está funcionando corretamente.

2 respostas
solução!

Olá Rafael,

Não sei se entendi a sua dúvida mas para ler o seu csv seu código deve estar parecido com isso:

import csv

arquivo = open("input.csv", "rb")
leitor = csv.reader(arquivo)
dados = []
for quem_pede, pede_depois in leitor:
    dados.append([quem_pede, pede_depois])

Depois disso, você pode acessar os dados da seguinte forma:

# para acessar a primeira linha dos resultados
print dados[1]

# para acessar a segunda linha dos resultados
print dados[2]

# para acessar a coluna quem_pede da primeira linha
print dados[1][0]

# para acessar a coluna pede_depois da primeira linha
print dados[1][1]

Não sei se ajuda, se a dúvida persistir posta aqui pra gente tentar ajudar!

Rafael Lossurdo,

Não sei se é bem isso que você gostaria de saber mas creio que está em dúvidas com relação ao processo de treinamento do seu algoritmo de classificação. Creio que sua dúvida deva ser se para treinar seu código e depois comparar uma nova entrada de dados para saber qual seria o comportamento de saída se necessariamente você só pode trabalhar com informações 0 ou 1. Na verdade o algoritmo faz comparações entre a informação de treino ou os dados que você conhece que irão acontecer em umas das situações, também conhecido como dados a priori ex.:

requisiçãoA =    [400093, 400097]
requisiçãoB =    [400094, 400098]

dados = [requisiçãoA, requisiçãoB]

, depois você fará a marcação ex.:

marcacoes = ['Requisição A', 'Requisição B']

e depois usa um tipo de algoritmo de classificação e espera o resultado ex.:

from sklearn.naive_bayes import MultinomialNB

modelo = MultinomialNB()
modelo.fit(dados, marcacoes)

. Espero que tenha esclarecido a sua dúvida. Se não era sobre isso mil desculpas por me entrometer no assunto.