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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 使用 scikit-learn 在 Python 中進行 Spot-Check 回歸機器學習算法 > 原文: [https://machinelearningmastery.com/spot-check-regression-machine-learning-algorithms-python-scikit-learn/](https://machinelearningmastery.com/spot-check-regression-machine-learning-algorithms-python-scikit-learn/) 抽樣檢查是一種發現哪些算法在您的機器學習問題上表現良好的方法。 您無法預先知道哪種算法最適合您的問題。你必須嘗試一些方法,并將注意力集中在那些證明自己最有希望的方法上。 在這篇文章中,您將發現 6 種機器學習算法,您可以在使用 scikit-learn 在 Python 中檢查回歸問題時使用這些算法。 讓我們開始吧。 * **2017 年 1 月更新**:已更新,以反映版本 0.18 中 scikit-learn API 的更改。 * **更新 Mar / 2018** :添加了備用鏈接以下載數據集,因為原始圖像已被刪除。 ![Spot-Check Regression Machine Learning Algorithms in Python with scikit-learn](https://img.kancloud.cn/04/da/04da4ce9a6afd48e13633dadae3b2f45_640x480.jpg) 使用 scikit-learn 照片通過 [frankieleon](https://www.flickr.com/photos/armydre2008/8004733173/) 在 Python 中使用 Spot-Check 回歸機器學習算法,保留一些權利。 ## 算法概述 我們將看一下您可以檢查數據集的 7 種分類算法。 4 線性機器學習算法: 1. 線性回歸 2. 嶺回歸 3. LASSO 線性回歸 4. 彈性網絡回歸 3 種非線性機器學習算法: 1. K-Nearest Neighbors 2. 分類和回歸樹 3. 支持向量機 每個秘籍都在 [Boston House Price 數據集](https://archive.ics.uci.edu/ml/datasets/Housing)上進行演示。這是一個回歸問題,其中所有屬性都是數字的(更新:[從這里下載數據](https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data))。 每個秘籍都是完整且獨立的。這意味著您可以將其復制并粘貼到您自己的項目中并立即開始使用它。 使用具有 10 倍交叉驗證的測試工具來演示如何檢查每個機器學習算法,并且使用均方誤差測量來指示算法表現。注意,均方誤差值是反轉的(負)。這是所使用的 _cross_val_score()_ 函數的一個怪癖,它要求所有算法指標按升序排序(值越大越好)。 這些秘籍假設您了解每種機器學習算法以及如何使用它們。我們不會進入每個算法的 API 或參數化。 ## 線性機器學習算法 本節提供了如何使用 4 種不同的線性機器學習算法在 Python 中使用 scikit-learn 進行回歸的示例。 ### 1.線性回歸 線性回歸假設輸入變量具有高斯分布。還假設輸入變量與輸出變量相關,并且它們彼此之間不高度相關(稱為共線性的問題)。 您可以使用 [LinearRegression](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html) 類構建線性回歸模型。 ``` # Linear Regression import pandas from sklearn import model_selection from sklearn.linear_model import LinearRegression url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data" names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dataframe = pandas.read_csv(url, delim_whitespace=True, names=names) array = dataframe.values X = array[:,0:13] Y = array[:,13] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = LinearRegression() scoring = 'neg_mean_squared_error' results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) print(results.mean()) ``` 運行該示例提供了均方誤差的估計。 ``` -34.7052559445 ``` ### 2.嶺回歸 嶺回歸是線性回歸的擴展,其中損失函數被修改以最小化模型的復雜度,其被測量為系數值的總平方值(也稱為 l2 范數)。 您可以使用 [Ridge](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html) 類構建嶺回歸模型。 ``` # Ridge Regression import pandas from sklearn import model_selection from sklearn.linear_model import Ridge url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data" names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dataframe = pandas.read_csv(url, delim_whitespace=True, names=names) array = dataframe.values X = array[:,0:13] Y = array[:,13] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = Ridge() scoring = 'neg_mean_squared_error' results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) print(results.mean()) ``` 運行該示例提供了均方誤差的估計。 ``` -34.0782462093 ``` ### 3\. LASSO 回歸 最小絕對收縮和選擇算子(或簡稱 LASSO)是線性回歸的修改,如嶺回歸,其中損失函數被修改以最小化模型的復雜度,測量為系數值的總和絕對值(也稱為 l1-規范)。 您可以使用 [Lasso](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html) 類構建 LASSO 模型。 ``` # Lasso Regression import pandas from sklearn import model_selection from sklearn.linear_model import Lasso url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data" names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dataframe = pandas.read_csv(url, delim_whitespace=True, names=names) array = dataframe.values X = array[:,0:13] Y = array[:,13] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = Lasso() scoring = 'neg_mean_squared_error' results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) print(results.mean()) ``` Running the example provides an estimate of the mean squared error. ``` -34.4640845883 ``` ### 4.彈性網絡回歸 ElasticNet 是一種正則化回歸形式,它結合了嶺回歸和 LASSO 回歸的特性。它試圖通過使用 l2 范數(和平方系數值)和 l1 范數(和絕對系數值)懲罰模型來最小化回歸模型的復雜性(回歸系數的大小和數量)。 您可以使用 ElasticNet 類構建 [ElasticNet](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html) 模型。 ``` # ElasticNet Regression import pandas from sklearn import model_selection from sklearn.linear_model import ElasticNet url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data" names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dataframe = pandas.read_csv(url, delim_whitespace=True, names=names) array = dataframe.values X = array[:,0:13] Y = array[:,13] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = ElasticNet() scoring = 'neg_mean_squared_error' results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) print(results.mean()) ``` Running the example provides an estimate of the mean squared error. ``` -31.1645737142 ``` ## 非線性機器學習算法 本節提供了如何使用 3 種不同的非線性機器學習算法在 Python 中使用 scikit-learn 進行回歸的示例。 ### 1\. K-Nearest Neighbors K-Nearest Neighbors(或 KNN)在訓練數據集中為新數據實例定位 K 個最相似的實例。從 K 個鄰居中,將平均或中值輸出變量作為預測。值得注意的是使用的距離度量(_ 度量 _ 參數)。默認情況下使用 [Minkowski 距離](https://en.wikipedia.org/wiki/Minkowski_distance),它是歐幾里德距離(當所有輸入具有相同比例時使用)和曼哈頓距離(當輸入變量的比例不同時)的推廣。 您可以使用 [KNeighborsRegressor](http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsRegressor.html) 類構建用于回歸的 KNN 模型。 ``` # KNN Regression import pandas from sklearn import model_selection from sklearn.neighbors import KNeighborsRegressor url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data" names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dataframe = pandas.read_csv(url, delim_whitespace=True, names=names) array = dataframe.values X = array[:,0:13] Y = array[:,13] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = KNeighborsRegressor() scoring = 'neg_mean_squared_error' results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) print(results.mean()) ``` Running the example provides an estimate of the mean squared error. ``` -107.28683898 ``` ### 2.分類和回歸樹 決策樹或分類和回歸樹(已知的 CART)使用訓練數據來選擇分割數據的最佳點,以便最小化成本度量。回歸決策樹的默認成本度量標準是在標準參數中指定的均方誤差。 您可以使用 [DecisionTreeRegressor](http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html) 類為回歸創建 CART 模型。 ``` # Decision Tree Regression import pandas from sklearn import model_selection from sklearn.tree import DecisionTreeRegressor url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data" names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dataframe = pandas.read_csv(url, delim_whitespace=True, names=names) array = dataframe.values X = array[:,0:13] Y = array[:,13] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = DecisionTreeRegressor() scoring = 'neg_mean_squared_error' results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) print(results.mean()) ``` Running the example provides an estimate of the mean squared error. ``` -35.4906027451 ``` ### 3.支持向量機 支持向量機(SVM)是為二元分類而開發的。該技術已被擴展用于稱為支持向量回歸(SVR)的預測實值問題。與分類示例一樣,SVR 建立在 [LIBSVM 庫](https://www.csie.ntu.edu.tw/~cjlin/libsvm/)之上。 您可以使用 [SVR](http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html) 類為回歸創建 SVM 模型。 ``` # SVM Regression import pandas from sklearn import model_selection from sklearn.svm import SVR url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/housing.data" names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV'] dataframe = pandas.read_csv(url, delim_whitespace=True, names=names) array = dataframe.values X = array[:,0:13] Y = array[:,13] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = SVR() scoring = 'neg_mean_squared_error' results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) print(results.mean()) ``` Running the example provides an estimate of the mean squared error. ``` -91.0478243332 ``` ## 摘要 在這篇文章中,您使用 scikit-learn 在 Python 中發現了用于回歸的機器學習秘籍。 具體來說,您了解到: 4 Linear Machine Learning Algorithms: * 線性回歸 * 嶺回歸 * LASSO 線性回歸 * 彈性網絡回歸 3 Nonlinear Machine Learning Algorithms: * K-Nearest Neighbors * 分類和回歸樹 * 支持向量機 您對回歸機器學習算法或這篇文章有任何疑問嗎?在評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看