數據挖掘干貨_第1頁
數據挖掘干貨_第2頁
數據挖掘干貨_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據挖掘干貨(k-NN )whatis k-NN ?k-nearest neighbors algorithm (k-NN) 是通過測量不同特征值之間的距離進行分類。它的的思路是:如果一個樣本在特征空間中的k 個最相似 (即特征空間中最鄰近)的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別。K 通常是不大于 20 的整數。 KNN 算法中,所選擇的鄰居都是已經正確分類的對象。該方法在分類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。其實早在南北朝時期,我國古人就提出了該算法的核心 '近朱者赤,近墨者黑 '。簡單地舉個例子, 假如我們要確定上圖中的藍色

2、的點真正的顏色是什么,我們就劃定一個范圍,找到與它最近的 9 個鄰居,在這 9 個鄰居中有 5 個是綠色的 4 個是紅色的,那么我們就可以說 K=9 時, X 更接近于綠色。與它最近的27 個點中 14 個是紅色 13 個是綠色, X 更接近于紅色。由此看來, KNN 算法的一般步驟 :- 計算測試數據與各個訓練數據之間的距離; - 按照距離的遞增關系進行排序; - 選取距離最小的 K 個點; - 確定前 K 個點所在類別的出現頻率;- 返回前 K 個點中出現頻率最高的類別作為測試數據的預測分類。值得注意的是,在距離當中我們一般采用的是歐氏幾何距離,如果說有特殊需求,我們也可以采取曼哈頓距離,

3、還可以看到的是 X 的預測分類與K 的取值有很大的關系。Using#!python #coding:utf-8#author:kim#copyrights 2017''' You can find theoriginal Code from the OffcialSite/stable/auto_examples/neighbors/plot_classification.html'''import numpy as npimportmatplotlib.pyplot as pltfrom matplo

4、tlib.colors importListedColormapfrom sklearn import neighbors,datasetsn_neighbors = 7# import some data to play withiris= datasets.load_iris()# we only take the first two features. We could avoid this ugly# slicing by using a two-dim datasetX = iris.data:, :2y = iris.targeth = 0.2 # step size in the

5、 mesh# Create color mapscmap_light = ListedColormap('#fffaaa', '#aaffaa', '#ccaaff')cmap_bold =ListedColormap('#00ffcc','#ff00cc','#0099ff')# we createan instance of Neighbours Classifier and fit the data.clf =neighbors.KNeighborsClassifier(n_neighbors

6、,weights='distance')clf.fit(X, y)# Plot the decision boundary.For that, we will assign a color to each# point in the meshx_min, x_maxxy_min, y_max.x_min, x_max = X:, 0.min()- 1, X:, 0.max() + 1y_min, y_max = X:, 1.min() - 1, X:,1.max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max,h), np.ar

7、ange(y_min, y_max, h)Z = clf.predict(np.c_xx.ravel(), yy.ravel()# Put the result into a color plotZ = Z.reshape(xx.shape)plt.figure()plt.pcolormesh(xx, yy, Z, cmap=cmap_light)# Plot also the training pointsplt.scatter(X:, 0, X:, 1, c=y, cmap=cmap_bold, edgecolor='k', s=20)plt.xlim(xx.min(), xx.max()plt.ylim(yy.min(), yy.max()plt.title('3-Classclassification (k = %

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論