机器学习算法KNN算法实现(一)

KNN算法笔记(一)

1.np.tile函数的用法

array = np.array([1, 2])
1.1
np.tile(arrray, 2)
将array在行方向重复2次
1.2
np.tile(arrray, (2, 1))
将array在行方向重复2次, 列方向重复1次
1.3
np.tile(arrray, (2, 2))
将array在行方向重复2次, 列方向重复2次
text = np.array([1, 2])
text_1 = np.array([1,6,3,5,9])
diffMat_1 = np.tile(text, (1, 1))
diffMat_2 = np.tile(text, (2, 1))
diffMat_3 = np.tile(text, (1, 2))
diffMat_4 = np.tile(text, (2, 2))
输出:
[[1 2]]
————————
[[1 2]
[1 2]]
——————————
[[1 2 1 2]]
————————
[[1 2 1 2]
[1 2 1 2]]


2.shape[]函数

shape[0]:获得矩阵的行数
shape[1]:获得矩阵的列数

3.argsort()函数

3.1
先定义一个array数据
import numpy as np
x=np.array([1,4,3,-1,6,9])
3.2
现在我们可以看看argsort()函数的具体功能是什么:
x.argsort()
输出定义为y=array([3,0,2,1,4,5])。
我们发现argsort()函数是将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y。例如:x[3]=-1最小,所以y[0]=3,x[5]=9最大,所以y[5]=5。
3.3
由于在程序中遇到了类似于np.argsort()[num]的形式,一直看不明白,就自己去python环境自己试了下:

ps:这里的num的绝对值小于等于x中元素的个数

当num>=0时,np.argsort()[num]就可以理解为y[num];

当num<0时,np.argsort()[num]就是把数组y的元素反向输出,例如np.argsort()[-1]即输出x中最大值对应的index,np.argsort()[-2]即输出x中第二大值对应的index,依此类推。

4.字典的get()方法

Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值。
get()方法语法:
dict.get(key, default=None)
参数
key – 字典中要查找的键。
default – 如果指定键的值不存在时,返回该默认值值。
返回值
返回指定键的值,如果值不在字典中返回默认值None。
例:
dict_1 = {“a”:1, “b”:2}
print(dict_1.get(“a”, 0))#输出为1
print(dict_1.get(“c”, 2))#输出为2

5.sorted函数的用法

5.1
字典的items函数用法
Python 字典 items() 函数作用:以列表返回可遍历的(键, 值) 元组数组。
items()方法语法:
dict.items()#返回的元素类型为<class ‘dict_items’>
实例:
dict = {‘老大’:‘15岁’,
‘老二’:‘14岁’,
‘老三’:‘2岁’,
‘老四’:‘在墙上’
}
print(dict.items())
for key,values in dict.items():
print(key + ‘已经’ + values + ‘了’)
以上实例输出结果为:
dict_items([(‘老大’, ‘15岁’), (‘老二’, ‘14岁’), (‘老三’, ‘2岁’), (‘老四’, ‘在墙上’)])
老大已经15岁了
老二已经14岁了
老三已经2岁了
老四已经在墙上了了
5.2
sorted函数原型为:
sorted(iterable, key, reverse)
例子:
import operator
dict_1 = {“a”:1, “b”:2, “c”:3}
dict_2 = dict_1.items()
print(type(dict_2))
print(dict_2)
list = sorted(dict_2, key=operator.itemgetter(1), reverse=True)
print(list)
print(list[0][0])
print(list[0][1])
说明:
#python3中用items()替换python2中的iteritems()
#key=operator.itemgetter(1)根据字典的值进行排序
#key=operator.itemgetter(0)根据字典的键进行排序
#reverse降序排序字典
输出为:
<class ‘dict_items’>
dict_items([(‘a’, 1), (‘b’, 2), (‘c’, 3)])
[(‘c’, 3), (‘b’, 2), (‘a’, 1)]
c
3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值