<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 6. 大規模計算的策略: 更大量的數據 校驗者: [@文誼](https://github.com/apachecn/scikit-learn-doc-zh) 翻譯者: [@ゞFingヤ](https://github.com/apachecn/scikit-learn-doc-zh) 對于一些應用程序,需要被處理的樣本數量,特征數量(或兩者)和/或速度這些對傳統的方法而言非常具有挑戰性。在這些情況下,scikit-learn 有許多你值得考慮的選項可以使你的系統規模化。 ## 6.1. 使用外核學習實例進行拓展 外核(或者稱作 “外部存儲器”)學習是一種用于學習那些無法裝進計算機主存儲(RAM)的數據的技術。 這里描述了一種為了實現這一目的而設計的系統: > 1. 一種用流來傳輸實例的方式 > 2. 一種從實例中提取特征的方法 > 3. 增量式算法 ### 6.1.1. 流式實例 基本上, 1. 可能是從硬盤、數據庫、網絡流等文件中產生實例的讀取器。然而,關于如何實現的相關細節已經超出了本文檔的討論范圍。 ### 6.1.2. 提取特征 2\. 可以是 scikit-learn 支持的的不同 :ref: 特征提取 <feature\_extraction> 方法中的任何相關的方法。然而,當處理那些需要矢量化并且特征或值的集合你預先不知道的時候,就得明確注意了。一個好的例子是文本分類,其中在訓練的期間你很可能會發現未知的項。從應用的角度上來看,如果在數據上進行多次通過是合理的,則可以使用有狀態的向量化器。否則,可以通過使用無狀態特征提取器來提高難度。目前,這樣做的首選方法是使用所謂的 [哈希技巧](feature_extraction.html#feature-hashing),在 [`sklearn.feature_extraction.FeatureHasher`](generated/sklearn.feature_extraction.FeatureHasher.html#sklearn.feature_extraction.FeatureHasher "sklearn.feature_extraction.FeatureHasher") 中,其中有分類變量的表示為 Python 列表或 [`sklearn.feature_extraction.text.HashingVectorizer`](generated/sklearn.feature_extraction.text.HashingVectorizer.html#sklearn.feature_extraction.text.HashingVectorizer "sklearn.feature_extraction.text.HashingVectorizer") 文本文檔。 ### 6.1.3. 增量學習 最后,對于3. 我們在 scikit-learn 之中有許多選擇。雖軟不是所有的算法都能夠增量學習(即不能一次性看到所有的實例),所有實 `partial_fit` 的 API 估計器都作為了候選。實際上,從小批量的實例(有時稱為“在線學習”)逐漸學習的能力是外核學習的關鍵,因為它保證在任何給定的時間內只有少量的實例在主存儲中,選擇適合小批量的尺寸來平衡相關性和內存占用可能涉及一些調整 [\[1\]](#id9)。 以下是針對不同任務的增量估算器列表: > - Classification(分類) > - [`sklearn.naive_bayes.MultinomialNB`](generated/sklearn.naive_bayes.MultinomialNB.html#sklearn.naive_bayes.MultinomialNB "sklearn.naive_bayes.MultinomialNB") > - [`sklearn.naive_bayes.BernoulliNB`](generated/sklearn.naive_bayes.BernoulliNB.html#sklearn.naive_bayes.BernoulliNB "sklearn.naive_bayes.BernoulliNB") > - [`sklearn.linear_model.Perceptron`](generated/sklearn.linear_model.Perceptron.html#sklearn.linear_model.Perceptron "sklearn.linear_model.Perceptron") > - [`sklearn.linear_model.SGDClassifier`](generated/sklearn.linear_model.SGDClassifier.html#sklearn.linear_model.SGDClassifier "sklearn.linear_model.SGDClassifier") > - [`sklearn.linear_model.PassiveAggressiveClassifier`](generated/sklearn.linear_model.PassiveAggressiveClassifier.html#sklearn.linear_model.PassiveAggressiveClassifier "sklearn.linear_model.PassiveAggressiveClassifier") > - [`sklearn.neural_network.MLPClassifier`](generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier "sklearn.neural_network.MLPClassifier") > - Regression(回歸) > - [`sklearn.linear_model.SGDRegressor`](generated/sklearn.linear_model.SGDRegressor.html#sklearn.linear_model.SGDRegressor "sklearn.linear_model.SGDRegressor") > - [`sklearn.linear_model.PassiveAggressiveRegressor`](generated/sklearn.linear_model.PassiveAggressiveRegressor.html#sklearn.linear_model.PassiveAggressiveRegressor "sklearn.linear_model.PassiveAggressiveRegressor") > - [`sklearn.neural_network.MLPRegressor`](generated/sklearn.neural_network.MLPRegressor.html#sklearn.neural_network.MLPRegressor "sklearn.neural_network.MLPRegressor") > - Clustering(聚類) > - [`sklearn.cluster.MiniBatchKMeans`](generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans "sklearn.cluster.MiniBatchKMeans") > - [`sklearn.cluster.Birch`](generated/sklearn.cluster.Birch.html#sklearn.cluster.Birch "sklearn.cluster.Birch") > - Decomposition / feature Extraction(分解/特征提取) > - [`sklearn.decomposition.MiniBatchDictionaryLearning`](generated/sklearn.decomposition.MiniBatchDictionaryLearning.html#sklearn.decomposition.MiniBatchDictionaryLearning "sklearn.decomposition.MiniBatchDictionaryLearning") > - [`sklearn.decomposition.IncrementalPCA`](generated/sklearn.decomposition.IncrementalPCA.html#sklearn.decomposition.IncrementalPCA "sklearn.decomposition.IncrementalPCA") > - [`sklearn.decomposition.LatentDirichletAllocation`](generated/sklearn.decomposition.LatentDirichletAllocation.html#sklearn.decomposition.LatentDirichletAllocation "sklearn.decomposition.LatentDirichletAllocation") > - Preprocessing(預處理) > - [`sklearn.preprocessing.StandardScaler`](generated/sklearn.preprocessing.StandardScaler.html#sklearn.preprocessing.StandardScaler "sklearn.preprocessing.StandardScaler") > - [`sklearn.preprocessing.MinMaxScaler`](generated/sklearn.preprocessing.MinMaxScaler.html#sklearn.preprocessing.MinMaxScaler "sklearn.preprocessing.MinMaxScaler") > - [`sklearn.preprocessing.MaxAbsScaler`](generated/sklearn.preprocessing.MaxAbsScaler.html#sklearn.preprocessing.MaxAbsScaler "sklearn.preprocessing.MaxAbsScaler") 對于分類,有一點要注意的是,雖然無狀態特征提取程序可能能夠應對新的/未知的屬性,但增量學習者本身可能無法應對新的/未知的目標類。在這種情況下,你必須使用 `classes=` 參數將所有可能的類傳遞給第一個 `partial_fit` 調用。 選擇合適的算法時要考慮的另一個方面是,所有這些算法隨著時間的推移不會給每個樣例相同的重要性。比如說, `Perceptron` 仍然對錯誤標簽的例子是敏感的,即使經過多次的樣例訓練,而 `SGD*` 和 `PassiveAggressive*` 族對這些魯棒性更好。相反,對于后面傳入的數據流,算法的學習速率隨著時間不斷降低,后面兩個算法對于那些顯著差異的樣本和標注正確的樣本傾向于給予很少的重視。 ### 6.1.4. 示例 最后,我們有一個完整的 [Out-of-core classification of text documents](../auto_examples/applications/plot_out_of_core_classification.html#sphx-glr-auto-examples-applications-plot-out-of-core-classification-py) 文本文檔的核心分類的示例。旨在為想要構建核心學習系統的人們提供一個起點,并展示上述大多數概念。 此外,它還展現了不同算法性能隨著處理例子的數量的演變。 **[](../auto_examples/applications/plot_out_of_core_classification.html)** 現在我們來看不同部分的計算時間,我們看到矢量化的過程比學習本身耗時還多。對于不同的算法,MultinomialNB 是耗時最多的,但通過增加其 mini-batches 的大小可以減輕開銷。(練習:minibatch\_size 在程序中更改為100和10000,并進行比較)。 **[](../auto_examples/applications/plot_out_of_core_classification.html)** ### 6.1.5. 注釋 [\[1\]](#id6)根據算法,mini-batch 大小可以影響結果。SGD\*,PassiveAggressive\* 和離散的 NaiveBayes 是真正在線的,不受 batch 大小的影響。相反,MiniBatchKMeans 收斂速度受 batch 大小影響。此外,其內存占用可能會隨 batch 大小而顯著變化。
                  <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>

                              哎呀哎呀视频在线观看