机器学习笔记(6)---K-近邻算法(4)---使用K近邻算法检测异常操作之一

k-近邻算法梳理(从原理到示例) k-近邻算法是一个有监督的机器学习算法,k-近邻算法也被称为knn算法,可以解决分类问题。也可以解决回归问题。本文主要内容整理为如下: knn算法的原理、优缺点及参数k取值对算法性能的影响; 使用knn算法处理分类问题的示例; 使用knn算法解决回归问题的示例; 使用knn算法进行糖尿病检测的示例; 一些扩展知识。 1 算法原理 knn算法的核心思想是未标记样本的类别,由距离其最近的k个邻居投... 阅读详情

前言

接着前面三篇学习笔记《约会对象魅力程度分类》、《使用sklearn中的KNN算法》和《KNN手写识别系统》,本节记录使用K近邻算法检测异常操作,主要参考《Web安全之机器学习》 。
转载请注明出处:http://blog.youkuaiyun.com/rosetta

使用K近邻算法检测异常操作之一

实验数据及情况

实验数据在Schonlau个人网站中:http://www.schonlau.net/
Schonlau实验数据

训练数据包含50个用户的操作日志(网站上对应红框处“Masquerade Data(zip File)”)和一个标签文件label.txt(网站上对应的红框处“WIndows ascii file”)

在本机解压后是这样子的:
Schonlau数据解压后
实验数据一共收集了50个用户的操作命令(在理解代码时,只先考虑1个用户的即可),每个用户命令为15000条,前5000条是正常数据(这里隐含的一层意思是,我不需要特意指定标签了,你在代码中把我们全设置成0就可以了(本次实验就0表示正常操作;1表示异常操作)),后10000条随机包含了异常操作。

为了方便操作,会把数据集的每100个命令作为一个操作序列,所以15000条数据实际上看作150条,而前50条都是正常的,那么只有后面的100条需要标记,所以lable.txt中只有100条,而不是150条。在代码中使用KNN算法时,会把训练数据的label的前50条自动补上0,后100条从lable.txt中读取,这样就组合出了代码中实际的lable是150条的,和数据的条目能对应上了。

注意下本次实验样本数据的标签放在label.txt中,要以列方向去看,比如User1样本的标签对应第0列(因为加载到python list中是以0开始算的),User3就是第2列了。

另外在训练数据的时候,怎么把每组的100条数据清洗成易理解的数据?本实验是这么做的(针对1个用户来说):先统计15000条数据中最频繁使用的50个命令(后续称全局TOP50)和最不频繁使用的50个命令(后续称LOW50),然后统计每个100条数据中不重复命令的个数,及最频繁使用的前10个命令和是不频繁使用的10个命令,拿前10和后10分别和TOP50 LOW50取交集,生成一条数据的特征list:[无重复命令个数,和TOP50交集个数,和LOW50交集个数],生成这样的特征一共150条。

代码中的特征变量由user_cmd_feature list表示。
特征变量

并生成150条对应的lables,从下图代码可知,前50条因为都是正常数据,所以赋值为0,后100条从lable.txt中读取
代码中的标签用y表示。
前50条正常数据的标签都赋值为0

这些数据出来以后就好办了,取150条数据的前N条数据用来做训练数据,后150-N条数据做测试数据,然后和之前的学习内容都是类似的了。本实例的KNN核心代码就是如下4句。
代码中的训练数据用:x_train和y_train表示,一个是特征,另一个是特征对应的标签
测试数据用x_test和y_test表示,算法预测的结果用y_predict表示。
K近邻算法检测异常操作核心代码

注意

这个实验的结果是很坑爹的,因为通过预测的结果都是0,而用于测试的数据其标签0多,1少,所以导致后续的结果看起来正确率很高。我试了其它的几个User样本,也是类似的,没见过预测的结果中有1的情况。
即使如此,从本实验中还是学到了很多东西,比如如何从原始数据转换成KNN能理解的标量数据等。

实验代码

本代码原始文件是《Web安全之机器学习》书中的,本人加了些注释而已。

# -*- coding:utf-8 -*-

import numpy as np
from nltk.probability import FreqDist
from sklearn.neighbors import KNeighborsClassifier

