一、实验目的
(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 的维数、分类器自身的参数
等。