當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pyspark MLUtils.loadLibSVMFile用法及代碼示例

本文簡要介紹 pyspark.mllib.util.MLUtils.loadLibSVMFile 的用法。

用法:

static loadLibSVMFile(sc, path, numFeatures=- 1, minPartitions=None)

將 LIBSVM 格式的標記數據加載到 LabeledPoint 的 RDD 中。 LIBSVM 格式是 LIBSVM 和 LIBLINEAR 使用的基於文本的格式。每條線表示使用以下格式的標記稀疏特征向量:

標簽 index1:value1 index2:value2 …

其中索引是從一開始並按升序排列的。此方法將每一行解析為一個 LabeledPoint,其中特征索引轉換為從零開始的。

1.0.0 版中的新函數。

參數

scSparkContext

Spark上下文

pathstr

任何 Hadoop-supported 文件係統 URI 中的文件或目錄路徑

numFeatures整數,可選

特征的數量,如果給出非正值,將從輸入數據中確定。當數據集已經拆分為多個文件並且您想單獨加載它們時,這很有用,因為某些文件中可能不存在某些特征,這會導致特征尺寸不一致。

minPartitions整數,可選

最小分區數

返回

pyspark.RDD

標記數據存儲為 LabeledPoint 的 RDD

例子

>>> from tempfile import NamedTemporaryFile
>>> from pyspark.mllib.util import MLUtils
>>> from pyspark.mllib.regression import LabeledPoint
>>> tempFile = NamedTemporaryFile(delete=True)
>>> _ = tempFile.write(b"+1 1:1.0 3:2.0 5:3.0\n-1\n-1 2:4.0 4:5.0 6:6.0")
>>> tempFile.flush()
>>> examples = MLUtils.loadLibSVMFile(sc, tempFile.name).collect()
>>> tempFile.close()
>>> examples[0]
LabeledPoint(1.0, (6,[0,2,4],[1.0,2.0,3.0]))
>>> examples[1]
LabeledPoint(-1.0, (6,[],[]))
>>> examples[2]
LabeledPoint(-1.0, (6,[1,3,5],[4.0,5.0,6.0]))

相關用法


注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.mllib.util.MLUtils.loadLibSVMFile。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。