我正在尝试使用 pySpark 实现多类分类,我花了很多时间搜索网络,并且我读到现在可以使用 Spark 2.1.0。
我已经生成了自己的具有全数字特征的数据集,并且创建了如下所示的 DataFrame;
我有三个类“Service_Level”,它们是 0、1 或 2。
问题:
- 如果我有这些功能,我是否必须使用 LabeledPoints?
- 如何使用多层感知器而不是逻辑回归?
谢谢。
由于没有答案,我将分享我在研究过程中观察到的情况。在 Spark 2.1.0 中使用Spark MLlib
现在处于维护模式的标记点是可以的。然而,我的特征是分类的,因此使用 DataFrame API 时Spark ML
,我必须使用 StringIndexer、OneHotEncoder 和 Pipelines 将它们转换为向量来选择我的特征和标签。
回答问题
是的,标记点可以与这些功能一起使用,但在使用 Spark MLlib 时。我无法实现多层感知器,因为不知何故它需要libsvm
我没有的格式化数据,也无法将我的 CSV 转换成这样的数据。
在最终实现中,我不得不使用基于 Dataframe 的 APISpark ml