이 기사의 주요 연구는 다음과 같이 데이터 매칭 및 결합 (데이터 전처리)을 통한 Java 프로그래밍입니다.
데이터 설명
다음 프로그램은 다음 형식의 데이터를 결합합니다.
이 테이블의 각 행은 사용자 ID와 사용자의 특성을 나타냅니다. 그중에서도 사용자는 하나의 기능 벡터 만 있습니다. 즉, 첫 번째 열은 반복되지 않습니다.
이 테이블의 첫 번째 열은 사용자의 ID를 나타내고, 두 번째 열은 사용자가 시청하는 영화를 나타내고, 세 번째 열은 영화의 사용자의 점수 (1-13 점)를 나타내고 네 번째 열은 영화의 사용자의 점수를 나타내지 만 점수 범위는 1-5 점입니다.
문제 설명
데이터를 전처리 할 때 두 번째 테이블에 사용자 특성을 추가하는 방법은 무엇입니까? 실제로이 방법은 매우 간단합니다. 두 번째 테이블의 사용자 ID를 첫 번째 테이블의 사용자 ID와 일치시킵니다. 병합 결과는 아래 그림에 나와 있습니다.
데이터 프로세서
패키지 거래; 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; java.util.list;/** 저자 : Qian Yang, Hefei University of Technology의 경영 학교* 이메일 : [email protected]*/public class getpuser {public static list <string> readdocs (문자열 docspath, 문자열 코드) 던지기 IoException {bufferedreader reader (새로운 bufferedReader (새로운 PriperEdReader). file (docspath)), code)); String s = null; list <string> userProductScore = new ArrayList <String> (); while ((s = indreas.readline ())! = null) {userproductscore.add (s);} reader.close (); return userProductScore;} public static hashmap <string, string> mapread (String DocSpath1, String Code1) Throws Ioexception {bufferedreader1 = new BuffleRedReader (New PripeReader (new incutestreameReader). fileInputStream (새 파일 (docspath1)), code1); String s1 = null; hashmap <string, string> userfeaturemap = new Hashmap <String, String> (); i ++) {bigdecimal db = new bigdecimal (arr [i]); string ii = db.toplainstring (); feature+= ii+";} userfeaturemap.put (s1.split ("/t ") userProductScore, Hashmap <string, string> userfeaturemap)는 ioexception {list <string> usercoreandfeature = new arraylist <> (int i = 0; i <userProductscore.size (); // us used idstring을 얻습니다. user_id = userProductScore.get (i) .split ( "/t") [0]; // 사용자 기능 string userfeature = userfeaturemap.get (user_id); userCoreAndFeature.add (userProductScore.get (i)+"/t"+userfeature); System.out.println (userProductScore.get (i)+"/t"+userfeature); {// 두 개의 텍스트 목록 <string> userProductScore = readDocs ( "data/train/ydata-ymovies-user-movie-ratings-train-v1_0.txt", "gbk"); hashmap <string, string> userfeaturemap = mapread ( "data/fileofuser/yahoo.txt", "utf-8"); 매치 (userProductScore, userFeatureMap);}}
요약
위의 것은 데이터 인스턴스 분석을 일치시키고 결합하여 Java 프로그래밍에 관한 것입니다 (데이터 전처리). 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!