Основным исследованием в этой статье является программирование Java посредством сопоставления и объединения данных (предварительная обработка данных), следующим образом.
Описание данных
Следующая программа объединяет данные в следующем формате.
Каждая строка этой таблицы представляет идентификатор пользователя и характеристики пользователя. Среди них у пользователя есть только один вектор функций, то есть первый столбец не будет повторяться.
Первый столбец этой таблицы представляет идентификатор пользователя, второй столбец представляет фильм, который смотрит пользователь, третий столбец представляет счет пользователя фильма (1-13 баллов), а четвертый столбец представляет счет пользователя фильма, но диапазон очков составляет 1-5 очков.
Описание проблемы
При предварительной обработке данных, как добавить характеристики пользователя во вторую таблицу? На самом деле, метод очень прост. Просто сопоставьте идентификатор пользователя второй таблицы с идентификатором пользователя первой таблицы. Результат слияния показан на рисунке ниже.
Процессор данных
пакет сделки; импорт java.io.bufferedReader; импорт java.io.file; импорт java.io.fileinputstream; импорт java.io.ioexception; импорт java.io.inputStreamReader; импорт java.math.bigdecimal; импорт java.util.arraylist; 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 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> mapread (string docspath1, string code1) throuseemememememememememeam (new Buffredread (new Bufferread (New Bufferreader (New BufferreadEremeam (new Bufferreader (New BufferreadEremeAmeAM 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") [0], функция);} reader1.cluse () return userfeaturemap;} public static static starice sticle <string> mother -sticle <string> mother -sticle <string> mother -sticle <string>; userproductscore, hashmap <string, string> userfeaturemap) бросает ioexception {list <string> userscoreAndfeature = new 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"+userfeecture);} returncoreNfeature; {// Читать два текстового списка <string> userproductscore = readdocs ("data/train/ydata-yomovies-user-movie-ratings-train-v1_0.txt", "gbk"); hashmap <string, string> userfeaturemap = mapread ("data/fileofuser/yahoo.txt". match (userproductscore, userfeaturemap);}}
Суммировать
Выше приведено все о программировании Java посредством сопоставления и объединения анализа экземпляров данных (предварительная обработка данных). Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!