摘要:與的區別意思就是是按著不同類別標簽的相對占比來進行的分折看看代碼結果如下我們設置的是十折,也就是說將分為十份,每次取一份來做集
1.KFold與StratifiedKFold的區別
class sklearn.model_selection.StratifiedKFold(n_splits=3, shuffle=False, random_state=None)
Stratified K-Folds cross-validator Provides train/test indices to split data in train/test sets.This cross-validation object is a variation of KFold that returns stratified folds. The folds are made by preserving the percentage of samples for each class
意思就是Stra~是按著不同類別標簽的相對占比來進行的分折
看看代碼
import numpy as np import sklearn.datasets as ds import sklearn.svm as sksvm import sklearn.model_selection as skmodsel a=[[i] for i in range(100)] b=[0]*30;b.extend([1]*30);b.extend([2]*30);b.extend([3]*10) K_strafold=skmodsel.StratifiedKFold(n_splits=10) K_folds=skmodsel.KFold(n_splits=10) for train_indices, test_indices in K_folds.split(a): d={} for i in train_indices: d[b[i]]=d.setdefault(b[i],0)+1 print(d) print("------------------") for train_indices, test_indices in K_strafold.split(a,b): d={} for i in train_indices: d[b[i]]=d.setdefault(b[i],0)+1 print(d) d={} for i in range(100): d[b[i]]=d.setdefault(b[i],0)+1 print(d)
結果如下
{0: 20, 1: 30, 2: 30, 3: 10} {0: 20, 1: 30, 2: 30, 3: 10} {0: 20, 1: 30, 2: 30, 3: 10} {0: 30, 1: 20, 2: 30, 3: 10} {0: 30, 1: 20, 2: 30, 3: 10} {0: 30, 1: 20, 2: 30, 3: 10} {0: 30, 1: 30, 2: 20, 3: 10} {0: 30, 1: 30, 2: 20, 3: 10} {0: 30, 1: 30, 2: 20, 3: 10} {0: 30, 1: 30, 2: 30} ------------------ {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} {0: 27, 1: 27, 2: 27, 3: 9} ------------------ {0: 30, 1: 30, 2: 30, 3: 10}
我們設置的是十折,也就是說將a分為十份,每次取一份來做test集
結果很明顯,類別標簽里有0,1,2各30個,和10個3標簽,他們的占比就是3:3:3:1
當直接使用KFold的時候,則是每次取出十個同一列表標簽的來做一折,看起來就好像是按著b的排列順序,第一次取0~9做第一折,10-19做第二折,以此類推
但當使用Stra~的時候,每次取都是按著占比來取的,每一折都滿足3:3:3:1,測試集也是滿足這種
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40975.html
摘要:在本文中,我們將以的決策樹和隨機森林預測獲勝者。用決策樹和隨機森林預測獲勝者導入數據集并解析日期導入熊貓作為。這將幫助我們查看決策樹分類器的預測是否正確?;煜仃囷@示了我們決策樹的正確和不正確的分類。 showImg(https://segmentfault.com/img/bVbcr26?w=750&h=383); 在本文中,我們將以Scikit-learn的決策樹和隨機森林預測NB...
摘要:貢獻者飛龍版本最近總是有人問我,把這些資料看完一遍要用多長時間,如果你一本書一本書看的話,的確要用很長時間。為了方便大家,我就把每本書的章節拆開,再按照知識點合并,手動整理了這個知識樹。 Special Sponsors showImg(https://segmentfault.com/img/remote/1460000018907426?w=1760&h=200); 貢獻者:飛龍版...
摘要:安裝安裝用于數據科學的的最佳方法是使用發行版。但這只是展示了構建數據科學問題的不同方式中的機器學習這是一個重要的主題,機器學習正在風靡世界,是數據科學家工作的重要組成部分。 作為編程界的頭牌名媛,Python平易近人的態度和精明婉約的靈動深得各個大佬歡心。比如:人工智能、web開發、爬蟲、系統運維、數據分析與計算等等。這幾位風流多金的行業精英隨便哪個都能逆轉未來。 本文為你精心準備了一...
閱讀 998·2023-04-26 02:21
閱讀 2818·2021-09-24 09:47
閱讀 1608·2019-08-30 15:55
閱讀 2165·2019-08-30 14:01
閱讀 2320·2019-08-29 14:01
閱讀 2048·2019-08-29 12:46
閱讀 815·2019-08-26 13:27
閱讀 1933·2019-08-26 12:23