A principal pesquisa deste artigo é a programação Java através da correspondência e combinação de dados (pré -processamento de dados), como segue.
Descrição dos dados
O programa a seguir combina dados no formato a seguir.
Cada linha desta tabela representa o ID do usuário e as características do usuário. Entre eles, um usuário tem apenas um vetor de recurso, ou seja, a primeira coluna não será repetida.
A primeira coluna desta tabela representa o ID do usuário, a segunda coluna representa o filme que o usuário observa, a terceira coluna representa a pontuação do filme pelo filme (1-13 pontos) e a quarta coluna representa a pontuação do usuário do filme, mas o intervalo de pontuação é de 1-5 pontos.
Descrição do problema
Ao pré -processamento de dados, como adicionar características do usuário à segunda tabela? De fato, o método é muito simples. Basta corresponder ao ID do usuário da segunda tabela com o ID do usuário da primeira tabela. O resultado da mesclagem é mostrado na figura abaixo.
Processador de dados
OFEM de pacote; importar java.io.bufferedReader; importar java.io.file; importar java.io.fileInputStream; importar java.io.ioException; importar java.io.inputStreamReader; import java.math.bigdimal; importação.util.utraylist; importação; importação; importação java.math.bigdimal; import.util.arraylist; importação; importação; importação; importação; importação; java.util.list;/** Autor: Qian Yang, Escola de Gerenciamento, Universidade de Tecnologia Hefei* E -mail: [email protected]*/public classe getpuser {public static list <strater> readdocs (string docspath, string) lança o higloping iotring {BuffEredReader reader = lamprader = string (string code) Arquivo (docspath)), código)); string s = null; list <string> userProductScore = new ArrayList <String> (); while ((s = reader.readline ())! = null) {userProductScore.add (s);} reader.close (); retorna userProductScore;} public static hashmap <string, string> mapRead (string docspath1, string code) throws ioException {BufferReader Reader1 FileInputStream (novo arquivo (docspath1)), code1)); string s1 = null; hashmap <string, string> userfeatureMap = new hashmap <string, string> (); i ++) {db bigdecimal = novo bigDecimal (arr [i]); string ii = db.toplainString (); recurso+= ii+"";} userfeatureMap.put (singsatic satty (singratslit ("/t") [0]; UserProductScore, hashmap <string, string> userfeatureMap) lança ioexception {list <string> userscoreandfeature = new ArrayList <> (); user_id = userProductScore.get (i) .split ("/t") [0]; // Obter recurso do usuário string userFeature = userFeatureMap.get (user_id); userscoreeandfeature.add (userProductScore.get (i)+"/t"+userFeature); system.out.println (userProductScore.get (i)+"/t"+userFeat);} ReturnsCorENDFeature; {// Leia duas listas de texto <String> userProductScore = readDocs ("Data/Train/Ydata-Myvies-User-Movie-Ratings-Train-V1_0.txt", "gbk"); hashmap <string, string> userFeatureMap = MapLeRead ("Datafusel); Match (UserProductScore, UserFeatureMap);}}
Resumir
O exposto acima é sobre programação Java através da análise de instância de dados correspondente e combinando (pré -processamento de dados). Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!