精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

scikit-learn K近鄰法類庫使用的經驗總結

lviY_AI_shequ ? 來源:未知 ? 2019-01-13 11:49 ? 次閱讀

本文對scikit-learn中KNN相關的類庫使用做了一個總結,主要關注于類庫調參時的一個經驗總結,且該文非常詳細地介紹了類的參數含義,這是小編見過最詳細的KNN類庫參數介紹 。

目錄

scikit-learn 中KNN相關的類庫概述

K近鄰法和限定半徑最近鄰法類庫參數小結

使用KNeighborsClassifier做分類的實例

1. scikit-learn中KNN相關的類庫概述

在scikit-learn 中,與近鄰法這一大類相關的類庫都在sklearn.neighbors包之中。KNN分類樹的類是KNeighborsClassifier,KNN回歸樹的類是KNeighborsRegressor。除此之外,還有KNN的擴展,即限定半徑最近鄰分類樹的類RadiusNeighborsClassifier和限定半徑最近鄰回歸樹的類RadiusNeighborsRegressor, 以及最近質心分類算法NearestCentroid。

在這些算法中,KNN分類和回歸的類參數完全一樣。限定半徑最近鄰法分類和回歸的類的主要參數也和KNN基本一樣。

比較特別是的最近質心分類算法,由于它是直接選擇最近質心來分類,所以僅有兩個參數,距離度量和特征選擇距離閾值,比較簡單,因此后面就不再專門講述最近質心分類算法的參數。

另外幾個在sklearn.neighbors包中但不是做分類回歸預測的類也值得關注。kneighbors_graph類返回用KNN時和每個樣本最近的K個訓練集樣本的位置。radius_neighbors_graph返回用限定半徑最近鄰法時和每個樣本在限定半徑內的訓練集樣本的位置。NearestNeighbors是個大雜燴,它即可以返回用KNN時和每個樣本最近的K個訓練集樣本的位置,也可以返回用限定半徑最近鄰法時和每個樣本最近的訓練集樣本的位置,常常用在聚類模型中。

2.K近鄰法和限定半徑最近鄰法類庫參數小結

本節對K近鄰法和限定半徑最近鄰法類庫參數做一個總結。包括KNN分類樹的類KNeighborsClassifier,KNN回歸樹的類KNeighborsRegressor, 限定半徑最近鄰分類樹的類RadiusNeighborsClassifier和限定半徑最近鄰回歸樹的類RadiusNeighborsRegressor。這些類的重要參數基本相同,因此我們放到一起講:

3. 使用KNeighborsClassifier做分類的實例

完整代碼見github:

https://github.com/ljpzzz/machinelearning/blob/master/classic-machine-learning/knn_classifier.ipynb

3.1 生成隨機數據

首先,我們生成我們分類的數據,代碼如下:

import numpy as np import matplotlib.pyplot as plt from sklearn.datasets.samples_generator import make_classification # X為樣本特征,Y為樣本類別輸出, 共1000個樣本,每個樣本2個特征,輸出有3個類別,沒有冗余特征,每個類別一個簇 X, Y = make_classification(n_samples=1000, n_features=2, n_redundant=0, n_clusters_per_class=1, n_classes=3)plt.scatter(X[:, 0], X[:, 1], marker='o', c=Y)plt.show()

先看看我們生成的數據圖如下。由于是隨機生成,如果你也跑這段代碼,生成的隨機數據分布會不一樣。下面是我某次跑出的原始數據圖。

接著我們用KNN來擬合模型,我們選擇K=15,權重為距離遠近。代碼如下:

from matplotlib.colors import ListedColormap cmap_light = ListedColormap(['#FFAAAA', '#AAFFAA', '#AAAAFF'])cmap_bold = ListedColormap(['#FF0000', '#00FF00', '#0000FF']) #確認訓練集的邊界 x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1 #生成隨機數據來做測試集然后預測 xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02), np.arange(y_min, y_max, 0.02))Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) # 畫出測試集數據 Z = Z.reshape(xx.shape)plt.figure()plt.pcolormesh(xx, yy, Z, cmap=cmap_light) # 也畫出所有的訓練集數據 plt.scatter(X[:, 0], X[:, 1], c=Y, cmap=cmap_bold)plt.xlim(xx.min(), xx.max())plt.ylim(yy.min(), yy.max())plt.title("3-Class classification (k = 15, weights = 'distance')" )生成的圖如下,可以看到大多數數據擬合不錯,僅有少量的異常點不在范圍內。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4304

    瀏覽量

    62427
  • KNN
    KNN
    +關注

    關注

    0

    文章

    22

    瀏覽量

    10796
  • 分類算法
    +關注

    關注

    0

    文章

    29

    瀏覽量

    9930

