第6章项目案例电影网站用户性别预测

Imagemap
第6章项目案例电影网站用户性别预测学习目标理解KNN算法的原理掌握以 MR编程实现KNN算法掌握以MR编程实现KNN分类器评价任务背景M网站:通过用户看过的电影评分,分析出不同性别的人的偏爱电影类型,推测未知用户性 ...基本概念众数一组数据中出现次数最多的那个数,就是这组数据的众数相比较于平均数,众数不易受极端值的影响,统计人均收入常用众数或中位数等来看数据准备说明:下载knn_data并上传到hdfs上,myname改为自已姓名全拼wget https://hddly.oss-cn-hangzhou.aliyu ...上传后的数据说明knn_data/users.dat :已知性别的用户信息部分数据knn_data/ratings.dat:用户对电影的部分评分数据knn_data/movies.dat:部分电影信息数据源码准备https://bigdata.hddly.cn/b37066/file/Mem ...任务6.1认识KNN算法KNN算法简介又称为K近邻分类算法,所谓K近邻就是K个最近邻居的意思 ,即每个样本都可以用它最 ...如果特征空间中K个最相似的样本中大多数属于某一个类别,某样本是K个样本之一,则该 ...KNN算法原理及流程原理:指导思想:“近朱者赤、近墨者黑”,由邻居来推断类别先计算待分类的样本与已知类别的训练样本之间的距离 ,找到距离与待分类样本数据最近 ...KNN算法实现步骤1,算距离:计算测试对象与训练集中每个对象的距离计算距离方法欧式距离曼哈顿距离闵可夫斯基距离2,找邻居:圈定距离 最近的K个训练对象,作为测试对象的近邻3,做分类:根据这个K个邻近归属的主要类别来对测试对象分类KNN算法实现流程1,准备数据,对数据进行预处理2,选用合适的数据结构来存储训练数据和测试元组3,设定参数,如k=34,对于每一个测试记录维护一个大小为k的按距离由小到大的队列,用于存储最近邻训练 ...5,遍历训练元组集,计算当前训练元组与测试元组的距离,将所得距离L与最近邻元组中 ...6,遍历完毕,计算最近邻元组中k 个元组的多数类,并将其作为测试元组的类别任务6.2数据预处理数据变化1,根据UserID字段连接电影评分数据ratings.dat和用户信息user ...S1_RatingsAndUsers2,根据MovieID字段连接电影数据 movies.dat数据和ratings ...S2_UsersAndMovies3,对每个用户看过的电影类型users_movies进行统计得到特征向量数据,得 ...S3_MoviesGenres数据清冼1,对gender_genre数据中缺失或异常值进行处理,得到processin ...S4_DataProcessing划分数据集1,将数processing_out数据一分为三:
训练数据集80%: 验证数据 ...S5_SplitData任务6.3实现用户性别分类实现思路1,自定义值类型表示距离和类型2,Map阶段,读测试数据,读训练数据 trainData,输出测试数据与读取的 ...3,Reduce阶段,处理Map的结果,取出前k个值,输出读取的键和这k个值中类 ...代码实现1,自定义值类型表示距离和类型DistanceAndLabel2,Map阶段,读测试数据,读训练数据 trainData,输出测试数据与读取的 ...MovieClassifyMapper3,Reduce阶段,处理Map的结果,取出前k个值,输出读取的键和这k个值中类 ...MovieClassifyReducer4,驱动main:输入testData和trainData,输出 knnout数 ...S6_MovieClassify任务6.4评价分类结果的准确性评价思路通过分析knnout的第一列的预测类别,与第三列的该测试数据的正确类别,评判分类 ...实现分类评价1,Map阶段:读取分类结果并解析成健值对,输出预测的分类结果和正确的分类结果ValidateMapper2,Reduce阶段:计算正确率ValidateReducer3,驱动main:输出 validateoutS7_Validate寻找最优K值遍历不同的k值,比较输出最后的最高的准确率S8_AllJob实训:电影网站用户性别预测实训目的理解KNN算法的原理掌握以 MR编程实现KNN算法掌握以MR编程实现KNN分类器评价训练要点掌握MapReduce实现数据预处理掌握MapReduce实现KNN算法需求说明M网站:通过用户看过的电影评分,分析出不同性别的人的偏爱电影类型,推测未知用户性 ...实现思路及步骤进入服务器/root/hadoop目录cd /root/hadoop获取实验数据在内网:wget http://10.255.10.50/b37066/file/knn ...在外网:wget https://hddly.oss-cn-hangzhou.aliyu ...上传数据到hdfstar -xzvf ./knn_data.tar.gz 
hdfs dfs -p ...验证数据是否已上传hdfs dfs -ls /user/myname/knn_data/编写代码1数据预处理数据变化1,根据UserID字段连接电影评分数据ratings.dat和用户信息user ...S1_RatingsAndUsers2,根据MovieID字段连接电影数据 movies.dat数据和ratings ...S2_UsersAndMovies3,对每个用户看过的电影类型users_movies进行统计得到特征向量数据,得 ...S3_MoviesGenres数据清冼1,对gender_genre数据中缺失或异常值进行处理,得到processin ...S4_DataProcessing划分数据集1,将数processing_out数据一分为三:
训练数据集80%: 验证数据 ...S5_SplitData2实现用户性别分类1,自定义值类型表示距离和类型DistanceAndLabel2,Map阶段,读测试数据,读训练数据 trainData,输出测试数据与读取的 ...MovieClassifyMapper3,Reduce阶段,处理Map的结果,取出前k个值,输出读取的键和这k个值中类 ...MovieClassifyReducer4,驱动main:输入testData和trainData,输出 knnout数 ...S6_MovieClassify3评价分类结果的准确性1,Map阶段:读取分类结果并解析成健值对,输出预测的分类结果和正确的分类结果ValidateMapper2,Reduce阶段:计算正确率ValidateReducer3,驱动main:输出 validateoutS7_Validate寻找最优K值遍历不同的k值,比较输出最后的最高的准确率S8_AllJob源代码参考http://bigdata.hddly.cn/b37066/file/chap ...调试通过,然后导出普通jar文件(注意不是可执行jar),命名为knncount ...依次执行S1~S8步骤,方法如:hadoop jar ./knncount.jar chap6_knn.data ...hadoop jar ./knncount.jar chap6_knn.data ...hadoop jar ./knncount.jar chap6_knn.data ...hadoop jar ./knncount.jar chap6_knn.data ...hadoop jar ./knncount.jar chap6_knn.data ...hadoop jar ./knncount.jar chap6_knn.data ...hadoop jar ./knncount.jar chap6_knn.data ...hadoop jar ./knncount.jar chap6_knn.data ...查看S8输出结果:观察最优K值是多少?最优K值对应的准确率是多少?并截图作业要求1,环境说明:本小组主机:,本小组成员机:,本成员机:2,在http://master:9870上拍照截取本小组集群中本成员目录下/u ...3,在eclipse中,分别截图 S1~S8文件的源码图4,在eclipse中,运行,截取运行S1~S8各步骤的控制台运行结果图5,在eclipse中导出普通jar文件(注意不是可执行jar)knncount ...5,在集群linux本成员虚拟下运行程序knncount.jar 从S1~S8步 ...常见问题Hadoop DistributedCache已过时-首选的API是什么驱动Main设置:job.addCacheFile(new Path(filen ...Map获取代码 :Path[] localPaths = context.get ...
hide
第6章项目案例电影网站用户性别预测
hide
任务6.1认识KNN算法
hide
实训:电影网站用户性别预测
hide
实现思路及步骤
hide
编写代码