新星火,和所有的例子我已阅读处理小数据集,如:PySpark:许多功能,标记点RDD
RDD = sc.parallelize([
LabeledPoint(1, [1.0, 2.0, 3.0]),
LabeledPoint(2, [3.0, 4.0, 5.0]),
但是,我有50多个功能的大型数据集。一排
u'2596,51,3,258,0,510,221,232,148,6279,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,5'
的
例子我想快速创建一个Labeledpoint RDD在PySpark。我尝试将最后一个位置作为Labeledpoint RDD中的第一个数据点索引,然后将第一个n-1位置索引为稠密向量。但是,我收到以下错误。任何指导表示赞赏!注意:如果在创建标记点时将[]更改为(),则会出现“无效语法”错误。
df = myDataRDD.map(lambda line: line.split(','))
data = [
LabeledPoint(df[54], df[0:53])
]
TypeError: 'PipelinedRDD' object does not support indexing
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-67-fa1b56e8441e> in <module>()
2 df = myDataRDD.map(lambda line: line.split(','))
3 data = [
----> 4 LabeledPoint(df[54], df[0:53])
5 ]
TypeError: 'PipelinedRDD' object does not support indexing
为了便于说明,在提及最后一个位置作为第一个数据点时,是否将此作为标签和其余元素作为LabaledPoint类的特征来提及? –