Segue um aplicativo de exemplo, que calcula a similaridade entre usuários.
Em resposta à Hamilton Fernandes de Moraes Junior
Versão Atualizada
Ola,
Gostaria de usar seu trabalho no meu projeto, mas vi que tu nao disponibilizou uma API, e sim a implementacao no seu trabalho.
Desculpe ser chato, mas nao tem como usar o que colocou, pois existe um acoplamento muito alto entre suas classes de recomendacao e seu projeto.
Teria como fazer algo generico, ou pelo menos sem usar classes como Filme, por exemplo?
[]'s
Gostaria de usar seu trabalho no meu projeto, mas vi que tu nao disponibilizou uma API, e sim a implementacao no seu trabalho.
Desculpe ser chato, mas nao tem como usar o que colocou, pois existe um acoplamento muito alto entre suas classes de recomendacao e seu projeto.
Teria como fazer algo generico, ou pelo menos sem usar classes como Filme, por exemplo?
[]'s
Ola Thadeu.
A parte principal do código que você utilizará mesmo é o método calculaSimilaridade que se encontra na classe SimilaridadeItem.
O restante do código serve apenas para manipular os dados do banco e deixar em um formato para ser analisado pelo código. Mas isso vai depender de como você armazenou e relacionou os dados no banco.
Eu criei uma lista que armazena(nome, lista de filmes, lista de notas)
Onde nome representa os usuários que avaliaram alguns filmes.
O que você que fazer exatamente no seu projeto? Coloque suas dúvidas aqui que eu lhe ajudo.
A parte principal do código que você utilizará mesmo é o método calculaSimilaridade que se encontra na classe SimilaridadeItem.
O restante do código serve apenas para manipular os dados do banco e deixar em um formato para ser analisado pelo código. Mas isso vai depender de como você armazenou e relacionou os dados no banco.
Eu criei uma lista que armazena(nome, lista de filmes, lista de notas)
Onde nome representa os usuários que avaliaram alguns filmes.
O que você que fazer exatamente no seu projeto? Coloque suas dúvidas aqui que eu lhe ajudo.
OI Hamilton,
Obrigado pela prestatividade .
O que eu quero fazer eh o seguinte:
Eu tenho varios programas que receberam avaliacoes de varios usuarios. Imagine q eu tenho tudo isso em memoria (uma lista de avaliacoes, onde tenho informacoes dos usuarios tbm).
Quero calcular a media de avaliacoes de cada programa.
Caso seja complicado, ou fora do escopo, gerar um grafico com as similaridades de todos os usuarios.
[]'s
Obrigado pela prestatividade .
O que eu quero fazer eh o seguinte:
Eu tenho varios programas que receberam avaliacoes de varios usuarios. Imagine q eu tenho tudo isso em memoria (uma lista de avaliacoes, onde tenho informacoes dos usuarios tbm).
Quero calcular a media de avaliacoes de cada programa.
Caso seja complicado, ou fora do escopo, gerar um grafico com as similaridades de todos os usuarios.
[]'s
Ola.
Bem, inicialmente você deve ter uma lista que armazene(nome,notas, e os respectivos programas que receberam essas notas. Essa lista sera do tipo ItemporNome (estou pegando como exemplo o código que eu fiz).
O método calculasimilaridade faz o calculo da similaridade em relação a um nome que você deverá passar.
COnforme o cálculo é realizado, é gerado uma outra lista do tipo Correlacao, que tem os seguintes dados:
private String nome;
private List<String> outrosNomes=new ArrayList<String>();
private List<Double> notaCorrelacao=new ArrayList<Double>();
private List<Integer> quant_avaliacoes = new ArrayList<Integer>();
É essa lista que armazenará as notas de similaridade em relação a um nome.
COm esses dados armazenados, voce poderá gerar um gráfico sim, não vejo problemas nisso.
Bem, inicialmente você deve ter uma lista que armazene(nome,notas, e os respectivos programas que receberam essas notas. Essa lista sera do tipo ItemporNome (estou pegando como exemplo o código que eu fiz).
O método calculasimilaridade faz o calculo da similaridade em relação a um nome que você deverá passar.
COnforme o cálculo é realizado, é gerado uma outra lista do tipo Correlacao, que tem os seguintes dados:
private String nome;
private List<String> outrosNomes=new ArrayList<String>();
private List<Double> notaCorrelacao=new ArrayList<Double>();
private List<Integer> quant_avaliacoes = new ArrayList<Integer>();
É essa lista que armazenará as notas de similaridade em relação a um nome.
COm esses dados armazenados, voce poderá gerar um gráfico sim, não vejo problemas nisso.