在測試點周圍尋找近鄰的k個點,將測試點標記成其**現頻率最多的分類。
def
classify0
(inx, dataset, labels, k)
:#計算距離
datasetsize = dataset.shape[0]
diffmat = tile(inx,
(datasetsize,1)
)- dataset #tile函式將陣列重複(m維, 每維n次)
sqdiffmat = diffmat**
2 sqdistances = sqdiffmat.
sum(axis =1)
# axis = 1時列相加 壓縮為一列
distances = sqdistances**
0.5 sorteddistindicies = distances.argsort(
)#argsotr從小到大排序 返回索引值 [3,1,2] -> [1, 2, 0] 返回序
#選擇距離最小的k個點
classcount =
for i in
range
(k):
voteilabel = labels[sorteddistindicies[i]
] classcount[voteilabel]
= classcount.get(voteilabel,0)
+1#get函式 key -- 字典中要查詢的鍵。default -- 如果指定鍵的值不存在時,返回該預設值值。
# 返回指定鍵的值,如果值不在字典中返回預設值。
#選擇頻率最多的類
sortedclasscount =
sorted
(classcount.items(
), key = operator.itemgetter(1)
, reverse =
true
)#items 將字典拆分為列表
#sorted(iterable, cmp=none, key=none, reverse=false)
#可迭代物件, 比較函式, 進行比較的元素 指定可迭代物件中的乙個元素來進行排序, 排序規則 t降序 f公升序
# operator.itemgetter(i) 獲得第i維資料
return sortedclasscount[0]
[0]
將a重複repsm維,repsn次
a和reps都是array_like
a的型別眾多,幾乎所有型別都可以:array, list, tuple, dict, matrix以及基本資料型別int, string, float以及bool型別。
reps的型別也很多,可以是tuple,list, dict, array, int, bool.但不可以是float, string, matrix型別。
a – 待求陣列\向量\矩陣
axis – 求和的方向,none或沒有axis引數表示全部資料相加,axis=0,表示按列相加,axis=1,表示按行相加,對於一維陣列,只有axis=0,表示按行相加,沒有axis=1,輸入axis=1會報錯
從小到大排序a,返回序索引值
axis – axis=0,按列索引。 axis=1,按行索引。
kind – 『quicksort』(快速排序) 『mergesort』(歸併排序) 『heapsort』(堆排序)
order – order: 如果陣列包含字段,則是要排序的字段
返回指定鍵的值,如果值不在字典中返回預設值。
key – 字典中要查詢的鍵。
default – 如果指定鍵的值不存在時,返回該預設值。
對所有可迭代的物件進行排序操作。返回重新排序的物件
iterable – 可迭代物件。
cmp – 比較的函式,這個具有兩個引數,引數的值都是從可迭代物件中取出,此函式必須遵守的規則為,大於則返回1,小於則返回-1,等於則返回0。
key – 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。
reverse – 排序規則,reverse = true 降序 , reverse = false 公升序(預設)。
將字典拆分為列表,返回拆分後的列表。
獲得第i維資料,函式獲取的不是值,而是定義了乙個函式,通過該函式作用到物件上才能獲取值。
學習機器學習如何掌握數學知識?
我們都知道,現在的很多知識都是離不開數學,比如說在機器學習中,數學工具是乙個十分重要的工具,正是因為擁有了這些數學知識,我們才能夠利用機器學習解決很多的問題,才能夠為人工智慧提供貢獻。不過數學都是大家公認比較難的知識,在這篇文章中我們就講講如何快速掌握數學知識。1.掌握核心概念 2.梳理好知識體系 ...
score函式 機器學習 機器學習(一) 損失函式
優化是應用數學的乙個分支,也是機器學習的核心組成部分。實際上 機器學習演算法 模型表徵 模型評估 優化演算法其中,優化演算法起到的作用就是在模型表徵空間中找到模型評估指標最好的模型。不同的模型表徵和模型評估通常使用著不同的優化演算法。因此,為了利用優化演算法來對模型進行優化,我們通常需要給出乙個模型...
Python遷移學習 機器學習演算法
終有一天,人工智慧會像我們看待非洲平原上低階生物的化石一樣看待我們。在人工智慧眼中,人類只是直立行走的猿猴,用著粗糙的語言和簡陋的工具,從誕生起就注定會滅絕。電影 機械姬 機器學習是人工智慧中乙個流行的子領域,其涉及的領域非常廣泛。流行的原因之一是在其策略下有乙個由複雜的演算法 技術和方 組成的綜合...