原文標題:scikit-learn K近鄰法類庫使用小結

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Python機器學習Scikit-learn技術

    Scikit-learn API內置了各種toy和real-world數據集[1]。這些可以便捷地通過一行代碼訪問,如果你正在學習或只是想快速嘗試新功能,這會非常有用。
    的頭像 發表于 08-27 17:34 ?3096次閱讀
    Python機器學習<b class='flag-5'>庫</b>談<b class='flag-5'>Scikit-learn</b>技術

    在PyODPS DataFrame自定義函數中使用pandas、scipy和scikit-learn

    的,MaxCompute 的 Python 環境只包含了 numpy 這一個第三方包,用戶常常問的問題是,如何在自定義函數里使用 pandas、scipy 或者 scikit-learn 這樣的包含c
    發表于 05-17 19:48

    通用Python機器學習scikit-learn

    《利用Python進行數據分析》 134 scikit-learn介紹
    發表于 10-25 07:58

    SOPC Builder/Nios 學習經驗總結

    SOPC Builder/Nios 學習經驗總結
    發表于 07-22 15:32 ?0次下載
    SOPC Builder/Nios 學習<b class='flag-5'>經驗總結</b>

    線圈天線設計經驗總結

    線圈天線設計經驗總結
    發表于 09-12 17:21 ?224次下載

    模擬電路設計經驗總結

    模擬電子的相關知識學習教材資料——模擬電路設計經驗總結
    發表于 09-27 15:19 ?0次下載

    Python機器學習和深度學習總結

    我們在Github上的貢獻者和提交者之中檢查了用Python語言進行機器學習的開源項目,并挑選出最受歡迎和最活躍的項目。 1. Scikit-learn(重點推薦) Scikit-learn
    發表于 11-10 14:49 ?884次閱讀

    指針經驗總結

    指針經驗總結
    發表于 10-27 15:44 ?19次下載
    指針<b class='flag-5'>經驗總結</b>

    基于Python的scikit-learn編程實例

    scikit-learn 是機器學習領域非常熱門的一個開源,基于Python 語言寫成。可以免費使用。 網址: 上面有很多的教程,編程實例。而且還做了很好的總結,下面這張圖基本概括了傳統機器學習
    發表于 11-15 19:39 ?1653次閱讀

    詳細解析scikit-learn進行文本分類

    而多類別分類指的是y的可能取值大于2,但是y所屬類別是唯一的。它與多標簽分類問題是有嚴格區別的。所有的scikit-learn分類器都是默認支持多類別分類的。但是,當你需要自己修改算法的時候,也是可以使用scikit-learn實現多類別分類的前期數據準備的。
    的頭像 發表于 12-27 08:36 ?4715次閱讀
    詳細解析<b class='flag-5'>scikit-learn</b>進行文本分類

    用英特爾DAAL性能加速SCIKIT學習

    , and experience faster scikit-learn for your machine learning workflows.
    的頭像 發表于 10-15 03:20 ?3237次閱讀

    基于Python的scikit-learn包實現機器學習

    基于Python的scikit-learn包實現機器學習。
    發表于 03-26 09:42 ?11次下載
    基于Python的<b class='flag-5'>scikit-learn</b>包實現機器學習

    EMI整改經驗總結

    EMI整改經驗總結
    發表于 12-20 15:55 ?45次下載

    Scikit-learn機器學習的概念及工作原理

    作為一個適用于 Python 編程語言的機器學習 (ML) Scikit-learn 擁有大量算法,可供程序員和數據科學家在機器學習模型中輕松部署。
    的頭像 發表于 09-30 11:00 ?1419次閱讀

    選擇燒結銀的經驗總結

    選擇燒結銀的經驗總結
    的頭像 發表于 12-17 15:46 ?1298次閱讀
    選擇燒結銀的<b class='flag-5'>經驗總結</b>