虛擬分類器#
- class sklearn.dummy.DummyClassifier(*, strategy='prior', random_state=None, constant=None)[原始碼]#
DummyClassifier 進行預測時會忽略輸入特徵。
此分類器作為簡單的基準,以便與其他更複雜的分類器進行比較。
基準的特定行為是使用
strategy
參數選擇的。所有策略進行預測時都會忽略作為
X
引數傳遞給fit
和predict
的輸入特徵值。然而,預測通常取決於傳遞給fit
的y
參數中觀察到的值。請注意,“分層”和“均勻”策略會導致非確定性的預測,如果需要,可以通過設定
random_state
參數來使其成為確定性的。其他策略自然是確定性的,並且一旦擬合,對於X
的任何值,始終會返回相同的常數預測。請在 使用者指南 中閱讀更多內容。
在 0.13 版本中新增。
- 參數:
- strategy{"most_frequent", "prior", "stratified", "uniform", "constant"}, default="prior"
用於產生預測的策略。
“most_frequent”:
predict
方法始終返回傳遞給fit
的觀察到的y
引數中最頻繁的類別標籤。predict_proba
方法返回匹配的獨熱編碼向量。“prior”:
predict
方法始終返回傳遞給fit
的觀察到的y
引數中最頻繁的類別標籤(如“most_frequent”)。predict_proba
始終返回y
的經驗類別分佈,也稱為經驗類別先驗分佈。“stratified”:
predict_proba
方法從由經驗類別先驗機率參數化的多項分佈中隨機取樣獨熱向量。predict
方法返回在predict_proba
的獨熱向量中獲得機率 1 的類別標籤。因此,兩種方法的每個取樣列都是獨立且同分佈的。“uniform”:從
y
中觀察到的唯一類別列表中以均勻隨機的方式產生預測,也就是說,每個類別具有相等的機率。“constant”:始終預測使用者提供的常數標籤。這對於評估非多數類別的指標很有用。
在 0.24 版本中變更:
strategy
的預設值在 0.24 版本中已變更為 “prior”。
- random_stateint, RandomState 實例或 None, default=None
當
strategy='stratified'
或strategy='uniform'
時,控制產生預測的隨機性。傳遞一個整數以便在多個函數調用之間實現可重現的輸出。請參閱 詞彙表。- constantint 或 str 或形狀為 (n_outputs,) 的類陣列, default=None
“常數”策略預測的明確常數。此參數僅對“常數”策略有用。
- 屬性:
- classes_形狀為 (n_classes,) 的 ndarray 或此類陣列的列表
在
y
中觀察到的唯一類別標籤。對於多輸出分類問題,此屬性是陣列的列表,因為每個輸出都有獨立的一組可能類別。- n_classes_int 或 int 的列表
每個輸出的標籤數。
- class_prior_形狀為 (n_classes,) 的 ndarray 或此類陣列的列表
在
y
中觀察到的每個類別的頻率。對於多輸出分類問題,它是針對每個輸出獨立計算的。- n_features_in_int
在 擬合期間看到的特徵數。
- feature_names_in_形狀為 (
n_features_in_
,) 的 ndarray 在 擬合期間看到的特徵名稱。僅當
X
具有全部為字串的特徵名稱時才定義。- n_outputs_int
輸出數。
- sparse_output_bool
如果從預測返回的陣列採用稀疏 CSC 格式,則為 True。如果輸入
y
以稀疏格式傳遞,則自動設定為 True。
另請參閱
DummyRegressor
使用簡單規則進行預測的迴歸器。
範例
>>> import numpy as np >>> from sklearn.dummy import DummyClassifier >>> X = np.array([-1, 1, 1, 1]) >>> y = np.array([0, 1, 1, 1]) >>> dummy_clf = DummyClassifier(strategy="most_frequent") >>> dummy_clf.fit(X, y) DummyClassifier(strategy='most_frequent') >>> dummy_clf.predict(X) array([1, 1, 1, 1]) >>> dummy_clf.score(X, y) 0.75
- fit(X, y, sample_weight=None)[原始碼]#
擬合基準分類器。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
訓練資料。
- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列
目標值。
- sample_weight形狀為 (n_samples,) 的類陣列, default=None
樣本權重。
- 返回:
- self物件
返回實例本身。
- get_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請查看使用者指南以了解路由機制如何運作。
- 返回:
- routingMetadataRequest
一個封裝路由資訊的
MetadataRequest
。
- get_params(deep=True)[原始碼]#
取得此估計器的參數。
- 參數:
- deepbool, default=True
如果為 True,將會傳回此估計器以及包含的子物件(也是估計器)的參數。
- 返回:
- paramsdict
參數名稱對應到它們的值。
- predict(X)[原始碼]#
對測試向量 X 執行分類。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
測試資料。
- 返回:
- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列
X 的預測目標值。
- predict_log_proba(X)[原始碼]#
傳回測試向量 X 的對數機率估計值。
- 參數:
- X{array-like, object with finite length or shape}
訓練資料。
- 返回:
- P形狀為 (n_samples, n_classes) 的 ndarray 或此類陣列的列表
傳回模型中每個類別的樣本對數機率,其中類別針對每個輸出以算術方式排序。
- predict_proba(X)[原始碼]#
傳回測試向量 X 的機率估計值。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
測試資料。
- 返回:
- P形狀為 (n_samples, n_classes) 的 ndarray 或此類陣列的列表
傳回模型中每個類別的樣本機率,其中類別針對每個輸出以算術方式排序。
- score(X, y, sample_weight=None)[原始碼]#
傳回給定測試資料和標籤的平均準確度。
在多標籤分類中,這是子集準確度,這是一個嚴苛的指標,因為您要求每個樣本的每個標籤集都要正確預測。
- 參數:
- XNone 或形狀為 (n_samples, n_features) 的 array-like 物件
測試樣本。將 None 作為測試樣本傳遞會得到與傳遞真實測試樣本相同的結果,因為 DummyClassifier 的運作與採樣的觀察值無關。
- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列
X 的真實標籤。
- sample_weight形狀為 (n_samples,) 的類陣列, default=None
樣本權重。
- 返回:
- scorefloat
self.predict(X) 相對於 y 的平均準確度。
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') DummyClassifier [原始碼]#
請求傳遞到
fit
方法的中繼資料。請注意,只有在
enable_metadata_routing=True
時此方法才相關(請參閱sklearn.set_config
)。請參閱使用者指南以了解路由機制如何運作。每個參數的選項如下
True
:請求中繼資料,如果提供則傳遞給fit
。如果未提供中繼資料,則會忽略請求。False
:不請求中繼資料,且 meta-estimator 不會將其傳遞給fit
。None
:不請求中繼資料,如果使用者提供,meta-estimator 將會引發錯誤。str
:應該將中繼資料以給定的別名傳遞給 meta-estimator,而不是原始名稱。
預設值 (
sklearn.utils.metadata_routing.UNCHANGED
) 會保留現有的請求。這讓您可以變更某些參數的請求,而不是其他參數。在 1.3 版本中新增。
注意
只有當此估計器用作 meta-estimator 的子估計器時,此方法才相關,例如在
Pipeline
內部使用。否則,它沒有任何作用。- 參數:
- sample_weightstr、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
fit
中sample_weight
參數的中繼資料路由。
- 返回:
- self物件
更新的物件。
- set_params(**params)[原始碼]#
設定此估計器的參數。
此方法適用於簡單估計器以及巢狀物件(例如
Pipeline
)。後者的參數形式為<component>__<parameter>
,因此可以更新巢狀物件的每個元件。- 參數:
- **paramsdict
估計器參數。
- 返回:
- self估計器實例
估計器實例。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') DummyClassifier [原始碼]#
請求傳遞到
score
方法的中繼資料。請注意,只有在
enable_metadata_routing=True
時此方法才相關(請參閱sklearn.set_config
)。請參閱使用者指南以了解路由機制如何運作。每個參數的選項如下
True
:請求中繼資料,如果提供則傳遞給score
。如果未提供中繼資料,則會忽略請求。False
:不請求中繼資料,且 meta-estimator 不會將其傳遞給score
。None
:不請求中繼資料,如果使用者提供,meta-estimator 將會引發錯誤。str
:應該將中繼資料以給定的別名傳遞給 meta-estimator,而不是原始名稱。
預設值 (
sklearn.utils.metadata_routing.UNCHANGED
) 會保留現有的請求。這讓您可以變更某些參數的請求,而不是其他參數。在 1.3 版本中新增。
注意
只有當此估計器用作 meta-estimator 的子估計器時,此方法才相關,例如在
Pipeline
內部使用。否則,它沒有任何作用。- 參數:
- sample_weightstr、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
score
中sample_weight
參數的中繼資料路由。
- 返回:
- self物件
更新的物件。