random_state ---summary
1-簡介
random_state 相當(dāng)于隨機(jī)數(shù)種子random.seed() 。random_state 與 random seed 作用是相同的。可參考:https://www.jianshu.com/p/4deb2cb2502f
?
對模型沒有影響,但是對于一些進(jìn)行隨機(jī)選擇的過程有影響。比如隨機(jī)拆分訓(xùn)練集和測試集。隨機(jī)種子一致的時(shí)候能保證每次結(jié)果的一致性
?
random_state---?如果你在需要設(shè)置隨機(jī)數(shù)種子的地方都設(shè)置好,那么當(dāng)別人重新運(yùn)行你的代碼的時(shí)候就能得到完全一樣的結(jié)果,復(fù)現(xiàn)和你一樣的過程。
?
2-原理(轉(zhuǎn)載自https://blog.csdn.net/Perfect_Accepted/article/details/81151952)
我們在使用sklearn的train_test_split函數(shù)隨機(jī)劃分?jǐn)?shù)據(jù)集生成training set 于test set時(shí),在函數(shù)train_test_split中有一個(gè)參數(shù)為random_state。
random_state:隨機(jī)數(shù)種子——其實(shí)就是該組隨機(jī)數(shù)的編號,在需要重復(fù)試驗(yàn)的時(shí)候,保證得到一組一樣的隨機(jī)數(shù)。比如每次都為1,其他參數(shù)一樣的情況下你得到的隨機(jī)數(shù)組是一樣的。當(dāng)為None時(shí),產(chǎn)生的隨機(jī)數(shù)組也會(huì)是隨機(jī)的。
隨機(jī)數(shù)的產(chǎn)生取決于種子,隨機(jī)數(shù)和種子之間的關(guān)系遵從以下兩個(gè)規(guī)則:種子不同,產(chǎn)生不同的隨機(jī)數(shù);種子相同,即使實(shí)例不同也產(chǎn)生相同的隨機(jī)數(shù)。
下面我們通俗的解釋一下就是:
參數(shù)test_size:如果是浮點(diǎn)數(shù),在0-1之間,表示test set的樣本占比;如果是整數(shù)的話就表示test set樣本數(shù)量。
test_size只是確定training set于test set的各自所占比例或者數(shù)量,并沒有確定數(shù)據(jù)的劃分規(guī)則。比如我們有數(shù)據(jù)集[1,2,3,4,5,6,7,8,9],我們確定test_size=3,那問題是我們應(yīng)該取哪三個(gè)數(shù)作為test set呢,這時(shí)候就應(yīng)該使用random_state來確定我們的劃分規(guī)則,假設(shè)我們?nèi)andom_state=1,它按一定的規(guī)則去取出我們的數(shù)據(jù),當(dāng)我們r(jià)andom_state=2時(shí),它又換成另一種規(guī)則去取我們的數(shù)據(jù),random_state的取值范圍為0-2^32。當(dāng)random_state=None時(shí),可以理解為隨機(jī)分配一個(gè)整數(shù)給random_state,這樣就導(dǎo)致每次運(yùn)行的結(jié)果都可能不同。
3-疑問
00-random_state=數(shù)值,內(nèi)部是否封裝了一個(gè)算法,算法是?
01-random_state的取值范圍為為什么是0-2^32?
?
4-待做
查看random_state源碼
轉(zhuǎn)載于:https://www.cnblogs.com/xin-qing3/p/11188138.html
總結(jié)
以上是生活随笔為你收集整理的random_state ---summary的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fit_transform和transf
- 下一篇: POI获取WORD信息