この記事の主な研究は、次のように、データ(データの前処理)のマッチングと結合によるJavaプログラミングです。
データの説明
次のプログラムでは、データを次の形式で組み合わせます。
このテーブルの各行は、ユーザーIDとユーザーの特性を表します。その中で、ユーザーには1つの機能ベクトルのみがあります。つまり、最初の列は繰り返されません。
このテーブルの最初の列はユーザーのIDを表し、2番目の列はユーザーが監視する映画を表し、3番目の列はユーザーの映画のスコア(1-13ポイント)を表し、4番目の列は映画のユーザーのスコアを表しますが、スコア範囲は1〜5ポイントです。
問題の説明
データを前処理するとき、2番目のテーブルにユーザー特性を追加する方法は?実際、この方法は非常に簡単です。 2番目のテーブルのユーザーIDを最初のテーブルのユーザーIDと一致させるだけです。マージの結果を下の図に示します。
データプロセッサ
パッケージ取引; java.io.bufferedReader; Import java.io.file; Import java.io.fileinputStream; Import java.io.io.ioexception; Import java.io.inputStreamReader; Import java.math.math.bigdecimal; Import Java.util.hasmap; Import Java.util.util.hasmap; Java.util.List;/**著者:Qian Yang、Management of Management of Management of Technology* Email:[email protected]*/public class getPuser {public static List <string> readdocs(string docspath、string code)throws ioexception {buffered readerter = new bufferedereder(new bufferedreleder(new bufferedreader(New Bufferederter) file(docspath))、code)) while((s = reader.readline())!= null){userproductscore.add(s);} reader.close(); return userproductscore;} public static hashmap <string、string> mapread(string docspath1、string code1)throws ioexception {bufferedredereder1 = new buffereder1 = new buffereder1 = new buffereder1 = buffereder1 = FileInputStream(new file(docspath1))、code1)); string s1 = null; hashmap <string> userfeaturemap = new hashmap <string、string>(); i ++){bigdecimal db = new bigdecimal(arr [i]); string ii = db.toplainstring(); feature+= ii+"";} userfeaturemap.put(s1.split( "/t")[0]、feature);} reader1.close(); userproductscore、hashmap <string、string> userfeaturemap)throws ioexception {list <string> userscoreandfeature = new arraylist <>(); user_id = userproductscore.get(i).split( "/t")[0]; // get user feature string userfeature = userfeaturemap.get(user_id); userscoreandfeature.add(userproductscore.get(i)+"/t"+userfeature); system.out.println(i)+"/t"+userfeature);} return usercoreandfeature;} public voex; {// 2つのテキストリスト<string> userproductscore = readdocs( "data/train/ydata-ymovies-user-movie-ratings-train-v1_0.0.0.txt"、 "gbk"); hashmap、string、string> userfeaturemap = mapread( "data/yahoo.txt" match(userproductscore、userfeaturemap);}}
要約します
上記は、データインスタンス分析のマッチングと組み合わせ(データの前処理)を介したJavaプログラミングに関するすべてです。私はそれが誰にでも役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!