本文簡要介紹python語言中 sklearn.model_selection.StratifiedGroupKFold
的用法。
用法:
class sklearn.model_selection.StratifiedGroupKFold(n_splits=5, shuffle=False, random_state=None)
具有非重疊組的分層K-Folds 迭代器變體。
此交叉驗證對象是 StratifiedKFold 的變體,嘗試返回具有不重疊組的分層折疊。通過保留每個類別的樣本百分比來進行折疊。
同一組不會出現在兩個不同的折疊中(不同組的數量必須至少等於折疊的數量)。
GroupKFold 和 StratifiedGroupKFold 之間的區別在於,前者嘗試創建平衡折疊,以便每個折疊中不同組的數量大致相同,而 StratifiedGroupKFold 嘗試創建保留每個折疊中樣本百分比的折疊。考慮到分割之間不重疊組的約束,盡可能多地分類。
在用戶指南中閱讀更多信息。
- n_splits:整數,默認=5
折疊次數。必須至少為 2。
- shuffle:布爾,默認=假
是否在分成批次之前對每個類的樣本進行洗牌。請注意,每個拆分中的樣本不會被打亂。此實現隻能對具有大致相同 y 分布的組進行 shuffle,不會執行全局 shuffle。
- random_state:int 或 RandomState 實例,默認=無
當
shuffle
為 True 時,random_state
會影響索引的順序,從而控製每個類的每次折疊的隨機性。否則,將random_state
保留為None
。傳遞 int 以在多個函數調用之間實現可重現的輸出。請參閱術語表。
參數:
注意:
該實施旨在:
- 對於微不足道的組,盡可能模仿 StratifiedKFold 的行為(例如,當每個組僅包含一個樣本時)。
- 對類標簽保持不變:將
y = ["Happy", "Sad"]
重新標記為y = [1, 0]
不應更改生成的索引。 - 盡可能基於樣本進行分層,同時保持非重疊組約束。這意味著在某些情況下,當少數組包含大量樣本時,將無法進行分層,並且行為將接近 GroupKFold。
例子:
>>> import numpy as np >>> from sklearn.model_selection import StratifiedGroupKFold >>> X = np.ones((17, 2)) >>> y = np.array([0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]) >>> groups = np.array([1, 1, 2, 2, 3, 3, 3, 4, 5, 5, 5, 5, 6, 6, 7, 8, 8]) >>> cv = StratifiedGroupKFold(n_splits=3) >>> for train_idxs, test_idxs in cv.split(X, y, groups): ... print("TRAIN:", groups[train_idxs]) ... print(" ", y[train_idxs]) ... print(" TEST:", groups[test_idxs]) ... print(" ", y[test_idxs]) TRAIN: [1 1 2 2 4 5 5 5 5 8 8] [0 0 1 1 1 0 0 0 0 0 0] TEST: [3 3 3 6 6 7] [1 1 1 0 0 0] TRAIN: [3 3 3 4 5 5 5 5 6 6 7] [1 1 1 1 0 0 0 0 0 0 0] TEST: [1 1 2 2 8 8] [0 0 1 1 0 0] TRAIN: [1 1 2 2 3 3 3 6 6 7 8 8] [0 0 1 1 1 1 1 0 0 0 0 0] TEST: [4 5 5 5 5] [1 0 0 0 0]
相關用法
- Python sklearn StratifiedShuffleSplit用法及代碼示例
- Python sklearn StratifiedKFold用法及代碼示例
- Python sklearn StackingRegressor用法及代碼示例
- Python sklearn StackingClassifier用法及代碼示例
- Python sklearn StandardScaler用法及代碼示例
- Python sklearn ShrunkCovariance用法及代碼示例
- Python sklearn SelfTrainingClassifier用法及代碼示例
- Python sklearn SelectFromModel用法及代碼示例
- Python sklearn SparsePCA用法及代碼示例
- Python sklearn SpectralEmbedding用法及代碼示例
- Python sklearn SelectFpr用法及代碼示例
- Python sklearn ShuffleSplit用法及代碼示例
- Python sklearn SpectralClustering用法及代碼示例
- Python sklearn Sum用法及代碼示例
- Python sklearn SpectralBiclustering用法及代碼示例
- Python sklearn SVR用法及代碼示例
- Python sklearn SelectKBest用法及代碼示例
- Python sklearn SimpleImputer用法及代碼示例
- Python sklearn SGDOneClassSVM用法及代碼示例
- Python sklearn SVC用法及代碼示例
- Python sklearn SGDRegressor用法及代碼示例
- Python sklearn SequentialFeatureSelector用法及代碼示例
- Python sklearn SplineTransformer用法及代碼示例
- Python sklearn SelectPercentile用法及代碼示例
- Python sklearn SkewedChi2Sampler用法及代碼示例
注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.model_selection.StratifiedGroupKFold。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。