from sklearn.metrics import classification_report
from sklearn import metrics

#N姑且叫做训练数据,实际上就是已知的带标签的数据条目数。
N=100

def load_user_cmd(filename):
    cmd_list=[]
    dist_max=[]
    dist_min=[]
    dist=[]
    with open(filename) as f:
        i=0
        x=[]
        for line in f:
            line=line.strip('\n')
            x.append(line)
            dist.append(line)
            i+=1
            if i == 100:
                cmd_list.append(x)
                x=[]
                i=0

    fdist = list(FreqDist(dist).keys())
    dist_max=set(fdist[0:50])
    dist_min = set(fdist[-50:])
    return cmd_list,dist_max,dist_min
#cmd_list包含150组数据,每组100个命令,所以一共是15000个命令。
#dist_max 最常用的50个命令
#dist_min 最不常用的50个命令

def get_user_cmd_feature(user_cmd_list,dist_max,dist_min):
    user_cmd_feature=[]
    for cmd_block in user_cmd_list:
        f1=len(set(cmd_block))#当前分块(100个数据中),不重要的数据个数
        fdist = list(FreqDist(cmd_block).keys())#这100个数据中频繁程度排序。FreqDist为nltk中的库,nltk是NLP(自然语言处理)工具包。
        f2=fdist[0:10]#最频繁的10个命令
        f3=fdist[-10:]#最不频繁的10个命令
        f2 = len(set(f2) & set(dist_max))#这100个命令中最频繁的10个命令和15000个命令中最频繁的前50个的交集的长。。
        f3=len(set(f3)&set(dist_min)) #这100个命令中最不频繁的10个命令和15000个命令中最不频繁的前50个的交集的长度
        x=[f1,f2,f3]
        user_cmd_feature.append(x)
    return user_cmd_feature

def get_label(filename,index=0):
    x=[]
    with open(filename) as f:
        for line in f:
            line=line.strip('\n')
            x.append( int(line.split()[index]))
    return x

if __name__ == '__main__':
    user_cmd_list,user_cmd_dist_max,user_cmd_dist_min=load_user_cmd("./data/MasqueradeDat/User3")
    #user_cmd_list 150个大小的list,list中的每个成员又是一个存放100个字符串(linux操作命令)的list.
    #user_cmd_dist_max 15000个命令中最频繁使用的50个命令
    #user_cmd_dist_min 15000个命令中最不频繁使用的50个命令
    user_cmd_feature=get_user_cmd_feature(user_cmd_list,user_cmd_dist_max,user_cmd_dist_min)
    #user_cmd_feature存放的是150个大小的List,list中的每个成员也是list,里面的list长度为3,记录100个记录分组中的不重复命令个数,和50个最频繁命令交集的个数,和50个最不频繁命令交集的个数
    labels=get_label("./data/MasqueradeDat/label.txt",2) #取标签的第2列,因为从0开始,所以实际上是label.txt的第3列。一共100行,为什么是100行而不是150行?因为前面5000条(50行)都是正常数据,默认为0就是,就不用类型了,
    # 后面10000(100行)条是随机包含有异常操作。
    y=[0]*50+labels
    #y为150个大小的list,前50个为正常数据,值为0, 后100个就是从label.txt中读出来的某一列,哪一列由get_label第2个参数决定。

    #KNN中其实没什么训练集概念,用这个概念反而不容易理解,其它就是一个已知带标签的样本数据,当有新数据到来的时候和这些有标签的数据的属性做一个最近邻计算。
    #算出距离最近的前k项,并统计这k项中最多的项属于哪类,那么新数据就属于这一类。
    x_train=user_cmd_feature[0:N] #取前N项数据的特征用作样本
    y_train=y[0:N] #取前N项数据对应的标签。这个主要是用于当新数据和已知样本匹配上后,返回这些已知样本的标签。

    x_test=user_cmd_feature[N:150] #后50项用来测试
    y_test=y[N:150] #测试数据实际上是知道真实的标签结果的,这个y_test就是真实结果,它用来和通过分类器预测的结果做对比。

    neigh = KNeighborsClassifier(n_neighbors=3)
    neigh.fit(x_train, y_train)#就是输入已知的条目属性,和该条目录对应的标签。
    y_predict=neigh.predict(x_test)#然后输入测试数据,和已知条目属性做距离运算,返回预测结果。
    #这个预测结果都是0,没法玩。。

    score=np.mean(y_test==y_predict)*100#然后把测试结果和真实结果对比,算出错误率。

    #print y
    #print y_train
    print(y_test)#打印测试集已经知标签
    print(y_predict)#打印使用KNN算法预测后的标签。
    print(score)

