การวิจัยหลักในบทความนี้คือการเขียนโปรแกรม Java ผ่านการจับคู่และการรวมข้อมูล (การประมวลผลข้อมูลล่วงหน้า) ดังนี้
คำอธิบายข้อมูล
โปรแกรมต่อไปนี้รวมข้อมูลในรูปแบบต่อไปนี้
แต่ละแถวของตารางนี้แสดงถึง ID ผู้ใช้และคุณสมบัติของผู้ใช้ ในหมู่พวกเขาผู้ใช้มีเวกเตอร์คุณลักษณะเดียวนั่นคือคอลัมน์แรกจะไม่ถูกทำซ้ำ
คอลัมน์แรกของตารางนี้แสดงถึง ID ของผู้ใช้คอลัมน์ที่สองแสดงถึงภาพยนตร์ที่ผู้ใช้นาฬิกาคอลัมน์ที่สามแสดงถึงคะแนนของผู้ใช้ของภาพยนตร์ (1-13 คะแนน) และคอลัมน์ที่สี่แสดงถึงคะแนนของผู้ใช้ในภาพยนตร์ แต่ช่วงคะแนนคือ 1-5 คะแนน
คำอธิบายปัญหา
เมื่อข้อมูลประมวลผลล่วงหน้าวิธีเพิ่มคุณสมบัติผู้ใช้ในตารางที่สอง ในความเป็นจริงวิธีนี้ง่ายมาก เพียงแค่จับคู่รหัสผู้ใช้ของตารางที่สองกับรหัสผู้ใช้ของตารางแรก ผลการผสานจะแสดงในรูปด้านล่าง
ตัวประมวลผลข้อมูล
ข้อตกลงแพ็คเกจนำเข้า java.io.bufferedreader; นำเข้า java.io.file; นำเข้า java.io.fileinputstream; นำเข้า java.io.ioexception; นำเข้า java.io.inputstreamreader; นำเข้า Java.math.bigdecimal; java.util.list;/** ผู้แต่ง: Qian Yang, School of Management, Hefei University of Technology* อีเมล: [email protected]*/public คลาส getPuser {รายการคงที่สาธารณะ <String> readDocs ไฟล์ (docSpath)), รหัส)); string s = null; list <string> userProductScore = new ArrayList <String> (); ในขณะที่ ((s = reader.readline ())! = null) {userproductscore.add (s);} reader.close (); return userproductscore;} public Static Hashmap <String, String> mapread (สตริง docspath1, String code1) FileInputStream (ไฟล์ใหม่ (docspath1)), code1)); String s1 = null; hashmap <string, string> userfeaturemap = new hashmap <string, string> (); i ++) {bigdecimal db = ใหม่ bigdecimal (arr [i]); string ii = db.toplainstring (); คุณสมบัติ+= ii+"";} userfeaturemap.put (s1.split ("/t") [0], คุณลักษณะ);} reader1.close () UserProductScore, HashMap <String, String> UserFeatureMap) พ่น IOException {รายการ <String> UsersCoreandFeature = arrayList ใหม่ <> (); user_id = userproductscore.get (i) .split ("/t") [0]; // รับสตริงคุณลักษณะของผู้ใช้ userfeature = userfeatureMap.get (user_id); userscoreandfeature.add (userproductscore.get (i)+"/t"+userfeature); system.out.println (userproductscore.get (i)+"/t"+userfeature); {// อ่านรายการข้อความสองรายการ <String> userProductScore = ReadDocs ("ข้อมูล/รถไฟ/ydata-ymovies-user-movie-ratings-train-v1_0.txt", "gbk"); hashmap <string, string> userfeaturemap = mapread จับคู่ (userProductScore, userFeatureMap);}}
สรุป
ข้างต้นเป็นเรื่องเกี่ยวกับการเขียนโปรแกรม Java ผ่านการจับคู่และรวมการวิเคราะห์อินสแตนซ์ข้อมูล (การประมวลผลข้อมูลล่วงหน้า) ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!