高斯樸素貝葉斯#
- class sklearn.naive_bayes.GaussianNB(*, priors=None, var_smoothing=1e-09)[原始碼]#
高斯朴素貝氏 (GaussianNB)。
可以透過
partial_fit
執行模型參數的線上更新。有關用於線上更新特徵均值和變異數的演算法詳細資訊,請參閱 Chan、Golub 和 LeVeque 的 Stanford CS 技術報告 STAN-CS-79-773。請在 使用者指南 中閱讀更多資訊。
- 參數:
- priors形狀為 (n_classes,) 的類陣列,預設值為 None
類別的先驗機率。如果指定,則先驗機率不會根據資料進行調整。
- var_smoothingfloat,預設值為 1e-9
為了計算穩定性,加入到變異數中的所有特徵最大變異數的比例。
於 0.20 版本新增。
- 屬性:
- class_count_形狀為 (n_classes,) 的 ndarray
每個類別中觀察到的訓練樣本數量。
- class_prior_形狀為 (n_classes,) 的 ndarray
每個類別的機率。
- classes_形狀為 (n_classes,) 的 ndarray
分類器已知的類別標籤。
- epsilon_float
變異數的絕對附加值。
- n_features_in_int
在 fit 期間看到的特徵數量。
於 0.24 版本新增。
- feature_names_in_形狀為 (
n_features_in_
,) 的 ndarray 在 fit 期間看到的特徵名稱。僅當
X
具有全部為字串的特徵名稱時才定義。於 1.0 版本新增。
- var_形狀為 (n_classes, n_features) 的 ndarray
每個類別中每個特徵的變異數。
於 1.0 版本新增。
- theta_形狀為 (n_classes, n_features) 的 ndarray
每個類別中每個特徵的平均值。
另請參閱
伯努利樸素貝葉斯 (BernoulliNB)
多變數 Bernoulli 模型朴素貝氏分類器。
類別樸素貝葉斯 (CategoricalNB)
類別特徵朴素貝氏分類器。
補集樸素貝葉斯 (ComplementNB)
互補朴素貝氏分類器。
多項式樸素貝葉斯 (MultinomialNB)
多項式模型朴素貝氏分類器。
範例
>>> import numpy as np >>> X = np.array([[-1, -1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]]) >>> Y = np.array([1, 1, 1, 2, 2, 2]) >>> from sklearn.naive_bayes import GaussianNB >>> clf = GaussianNB() >>> clf.fit(X, Y) GaussianNB() >>> print(clf.predict([[-0.8, -1]])) [1] >>> clf_pf = GaussianNB() >>> clf_pf.partial_fit(X, Y, np.unique(Y)) GaussianNB() >>> print(clf_pf.predict([[-0.8, -1]])) [1]
- fit(X, y, sample_weight=None)[原始碼]#
根據 X、y 擬合高斯朴素貝氏。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
訓練向量,其中
n_samples
是樣本數,n_features
是特徵數。- y形狀為 (n_samples,) 的類陣列
目標值。
- sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None
套用到個別樣本的權重(未加權則為 1)。
於 0.17 版本新增: 高斯朴素貝氏支援使用 *sample_weight* 進行擬合。
- 返回:
- self物件
返回實例本身。
- get_metadata_routing()[原始碼]#
取得此物件的中繼資料路由。
請查看 使用者指南 以了解路由機制如何運作。
- 返回:
- routingMetadataRequest
一個封裝路由資訊的
MetadataRequest
。
- get_params(deep=True)[原始碼]#
取得此估計器的參數。
- 參數:
- deepbool,預設值為 True
如果為 True,將會返回此估計器的參數以及所包含的估計器子物件。
- 返回:
- paramsdict
對應到其值的參數名稱。
- partial_fit(X, y, classes=None, sample_weight=None)[原始碼]#
在批次樣本上執行增量擬合。
這個方法預期會在資料集的不同的區塊上連續呼叫數次,以實作核心外或線上學習。
當整個資料集太大而無法一次放入記憶體時,這特別有用。
此方法有一些效能和數值穩定性的開銷,因此最好在盡可能大的資料區塊上呼叫 partial_fit (只要符合記憶體預算),以隱藏開銷。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
訓練向量,其中
n_samples
是樣本數,n_features
是特徵數。- y形狀為 (n_samples,) 的類陣列
目標值。
- classes形狀為 (n_classes,) 的類陣列,預設值為 None
y 向量中可能出現的所有類別的清單。
必須在第一次呼叫 partial_fit 時提供,後續呼叫可以省略。
- sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None
套用到個別樣本的權重(未加權則為 1)。
於 0.17 版本新增。
- 返回:
- self物件
返回實例本身。
- predict(X)[原始碼]#
對測試向量陣列 X 執行分類。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
輸入樣本。
- 返回:
- C形狀為 (n_samples,) 的 ndarray
X 的預測目標值。
- predict_joint_log_proba(X)[原始碼]#
回傳測試向量 X 的聯合對數機率估計值。
對於 X 的每一列 x 和類別 y,聯合對數機率由
log P(x, y) = log P(y) + log P(x|y)
給定,其中log P(y)
是類別的先驗機率,而log P(x|y)
是類別條件機率。- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
輸入樣本。
- 返回:
- C形狀為 (n_samples, n_classes) 的 ndarray
回傳模型中每個類別的樣本聯合對數機率。各欄對應於屬性 classes_ 中依排序順序排列的類別。
- predict_log_proba(X)[原始碼]#
回傳測試向量 X 的對數機率估計值。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
輸入樣本。
- 返回:
- C形狀為 (n_samples, n_classes) 的類陣列 (array-like)
回傳模型中每個類別的樣本對數機率。各欄對應於屬性 classes_ 中依排序順序排列的類別。
- predict_proba(X)[原始碼]#
回傳測試向量 X 的機率估計值。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
輸入樣本。
- 返回:
- C形狀為 (n_samples, n_classes) 的類陣列 (array-like)
回傳模型中每個類別的樣本機率。各欄對應於屬性 classes_ 中依排序順序排列的類別。
- score(X, y, sample_weight=None)[原始碼]#
回傳給定測試資料和標籤的平均準確率。
在多標籤分類中,這是子集準確率,這是一個嚴苛的指標,因為您要求每個樣本的每個標籤集都被正確預測。
- 參數:
- X形狀為 (n_samples, n_features) 的類陣列
測試樣本。
- y形狀為 (n_samples,) 或 (n_samples, n_outputs) 的類陣列 (array-like)
X
的真實標籤。- sample_weight形狀為 (n_samples,) 的類陣列,預設值為 None
樣本權重。
- 返回:
- score浮點數 (float)
self.predict(X)
相對於y
的平均準確率。
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') GaussianNB [原始碼]#
請求傳遞至
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_partial_fit_request(*, classes: bool | None | str = '$UNCHANGED$', sample_weight: bool | None | str = '$UNCHANGED$') GaussianNB [原始碼]#
請求傳遞給
partial_fit
方法的中繼資料。請注意,此方法僅在
enable_metadata_routing=True
時才相關(請參閱sklearn.set_config
)。請參閱 使用者指南,了解路由機制的運作方式。每個參數的選項為
True
:請求中繼資料,如果提供,則傳遞給partial_fit
。如果未提供中繼資料,則會忽略該請求。False
:不請求中繼資料,且元估算器不會將其傳遞給partial_fit
。None
:不請求中繼資料,如果使用者提供,則 meta-estimator 會引發錯誤。str
:中繼資料應以給定的別名(而不是原始名稱)傳遞給 meta-estimator。
預設值 (
sklearn.utils.metadata_routing.UNCHANGED
) 保留現有的請求。這讓您可以變更某些參數的請求,而其他參數則不變。在 1.3 版本中新增。
注意
此方法僅在此估算器用作 meta-estimator 的子估算器時才相關,例如在
Pipeline
內使用時。否則,它沒有任何作用。- 參數:
- classesstr、True、False 或 None,預設值 = sklearn.utils.metadata_routing.UNCHANGED
partial_fit
中classes
參數的中繼資料路由。- sample_weightstr、True、False 或 None,預設值為 sklearn.utils.metadata_routing.UNCHANGED
partial_fit
中sample_weight
參數的中繼資料路由。
- 返回:
- self物件
更新後的物件。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') GaussianNB [原始碼]#
請求傳遞給
score
方法的中繼資料。請注意,此方法僅在
enable_metadata_routing=True
時才相關(請參閱sklearn.set_config
)。請參閱 使用者指南,了解路由機制的運作方式。每個參數的選項為
True
:請求中繼資料,如果提供,則傳遞給score
。如果未提供中繼資料,則會忽略該請求。False
:不請求中繼資料,且元估算器不會將其傳遞給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物件
更新後的物件。