[python函数学习]机器学习实战

编程入门 行业动态 更新时间:2024-10-18 06:13:55

[python<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数学习]机器学习实战"/>

[python函数学习]机器学习实战

[python函数学习]机器学习实战 - k近邻

K近邻(KNN)

在测试点周围寻找近邻的K个点,将测试点标记成其中出现频率最多的分类。

def classify0(inX, dataSet, labels, k):#计算距离dataSetSize = dataSet.shape[0]diffMat = tile(inX, (dataSetSize, 1)) - dataSet   #tile函数将数组重复(m维, 每维n次)sqDiffMat = diffMat**2sqDistances = sqDiffMat.sum(axis = 1)  # axis = 1时列相加 压缩为一列distances = sqDistances**0.5sortedDistIndicies = 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]

tile(A,(repsM, repsN))

将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类型。

numpy.sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue)

a – 待求数组\向量\矩阵
axis – 求和的方向,None或没有axis参数表示全部数据相加,axis=0,表示按列相加,axis=1,表示按行相加,对于一维数组,只有axis=0,表示按行相加,没有axis=1,输入axis=1会报错

argsort(a, axis=-1, kind=‘quicksort’, order=None)

从小到大排序a,返回序索引值
axis – axis=0,按列索引。 axis=1,按行索引。
kind – ‘quicksort’(快速排序) ‘mergesort’(归并排序) ‘heapsort’(堆排序)
order – order: 如果数组包含字段,则是要排序的字段

dict.get(key, default=None)

返回指定键的值,如果值不在字典中返回默认值。
key – 字典中要查找的键。
default – 如果指定键的值不存在时,返回该默认值。

sorted(iterable, cmp=None, key=None, reverse=False)

对所有可迭代的对象进行排序操作。返回重新排序的对象
iterable – 可迭代对象。
cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

dict.items()

将字典拆分为列表,返回拆分后的列表。

operator.itemgetter(i)

获得第i维数据,函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。

更多推荐

[python函数学习]机器学习实战

本文发布于:2024-02-25 19:48:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1700105.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   实战   机器   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!