[英]How to use Leave-one-Out method to predict Y with multiple columns using SKlearn?
[英]How to build Baseline model to predict Y with multiple values using skLearn
我有一個如下所示的示例數據框。 我想建立一個基線 model 來預測y_combined
使用X=df.filter(regex='x_')
:
df = pd.DataFrame({
'x_1':[0.1,0.2,0.1,0],
'x_2':[0.5,0.1,0.3,0.4],
'x_3':[0.2,0.1,0.6,0.1],
'x_4':[0,0.5,0.2,0.3],
'y_1': [0, 1, 1, 0],
'y_2': [0, 0, 1, 0],
'y_3': [0, 1, 0, 1],
'y_combined': [np.array([0, 0, 0]), np.array([1, 0, 1]),
np.array([1, 1, 0]), np.array([0, 0, 1])]
})
我是基線 model 大樓的新手。 要獲得y_predicted
,我應該如何使用strategy="constant"
指定 DummyClassifer() model ? 還是我應該使用不同的策略?
例如,如果y_predicted = [1,1,1]
,那么我將通過獲取y_combined
和y_predicted
之間的平均質心來查看預測 model 的執行情況。
我將在您想使用DummyClassifier
使用strategy='constant'
設置為多標簽分類問題構建基線 model 的前提下回答您的問題,其中 output 等於y_combined
的df
。 在這種情況下,以下代碼將起作用:
from sklearn.dummy import DummyClassifier
import numpy as np
import pandas as pd
X = pd.DataFrame({
'x_1': [0.1,0.2,0.1,0],
'x_2': [0.5,0.1,0.3,0.4],
'x_3': [0.2,0.1,0.6,0.1],
'x_4': [0,0.5,0.2,0.3]
})
y = np.array([[0, 0, 0], [1, 0, 1], [1, 1, 0], [0, 0, 1]])
clf = DummyClassifier(strategy='constant', constant=np.array([1, 1, 1]))
clf.fit(X, y)
請注意,當您使用strategy='constant'
時,您還必須 state 應該通過DummyClassifier
的constant=...
參數預測的常量值。 您將看到基線 model 現在將始終預測指定的常量值,無論輸入如何:
y_pred = clf.predict(X)
print(y_pred)
# output
[[1 1 1]
[1 1 1]
[1 1 1]
[1 1 1]]
由於您還詢問了其他策略,因此您基本上可以選擇DummyClassifier
文檔中提到的任何策略。 正如用戶指南中所述,它們都有一個共同的行為:
請注意,對於所有這些策略,predict 方法完全忽略了輸入數據!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.