簡體   English   中英

多輸出回歸

[英]Multi-output regression

我一直在尋找多輸出回歸的最后幾周。 我正在使用scikit學習包。 我的機器學習問題有3個功能的輸入,需要預測兩個輸出變量。 sklearn包中的一些ML模型支持多輸出回歸。 如果模型不支持此功能,則可以使用sklearn多輸出回歸算法對其進行轉換。 輸出類適合每個目標的一個回歸量。

  1. mulioutput回歸類或支持的多輸出回歸算法是否將輸入變量的基礎關系考慮在內?
  2. 我應該使用神經網絡而不是多輸出回歸算法嗎?

1)關於你的第一個問題,我將其分為兩部分。

  • 第一部分的答案寫在您鏈接的文檔中,也包含在本用戶指南主題中 ,該主題明確指出:

    由於MultiOutputRegressor每個目標適合一個回歸量,因此無法利用目標之間的相關性。

  • 第一個問題的第二部分詢問其他支持此問題的算法。 為此,您可以查看用戶指南中的固有多類部分。 本質上是多類意味着它們不使用One-vs-Rest或One-vs-One策略來處理多類(OvO和OvR使用多個模型來適應多個類,因此可能不會使用它們之間的關系目標)。 本質上是多類意味着他們可以將多類設置構建為單個模型。 這列出了以下內容:

     sklearn.naive_bayes.BernoulliNB sklearn.tree.DecisionTreeClassifier sklearn.tree.ExtraTreeClassifier sklearn.ensemble.ExtraTreesClassifier sklearn.naive_bayes.GaussianNB sklearn.neighbors.KNeighborsClassifier sklearn.semi_supervised.LabelPropagation sklearn.semi_supervised.LabelSpreading sklearn.discriminant_analysis.LinearDiscriminantAnalysis sklearn.svm.LinearSVC (setting multi_class=”crammer_singer”) sklearn.linear_model.LogisticRegression (setting multi_class=”multinomial”) ... ... ... 

    嘗試使用'Regressor'替換最后的'Classifier',並在那里查看fit()方法的文檔。 例如,讓我們來看看DecisionTreeRegressor.fit()

     y : array-like, shape = [n_samples] or [n_samples, n_outputs] The target values (real numbers). Use dtype=np.float64 and order='C' for maximum efficiency. 

    您會看到它支持目標( y )的二維數組。 因此它可以使用目標的相關性和潛在關系。

2)現在關於使用神經網絡的第二個問題,它取決於個人偏好,問題類型,數據的數量和類型,以及您想要進行的訓練迭代。 也許您可以嘗試多種算法,並選擇能為您的數據和問題提供最佳輸出的算法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM