<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之旅 廣告
                # 如何使用 scikit-learn 在 Python 中生成測試數據集 > 原文: [https://machinelearningmastery.com/generate-test-datasets-python-scikit-learn/](https://machinelearningmastery.com/generate-test-datasets-python-scikit-learn/) 測試數據集是一些小型設計數據集,可用于測試機器學習算法或測試工具。 來自測試數據集的數據具有明確定義的屬性,例如線性或非線性,允許您探索特定的算法行為。 scikit-learn Python 庫提供了一套函數,用于從可配置的測試問題生成樣本以進行回歸和分類。 在本教程中,您將發現測試問題以及如何在 Python 中使用 scikit-learn 來使用它們。 完成本教程后,您將了解: * 如何生成多類分類預測測試問題。 * 如何生成二元分類預測測試問題。 * 如何生成線性回歸預測測試問題。 讓我們開始吧。 ## 教程概述 本教程分為 3 個部分;他們是: 1. 測試數據集 2. 分類測試問題 3. 回歸測試問題 ## 測試數據集 開發和實現機器學習算法時的一個問題是,您如何知道是否已正確實現它們。他們似乎甚至可以使用 bug。 測試數據集是一些小的設計問題,允許您測試和調試算法和測試工具。它們對于更好地理解算法的行為以響應超參數的變化也很有用。 以下是測試數據集的一些理想屬性: * 它們可以快速輕松地生成。 * 它們包含“已知”或“理解”結果,用于與預測進行比較。 * 它們是隨機的,每次生成時都允許對同一問題進行隨機變化。 * 它們很小,很容易在兩個維度上可視化。 * 它們可以輕松擴大規模。 我建議在開始使用新的機器學習算法時或在開發新的測試工具時使用測試數據集。 scikit-learn 是一個用于機器學習的 Python 庫,它提供了生成一系列測試問題的函數。 在本教程中,我們將介紹為分類和回歸算法生成測試問題的一些示例。 ## 分類測試問題 分類是為觀察分配標簽的問題。 在本節中,我們將討論三個分類問題:blob,moons 和 circle。 ### Blob 分類問題 [make_blobs()](http://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_blobs.html)函數可用于生成具有高斯分布的點的斑點。 您可以控制要生成的 Blob 數量以及要生成的樣本數量,以及許多其他屬性。 考慮到斑點的線性可分離性,該問題適用于線性分類問題。 下面的示例生成具有三個 blob 的樣本的 2D 數據集作為多類分類預測問題。每個觀察有兩個輸入和 0,1 或 2 個類值。 ``` # generate 2d classification dataset X, y = make_blobs(n_samples=100, centers=3, n_features=2) ``` 下面列出了完整的示例。 ``` from sklearn.datasets.samples_generator import make_blobs from matplotlib import pyplot from pandas import DataFrame # generate 2d classification dataset X, y = make_blobs(n_samples=100, centers=3, n_features=2) # scatter plot, dots colored by class value df = DataFrame(dict(x=X[:,0], y=X[:,1], label=y)) colors = {0:'red', 1:'blue', 2:'green'} fig, ax = pyplot.subplots() grouped = df.groupby('label') for key, group in grouped: group.plot(ax=ax, kind='scatter', x='x', y='y', label=key, color=colors[key]) pyplot.show() ``` 運行該示例會生成問題的輸入和輸出,然后創建一個方便的 2D 繪圖,顯示使用不同顏色的不同類的點。 請注意,鑒于問題生成器的隨機性,您的特定數據集和結果圖將會有所不同。這是一個功能,而不是一個 bug。 ![Scatter Plot of Blobs Test Classification Problem](https://img.kancloud.cn/dc/6c/dc6cfd1caab02bd1c1c0248b82ecea62_1280x960.jpg) Blob 測試分類問題的散點圖 我們將在以下示例中使用相同的示例結構。 ### 衛星分類問題 [make_moons()函數](http://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_moons.html)用于二元分類,并將生成一個漩渦模式或兩個衛星。 您可以控制月亮形狀的嘈雜程度以及要生成的樣本數量。 該測試問題適用于能夠學習非線性類邊界的算法。 以下示例生成具有中等噪聲的月球數據集。 ``` # generate 2d classification dataset X, y = make_moons(n_samples=100, noise=0.1) ``` The complete example is listed below. ``` from sklearn.datasets import make_moons from matplotlib import pyplot from pandas import DataFrame # generate 2d classification dataset X, y = make_moons(n_samples=100, noise=0.1) # scatter plot, dots colored by class value df = DataFrame(dict(x=X[:,0], y=X[:,1], label=y)) colors = {0:'red', 1:'blue'} fig, ax = pyplot.subplots() grouped = df.groupby('label') for key, group in grouped: group.plot(ax=ax, kind='scatter', x='x', y='y', label=key, color=colors[key]) pyplot.show() ``` 運行該示例生成并繪制數據集以供查看,再次按其指定的類對樣本著色。 ![Scatter plot of Moons Test Classification Problem](https://img.kancloud.cn/2e/91/2e915e1afe18f55f2d79558640e024e3_1280x960.jpg) 衛星測試分類問題的散點圖 ### 圈子分類問題 [make_circles()函數](http://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_circles.html)生成二元分類問題,數據集屬于同心圓。 同樣,與衛星測試問題一樣,您可以控制形狀中的噪聲量。 該測試問題適用于可以學習復雜非線性流形的算法。 以下示例生成帶有一些噪音的圓形數據集。 ``` # generate 2d classification dataset X, y = make_circles(n_samples=100, noise=0.05) ``` The complete example is listed below. ``` from sklearn.datasets import make_circles from matplotlib import pyplot from pandas import DataFrame # generate 2d classification dataset X, y = make_circles(n_samples=100, noise=0.05) # scatter plot, dots colored by class value df = DataFrame(dict(x=X[:,0], y=X[:,1], label=y)) colors = {0:'red', 1:'blue'} fig, ax = pyplot.subplots() grouped = df.groupby('label') for key, group in grouped: group.plot(ax=ax, kind='scatter', x='x', y='y', label=key, color=colors[key]) pyplot.show() ``` 運行該示例會生成并繪制數據集以供審閱。 ![Scatter Plot of Circles Test Classification Problem](https://img.kancloud.cn/94/32/94327ae2d7c6bdeccd5fcd32b21c4b09_1280x960.jpg) 圓測試分類問題的散點圖 ## 回歸測試問題 回歸是預測給定觀察量的問題。 [make_regression()函數](http://scikit-learn.org/stable/modules/generated/sklearn.datasets.make_regression.html)將創建一個數據集,其輸入和輸出之間具有線性關系。 您可以配置樣本數,輸入要素數,噪聲級別等。 該數據集適用于可以學習線性回歸函數的算法。 下面的示例將生成 100 個示例,其中一個輸入功能和一個具有適度噪聲的輸出功能。 ``` # generate regression dataset X, y = make_regression(n_samples=100, n_features=1, noise=0.1) ``` The complete example is listed below. ``` from sklearn.datasets import make_regression from matplotlib import pyplot # generate regression dataset X, y = make_regression(n_samples=100, n_features=1, noise=0.1) # plot regression dataset pyplot.scatter(X,y) pyplot.show() ``` 運行該示例將生成數據并繪制 X 和 y 關系,假設它是線性的,則非常無聊。 ![Scatter Plot of Regression Test Problem](https://img.kancloud.cn/65/49/654980f7e619a1e0a1bfb34f12868bc5_1280x960.jpg) 回歸測試問題的散點圖 ## 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * **比較算法**。選擇測試問題并比較一組算法并報告表現。 * **放大問題**。選擇一個測試問題并探索擴展它,使用漸進方法可視化結果,或者探索給定算法的模型技能與問題規模。 * **其他問題**。該庫提供了一系列額外的測試問題;為每個代碼編寫一個代碼示例來演示它們的工作原理。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 * [scikit-learn 用戶指南:數據集加載實用程序](http://scikit-learn.org/stable/datasets/index.html) * [scikit-learn API:sklearn.datasets:數據集](http://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets) ## 摘要 在本教程中,您發現了測試問題以及如何在 Python 中使用 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>

                              哎呀哎呀视频在线观看