#     print(classification_report(y_test, y_predict)) #这两句是sklearn中的东西,不知道啥意思,不影响KNN算法的学习,后续再看吧。
# print(metrics.confusion_matrix(y_test, y_predict))

K近邻算法检测异常操作运行结果

如有疑问之处欢迎加我微信交流,请备注“优快云博客”
这里写图片描述

如有疑问之处欢迎加我微信交流,共同进步!请备注“优快云博客”
这里写图片描述

Python异常检测-K最近邻算法(KNN) kNN算法(k–NearestNeighbor算法),又称k-近邻算法。KNN是一种非参数学习算法,通过基于距离来度量异常的算法,简单来说就是近朱者赤近墨者黑。 阅读详情

相关推荐

K-近邻算法(KNN)原理分析和代码实战

K-近邻算法,全称为K-nearest neighbor,简称KNN。它是一个原理非常简单,但是计算复杂度比较高的一个分类算法,接下来,我们先从原理出发,再进行源代码的解析。

梁先森的博客 1714

学习笔记(一):使用K近邻算法检测web异常操作

黑客入侵Web服务器后,通常会通过系统漏洞进一步提权,获得ROOT权限。我们可以通过搜集LINUX服务器的bash操作日志,通过训练识别出特定用户的操作习惯,然后进一步识别出异常操作的行为。 1.数据搜集        训练集包括50个用户的操作日志,每个日志包括15000个操作命令,其中5000条都是正常操作,后面的10000条日志中随机包含有异常操作,每100条操作作为一个操作序列,保存在...

盐可 1122

K邻近算法的Python实践——用Python实现简单而强大的机器学习算法

K邻近算法是一种简单而强大的机器学习算法,它基于实例的学习方法,通过测量邻近的训练样本与新样本之间的距离,实现分类和回归任务。希望本文所介绍的K邻近算法的基本原理和Python实践能够帮助读者更好地理解和应用该算法,在实际应用中发挥出其强大潜力,并激发读者对机器学习的更深入探索。它基于实例的学习方法,通过根据邻近的训练样本来预测新的数据点的标签。本文将介绍K邻近算法的基本原理、实现步骤和示例代码,帮助读者理解和应用Python实现K邻近算法。K值是K邻近算法的一个重要参数,表示用于预测的最近邻的数量。

m0_70911440的博客 739

【机器学习】异常检测算法之(KNN)-K Nearest Neighbors

sklearn库里的KNN并没有直接用于异常检测,但是包含了距离计算的函数,所以我们应用PyOD中KNN库进行异常检测,里面基本上也是调用sklearn的函数进行计算,并进行了一些加工。一、图解KNN异常检算法KNN怎么进行无监督检测呢,其实也是很简单的,异常点是指远离大部分正常点的样本点,再直白点说,异常点一定是跟大部分的样本点都隔得很远。基于这个思想,我们只需要依次计...

fengdu78的博客 7644

探秘机器学习经典:K-近邻算法(KNN)全解析

K-近邻算法是一种基于实例的学习方法,它的工作原理非常直接:给定一个新的观测点,找出训练集中与其最相似的K个邻居,然后根据这些邻居的主要类别来预测新点的类别(在分类任务中),或者取邻居的平均值作为预测值(在回归任务中)。在浩瀚的机器学习宇宙中,K-近邻算法(K-Nearest Neighbors,简称KNN)如同一颗璀璨的明星,以其简洁直观的原理和广泛的应用范围,赢得了众多数据科学家的喜爱。一般通过交叉验证来确定最优K值,即在不同K值下训练模型并评估其在验证集上的表现,选择表现最好的K值。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 740

