我來自使用Scikit學習運行ML算法,所以MLlib是相當新的。據說,我確實在最近一次演示中使用了Cloudera的github,我留下了一個問題。如何使用MLlib運行此決策樹?
說我正在使用決策樹進行二進制分類。我想預測一個物體是蘋果還是桔子。進入特徵部分的兩個參數是列表[x(float),y(binary)]。 X將指示物體的重量,並且y將指示0或1(平滑或顛簸)。
然後我有一個也是二進制的列表(0 = apple,1 = orange)。當我使用Scikit學習,我將它們保存到這樣的事情:
features_list = [[140, 0], [150, 0], [160, 1], [170, 1]]
labels = [0, 0, 1, 1]
在此,每個標籤0或1將對應於features_list的項目。因此,第一個0是功能標籤[140 0]等
現在,當我去訓練我的模型,我的代碼看起來是這樣的:
clf = tree.DecisionTreeClassifier()
clf = clf.fit(ml_list, labels)
當我將做一個預測,我會寫的代碼是這樣的:
print(clf.predict([180, 1])
當在MLlib文件看,似乎參數是「labelscol」和「featurescol」。我嘗試將我的ml_list和標籤傳遞給這些參數,並引發錯誤。
我的問題是,有沒有什麼辦法可以運行ML算法,就像我通過使用MLlib使用這兩個列表一樣進行Scikit學習?任何幫助將是偉大的!
你見過這樣的: - https://spark.apache.org/docs/latest/mllib-decision-tree。 html#examples –
@VivekKumar我已經看到了,但我很困惑我是否可以將列名而不是列名作爲特徵/標籤。 – rmahesh
爲什麼不找出來! –