<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【統(tǒng)計學習方法】 第3章 k近鄰法(三)

          共 4181字,需瀏覽 9分鐘

           ·

          2021-02-15 22:48

          點擊上方“公眾號”可訂閱哦!



          在scikit-learn 中,與近鄰法這一大類相關(guān)的類庫都在sklearn.neighbors包之中。KNN分類樹的類是KNeighborsClassifier,KNN回歸樹的類是KNeighborsRegressor

          以下主要介紹下函數(shù)的參數(shù)注解和使用Iris數(shù)據(jù)集實現(xiàn)k近鄰分類



          1

          函數(shù)參數(shù)注解


          neighbors.KNeighborsClassifier(    n_neighbors=5,    weights='uniform',    algorithm='auto',    leaf_size=30,    p=2,    metric='minkowski',    metric_params=None,    n_jobs=None,    **kwargs,)


          參數(shù)注釋:


          n_neighbors:K值的選擇與樣本分布有關(guān),一般選擇一個較小的K值,可以通過交叉驗證來選擇一個比較優(yōu)的K值,默認值是5。如果數(shù)據(jù)是三維一下的,如果數(shù)據(jù)是三維或者三維以下的,可以通過可視化觀察來調(diào)參。


          weight:臨近實例的權(quán)重,可以取三個值,‘uniform’為權(quán)重相同的情況,‘distance’表示權(quán)重與距離成反比,也可以自己定義函數(shù)來對權(quán)值進行設(shè)定。


          algorithm:可以取四個值:{‘a(chǎn)uto’, ‘ball_tree’, ‘kd_tree’, ‘brute’},‘ball_tree‘、’kd_tree’表示使用‘ball_tree'和'kd_tree'進行計算,’brute‘表示使用brute-force搜索,’auto‘表示計算時嘗試選擇最合適的算法進行計算。


          leaf_size:?選擇’ball_tree'和‘kd_tree'時樹的葉子數(shù)量,默認為30。


          p:即距離度量的p值,默認為2即歐氏距離。


          metric:距離度量方法的選擇


          n_jobs:為鄰居搜索運行的并行作業(yè)數(shù)。默認為1,-1表示使用所有處理器。


          屬性:


          classes_:分類器已知的類標簽


          effective_metric_:使用的距離度量。它將與度量參數(shù)相同或與其相同,例如 如果metric參數(shù)設(shè)置為“ minkowski”,而p參數(shù)設(shè)置為2,則為“ euclidean”。


          n_samples_fit_:擬合數(shù)據(jù)中的樣本數(shù)。


          方法:


          fit(X, y):從訓練數(shù)據(jù)集中擬合k最近鄰分類器。


          kneighbors([X, n_neighbors, return_distance]):查找點的K鄰居。


          predict(X):預測提供的數(shù)據(jù)的類標簽。



          2

          knn實例


          數(shù)據(jù)集:


          Iris數(shù)據(jù)集是常用的分類實驗數(shù)據(jù)集,由Fisher, 1936收集整理。Iris也稱鳶尾花卉數(shù)據(jù)集,是一類多重變量分析的數(shù)據(jù)集。數(shù)據(jù)集包含150個數(shù)據(jù)集,分為3類,每類50個數(shù)據(jù),每個數(shù)據(jù)包含4個屬性。iris以鳶尾花的特征作為數(shù)據(jù)來源,常用在分類操作中。該數(shù)據(jù)集由3種不同類型的鳶尾花的50個樣本數(shù)據(jù)構(gòu)成。其中的一個種類與另外兩個種類是線性可分離的,后兩個種類是非線性可分離的。


          在此實例中我們使用前面兩個維度的數(shù)據(jù)



          代碼:

          import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.colors import ListedColormapfrom sklearn import neighbors, datasets%matplotlib?inline
          n_neighbors = 15 #設(shè)置K值:15個鄰居iris = datasets.load_iris() #加載數(shù)據(jù)
          # 我們加載數(shù)據(jù)的前面兩個維度作為特征數(shù)據(jù)X = iris.data[:, :2]y = iris.target
          h = .01 # 畫網(wǎng)格的步長,數(shù)值越小網(wǎng)格越細膩
          for weights in ['uniform', 'distance']: # 創(chuàng)建分類器,并擬合數(shù)據(jù) clf = neighbors.KNeighborsClassifier(n_neighbors, weights=weights) clf.fit(X, y)
          # 繪制訓練集的邊界 # 網(wǎng)格范圍 [x_min, x_max]x[y_min, y_max]. x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1????# 生成隨機數(shù)據(jù)來做測試集,然后作預測 xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) # 連接xx,yy。.ravel扁平化 Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
          # 將結(jié)果放入顏色 Z = Z.reshape(xx.shape) plt.figure()????plt.pcolormesh(xx,?yy,?Z)
          # 繪制訓練點 plt.scatter(X[:, 0], X[:, 1], c=y, edgecolor='k', s=20) plt.xlim(xx.min(), xx.max()) plt.ylim(yy.min(), yy.max()) plt.title("3-Class classification (k = %i, weights = '%s')" % (n_neighbors, weights))
          plt.show()


          以下是得到的效果圖:





          參考來源:

          https://blog.csdn.net/weixin_44980490/article/details/105958744?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161320906816780255290029%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161320906816780255290029&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-15-105958744.pc_search_result_cache&utm_term=iris%25E6%2595%25B0%25E6%258D%25AE%25E9%259B%2586%25E5%258F%25AF%25E8%25A7%2586%25E5%258C%2596

          https://blog.csdn.net/Albert201605/article/details/82313139?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161320758616780264041015%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161320758616780264041015&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-9-82313139.pc_search_result_cache&utm_term=iris%25E6%2595%25B0%25E6%258D%25AE%25E9%259B%2586

          https://scikit-learn.org/stable/auto_examples/neighbors/plot_classification.html#sphx-glr-auto-examples-neighbors-plot-classification-py

          https://blog.csdn.net/jiang425776024/article/details/87122387?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161326694916780261939912%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161326694916780261939912&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-2-87122387.pc_search_result_cache&utm_term=ListedColormap



          ?END

          深度學習入門筆記

          微信號:sdxx_rmbj

          日常更新學習筆記、論文簡述

          瀏覽 87
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久久久无码精品国产91福利 | 国产伦子伦免费 | 无码性生活| 天天撸天天撸 | 香蕉综合视频 |