【AI概念】K均值聚类(K-Means Clustering)与K-近邻算法(KNN)是什麽?有什么区别?机器学习中担任什么角色?|算法流程与数学推导、典型代码实现、工程应用建议|聚类、回归、分类任务

大家好,我是爱酱。本篇将会系统梳理K-Means聚类与K-最近邻(KNN)的定义、核心思想、主要区别、机器学习中的典型应用与工程意义。内容适合初学者和进阶读者,配合公式和对比表格,帮助你一文看懂两大经典算法。 注:本文章含大量数学算式、详细例子说明及大量代码演示,大量干货,建议先收藏再慢慢观看理解。新频道发展不易,你们的每个赞、收藏跟转发都是我继续分享的动力! 爱酱也单独发过K-近邻算法和K均值聚类的单独文章介绍,内容非常深入,并包含大量代码演示跟范例,欢迎大家去看看,加深对这两个算法的了解!

AI人工智能爱酱~你的AI学习好帮手~ 1829

异常检测1——python使用KNN模型进行异常检测

pyod github项目地址:https://github.com/yzhao062/pyod pyod 文档地址:https://pyod.readthedocs.io/en/latest/ 数据源:https://github.com/zrnsm/pyculiarity/blob/master/tests/raw_data.csv 代码示例 from pyod.models.knn import KNN # 使用KNN异常检测 import pandas as pd def get_data()

呆萌的代Ma 3582

ADRV9009的学习历程(一)

** AD9361的同胞ADRV9009 ** 终于记录一下了 距离第一次想写博客记录自己学习的点点滴滴,大概已经过去有一年有余。一直都是停留在心有余而力不足的境界。 基本每次做项目遇到问题都会来优快云寻求帮助,这里虽离庙堂较远,但高手云集。每每读来,思绪万千,次次膜拜。 趁这次又学习了一样新物件,就记录一下,望大神看见能赐教一下。 ADRV9009 最近有项目要用到ADRV9009这个芯片。就来学习一下。做过AD9361的都知道,ADI官方会给出这个芯片的参考手册、数据手册和驱动程序。当然我只是见过AD

weixin_42868560的博客 1万+

学习笔记(二):使用K近邻算法检测Web异常操作

使用全量比较,而不是最频繁和最不频繁的比较。 1.数据搜集        我们使用词集的模型,将全部命令去重后形成一个大型向量空间,每个命令代表一个特征,首先通过遍历全部命令,生成对应词集。 with open(filename) as f: for line in f: line = line.strip('\n') dist.append(line) fdist = F...

盐可 756

管道机器人手臂机械结构设计cad【8张】+三维图+设计说明书+绛重

履带式管道机器人适用于各种管道环境,包括直管道、弯曲管道、水平管道、垂直管道等,其灵活性和适应性使得它可以应对不同形状和尺寸的管道,完成全面的检测和维护工作。管道机器人研究具有重要的现实意义和深远的社会影响,通过提高工作效率、降低人员风险、提升服务质量、节约成本资源和促进科技创新等方面的作用,为现代工程技术领域的发展和进步做出了积极的贡献。管道机器人是一种能够在管道内部执行各种任务的智能机器人,而管道机器人的机械臂对于管道机器人在管道内执行任务的灵活性、稳定性和效率至关重要。

kejigongjiang的博客 943

Python量化投资——mplfinance实现全功能动态交互式K线图(蜡烛图)【源码+详解】

特别鸣谢:@szFoxtech 同学热心提供了通过键盘操作平移和缩放K线图的代码!!在我的另一篇文章《七行代码利用tushare和mplfinance生成K线图》中,我介绍了两个非常好用的python库,结合起来可以非常方便容易地生成股票的K线图,对于使用python进行量化投资研究的朋友可谓是必备良方。如下图所示,仅仅几行代码,就能生成下面这张K线图:不过,仅仅使用七行代码生成的K线图,虽然看上去也像那么回事了,但是对于真正需要使用K线图作为研究工具或者可视化工具的朋友们来说,是远远不够的。在我看来,至少

m0_67390379的博客 9835

《Web安全之机器学习入门》笔记:第五章 5.4 K近邻检测异常操作(二)

