Die Hauptforschung in diesem Artikel ist die Java -Programmierung durch Übereinstimmung und Kombination von Daten (Datenvorverarbeitung) wie folgt.
Datenbeschreibung
Das folgende Programm kombiniert Daten im folgenden Format.
Jede Zeile dieser Tabelle repräsentiert die Benutzer -ID und die Eigenschaften des Benutzers. Unter ihnen hat ein Benutzer nur einen Feature -Vektor, dh die erste Spalte wird nicht wiederholt.
Die erste Spalte dieser Tabelle repräsentiert die ID des Benutzers, die zweite Spalte repräsentiert den Film, den die Benutzer ansehen, die dritte Spalte repräsentiert die Punktzahl des Benutzers des Films (1-13 Punkte) und die vierte Spalte repräsentiert die Punktzahl des Benutzers des Films, aber der Score-Bereich beträgt 1-5 Punkte.
Problembeschreibung
Wie fügen Sie bei der Vorverarbeitung von Daten Benutzermerkmalen zur zweiten Tabelle hinzu? Tatsächlich ist die Methode sehr einfach. Stimmen Sie einfach die Benutzer -ID der zweiten Tabelle mit der Benutzer -ID der ersten Tabelle ab. Das Zusammenführungsergebnis ist in der folgenden Abbildung dargestellt.
Datenprozessor
Paketgeschäft; import Java.io.BufferedReader; Import Java.io.file; Import Java.io.fileinputStream; Import Java.io.ioException; Import Java.io.inputStreamReader; Import Java.math.bigdecimal; java.util.List;/* * author: Qian Yang, School of Management, Hefei University of Technology* email: [email protected]*/public class GetPUser {public static List<String> readDocs(String docsPath,String code) throws IOException{BufferedReader reader = new BufferedReader( new InputStreamReader( new FileInputStream( new Datei (docSpath)), Code)); String s = null; list <string> userProductScore = new ArrayList <string> (); while (s = reader.readline ())! FileInputStream (neuer FileInputStream (neue Datei (docSpath1)), Code1); String S1 = NULL; i <arr.length; Übereinstimmung (Liste <string> userProductScore, HashMap <String, String> userFeaturemap) löscht IOException {list <string> userCoreAnDFeature = new ArrayList <> (); user_id = userProductScore.get (i) .split ("/t") [0]; // Benutzerfunktionsstring userfeature = userFeaturemap.get (user_id); userScoreAnDFeature.add (userProductScore.get (i)+"/t"+userFeature); System.out.println (userProductscore.get (i)+"/t"+userFeature); {// Lesen Sie zwei Textlisten <string> userProductScore = readdocs ("Daten/Train/Ydata-movies-user-movie-ratings-train-v1_0.txt", "gbk"); Match (userProductScore, userFeaturemap);}}
Zusammenfassen
In der obigen dreht sich alles um Java -Programmierung durch Übereinstimmung und Kombination von Dateninstanzanalysen (Datenvorverarbeitung). Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!