青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 51, 文章 - 1, 評(píng)論 - 41, 引用 - 0
數(shù)據(jù)加載中……

K近鄰算法

概述

k近鄰(k nearest neighbor)算法是一種監(jiān)督算法,用于分類。它基本思想是計(jì)算新實(shí)例和訓(xùn)練集元素的**距離**,找出k個(gè)最接近的實(shí)例(neighbor),統(tǒng)計(jì)它們所屬分類,次數(shù)最多的類別作為新實(shí)例的類別。

原理與步驟

監(jiān)督算法可大致分成兩個(gè)步驟:訓(xùn)練(train)和分類(classify)。從實(shí)現(xiàn)考慮還需要算法初始化過(guò)程。

本節(jié)的代碼為python風(fēng)格的示意代碼,不能直接運(yùn)行,可運(yùn)行代碼參考zxml。

示意代碼

?

class KNearestNeighbor:

    def __init__(...):  pass

    def train(...):     pass

    def classify(...):  pass

訓(xùn)練(train)

理論上k近鄰算法不需要訓(xùn)練,可直接使用原始數(shù)據(jù)進(jìn)行分類。

歸一化

數(shù)據(jù)的分類的量綱差別較大時(shí),小量綱分類在計(jì)算的權(quán)重將被削弱。使用歸一化消除這種影響。方法如下:

x??=?(x???xmin)/(xmax???xmin)

預(yù)處理

將數(shù)據(jù)進(jìn)行某種形式的處理可加快尋找k近鄰的速度,常用的處理方式有KD-Tree和Ball-Tree,前者對(duì)低維歐氏距離有效,后者對(duì)所有距離有效。

示意代碼

?

def train(self, X, C):

    '''X,C分別代表實(shí)例和類別'''

?

    # 實(shí)例數(shù)據(jù)歸一化,并保留數(shù)據(jù)備份

    (self.X, self.C) = (normalize(X), C.copy())

?

    # 可選,如果需要,則構(gòu)建KD-Tree()

    self.tree = KDTree()

    self.tree.create(self.X)

分類(classify)

分類的大致步驟:找出k個(gè)近鄰 和*統(tǒng)計(jì)類別的次數(shù)* 。 分類的部分處理與訓(xùn)練的處理向?qū)?yīng),如:

  • 訓(xùn)練對(duì)數(shù)據(jù)進(jìn)行歸一化,則分類是也需要?dú)w一化。
  • 訓(xùn)練使用如KD-Tree等方式進(jìn)行處理,則分類使用對(duì)應(yīng)的方法尋找k個(gè)近鄰。

示意代碼

?

def classify(self, x):

?

    _x = normalize(x)                   # 將x歸一化

    nearest = self.find_neighbors(_x)   # 找出k個(gè)近鄰

    freq = frequency(nearests)          # 統(tǒng)計(jì)每個(gè)類型的次數(shù)

    return freq.sorted()[-1]            # 排序后,返回次數(shù)最多的類別

?

def find_neighbors(self, x):

    '''尋找與x最接近的k個(gè)點(diǎn)'''

?

    if self.tree == None:               # 判斷是否使用了kd-tree

        ds = self.distance(x, self.X)   # 計(jì)算所有點(diǎn)的距離

        indices = ds.argsort()[0:k]     # 排序后,取前面k個(gè)

?

    else:

        indices = self.tree.find_neighbors(x, self.k)

?

    # indices是k個(gè)近鄰的索引位置

    return self.C[indices]

初始化(init)

初始化需要設(shè)置算法參數(shù),如k的值,距離公式。

距離

實(shí)例之間的距離一般采用歐氏距離,但不排除使用其它的距離計(jì)算方法。歐氏距離:

d?=?x???y?=?((xi???yi)2)?≥?xi???yi

?

def __init__(self, k, distance=euclidean ):

    (self.k, self.distance) = (k, distance)

scikit-learn

