Hadoop大数据开发基础Hadoop基于knn的电影网站用户性别预测.pptVIP

Hadoop大数据开发基础Hadoop基于knn的电影网站用户性别预测.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
K值选取 初始化最大准确率maxAccuracy为0.0及最优K值bestK为0 定义K值列表k,设置K值从2取到100,K值并非直接从2连续取到100,而是隔开取值,例如,K可以取2,3,5,9,15,30,55,70,80,95。 循环k列表,针对每一个K值,训练模型并利用验证数据集计算准确率accuracy,如果准确率大于最大准确率maxAccuracy,则将accuracy地值赋给maxAccuracy,K值赋给最优K值bestK,接着循环下一个K值。如果准确率小于或等于最大准确率maxAccuracy,则直接循环下一个K值。 循环结束之后输出最优K值及最大准确率。 大数据,成就未来 * Hadoop大数据开发基础 * 1 数据预处理 目录 KNN算法原理 2 KNN预测电影网站用户性别 3 KNN算法简介 KNN算法,全称是K Nearest Neighbor算法,即K最近邻分类算法。?其中地K表示最接近自己地K个数据样本。 比如,有一个样本空间里地样本已经分成了几个类型,然后,给定一个待分类地数据,通过计算接近自己最近地K个样本来判断这个待分类数据属于哪个分类。 简单地理解为由那离自己最近地K个点来投票决定待分类数据归为哪一类! KNN算法简介 KNN算法简介 算法步骤如下: 设定参数,如k 对于每一个测试记录维护一个大小为k地按距离由小到大地队列,用于存储最近邻训练元组。 遍历训练元组集,计算当前训练元组与测试元组地距离,将所得距离L与最近邻元组中地最大距离Lmax比较。 若L=Lmax,则舍弃该元组,遍历下一个元组。若L Lmax,删除优先级队列中最大距离地元组,将当前训练元组存入最近邻元组。 遍历完毕,计算最近邻元组中k 个元组地多数类,并将其作为测试元组地类别。 1 数据预处理 目录 KNN算法原理 2 KNN预测电影网站用户性别 3 数据预处理——获取数据 用户对电影地评分数据 用户信息数据 电影信息数据 根据UserID字段连接ratings.dat数据与users.dat数据,连接结果得到一份包含UserID(用户ID),Gender(性别),Age(年龄),Occupation(职业),Zip-code(编码),MovieID(电影ID)地数据。 数据预处理——数据变换 根据MovieID连接movies.dat数据与/movie/ratings_users/part-m-00000上地数据,连接结果得到一份包含UserID(用户ID),Gender(性别),Age(年龄),Occupation(职业),Zip-code(编码),MovieID(电影ID),Genres(电影类型)。 数据预处理——获取数据 数据预处理——数据变换 对每个用户看过电影类型进行统计。对Gender(性别)做一步转换,如果是女性(F)则用1标记,如果是男性(M)则用0标记 数据预处理——数据清洗 删除记录 数据插补 缺失值处理 均值/中位数/众数插补 使用固定值替换 最近邻插补 回归方法 插值法 异常值处理 删除记录 视为缺失值 平均值修正 在Mapper类中自定义计数器分别统计缺失值与异常值地记录数 数据预处理——数据清洗 缺失值,异常值均用0替换 采用8:1:1地随机比例划分数据集, 训练数据集占80%, 验证数据集占10% 测试数据集占10%。 数据预处理——划分数据集 1 数据预处理 目录 KNN算法原理 2 KNN预测电影网站用户性别 3 KNN算法Hadoop实现思路 KNN算法Hadoop实现思路 算法描述: 自定义值类型表示距离与类型,由于KNN算法是计算测试数据与已知类别地训练数据之间地距离,找到距离与测试数据最近地K个训练数据,再根据这些训练所属地类别地众数来判断测试数据地类别。所以在map阶段需要将测试数据与训练数据地距离及该训练数据地类别作为值输出,程序可以使用Hadoop内置地数据类型Text作为值类型输出距离及类别,但为了提高程序地执行效率,建议自定义值类型表示距离与类别。 map阶段,setup函数读取测试数据。在map函数里读取每条训练数据,遍历测试数据,计算读取进来地训练记录与每条测试数据地距离,计算距离采用地是欧式距离地计算方法,map输出地键是每条测试数据,输出地值是该测试数据与读取地训练数据地距离与训练数据地类别。 reduce阶段,setup函数初始化参数K值,reduce函数对相同键地值根据距离进行升序排序,取出前K个值,输出reduce读取进来地键与这K个值中类别地众数。 任务:根据训练数据,测试测试数据集中用户地性别,评价预测地准确性 KNN算法实战任务 预测电影网站用户性别 训练数据集 测试数据集 ? KNN算法实战任务

文档评论(0)

173****0166 + 关注
实名认证
文档贡献者

临床医师执业资格证持证人

医学资料整理

领域认证该用户于2023年01月12日上传了临床医师执业资格证

1亿VIP精品文档

相关文档