La principale recherche de cet article est la programmation Java par l'appariement et la combinaison de données (prétraitement des données), comme suit.
Description des données
Le programme suivant combine des données dans le format suivant.
Chaque ligne de ce tableau représente l'ID utilisateur et les caractéristiques de l'utilisateur. Parmi eux, un utilisateur n'a qu'un seul vecteur de fonctionnalité, c'est-à-dire que la première colonne ne sera pas répétée.
La première colonne de ce tableau représente l'ID de l'utilisateur, la deuxième colonne représente le film que les montres utilisateur, la troisième colonne représente le score de l'utilisateur du film (1-13 points), et la quatrième colonne représente le score de l'utilisateur du film, mais la plage de score est de 1 à 5 points.
Description du problème
Lors du prétraitement des données, comment ajouter les caractéristiques de l'utilisateur au deuxième tableau? En fait, la méthode est très simple. Faites simplement correspondre l'ID utilisateur de la deuxième table avec l'ID utilisateur de la première table. Le résultat de la fusion est illustré dans la figure ci-dessous.
Processeur de données
Package de transfert; import java.io.buffereDreader; import java.io.file; import java.io.fileInputStream; import java.io.ioexception; import java.io.inputstreamreader; import java.math.bigdecimal; import java.util.arrayList; import java.util.hashmap; import; Java.util.list; / * * Auteur: Qian Yang, École de gestion, Hefei University of Technology * Courriel: [email protected]*/public Class Getpuser {Public Static List <String> ReadDocs (String Docspath, String Code) lance ioexception {Buffereder Reader = New BufferedaDeder (New EntarStreamReader (New Fidrein (New Fiderewer (New EntardStreamReader (New Fidereder Reader = New Buffereder. File (docspath)), code)); string s = null; list <string> userProductScore = new ArrayList <string> (); while ((s = reader.readline ())! = null) {userProductScore.add (s);} reader.close (); return userProductScore;} public static hashmap <string, string> mapread (string docspath1, string code1) lance ioException {buffreder Reader1 = FileInputStream (new FileInputStream (nouveau fichier (docspath1)), code1)); string s1 = null; hashmap <string, string> userFeAremap = new hashmap <string, string> (); i <arr.length; i ++) {bigdecimal db = new BigDecimal (arr [i]); string ii = db.toplainstring (); fonctionnalité + = ii + "";} userFeatremap.put (s1.split ("/ t") [0], fonction Match (list <string> userProductScore, hashmap <string, string> userFeAreMap) lance ioException {list <string> userscoreAndFeature = new ArrayList <> (); user_id = userproductscore.get (i) .split ("/ t") [0]; // Obtenir une chaîne de fonctionnalités utilisateur userFeature = UserFeAremap.get (user_id); userscoreAndFeature.add (userproductscore.get (i) + "/ t" + userFeature); System.out.println (UserProductScore.get (i) + "/ t" + userFeature);} return userscoreAndFeature;} public static Void Main (string [] arrtexion ioexection; {// Lire Two Text List <string> userProductScore = readDocs ("Data / Train / ydata-mymovies-user-movie-ratings-train-v1_0.txt", "gbk"); hashmap <String, string> userFeateMap = mapread ("datafuser / yahoo.txt", "utf-8"); Match (UserProductScore, UserFeAreMap);}}
Résumer
Ce qui précède est tout au sujet de la programmation Java grâce à la correspondance et à la combinaison de l'analyse des instances de données (prétraitement des données). J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!