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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 如何比較 Python 中的機器學習算法與 scikit-learn > 原文: [https://machinelearningmastery.com/compare-machine-learning-algorithms-python-scikit-learn/](https://machinelearningmastery.com/compare-machine-learning-algorithms-python-scikit-learn/) 重要的是要一致地比較多種不同機器學習算法的表現。 在這篇文章中,您將了解如何創建測試工具來比較 Python 中的多種不同的機器學習算法和 scikit-learn。 您可以將此測試工具用作您自己的機器學習問題的模板,并添加更多不同的算法進行比較。 讓我們開始吧。 * **更新 March / 2018** :添加了備用鏈接以下載數據集,因為原始圖像已被刪除。 ![How To Compare Machine Learning Algorithms in Python with scikit-learn](https://img.kancloud.cn/87/72/8772cac17b25b904d39aef956a51cb24_640x359.jpg) 如何比較 Python 中的機器學習算法與 scikit-learn 照片由 [Michael Knight](https://www.flickr.com/photos/mknightphoto/2295688304/) ,保留一些權利。 ## 選擇最佳機器學習模型 您如何為您的問題選擇最佳型號? 當您從事機器學習項目時,通常會有多種好的模型可供選擇。每種型號都有不同的表現特征。 使用交叉驗證等重采樣方法,您可以估算出每個模型對未見數據的準確程度。您需要能夠使用這些估計值從您創建的模型套件中選擇一個或兩個最佳模型。 ### 仔細比較機器學習模型 當您擁有新數據集時,最好使用不同的技術可視化數據,以便從不同的角度查看數據。 同樣的想法適用于模型選擇。您應該使用多種不同的方式來查看機器學習算法的估計精度,以便選擇一個或兩個來完成。 一種方法是使用不同的可視化方法來顯示模型精度分布的平均精度,方差和其他屬性。 在下一節中,您將了解如何使用 scikit-learn 在 Python 中完成此操作。 ## 一致地比較機器學習算法 公平比較機器學習算法的關鍵是確保在相同數據上以相同的方式評估每個算法。 您可以通過強制在一致的測試工具上評估每個算法來實現此目的。 在下面的示例中,比較了 6 種不同的算法: 1. Logistic 回歸 2. 線性判別分析 3. K-Nearest Neighbors 4. 分類和回歸樹 5. 樸素貝葉斯 6. 支持向量機 問題是來自 UCI 機器學習庫的標準二元分類數據集,稱為 [Pima 印第安人糖尿病](https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes)問題[更新:[從這里下載](https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv))。該問題有兩個類和八個不同比例的數字輸入變量。 10 倍交叉驗證程序用于評估每個算法,重要的是使用相同的隨機種子配置,以確保執行與訓練數據相同的分割,并且以完全相同的方式評估每個算法。 每個算法都有一個簡短的名稱,用于以后總結結果。 ``` # Compare Algorithms import pandas import matplotlib.pyplot as plt from sklearn import model_selection from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.naive_bayes import GaussianNB from sklearn.svm import SVC # load dataset url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv" names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] dataframe = pandas.read_csv(url, names=names) array = dataframe.values X = array[:,0:8] Y = array[:,8] # prepare configuration for cross validation test harness seed = 7 # prepare models models = [] models.append(('LR', LogisticRegression())) models.append(('LDA', LinearDiscriminantAnalysis())) models.append(('KNN', KNeighborsClassifier())) models.append(('CART', DecisionTreeClassifier())) models.append(('NB', GaussianNB())) models.append(('SVM', SVC())) # evaluate each model in turn results = [] names = [] scoring = 'accuracy' for name, model in models: kfold = model_selection.KFold(n_splits=10, random_state=seed) cv_results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring) results.append(cv_results) names.append(name) msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std()) print(msg) # boxplot algorithm comparison fig = plt.figure() fig.suptitle('Algorithm Comparison') ax = fig.add_subplot(111) plt.boxplot(results) ax.set_xticklabels(names) plt.show() ``` 運行該示例提供了每個算法短名稱,平均準確度和標準偏差準確度的列表。 ``` LR: 0.769515 (0.048411) LDA: 0.773462 (0.051592) KNN: 0.726555 (0.061821) CART: 0.695232 (0.062517) NB: 0.755178 (0.042766) SVM: 0.651025 (0.072141) ``` 該示例還提供了框和須狀圖,顯示了每個算法的每個交叉驗證折疊的準確度分數的分布。 ![Compare Machine Learning Algorithms](https://img.kancloud.cn/a6/8b/a68b9c464bda7319a1aea963f6403b1c_800x600.jpg) 比較機器學習算法 從這些結果可以看出,邏輯回歸和線性判別分析都可能值得進一步研究這個問題。 ## 摘要 在這篇文章中,您發現了如何使用 scikit-learn 在 Python 中的數據集上評估多個不同的機器學習算法。 您學習了如何使用相同的測試工具來評估算法,以及如何使用數字和使用盒子和須狀圖來匯總結果。 您可以使用此秘籍作為模板來評估您自己問題的多種算法。 您對在 Python 中評估機器學習算法或關于此帖子有任何疑問嗎?在下面的評論中提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看