ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

KNN近邻算法,走过路过不要错过

KNN近邻算法,走过路过不要错过 1 【理解】KNN算法思想K-近邻算法K Nearest Neighbor简称KNNKNN算法思想如果一个样本在特征空间中的 k 个最相似的样本中的大多数属于某一个类别则该样本也属于这个类别样本相似性样本都是属于一个任务数据集的。样本距离越近则越相似.1.1【知道】K值的选择1.2 【知道】KNN的应用方式解决问题分类问题、回归问题算法思想若一个样本在特征空间中的 k 个最相似的样本大多数属于某一个类别则该样本也属于这个类别1.2.1分类问题之分类流程1.计算未知样本到每一个训练样本的距离2.将训练样本根据距离大小升序排列3.取出距离最近的 K 个训练样本4.进行多数表决统计 K 个样本中哪个类别的样本个数最多5.将未知的样本归属到出现次数最多的类别1.2.1回归问题之回归流程1.计算未知样本到每一个训练样本的距离2.将训练样本根据距离大小升序排列3.取出距离最近的 K 个训练样本4.把这个 K 个样本的目标值计算其平均值5.作为将未知的样本预测的值1.3API介绍KNN分类APIsklearn.neighbors.KNeighborsClassifier(n_neighbors5)​ n_neighborsint,可选默认 5k_neighbors查询默认使用的邻居数KNN回归APIsklearn.neighbors.KNeighborsRegressor(n_neighbors5)2 特征预处理2.1【知道】为什么进行归一化、标准化特征的**单位或者大小相差较大或者某特征的方差相比其他的特征要大出几个数量级容易影响支配目标结果**使得一些模型算法无法学习到其它的特征。2.2 【掌握】归一化通过对原始数据进行变换把数据映射到【mi,mx】(默认为[0,1])之间数据归一化的API实现sklearn.preprocessing.MinMaxScaler (feature_range(0,1)… )feature_range 缩放区间调用 fit_transform(X) 将特征进行归一化缩放归一化受到最大值与最小值的影响这种方法容易受到异常数据的影响, 鲁棒性较差适合传统精确小数据场景2.3 【掌握】标准化通过对原始数据进行标准化转换为均值为0标准差为1的标准正态分布的数据* mean 为特征的平均值* σ 为特征的标准差数据标准化的API实现sklearn.preprocessing. StandardScaler()调用 fit_transform(X) 将特征进行归一化缩放对于标准化来说如果出现异常点由于具有一定数据量少量的异常点对于平均值的影响并不大3 超参数选择的方法3.1【知道】交叉验证交叉验证是一种数据集的分割方法将训练集划分为 n 份其中一份做验证集、其他n-1份做训练集集交叉验证法原理将数据集划分为 cv10 份1.第一次把第一份数据做验证集其他数据做训练2.第二次把第二份数据做验证集其他数据做训练3.... 以此类推总共训练10次评估10次。4.使用训练集验证集多次评估模型取平均值做交叉验证为模型得分5.若k5模型得分最好再使用全部训练集(训练集验证集) 对k5模型再训练一边再使用测试集对k5模型做评估3.2【知道】网格搜索交叉验证网格搜索的API:4分类问题评估4.1分类评估方法–混淆矩阵•什么是混淆矩阵•混淆矩阵四个指标•真实值是正例的样本中被分类为正例的样本数量有多少叫做真正例TPTrue Positive•真实值是正例的样本中被分类为假例的样本数量有多少叫做伪反例FNFalse Negative•真实值是假例的样本中被分类为正例的样本数量有多少叫做伪正例FPFalse Positive•真实值是假例的样本中被分类为假例的样本数量有多少叫做真反例TNTrue Negative4.2分类评估方法精确率•查准率对正例样本的预测准确率。比如把恶性肿瘤当做正例样本想知道模型对恶性肿瘤的预测准确率。•计算方法PTPTPFPTP/(TPFP)•精确率(Precision)-举个栗子已知样本集10样本有6个恶性肿瘤样本4个良性肿瘤样本我们假设恶性肿瘤为正例4.3分类评估方法召回率•也叫查全率指的是预测为真正例样本占所有真实正例样本的比重例如恶性肿瘤当做正例样本则我们想知道模型是否能把所有的恶性肿瘤患者都预测出来。•计算方法PTPTPFNTP/(TPFN)•召回率(Recall)-举个栗子4.4分类评估方法F1•若对模型的精度、召回率都有要求希望知道模型在这两个评估方向的综合预测能力•计算方法P2∗∗(2∗Precision∗Recall)/(PrecisionRecall)•F1-score-举个栗子
返回列表