Recomendação

A base de dados de recomendação deve ser no formato "User x Item", uma tabela onde os usuários estão dispostos nas linhas e os itens (produtos, filmes, músicas, etc.) estão dispostos nas colunas. Cada célula da tabela contém o rating (nota ou avaliação) que um usuário deu para um item. Se o usuário não avaliou o item, a célula deve ser0.

ESTRUTURA

  1. Linhas: Cada linha representa um usuário, por exemplo:

    • Usuário 1 → Linha 1

    • Usuário 2 → Linha 2

    • Usuário 3 → Linha 3

  2. Colunas: Cada coluna representa um item, por exemplo:

    • Item A → Coluna 1

    • Item B → Coluna 2

    • Item C → Coluna 3

  3. Valores: Cada célula contém a nota/rating que o usuário deu ao item.

    • Um número maior indica que o usuário gostou mais do item (ex.: 5 em uma escala de 1 a 5).

    • Um número menor indica que o usuário gostou menos do item (ex.: 1 ou 2).

    • Células vazias ou com 0 indicam que o usuário não avaliou aquele item.

EXEMPLO

ItemA
ItemB
ItemC
ItemD

5

3

0

4

4

0

2

0

0

1

5

3

2

0

0

0

  • ItemA, ItemB, etc.: Cada coluna corresponde a um item.

  • Valores: Notas dadas pelos usuários (ex.: escala de 1 a 5).

IMPORTAÇÃO DE DADOS

Em todos os objetos do DelphAI é possível importar a base de dados por um arquivo CSV ou por um TDataset.

  1. Por CSV:

    • O arquivo CSV deve conter o mesmo formato da tabela acima.

    • Exemplo de arquivo CSV:

      ItemA,ItemB,ItemC,ItemD
      5,3,0,4
      4,0,2,0
      0,1,5,3
      2,0,0,0
  2. Por Query:

    • A base de dados pode estar armazenado em um banco de dados relacional.

    • Exemplo de um select na tabela no banco:

      ItemA | ItemB | ItemC | ItemD
      ------|-------|-------|-------
      5     | 3     | NULL  | 4
      4     | NULL  | 2     | NULL
      NULL  | 1     | 5     | 3
      2     | NULL  | NULL  | NULL
    • Utilize uma query SQL para selecionar os dados:

      SELECT * FROM UserRatings;

REGRAS E DICAS PARA CRIAÇÃO DA BASE

  1. Escala dos Ratings:

    • Decida a escala de valores para os ratings (ex.: de 1 a 5, ou de 0 a 10). Todos os ratings devem estar na mesma escala.

  2. Valores Vazios:

    • Quando um usuário não avaliou um item, a célula deve conter 0.

  3. Posição na matrix:

    • É importante armazenar os índices dos usuários e itens utilizados na base de dados para restaurar a informação real após a predição (como nome, ID, etc).

BASE DE DADOS DE EXEMPLO

É possível encontrar no repositório oficial o arquivo csv contendo a matriz "Usuario X Item", além do nome dos filmes de cada índice de coluna para testes.

Last updated