学习KNN算法过程中遇到的Numpy函数整理
来源:互联网 发布:淘宝女舞蹈裤 编辑:程序博客网 时间:2024/06/04 01:28
昨天抽空学了一下入门机器学习的比较简单的一个算法,kNN算法。具体这是什么算法的话。。我就不多说了,我这里主要是想将写这个算法代码过程中遇到的一些东西整理一下。
下面先上简单的kNN算法代码
from numpy import *import operatordef createDataSet(): group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) # 虽然很少。。但也叫做训练数据集 labels = ['A','A','B','B'] # 标签 return group,labelsdef classify(inX,dataSet,labels,k): # inX是要用来进行分类的向量 dataSet是训练数据集(通过上面的函数进行获得)labels标签 k选择近邻数目 dataSetSize = dataSet.shape[0] # 获取训练样本集中的向量个数 diffMat = tile(inX,(dataSetSize,1))-dataSet # 将inX待检测向量 扩大为与训练数据集同维度的向量组 进行相减 这样就方便进行下面的计算 sqDiffMat = diffMat**2 # 将差值分别进行一次平方 sqDistances = sqDiffMat.sum(axis=1) # 将向量的一行进行相加 distances = sqDistances**0.5 # 进行开方 sortedDistIndicies = distances.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) return sortedClassCount[0][0]
然后开始吧(写的很多东西可能是Numpy里面很基础的东西,大牛勿喷)
1: dataSize = dataSet.shape[0]这里的shape方法。
这里的shape是用来读取矩阵的长度
直接调用shape就返回这个矩阵是多少行,多少列。 shape[0]返回行数,shape[1]返回列数
>>> eematrix([[1, 2, 3], [4, 5, 6]])>>> ee.shape(2, 3)>>> ee.shape[0]2>>> ee.shape[1]32:tile()函数。
tile(A,reps),简单的说就是对A进行重复输出,这里的A可以是array 或者是 list 或者是 tuple 等等,可以重复列或者重复行或者行列同时重复
>>> eematrix([[1, 2, 3], [4, 5, 6]])>>> ee=tile(ee,2)>>> eematrix([[1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6]])>>> ee=tile(ee,(2,1))>>> eematrix([[1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6], [1, 2, 3, 1, 2, 3], [4, 5, 6, 4, 5, 6]])
3: argsort()函数,这个函数。。是一个排序函数,就是根据元素的值进行排序,然会返回的是下标。
>>> x=array([1,4,3,-1,6,9])>>> x.argsort()array([3, 0, 2, 1, 4, 5])
就先这样吧,周末又来了~
上面如果有不好的地方,希望大家多多指教,我是新手
阅读全文
0 0
- 学习KNN算法过程中遇到的Numpy函数整理
- numpy安装过程中遇到的问题
- angular 学习过程中遇到的坑(整理中)
- H.264学习过程中遇到的英文缩写整理
- 整理iOS工作学习过程中遇到的各种问题
- nodejs学习过程中遇到的一些难点整理
- python实现KNN算法中遇到的问题
- 机器学习算法小整理之KNN
- ORACLE函数整理(函数暂不分类,以编程过程中遇到的先后添加)
- 【机器学习】knn(k-近邻算法)&numpy安装
- 机器学习中常用的Numpy函数
- python 中 常用到的 numpy 函数 整理
- python 中 常用到的 numpy 函数 整理
- python 中 常用到的 numpy 函数 整理
- python 中 常用到的 numpy 函数 整理
- python 中 常用到的 numpy 函数 整理
- python 中 常用到的 numpy 函数 整理
- python 中 常用到的 numpy 函数 整理
- Android 内存分析
- python image
- double与float的详解
- 计蒜客 汉诺塔 -Python
- Linux学习笔记3——常用命令
- 学习KNN算法过程中遇到的Numpy函数整理
- super和this的区别
- 04oracle学习笔记
- angular $filter 自定义显示当前时间
- mysql中decimal,numeric,double,float的区别
- DShow暂时存.
- Android实现网络多线程断点续传下载
- FeatureLayer未能显示标注问题
- Windows如何使用jstack跟踪异常代码