天天看點

k-近鄰算法執行個體

<b>閱讀目錄</b>

<a href="http://www.cnblogs.com/kaituorensheng/p/6622184.html#_label0">1. 簡單例子</a>

步驟

1.1 計算已知點和被求點的距離

1.2 按距離遞增排序

1.3 求出距離最近的前k個點的類别最大值作為目标分類

<a></a>

文法解析

a. shape()得到矩陣的各個次元的長度

b. tile,舉例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<code>&gt;&gt;&gt; a</code>

<code>[</code><code>1</code><code>, </code><code>2</code><code>]</code>

<code>&gt;&gt;&gt; tile(a, </code><code>2</code><code>)</code>

<code>array([</code><code>1</code><code>, </code><code>2</code><code>, </code><code>1</code><code>, </code><code>2</code><code>])</code>

<code>&gt;&gt;&gt; tile(a, (</code><code>2</code><code>,</code><code>2</code><code>))</code>

<code>array([[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>1</code><code>, </code><code>2</code><code>],</code>

<code>       </code><code>[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>1</code><code>, </code><code>2</code><code>]])</code>

<code>&gt;&gt;&gt; tile(a, (</code><code>3</code><code>, </code><code>2</code><code>,</code><code>2</code><code>))</code>

<code>array([[[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>1</code><code>, </code><code>2</code><code>],</code>

<code>        </code><code>[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>1</code><code>, </code><code>2</code><code>]],</code>

<code>       </code><code>[[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>1</code><code>, </code><code>2</code><code>],</code>

<code>        </code><code>[</code><code>1</code><code>, </code><code>2</code><code>, </code><code>1</code><code>, </code><code>2</code><code>]]])</code>

c. sortDistIndices = distance.argsort() 得到排序後的名次,越大名次越大

d. sortedClassCount = sorted(classCount.iteritems(), key = operator.itemgetter(1), reverse=True) 對字典的值進行逆序(降序)排序

本文轉自jihite部落格園部落格,原文連結:http://www.cnblogs.com/kaituorensheng/p/6622184.html,如需轉載請自行聯系原作者