2017-03-16 91 views
0

我在Hive中有火車設置表。有600列,0〜599列是特徵,如年齡,性別......和最後一列是0和1的標籤。 我讀表爲df和df也有600列。MLLib只接受libsvm數據格式嗎?

但我發現,在火花(python)文檔中,模型像隨機森林,只接受libsvm格式的數據。

data = spark.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt") 

所以我不知道MLLib是否只接受libsvm數據格式? 如果是這樣,我怎樣才能將我的數據集轉換爲libsvm格式,因爲我的數據集是存儲爲配置表格的分佈數據。

感謝

回答

-2

如果您的數據存儲在蜂巢,你可以通過SQL火花閱讀它們,你會得到的數據幀,那麼你可以通過sqark訓練數據幀。可以找到示例代碼enter link description here

+0

鏈接中的代碼使用具有兩列的數據格式:標籤和功能,這與我的數據格式不同。 – yanachen

+0

dataframe也可以通過保存爲libsvm格式。保存(「xxxxxx」).try這個 –

+0

val訓練= spark.createDataFrame(Seq( (1.0,Vectors.dense(0.0,1.1,0.1)), (0.0,Vectors.dense(2.0,1.0,-1.0)), (0.0,Vectors.dense(2.0,1.3,1.0)), (1.0,Vectors.dense(0.0,1.2,-0.5)) ) ).toDF(「label」,「features」)training.write.format(「libsvm」)。save(「mylibsvmfile」)''' –