一、实验目的
(1)通过实验掌握基本的 MLLib 编程方法;
(2)掌握用 MLLib 解决一些常见的数据分析问题,包括数据导入、成分分析和分类和预测等。
二、实验平台
操作系统:Ubuntu16.04
JDK 版本:1.7 或以上版本
Spark 版本:2.1.0
数据集:下载 Adult 数据集(http://archive.ics.uci.edu/ml/datasets/Adult),该数据集也可以直接到本教程官网的“下载专区”的“数据集”中下载。数据从美国 1994 年人口普查数据库抽取而来,可用来预测居民收入是否超过 50K$/year。该数据集类变量为年收入是否超过50k$,属性变量包含年龄、工种、学历、职业、人种等重要信息,值得一提的是,14 个属性变量中有 7 个类别型变量。
三、实验内容和要求
1.数据导入
从文件中导入数据,并转化为 DataFrame。
2.进行主成分分析(PCA)
对 6 个连续型的数值型变量进行主成分分析。PCA(主成分分析)是通过正交变换把一组相关变量的观测值转化成一组线性无关的变量值,即主成分的一种方法。PCA 通过使用主成分把特征向量投影到低维空间,实现对特征向量的降维。请通过 setK()方法将主成分数量设置为 3,把连续型的特征向量转化成一个 3 维的主成分。
3.训练分类模型并预测居民收入在主成分分析的基础上,采用逻辑斯蒂回归,或者决策树模型预测居民收入是否超过50K;对 Test 数据集进行验证。
4.超参数调优
利用 CrossValidator 确定最优的参数,包括最优主成分 PCA 的维数、分类器自身的参数等。