基于hadoop的电影网站用户性别预测实现程序

基于knn算法的hadoop的电影网站用户性别预测实现程序,数据预处理阶段打包成jar包在Hadoop上运行即可,数据目录为data,需上传到hadoop运行目录下,只需更改预处理代码文件路径为自己的即可,knn数据计算阶段直接运行即可,需修改为本地目录,由于数据量大,需要运行时间较长。我运行了2个小时。
算法实现流程:
准备数据,对数据进行预处理。
选择合适的数据结构来存储训练数据和测试数据。
设定参数,如k=3。
对于每一个测试对象维护一个大小为k的按距离由小到大的队列,用于存储最近邻训练元组。随机从训练元组中选取k个元组作为初始的最近邻元组,分别计算测试元组到这k个元组的距离,将训练元组标号和距离存入优先级队列。
遍历训练元组集,计算当前训练元组与测试元组的距离,将所得距离L与最近邻元组中的最大距离Lmax比较。
若L>=Lmax,则舍弃该元组,遍历下一个元组。若L < Lmax,删除优先级队列中最大距离的元组,将当前训练元组存入最近邻元组。
遍历完毕,计算最近邻元组中k 个元组的多数类,并将其作为测试元组的类别。

knn算法优点:
简单,易于理解,易于实现,无需估计参数,无需训练;

适合对稀有事件进行分类;

特别适合于多分类问题(multi-modal,对象具有多个类别标签), KNN比SVM的表现要好

源代码已上传包含代码和数据,自行下载:
https://download.csdn.net/download/qq1594443513/10898921

你可能感兴趣的:(hadoop)