使用Pyspark将pandas.Dataframe转为LabeledPoint
本人刚刚开始学习pyspark,由于之前只在单机中进行过数据处理,习惯利用python中的pandas进行数据预处理,但是在pyspark中,模型训练时只支持LabeledPoint数据,所以使用pandas的Dataframe处理完数据以后需要将其转化为LabeledPoint,在此过程中查询了许多博文,看了stackflow的解决方法,在此总结一下。
标注点(LabeledPoint)
标注点LabeledPoint是一种带有标签(Label/Response)的本地向量,它可以是稠密或者是稀疏的。在MLlib中,标注点在监督学习算法中被使用。由于标签是用双精度浮点型来存储的,故标注点类型在回归(Regression)和分类(Classification)问题上均可使用。例如,对于二分类问题,则正样本的标签为1,负样本的标签为0,而对于多类别的分类问题来说,标签则应是一个以0开始的索引序列:0, 1, 2 …
参数
- label — 数据集的label
- features — 数据集