模型训练的MLlib.DataFrame格式

时间:2016-09-20 07:02:28

标签: apache-spark spark-dataframe

MLlib.train的大多数示例都使用从libsvm文件加载的数据。但是,对于我的情况,我从hive加载数据并直接将其存储在数据框中。

我想知道如何组织我的数据框(比如生成标签部分和特征部分),让模型直接使用它?我不想将数据帧存储回libsvm文件以供将来培训,但如果有必要,也欢迎如何做到这一点。

非常感谢。

============更新========

例如,我有一个如下数据框:

feature1 | feature2 | feature3 | feature4 |目标

1 1 2 1 1

2 1 3 5 1

1 2 1 1 0

...

我想将最后一列视为目标,将其他列视为功能,然后将其放入决策树,如下所示:

model = DecisionTree.trainClassifier(df, numClasses=2, categoricalFeaturesInfo={},
                                 impurity='gini', maxDepth=5, maxBins=32)

我如何定义哪个列的特征或目标在" df"这里?因为对于大多数示例,df从libsvm文件加载为:

data = MLUtils.loadLibSVMFile(sc, 'data/mllib/sample_libsvm_data.txt')

1 个答案:

答案 0 :(得分:0)

您可以通过创建LabeledPoints的RDD来实现。看看这个example。在此示例中,parts(0)是您的目标变量,而parts(1)包含空格分隔的功能列表。