本论文主要讨论了基于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.input streamreader;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/*
* author:合肥工业大学管院学院钱洋
* email: 1563178220@qq.com
*/
公共类获取用户{
publicstaticlistreaddocs (stringdocspath,String code ) throws IOException{
bufferedreaderreader=newbufferedreader (newinputstreamreader ) new file inputstream (new file ) docspath ),code );
string s=空;
listuserproductscore=new ArrayList (;
wile((s=reader.readline ) )!=null ) {
userproductscore.add(s );
}
reader.close (;
return userproductscore;
}
publicstatichashmapmapread (stringdocspath 1,String code1) throws IOException{ )。
bufferedreaderreader1=newbufferedreader (newinputstreamreader ) new file inputstream (new file ) docspath1)、code1);
string S1=空;
hashmapuserfeaturemap=new hashmap (;
while((S1=reader1.readline ) )!=null ) {
stringarr[]=S1.split((t );
String feature=' ';
for(intI=1; i arr.length; I ) {
bigdecimal db=new bigdecimal (arr [ I ];
String ii=db.toPlainString (;
feature=ii ';
}
userfeaturemap.put (S1.split ('t ' ) [0],feature );
}
读1.close (;
返回用户映射;
}
publicstaticlistmatch (listuserproductscore,HashMap userfeaturemap ) throws IOException{
listuserscoreandfeature=new ArrayList (;
for(intI=0; i userproductscore.size (; I ) {
//获取用户id
string user _ id=userproductscore.get (I ).split('t ' ) [0];
//取得用户的特征
stringuserfeature=userfeaturemap.get (user _ id;
userscoreandfeature.add (userproductscore.get (I ) 't' userfeature );
system.out.println (userproductscore.get (I ) 't' userfeature );
}
return userscoreandfeature;
}
publicstaticvoidmain (string [ ] args ) throws IOException {。
//读取两个文本
listuserproductscore=read docs (data/train/y data-y movies-user-movie-ratings-train-v1 _0. txt ),' gbk
hashmapuserfeaturemap=mapread (' data/fileofuser/Yahoo.txt ',' utf-8 ' );
//匹配结果
match (用户产品代码,用户映射;
}
}
总结
以上内容,对于通过Java编程匹配进行的所有数据实例分析(数据预处理),希望本文能对大家有所帮助。 感兴趣的请继续参考本网站的其他相关主题。 如果有不足的地方,欢迎评论。 感谢朋友们对本站的支持!