1.np.tile(array,(行重複次數,列重複次數))
a=np.array([1,2,3])
b=np.tile(a,(2,3))
b= [[1 2 3 1 2 3 1 2 3]
[1 2 3 1 2 3 1 2 3]]
2.array.sum(axis=0/1)
0:每列求和
1:沒行求和
3.array.argsort()
將矩陣每行從小到大排序,返回其排序後的原始index組成的矩陣
so, a.shape=b.shape
4.向字典中新增元素(字典是無序的)
dict[『key』]=dict.get(『key』, default=none)
key – 字典中要查詢的鍵。
default – 如果指定鍵的值不存在時,返回該預設值。
5.sorted 排序:
對所有可迭代的物件進行排序操作。返回型別為list
sorted(iterable, key=none, reverse=false)
iterable – 可迭代物件。
key – 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。
reverse – 排序規則,reverse = true 降序 , reverse = false 公升序(預設)。
sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。
list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函式 sorted 方法返回的是乙個新的list,而不是在原來的基礎上進行的操作。
6.dict.items()
字典 items() 方法:用列表返回可遍歷的(鍵, 值) 元組陣列。返回型別為元組樣式的列表
dict =
print ("value : %s" % dict.items())
value : dict_items([('age', 7), ('name', 'runoob')])
7.對字典進行排序
list2=sorted(dict.items(),key=operator.itemgetter(0/1/2/3),reverse=true)
返回的是元組形式的列表
ture:倒敘
false:正序
import operator
dict_1=
list_1=sorted(dict_1.items(),key=operator.itemgetter(0),reverse=true)
print(list_1)
[('c', (0, 45, 8)), ('b', (2, 34, 10)), ('a', (1, 0, 6))]
目標:
對新輸入的資料進行分類,選取與新資料距離最近的k個點,投票選出新資料的型別
步驟:
1.計算新資料與每個已有資料的距離
2.將距離進行排序
3.選出最近的k個訓練資料
4.讀取k個訓練資料的label,並加和相同的label,對label加和列表進行排序,返回最大的label
輸入:
<1>新資料的特徵向量
<2>n個訓練資料(m維特徵)的特徵向量矩陣(nm)
<3>n個訓練資料對應label(n1)
<4>k數值
輸出:
經knn分類後,新資料的類別
from numpy import *
import operator
def createdataset():
group=array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels=['a','a','b','b']
return group,labels
def classify0(inx, dataset, labels, k):
datasetsize = dataset.shape[0]
diffmat=tile(inx,(datasetsize,1))-dataset
sqdiffmat=diffmat**2
sqdistance=sqdiffmat.sum(axis=1)
distance=sqdistance**0.5
sorteddistindicies=distance.argsort()
classcount={}
for i in range(k):
voteilabel=labels[sorteddistindicies[i]]
classcount[voteilabel]=classcount.get(voteilabel,0)+1
sortedclasscount=sorted(classcount.items(),key=operator.itemgetter(1),reverse=true)
print(sortedclasscount)
return sortedclasscount[0][0]
機器學習實戰1 K近鄰演算法(KNN)
knn k nearest neighbors 演算法,也叫k最近鄰演算法。主要思想是,如果乙個樣本在特徵空間中的k個最相似 或最鄰近 的樣本中的大多數屬於某乙個類別,則該樣本也屬於這個類別。例如,村里投票建水井,有三個選址a,b和c,所有的人家都投了票,除了李四家。村書記決定找出距李四家最近的6戶...
機器學習實戰筆記1 K近鄰演算法詳解
最近在看 機器學習實戰 這本書,書中的 都是對某種演算法在對應應用場景的實現,感覺比大學時代的資料結構或者演算法題還要晦澀難懂,只能慢慢學習了,演算法這種東西類似做數學題,要多做多練。k 近鄰演算法乙個典型的應用場景就是在區別電影類別中,比如說根據在電影片段中出現親吻,打 鬥場景來判斷電影是否是愛情...
演算法1 k 近鄰
簡單地說,k 近鄰演算法採用測量不同特徵值之間的距離方法進行分類,屬於監督學習。工作原理 村愛乙個樣本資料集合 亦稱訓練樣本集 並且樣本集中每個資料都存在標籤,即我們知道樣本集中每一資料與所屬分類的對應關係。輸入沒有標籤的新資料後,將新資料每個特徵與樣本集中資料對應的特徵進行比較,然後演算法提取樣本...