<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-classification-machine-learning-algorithms-python-scikit-learn/](https://machinelearningmastery.com/spot-check-classification-machine-learning-algorithms-python-scikit-learn/) 抽樣檢查是一種發現哪些算法在您的機器學習問題上表現良好的方法。 您無法預先知道哪種算法最適合您的問題。你必須嘗試一些方法,并將注意力集中在那些證明自己最有希望的方法上。 在這篇文章中,您將發現 6 種機器學習算法,您可以在使用 scikit-learn 在 Python 中檢查分類問題時使用這些算法。 讓我們開始吧。 * **2017 年 1 月更新**:已更新,以反映版本 0.18 中 scikit-learn API 的更改。 * **更新 March / 2018** :添加了備用鏈接以下載數據集,因為原始圖像已被刪除。 ![Spot-Check Classification Machine Learning Algorithms in Python with scikit-learn](https://img.kancloud.cn/66/b2/66b259c2e84e091271cc1d344d8dc9c9_640x480.jpg) 用 scikit-learn 照片分析機器學習算法 [Masahiro Ihara](https://www.flickr.com/photos/forever5yearsold/2808759067/) ,保留一些權利 ## 算法現場檢查 您無法預先知道哪種算法最適合您的數據集。 您必須使用反復試驗來發現一個簡短的算法列表,這些算法可以很好地解決您的問題,然后您可以加倍并進一步調整。我稱這個過程現場檢查。 問題不是: > 我應該在數據集上使用什么算法? 相反,它是: > 我應該在哪些算法上檢查我的數據集? 您可以猜測哪些算法可能對您的數據集做得很好,這可能是一個很好的起點。 我建議嘗試混合使用算法,看看哪種方法能夠很好地選擇數據中的結構。 * 嘗試混合算法表示(例如實例和樹)。 * 嘗試混合使用學習算法(例如,學習相同類型的表示的不同算法)。 * 嘗試混合使用建模類型(例如線性和非線性函數或參數和非參數)。 讓我們具體一點。在下一節中,我們將介紹可用于在 Python 中檢查下一個機器學習項目的算法。 ## 算法概述 我們將看一下您可以檢查數據集的 6 種分類算法。 2 線性機器學習算法: 1. Logistic 回歸 2. 線性判別分析 4 種非線性機器學習算法: 1. K-Nearest Neighbors 2. 樸素貝葉斯 3. 分類和回歸樹 4. 支持向量機 每個秘籍都在[皮馬印第安人糖尿病數據集](https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes)上發表(更新:[從這里下載](https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv))。這是一個二元分類問題,其中所有屬性都是數字。 每個秘籍都是完整且獨立的。這意味著您可以將其復制并粘貼到您自己的項目中并立即開始使用它。 使用 10 倍交叉驗證的測試工具用于演示如何檢查每個機器學習算法,并且使用平均準確度測量來指示算法表現。 這些秘籍假設您了解每種機器學習算法以及如何使用它們。我們不會進入每個算法的 API 或參數化。 ## 線性機器學習算法 本節演示了如何使用兩種線性機器學習算法的最小秘籍:邏輯回歸和線性判別分析。 ### 1\. Logistic 回歸 Logistic 回歸假定數值輸入變量的高斯分布,并且可以模擬二元分類問題。 您可以使用 [LogisticRegression](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) 類構建邏輯回歸模型。 ``` # Logistic Regression Classification import pandas from sklearn import model_selection from sklearn.linear_model import LogisticRegression 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] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = LogisticRegression() results = model_selection.cross_val_score(model, X, Y, cv=kfold) print(results.mean()) ``` 運行該示例打印平均估計精度。 ``` 0.76951469583 ``` ### 2.線性判別分析 線性判別分析或 LDA 是用于二元和多類分類的統計技術。它也假定數值輸入變量的高斯分布。 您可以使用 [LinearDiscriminantAnalysis](http://scikit-learn.org/stable/modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html) 類構建 LDA 模型。 ``` # LDA Classification import pandas from sklearn import model_selection from sklearn.discriminant_analysis import LinearDiscriminantAnalysis 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] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = LinearDiscriminantAnalysis() results = model_selection.cross_val_score(model, X, Y, cv=kfold) print(results.mean()) ``` Running the example prints?the mean estimated accuracy. ``` 0.773462064252 ``` ## 非線性機器學習算法 本節演示了如何使用 4 種非線性機器學習算法的最小秘籍。 ### 1\. K-Nearest Neighbors K-Nearest Neighbors(或 KNN)使用距離度量來查找新實例的訓練數據中的 K 個最相似的實例,并將鄰居的平均結果作為預測。 您可以使用 [KNeighborsClassifier](http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.KNeighborsClassifier.html) 類構建 KNN 模型。 ``` # KNN Classification import pandas from sklearn import model_selection from sklearn.neighbors import KNeighborsClassifier 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] random_state = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = KNeighborsClassifier() results = model_selection.cross_val_score(model, X, Y, cv=kfold) print(results.mean()) ``` Running the example prints?the mean estimated accuracy. ``` 0.726555023923 ``` ### 2.樸素的貝葉斯 樸素貝葉斯計算每個類的概率以及給定每個輸入值的每個類的條件概率。假設它們都是獨立的(簡單或樸素的假設),對新數據估計這些概率并相乘。 當使用實值數據時,假設高斯分布使用[高斯概率密度函數](https://en.wikipedia.org/wiki/Normal_distribution)容易地估計輸入變量的概率。 您可以使用 [GaussianNB](http://scikit-learn.org/stable/modules/generated/sklearn.naive_bayes.GaussianNB.html) 類構建樸素貝葉斯模型。 ``` # Gaussian Naive Bayes Classification import pandas from sklearn import model_selection from sklearn.naive_bayes import GaussianNB 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] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = GaussianNB() results = model_selection.cross_val_score(model, X, Y, cv=kfold) print(results.mean()) ``` Running the example prints?the mean estimated accuracy. ``` 0.75517771702 ``` ### 3.分類和回歸樹 分類和回歸樹(CART 或僅決策樹)根據訓練數據構造二叉樹。通過評估訓練數據中每個屬性和每個屬性的每個值來貪婪地選擇分裂點,以便最小化成本函數(如 [Gini](https://en.wikipedia.org/wiki/Decision_tree_learning#Gini_impurity) )。 您可以使用 [DecisionTreeClassifier](http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html) 類構建 CART 模型。 ``` # CART Classification import pandas from sklearn import model_selection from sklearn.tree import DecisionTreeClassifier 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] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = DecisionTreeClassifier() results = model_selection.cross_val_score(model, X, Y, cv=kfold) print(results.mean()) ``` Running the example prints?the mean estimated accuracy. ``` 0.692600820232 ``` ### 4.支持向量機 支持向量機(或 SVM)尋求最佳分隔兩個類的行。那些最接近最佳分隔類的行的數據實例稱為支持向量,并影響放置行的位置。 SVM 已擴展為支持多個類。 特別重要的是通過內核參數使用不同的內核函數。默認情況下使用功能強大的[徑向基函數](https://en.wikipedia.org/wiki/Radial_basis_function)。 您可以使用 [SVC](http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html) 類構建 SVM 模型。 ``` # SVM Classification import pandas from sklearn import model_selection from sklearn.svm import SVC 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] seed = 7 kfold = model_selection.KFold(n_splits=10, random_state=seed) model = SVC() results = model_selection.cross_val_score(model, X, Y, cv=kfold) print(results.mean()) ``` Running the example prints?the mean estimated accuracy. ``` 0.651025290499 ``` ## 摘要 在這篇文章中,您發現了 6 種機器學習算法,您可以使用 scikit-learn 在 Python 中對您的分類問題進行抽樣檢查。 具體來說,您學會了如何進行抽查: 2 線性機器學習算法 1. Logistic 回歸 2. 線性判別分析 4 種非線性機器學習算法 1. K-Nearest Neighbors 2. 樸素貝葉斯 3. 分類和回歸樹 4. 支持向量機 您對現場檢查機器學習算法或此帖子有任何疑問嗎?在下面的評論部分提出您的問題,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看