# -*- coding: utf-8 -*-
"""
Created on Mon Aug 08 21:58:22 2016
@author: Administrator
"""
from numpy import *
import xlrd
import operator
from os import listdir
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
data = xlrd.open_workbook('data1.xlsx')
table = data.sheets()[0]
nrows = table.nrows #行数
ncols = table.ncols #列数
c1=arange(0,nrows,1)
datamatrix=zeros((nrows,ncols))
for x in range(ncols):
cols =table.col_values(x)
minVals=min(cols)
maxVals=max(cols)
cols1=matrix(cols)# 把list转换为矩阵进行矩阵操作
ranges=maxVals-minVals
b=cols1-minVals
normcols=b/ranges# 数据进行归一化处理
datamatrix[:,x]=normcols# 把数据进行存储
# 对得到的数据进行画图
fig=plt.figure()
#ax=fig.add_subplot(111)#参数111的意思是:将画布分割成1行1列,图像画在从左到右从上到下的第1块
plt.scatter(datamatrix[:,0],datamatrix[:,1])# 对于矩阵进行画图,注意与matlab里面的不同,它的第一列为[0]
ply.show()
inX=[1,10]
#k均值分类函数的定义
def classify0(inX,datamatrix,labels,k):
datamatrixSize = datamatrix.shape[0]# 得到矩阵的行与列数,[0]代表行数,[1]代表列数
diffMat=tile(inX,(datamatrixSize,1))-datamatrix
#tile(inX,(datamatrixSize,1))把inX扩展为5行一列的矩阵
sqDiffMat=diffMat**2
sqDistances=sqDiffMat.sum(axis=1)#对每行元素进行求和
distances=sqDistances**0.5
sortedDistIndices=distances.argsort()#argsort函数返回的是数组值从小到大的索引值
classCount={}
for i in range(k):
voteIlabel=labels[sortedDistIndices[0]]
k=classCount.get(voteIlabel,0)
classCount[voteIlabel]=classCount.get(voteIlabel,0)+1
sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)
#reverse=True 进行反向的排序
return sortedClassCount[0][0]
#定义的算法的调用
# 数据的初始化
inX=[1,10]# 预测的坐标
labels=['A','A','B','B','A']
k=2
h=classify0(inX,datamatrix,labels,k)
相关推荐
《Python机器学习基础教程》学习笔记(3) k近邻算法(knn)
概述 k近邻算法(knn),是一个理论上比较成熟的方法,也是最简单的机器学习算法之一,常用于分类,也用于回归。 原理及实现:挖个坑 应用 分类 数据集:mglearn的forge 调用方法:sklearn.neighbors.KNeighborsClassifier库的KNeighborsClassifier方法 import mglearn from sklearn.m...
K-SVDdemo MATLAB 算法分析
下面是MATLAB上面的一个K-SVDdemo代码的分析,我也是MATLAB小白,第一次看 n = 20; m = 50; %设置字典维度大小 L = 1500; %样本的数量 k = 3; % 每个样本的稀疏度 snr = 20; %噪声等...
ksvdbox工具箱
ksvd算法工具ksvdbox,字典学习使用的算法。能够学习到dictionary,并进行比对,前提是得要安装matlab
matlab中norm函数的用法
格式:n=norm(A,p) 功能:norm函数可计算几种不同类型的矩阵范数,根据p的不同可得到不同的范数 1、如果A为矩阵 n=norm(A) 《Simulink与信号处理》 返回A的最大奇异值,即max(svd(A)) n=norm(A,p) 根据p的不同,返回不同的值 p 返回值 1 返回A中最大一列和,即max(sum(ab
基于RTL8370N的8口千兆无管理交换机硬件设计
无管理交换机是局域网边缘接入的核心基础设备,其本质是通过硬件状态机实现MAC地址学习、线速转发与自动协商,无需软件配置即可完成即插即用组网。原理上依赖高度集成的PHY+交换矩阵单芯片(如RTL8370N),结合确定性硬件逻辑替代MCU固件,保障低延迟、高可靠与零运维。技术价值体现在成本压缩、体积精简与部署极简化,广泛应用于家庭网络扩展、工业现场设备联网及嵌入式系统桥接等场景。本文详解一款基于RTL8370N的紧凑型8端口千兆无管理交换机,覆盖芯片选型依据、PHY接口设计、电源与散热优化等关键工程实践。
Plot3d 网格数据格式
PLOT3D是一个计算机图形程序,旨在可视化计算流体力学的网格和解决方案。PLOT3D文件可以是ASCII, 也可是Fortran unformatted 或 C binary形式。PLOT3D文件分为网格文件(XYZ 文件), 空气动力学结果文件 (Q 文件)和通用结果文件(函数文件 + 函数名称文件)。网格文件中可加入所谓的IBlank参数。
matlab norm 范式
%X为向量,求欧几里德范数,即 。 n = norm(X,inf) %求 -范数,即 。 n = norm(X,1) %求1-范数,即 。 n = norm(X,-inf) %求向量X的元素的绝对值的最小值,即 。 n = norm(X, p) %求p-范数,即 ,所以norm(X,2) = norm(X)。 命令 矩阵的范数函数 norm格式 n = norm(A) %A为矩阵,求欧几
【机器人路径规划】基于改进型A*算法的机器人路径规划(Python代码实现)
本文针对传统A算法在机器人路径规划中存在的搜索效率低、路径不平滑等问题,提出了一种改进型A算法。该算法通过引入跳点搜索(JPS)技术优化子节点扩展方式,结合贝塞尔曲线或B样条曲线进行路径平滑处理,并采用动态启发式函数和自适应邻域搜索策略,显著提升了路径规划的效率和路径质量。实验结果表明,改进型A*算法在复杂环境下能有效减少搜索节点数量,缩短路径长度,提高路径平滑性,且具备动态避障能力。
Matlab中norm_范数使用
Matlab中norm--范数使用 1范数(列范数)——norm(X,1) 2范数 ——norm(X,2) 范数(行范数)——norm(X,inf) Frobenius范数 ——norm(X,'fro')
普通开普勒式望远镜光学设计1-初始结构设计选型与物镜像差校正
普通开普勒式望远镜光学设计1: 完成了望远镜的总体结构设计,确定其物镜与目镜的初始结构选型,使用Zemax软件完成望远镜的双胶合物镜的像差校正。
量化实战:用三种波动率模型给你的期货策略做个“体检”(附Python代码与螺纹钢案例)
本文深入探讨了三种专业波动率模型(Parkinson、Garman-Klass和Rogers-Satchell)在期货量化策略中的应用,并以螺纹钢期货为例,展示了如何通过Python实现这些模型进行多维度波动率分析。文章详细比较了不同模型的特点和适用场景,提供了动态仓位管理、止损策略优化等实战应用方案,帮助交易者更精准地评估市场风险,优化策略表现。
K近邻算法(KNN)学习笔记
本文介绍了KNN(K近邻)算法的基本原理与应用。KNN是一种监督学习分类算法,通过计算待分类样本与训练样本的距离,选取k个最近邻进行投票决策。文章详细阐述了算法流程、k值选择对结果的影响,以及欧式距离和曼哈顿距离两种常用度量方法。通过鸢尾花分类和电影类型预测两个实例,演示了KNN算法的实际应用,包括数据准备、模型训练和评估等步骤。最后指出KNN无需提前训练模型,但需注意k值选择和特征标准化等问题。该算法简单直观,适用于小规模数据集分类任务。
madgwick算法基于MPU9250姿态融合漂移问题的原因
基于MPU9250的madgwick算法姿态漂移问题原因 0、声明 因为这个是现象是不是共性目前本人还没研究过,只是在个体问题研究的基础上得出的结论,或许我买到的MPU9250是一个盗版:),所以只具备参考性。 1、现象 使用MPU9250的加速度计、角速度计、磁力计(AK8963)原始数据输入到madgwick算法中,得到的姿态最终会在停止姿态变化后仍然漂移一小段时间。其中加速度计和角速度计读取速率为400hz,磁力计为100hz,加速度计采样范围±2g,角速度计采样范...
使用kNN近邻算法识别水果种类(Python学习笔记)
使用kNN近邻算法识别水果种类(Python学习笔记) 【下载地址】使用kNN近邻算法识别水果种类Python学习笔记 kNN算法是一种简单但有效的分类算法,它通过计算待分类样本与训练集中各个样本的距离,选择距离最近的k个样本,根据这k个样本的类别来决定待分类样本的类别。本项目通过一个具体的例子,展示了如何使用kNN算法...
平头哥面试——芯片工程师面经
有5个成递增关系的32bit地址值,彼此之间的间隔大小不确定,可以把他们当成parameter来输入模块,现有一个32bit输入数据,要求用尽量少资源去的判断这个数处于哪2个地址之间(地址区间),并且输出区间号。a)后续大概会在9月下旬谈具体的薪资,他们现在也没想好今年应届生的薪资该给多少,到时候如果可以签三方的话可能会跳过意向书环节直接发offer,谈薪资肯定是通过电话来。b. 这边的CPU是自己研制的(玄铁),成都这边主要做存储和网络,都有SOC。a. 成都这边的网络部门具体做的业务有哪些?
基于高德地图的单车路径规划与绘制实战(Vue3 + TypeScript)【拓展:货车路径规划函数、限行检测、城市 Adcode】
✅ 支持单辆车路径规划✅ 自动绘制路线✅ 起点、终点、途经点标注✅ 自动缩放视野至全路径✅ 获取路线距离、时长、过路费✅ 提供清除功能✅ 路线信息保存至本文完整实现了一个基于高德地图 JS SDK + Vue3 + TypeScript的👉单车路径规划与绘制模块。核心亮点:清晰的结构;灵活的扩展性;实时路线信息记录(🚀 你可以很方便地将本模块集成到车联网、调度监控、地图展示类项目中。❤️ 如果这篇文章对你有帮助,别忘了:评论区交流 💬。
学习笔记(一)k-近邻算法(KNN)
《机器学习实战》学习笔记(一)k-近邻算法(KNN) 终于找到《机器学习实战》这本书了,在此记录一些总结,便于回顾。 原理 KNN的工作原理是: 存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
KNN近邻算法学习笔记——代码详细注释
# -*- coding: utf-8 -*- from numpy import * import operator import matplotlib.pyplot as plt from os import listdir def createDataSet(): group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labe...
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
怀旧版电脑GBC模拟器
再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。
【学习】《算法图解》第十二章学习笔记:K近邻算法
尽管KNN算法有计算复杂度高、存储开销大等缺点,但其简单直观的特性使其成为机器学习入门的理想算法,也是实际应用中的重要工具之一。例如,如果一个特征的取值范围是0-1,另一个特征的取值范围是0-1000,那么第二个特征将在距离计算中占据主导地位。《算法图解》通过生动的例子和清晰的解释,帮助读者理解了KNN算法的基本原理和应用方法,为进一步学习更复杂的机器学习算法奠定了基础。在《算法图解》中,作者强调了归一化的重要性,并建议在实际应用中始终对特征进行适当的归一化处理。
【学习笔记】K-近邻算法(KNN)
1、K-近邻算法(KNN) #1.1 定义 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 来源:KNN算法最早是由Cover和Hart提出的一种分类算法 1.2 距离公式 两个样本的距离可以通过如下公式计算,又叫欧式距离 距离公式 2、电影类型分析 假设我们有现在几部电影 其中? 号电影不知道类别,如何去预测?我们可以利用K近邻算法的思想 2.1 问题 如果取的最近的电影数量不一样?会是什么结果? 2.2 K-近邻算法数据的特征工程
第4章 最基础的分类算法-k近邻算法 kNN 学习笔记 上
4-1 k近邻算法基础 对离的近的点投票 如果足够相似的则是同类别,相似性通过特征空间中的距离来判断的, import numpy as np import matplotlib.pyplot as plt raw_data_X = [[3.393533211, 2.331273381], [3.110073483, 1.781539638], [1.343808831, 3.368360954], .
机器学习学习笔记(五)之K-近邻算法(KNN)
一、K-近邻算法(KNN)原理 定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一类别,则该样本也属于这个类别 距离公式:两个样本的距离可以通过欧式距离计算 二、K-近邻算法API sklearn.neighbors.KNeighorsClassifier(n_neighbors=5,algorithm=‘auto’) n_neighbors:int,可选,默认为5,k_neighbors查询默认使用的邻居数。 algorithm:{‘auto’,‘ball_t
【机器学习】k-近邻算法(kNN) 学习笔记
【机器学习】k-近邻算法(kNN) 学习笔记标签(空格分隔): 机器学习kNN简介kNN算法是做分类问题的。思想如下:KNN算法的思想总结一下:就是在训练集中数据和标签已知的情况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为相似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为: 计算测试数据与各个训练数据之间的距离;
《机器学习实战》学习笔记(一): k-近邻算法(手写识别系统实战)
《机器学习实战》学习笔记(一): k-近邻算法(手写识别系统实战) 一、k-近邻法简介 k近邻法(k-nearest neighbor, k-NN)是1967年由Cover T和Hart P提出的一种基本分类与回归方法。它的工作原理是:存在一个样本数据集合, 也称作为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。输入没有标签的新数据后, 将新的数据的...
DeepLearning基础学习笔记三(KNN邻近算法)
概述 最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到与之完全匹配的训练对象呢,其次就是存在一个测试对象同时与多个训练对象匹配,导致一个训练对象被分到了多个类的问题,基于这些问题呢,就产生了KNN。 KNN是通过测量不同特征值之间的距离进行分类。 它的的思路是:如果一个样本在特征空间中...
sklearn学习笔记-----K近邻算法回归
一、KNN模型回归 在此我们已经学习了分类和回归,下面对这两种预测类型做一个理解概括: 1、分类:分类是一个“定性”问题,即区分数据是哪种性质。分类输出的不是一个可以度量的量,像之前的区分性别或者肿瘤是恶性还是良性,他的答案只有0或1(即正确或错误)。 (常见的评估分类器的性能衡量方法:准确率、精确率、召回率、F1、马修斯相关系数(MCC)) 2、回归:回归是一个“定量”问题,即输出的是一个量值,我们可以通过这个量值去衡量输出值与真实值之间的“误差”,例如预测身高164的男性他的体重为52kg,我们
1222



被折叠的 条评论
为什么被折叠?