本章节根据《Web安全之机器学习入门》的第五章5.4节K近邻检测异常操作,同样是使用K近邻机器学习算法对Masquerading User Data数据集中的操作日志进行训练来识别出异常操作行为。与5.3不同之处是5.3示例中只比较了最频繁和最不频繁的操作命令,这次尝试进行全量比较。

mooyuan的网络安全博客 536

从LLM到VLM再到VLA:三兄弟的“变形记”——定义、架构演进与最新趋同

LLM、VLM、VLA虽然在时间上依次出现,但它们在架构上的演进并非线性替代,而是形成了一个从“理解语言”到“理解世界”再到“改变世界”的认知闭环。VLA之所以能在短短三年内从概念走向现实,正是因为它站在了LLM和VLM的肩膀上——RT-2的泛化能力来自互联网规模的VLM预训练,π0的扩散策略受益于生成式模型的突破,Helix的双系统架构借鉴了“快慢思考”的认知科学洞见。而反过来,VLA在实际部署中遇到的效率瓶颈和实时性要求,也在倒逼LLM和VLM向更轻量、更高效的架构方向演进。

Ven%的博客 490

异常检测系列:K最近邻算法KNN

上表显示了正常组和异常组的特征。它显示了正常组和异常组的计数和计数百分比。请记住,在有效的展示中,要用特征名称标记特征。一旦确定了阈值,大小就确定了。如果阈值是从图(D.2)中得出的,并且没有先验知识,那么大小统计数据成为一个很好的起点参考。所有均值必须与领域知识一致。在我们的案例中,异常组的均值小于正常组的均值。异常组的平均分数应该高于正常组的分数。您不需要过多解释分数。因为我们在数据生成中有真实值,所以我们可以生成一个混淆矩阵来了解模型的性能。该模型表现不错,并且识别出了所有的25个异常值。

数智笔记 3339

Altium Designer(AD)仿真实验操作指南

1:运行仿真2:设置仿真3:放置电源模块4:放置器件模块5:探针。

XU157303764的博客 8899

wireshark提取视频数据之RTP包中提取H264和H265

本文主要描述从wireshark包数据中提取出H264和H265裸流数据方法,裸流通过RTP封包方式发送,从抓包中直接提取视频流数据,进而进行流媒体问题定位

技术控的笔记 17万+

【机器学习】异常检测

异常检测实际案例:网络安全中的攻击检测,金融交易欺诈检测,疾病侦测,和噪声数据过滤等。时间序列的异常又分为点异常和模式异常。对于一个新观测值进行判断: 离群点检测: 训练数据包含离群点,即远离其它内围点。离群点检测估计器会尝试拟合出训练数据中内围点聚集的区域, 会忽略有偏离的观测值。 新奇点检测: 训练数据未被离群点污染,我们对新观测值是否为离群点感兴趣。在这个语境下,离群点被认为是新奇点。 离群点检测 也被称之为 无监督异常检测; 而 新奇点检测 被称之为 半监督异常检测。 在离群点检

noobiee的博客 1万+

2024顶级提示工程工具:提升效率的12个神器

LlamaIndex虽然本身不是直接的提示词编辑工具,但其整个设计都围绕着如何有效地将外部知识融入LLM的提示词。它提供了结构化的方式来管理“上下文窗口”——即哪些私有数据应该被包含在提示词中。通过优化索引结构和检索策略,可以确保提示词中包含最相关、最高质量的上下文信息,从而大幅提升LLM基于私有数据回答问题的准确性和相关性。同时,LlamaIndex允许开发者针对不同的查询类型和数据特点定制提示词模板,这使得提示词的复用和优化更加系统化。

AIGC应用创新大全的博客 1098

机器学习之KNN(K近邻)算法

KNN算法又叫做K近邻算法,是众多机器学习算法里面最基础入门的算法。KNN算法是最简单的分类算法之一,同时,它也是最常用的分类算法之一。KNN算法是有监督学习中的分类算法,它看起来和Kmeans相似(Kmeans是无监督学习算法),但却是有本质区别的。KNN算法基于实例之间的相似性进行分类或回归预测。在KNN算法中,要解决的问题是将新的数据点分配给已知类别中的某一类。该算法的核心思想是通过比较距离来确定最近邻的数据点,然后利用这些邻居的类别信息来决定待分类数据点的类别。其核心思想为:“近朱者赤近墨者黑”