下面使用scikit-learn中的k近鄰算法分類的例子。

?

import numpy as np

from sklearn import neighbors

?

# 準(zhǔn)備數(shù)據(jù),分成A B兩類。A類在[0,0]附近,B類在[1,1]附近。

X = np.array([[0, 0.1],   [-0.1, 0],

              [0.1, 0.1], [0, 0],

              [1, 1],     [1.1, 1],

              [1, 1.1],   [1.1, 1.1]])

?

C = ['A','A','A','A','B','B','B','B']

?

# 初始化

clf = neighbors.KNeighborsClassifier(n_neighbors=3, weights="uniform")

?

# 訓(xùn)練

clf.fit(X, C)

?

# 分類

c = clf.predict(np.array([[0.9,0.8]]))

print(c)

上面的例子可以將k近鄰算法分成三步,初始化、訓(xùn)練和分類。初始化可設(shè)置參數(shù),本文涉及到的參數(shù)有:

  • n_neighbors: 指參數(shù)k
  • weights: 指定數(shù)據(jù)分類的權(quán)重,歸一化 是其中的一個(gè)方式。
  • algorithm: 該參數(shù)可設(shè)定使用kd-tree等方法。
  • metric: 距離計(jì)算公式

參考資料

posted on 2016-10-28 16:18 lemene 閱讀(462) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩精品视频一区| 91久久精品美女高潮| 国产区精品视频| 国产精品久久久久久久久果冻传媒 | 香蕉久久一区二区不卡无毒影院| 日韩午夜在线视频| 亚洲精品之草原avav久久| 亚洲精品日韩久久| 亚洲综合日韩| 久久久在线视频| 欧美成人免费播放| 亚洲黄色一区| 亚洲性感激情| 欧美一级欧美一级在线播放| 午夜一区在线| 欧美成人精品激情在线观看| 欧美日韩一区在线播放| 国产亚洲欧美激情| 亚洲国产精品久久91精品| 一区二区三区视频在线播放| 欧美影视一区| 久久亚洲综合色一区二区三区| 久久在线免费观看视频| 亚洲美女av在线播放| 欧美一区二区三区电影在线观看| 久久一区激情| 国产美女精品视频免费观看| 在线成人国产| 午夜精品免费在线| 亚洲国产高潮在线观看| 亚洲一区二区在线免费观看| 久久米奇亚洲| 国产精品亚洲美女av网站| 91久久精品美女高潮| 欧美资源在线观看| 亚洲精品在线视频| 久久亚洲精品欧美| 国产乱码精品一区二区三区av| 亚洲国产精品精华液2区45 | 久久久99爱| 女人香蕉久久**毛片精品| 国产精品久久久久久久久免费樱桃 | 免播放器亚洲一区| 国产九九精品视频| 中文亚洲欧美| 亚洲高清自拍| 久久先锋资源| 黄色精品一二区| 欧美在线亚洲一区| 亚洲午夜电影在线观看| 欧美激情第3页| 亚洲国产欧美日韩| 每日更新成人在线视频| 午夜精品99久久免费| 欧美日韩一区视频| aⅴ色国产欧美| 男女视频一区二区| 久久精品欧美日韩| 一区二区三区亚洲| 久久国产一区| 欧美一区二区精品| 国产人久久人人人人爽| 亚洲欧美日韩电影| 亚洲一区在线免费| 国产精品丝袜91| 性欧美大战久久久久久久免费观看 | 亚洲综合国产激情另类一区| 亚洲国产精彩中文乱码av在线播放| 久久视频在线免费观看| 亚洲激情二区| 亚洲精品黄网在线观看| 国产精品99免费看| 午夜国产不卡在线观看视频| 亚洲一区在线免费| 一区国产精品| 亚洲国产美女久久久久| 欧美日韩一二三四五区| 性色av一区二区三区红粉影视| 欧美伊人影院| 亚洲欧洲一区二区三区久久| 亚洲精品一品区二品区三品区| 欧美亚男人的天堂| 免费日韩av| 欧美视频一区二区在线观看| 久久国产精品亚洲va麻豆| 你懂的成人av| 午夜精品视频| 欧美国产一区二区| 久久九九有精品国产23| 欧美国产国产综合| 欧美在线观看视频一区二区| 免费成人黄色| 欧美在线短视频| 国产综合色一区二区三区| 欧美成年人视频网站| 麻豆av一区二区三区| 亚洲一区二区三区免费观看| 国产精品99久久久久久久女警| 国产精品揄拍500视频| 最新亚洲电影| 欧美一区二区三区免费视频| 黄色精品一二区| 亚洲高清视频一区| 国产精品igao视频网网址不卡日韩 | 亚洲国产日韩美| 久久这里只有精品视频首页| 亚洲最新在线视频| 亚洲专区免费| 国产亚洲精品成人av久久ww| 免费不卡亚洲欧美| 欧美日韩另类视频| 亚洲午夜成aⅴ人片| 蜜桃视频一区| 欧美图区在线视频| 久久夜色精品国产欧美乱| 欧美国产专区| 久久久久久久综合日本| 欧美福利视频一区| 午夜精品美女自拍福到在线| 久久人人九九| 亚洲欧美激情在线视频| 久久久久久电影| 久久国产视频网站| 欧美激情影音先锋| 久久久久国产精品一区| 欧美电影在线观看完整版| 午夜精品久久久久久久99樱桃 | 国产精品久久久久久五月尺| 久久最新视频| 国产精品青草久久久久福利99| 亚洲一区久久久| 欧美日韩综合视频| 亚洲国产精品va在线观看黑人| 国产人成精品一区二区三| 日韩亚洲国产精品| 最近中文字幕mv在线一区二区三区四区| 在线综合亚洲| 国产亚洲观看| 欧美在线视频全部完| 亚洲欧美国产77777| 欧美黄污视频| 欧美国产亚洲视频| 亚洲第一成人在线| 欧美一区二区视频在线| 久久先锋资源| 国产深夜精品福利| 亚洲免费一区二区| 亚洲免费在线播放| 欧美日本在线视频| 国产一区三区三区| 欧美在线视频全部完| 性做久久久久久免费观看欧美| 欧美日韩1区2区3区| 亚洲日本视频| 99精品免费| 欧美成人精品在线视频| 欧美福利网址| 最新亚洲激情| 欧美激情1区2区3区| 亚洲第一精品福利| 99riav1国产精品视频| 国产精品久久77777| 亚洲一区bb| 欧美一区二区性| 国产亚洲精品久久久久婷婷瑜伽| 亚洲图片欧美日产| 欧美淫片网站| 国产一区二区三区奇米久涩 | 久久精品国产99国产精品澳门| 亚洲欧美综合精品久久成人| 国产精品黄色在线观看| 亚洲色图制服丝袜| 午夜国产一区| 国内精品久久久久久久果冻传媒| 久久精品国产免费观看| 男女av一区三区二区色多| 亚洲国产精品嫩草影院| 欧美精品三级| 一区二区三区四区五区视频| 亚洲欧美日韩在线综合| 国产精品毛片a∨一区二区三区|国| 亚洲影院在线| 欧美韩日一区二区| 99re6热只有精品免费观看| 欧美亚州韩日在线看免费版国语版| 亚洲电影免费观看高清完整版在线观看| 亚洲永久精品大片| 黄色成人av| 欧美日本中文| 性欧美videos另类喷潮| 亚洲国产黄色| 99re66热这里只有精品3直播| 国产一区二区三区精品欧美日韩一区二区三区| 久久精品国语| 日韩小视频在线观看专区| 久久视频国产精品免费视频在线| 亚洲欧洲中文日韩久久av乱码| 欧美国产第一页| 欧美国产一区在线| 久久久久久999|