<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 淺談Bootstrap方法 > 原文: [https://machinelearningmastery.com/a-gentle-introduction-to-the-bootstrap-method/](https://machinelearningmastery.com/a-gentle-introduction-to-the-bootstrap-method/) 引導方法是一種重采樣技術,用于通過對替換的數據集進行采樣來估計總體的統計數據。 它可用于估計匯總統計數據,例如平均值或標準差。它用于應用機器學習,以在對未包括在訓練數據中的數據進行預測時估計機器學習模型的技能。 估計機器學習模型技能的結果的期望特性是估計技能可以用置信區間來呈現,該特征區間是諸如交叉驗證之類的其他方法不易獲得的特征。 在本教程中,您將發現用于估計機器學習模型在未見數據上的技能的引導程序重采樣方法。 完成本教程后,您將了解: * 引導方法涉及使用替換迭代地重新采樣數據集。 * 在使用引導程序時,您必須選擇樣本的大小和重復次數。 * scikit-learn提供了一個函數,您可以使用該函數重新采樣引導程序方法的數據集。 讓我們開始吧。 ![A Gentle Introduction to the Bootstrap Method](img/24057e8549daa5cb03ff20448f643257.jpg) 一個關于Bootstrap方法的溫和介紹 照片由 [john mcsporran](https://www.flickr.com/photos/127130111@N06/16789909464/) 拍攝,保留一些權利。 ## 教程概述 本教程分為4個部分;他們是: 1. Bootstrap方法 2. Bootstrap的配置 3. 工作示例 4. Bootstrap API ## Bootstrap方法 自舉方法是一種統計技術,用于通過平均來自多個小數據樣本的估計來估計關于群體的量。 重要的是,通過一次一個地從大數據樣本中繪制觀察結果并在選擇它們之后將它們返回到數據樣本來構建樣本。這允許給定的觀察不止一次地包括在給定的小樣本中。這種采樣方法稱為采樣替換。 構建一個樣本的過程可歸納如下: 1. 選擇樣本的大小。 2. 雖然樣本的大小小于所選的大小 1. 從數據集中隨機選擇一個觀測值 2. 將其添加到樣本中 引導方法可用于估計總體數量。這是通過重復采樣小樣本,計算統計量和計算統計量的平均值來完成的。我們可以總結這個程序如下: 1. 選擇要執行的許多引導程序示例 2. 選擇樣本大小 3. 對于每個bootstrap樣本 1. 使用所選尺寸替換樣品 2. 計算樣本的統計量 4. 計算計算的樣本統計量的平均值。 該過程還可用于估計機器學習模型的技能。 > 引導程序是一種廣泛適用且功能非常強大的統計工具,可用于量化與給定估計器或統計學習方法相關的不確定性。 - 第187頁,[統計學習導論](http://amzn.to/2FkHqvW),2013。 這是通過在樣品上訓練模型并評估模型的技能來完成的,這些樣品不包括在樣品中。這些未包含在給定樣品中的樣品稱為袋外樣品,或簡稱OOB。 使用bootstrap方法估計模型技能的這個過程可以總結如下: 1. 選擇要執行的許多引導程序示例 2. 選擇樣本大小 3. 對于每個bootstrap樣本 1. 使用所選尺寸替換樣品 2. 在數據樣本上擬合模型 3. 估計模型在袋外樣品上的技巧。 4. 計算模型技能估計樣本的平均值。 > 未選擇的樣品通常稱為“袋外”樣品。對于給定的bootstrap重采樣迭代,在所選樣本上建立模型,并用于預測袋外樣本。 - 第72頁, [Applied Predictive Modeling](http://amzn.to/2Fmrbib) ,2013。 重要的是,在擬合模型或調整模型的超參數之前的任何數據準備必須在數據樣本的for循環內進行。這是為了避免數據泄漏,其中使用測試數據集的知識來改進模型。反過來,這可以導致對模型技能的樂觀估計。 自舉方法的一個有用特征是所得到的估計樣本通常形成高斯分布。除了總結這種具有集中趨勢的分布之外,還可以給出方差測量,例如標準偏差和標準誤差。此外,可以計算置信區間并用于約束所呈現的估計。這在展示機器學習模型的估計技能時很有用。 ## Bootstrap的配置 執行引導時必須選擇兩個參數:樣本的大小和要執行的過程的重復次數。 ### 樣本量 在機器學習中,通常使用與原始數據集相同的樣??本大小。 > 引導樣本與原始數據集的大小相同。因此,一些樣本將在bootstrap樣本中多次表示,而其他樣本則根本不會被選中。 — Page 72, [Applied Predictive Modeling](http://amzn.to/2Fmrbib), 2013. 如果數據集很大并且計算效率是個問題,則可以使用較小的樣本,例如數據集大小的50%或80%。 ### 重復 重復次數必須足夠大,以確保可以在樣本上計算有意義的統計數據,例如平均值,標準偏差和標準誤差。 最小值可能是20或30次重復。可以使用較小的值將進一步增加對估計值樣本計算的統計量的方差。 理想情況下,在給定時間資源的情況下,估計樣本將盡可能大,具有數百或數千個重復。 ## 工作示例 我們可以通過一個小的工作示例來使引導程序具體化。我們將完成該過程的一次迭代。 想象一下,我們有一個包含6個觀測值的數據集: ```py [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] ``` 第一步是選擇樣本的大小。在這里,我們將使用4。 接下來,我們必須從數據集中隨機選擇第一個觀測值。我們選擇0.2。 ```py sample = [0.2] ``` 該觀察結果返回到數據集,我們再重復此步驟3次。 ```py sample = [0.2, 0.1, 0.2, 0.6] ``` 我們現在有我們的數據樣本。該示例有目的地證明了相同的值在樣本中可以顯示為零,一次或多次。這里觀察0.2出現兩次。 然后可以對繪制的樣本計算估計值。 ```py statistic = calculation([0.2, 0.1, 0.2, 0.6]) ``` 未為樣品選擇的那些觀察結果可用作樣品外觀察結果。 ```py oob = [0.3, 0.4, 0.5] ``` 在評估機器學習模型的情況下,模型適合于繪制的樣本并在袋外樣本上進行評估。 ```py train = [0.2, 0.1, 0.2, 0.6] test = [0.3, 0.4, 0.5] model = fit(train) statistic = evaluate(model, test) ``` 結束了該程序的一個重復。它可以重復30次或更多次,以提供計算統計數據的樣本。 ```py statistics = [...] ``` 然后,可以通過計算平均值,標準偏差或其他匯總值來匯總該統計樣本,以給出統計量的最終可用估計值。 ```py estimate = mean([...]) ``` ## Bootstrap API 我們不必手動實現bootstrap方法。 scikit-learn庫提供了一個實現,它將創建數據集的單個引導樣本。 可以使用 [resample()scikit-learn函數](http://scikit-learn.org/stable/modules/generated/sklearn.utils.resample.html)。它采用數據數組作為參數,是否采樣替換,采樣的大小,以及采樣之前使用的偽隨機數生成器的種子。 例如,我們可以創建一個引導程序來創建一個替換為4個觀察值的樣本,并為偽隨機數生成器使用值1。 ```py boot = resample(data, replace=True, n_samples=4, random_state=1) ``` 不幸的是,API沒有包含任何機制來輕松收集可用作評估擬合模型的測試集的袋外觀察。 至少在單變量情況下,我們可以使用簡單的Python列表理解來收集袋外觀察。 ```py # out of bag observations oob = [x for x in data if x not in boot] ``` 我們可以將所有這些與我們在前一部分的工作示例中使用的小數據集結合在一起。 ```py # scikit-learn bootstrap from sklearn.utils import resample # data sample data = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6] # prepare bootstrap sample boot = resample(data, replace=True, n_samples=4, random_state=1) print('Bootstrap Sample: %s' % boot) # out of bag observations oob = [x for x in data if x not in boot] print('OOB Sample: %s' % oob) ``` 運行該示例打印自舉樣本中的觀察結果以及袋外樣本中的觀察結果 ```py Bootstrap Sample: [0.6, 0.4, 0.5, 0.1] OOB Sample: [0.2, 0.3] ``` ## 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * 列出3個可以使用bootstrap方法估計的摘要統計信息。 * 找到3篇使用bootstrap方法評估機器學習模型表現的研究論文。 * 使用bootstrap方法實現您自己的函數以創建樣本和袋外樣本。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 帖子 * [如何計算Python中機器學習結果的Bootstrap置信區間](https://machinelearningmastery.com/calculate-bootstrap-confidence-intervals-machine-learning-results-python/) ### 圖書 * [Applied Predictive Modeling](http://amzn.to/2Fmrbib) ,2013。 * [統計學習導論](http://amzn.to/2FkHqvW),2013年。 * [引導程序簡介](http://amzn.to/2G0Yatr),1994。 ### API * [sklearn.utils.resample()API](http://scikit-learn.org/stable/modules/generated/sklearn.utils.resample.html) * [sklearn.model_selection:模型選擇API](http://scikit-learn.org/stable/modules/classes.html#module-sklearn.model_selection) ### 用品 * [維基百科上的重新取樣(統計)](https://en.wikipedia.org/wiki/Resampling_(statistics)) * [維基百科上的引導(統計)](https://en.wikipedia.org/wiki/Bootstrapping_(statistics)) * [經驗樣本數量](https://stats.stackexchange.com/questions/86040/rule-of-thumb-for-number-of-bootstrap-samples)的經驗法則,CrossValiated。 ## 摘要 在本教程中,您發現了用于估計機器學習模型在未見數據上的技能的引導程序重采樣方法。 具體來說,你學到了: * 引導方法涉及使用替換迭代地重新采樣數據集。 * 在使用引導程序時,您必須選擇樣本的大小和重復次數。 * scikit-learn提供了一個函數,您可以使用該函數重新采樣引導程序方法的數據集。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看