十年以上架构设计经验,专注于软件架构和人工智能领域,对机器视觉、NLP、音视频等领域都有涉猎 1万+

27、VXLAN BGP EVPN网络的自动化部署与运维管理

本文深入探讨了VXLAN BGP EVPN网络从初始配置到运维管理的全生命周期自动化流程,涵盖Day-0设备自动上线、Day-0.5增量变更与连接验证、Day-1覆盖服务配置与计算集成,以及Day-2监控与故障排查。详细介绍了推送与拉取两种配置模型、主流工具如Cisco VTS、NFM、DCNM的功能特点,以及开源自动化工具的应用。通过流程图和命令示例,系统展示了MAC/IP学习、BGP通告和VXLAN封装的验证方法,为构建高效、可扩展的数据中心网络提供了全面的技术指导。

banana的博客 81

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【机器学习】一文详解异常检测算法:KNN

大家好,我们知道 sklearn 库里的 KNN 并没有直接用于异常检测,但是包含了距离计算的函数,所以我们应用PyOD中KNN库进行异常检测,里面基本上也是调用sklearn的函数进行计算,并进行了一些加工。喜欢本文记得收藏、关注、点赞。 【注】完整代码、数据、技术交流文末获取。 一、图解KNN异常检算法 KNN怎么进行无监督检测呢,其实也是很简单的,异常点是指远离大部分正常点的样本点,再直白点说,异常点一定是跟大部分的样本点都隔得很远。基于这个思想,我们只需要依次计算每个样本点与它最近的K个样本的平均距

Python数据挖掘 6578

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

机器学习:k邻近算法(KNN)

title: 机器学习:k邻近算法(KNN) date: 2019-11-16 20:20:41 mathjax: true categories: 机器学习 tags: 机器学习 什么是K邻近算法? 工作原理是:存在一个样本数 据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据 与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集...

weixin_42479155的博客 582

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C/C++开发,opencv-ml库学习,K近邻(KNN)应用

opencv-ml库的K近邻算法(cv::ml::KNearest)应用,基于mnist数据集(手写数字识别)样本实现,提供完整的编译过程及源代码。

技术需要分享 2268

学习宝书使用K近邻算法检测异常操作、检测Rookit和WebShell

学习《Web安全之机器学习》,颇有收获。 1.检测异常操作 因为我的python版本是3.7,和作者有所不同。修改了很多部分后,暂时的KNN.py代码为: # -*- coding:utf-8 -*- import sys import urllib from urllib.parse import urlparse import re from hmmlearn import hmm ...

不忘初心,护天下安全! 1516

机器学习——k-近邻算法、K-均值算法、PCA、异常检测算法、上限分析

K Nearest Neighbor算法⼜叫KNN算法,这个算法是机器学习⾥⾯⼀个⽐较经典的算法如果⼀个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的⼤多数属于某⼀个类别,则该样本也属于这个类别。d=∑i=1n(x1i−x2i)2d = \sqrt{\sum_{i=1}^n(x_{1i}- x_{2i})^2}d=∑i=1n​(x1i​−x2i​)2​ 二、K-均值算法(K Means) K-均值算法是一种聚类算法,同时也是非监督学习的算法。它首先随机生成几个聚类中心,然后在每次递归时实现簇分

胡图图不糊涂的博客 1481

机器学习——k-近邻算法原理实现

存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。在分类任务中,KNN算法通过测量不同数据点之间的距离来确定新数据点的分类。6.使用算法:首先需要输入样本数据和结构化的输出结果,然后运行k-近邻算法判定输入数据分别属于哪个分类,最后应用对计算出的分类执行后续的处理。计算新数据点与训练集中所有数据点的距离。

weixin_74731967的博客 859
上一篇: 机器学习笔记(5)---K-近邻算法(3)---KNN手写识别系统
下一篇: 机器学习笔记(7)---K-近邻算法(5)---使用K近邻算法检测异常操作之二
sweird
博客等级 码龄20年 336粉丝 103原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值