「数据分类」09数据建模概述及KNN分类算法

1.python数据分析

(1)数据建模:指的是对现实世界各类数据的抽象组织,建立一个适合的模型对数据进行处理。模型的建立依赖于算法,常见的算法有分类、聚类、关联、回归等。

(2)数据分类:分类是指把数据样本映射到一个事先定义的类中的学习过程,即给定一组输入的属性向量及其对应的类,用基于归纳的学习算法得出分类。

①数据分类过程:

数据分类过程

②常见分类算法:

KNN算法;贝叶斯算法;决策树;人工神经网络;支持向量机(SVM)等。

③分类算法应用场景实例:O2O优惠券使用预测、市民出行选乘公交预测、待测微生物种类判别、基于运营商数据的个人征信评估、商品图片分类、广告点击行为预测、基于文本内容的垃圾短信识别、中文句子类别精准分析、 P2P网络借贷平台的经营风险量化分析、国家电网客户用电异常行为分析、自动驾驶场景中的交通标志检测、大数据精准营销中搜狗用户画像挖掘、基于视角的领域情感分析、监控场景下的行人精细化识别、用户评分预测、猫狗识别大战、微额借款用户人品预测、验证码识别、客户流失率预测、汽车4S店邮件营销方案等。(详细解释可参考博文https://blog.csdn.net/liulingyuan6/article/details/53637129#comments)

2.KNN算法

基础理论知识可参考书籍:刘硕《Python机器学习算法:原理、实现与案例》

k近邻(k-Nearest Neighbor)学习简称KNN。它既可以作为分类方法,又可以作为回归方法。

(1)KNN的基本思想:在处理某些问题时,我们认为两个实例在特征空间中的距离反映了他们之间的相似程度,距离相近则越相似。那么,对于一个输入实例x的类别或目标值,可根据训练集中与其距离最近的一些实例(最相似的实例)的类别或目标值进行推断。

(2)KNN的基本方法:

假设数据集D为训练集,KNN对输入实例x进行预测的算法可描述为:

①根据某种距离度量方法(通常为欧式距离),找到D中与x距离最近的k个实例。

②根据最近的k个实例的类别或目标值,对x的类别或目标值进行预测:

·对于分类问题使用“投票法”,即取k个实例中出现最多的类标记作为x的预测结果。

·对于回归问题使用“平均法”,即取k个实例的目标值的平均值作为x的预测结果。

KNN分类本质上可视为根据训练数据和k值将特征空间划分成一个个小区域,确定每个区域内所有的实力点所属的类别。换句话说,对于给定的训练集和k值,一个输入实例x的类标记由它在特征空间的位置唯一确定。

(3)KNN的学习方式——惰性学习:KNN学习没有显式的训练过程,或者说训练过程仅是把训练数据保存起来,只有对一个输入实例x预测时模型才根据数据做出处理,这种学习方式称谓“惰性学习”(lazy learning)。

(4)距离计算公式

距离计算公式

实际上,以上两种距离可看作p=2和p=1闵可夫斯基距离。xi,xj的闵可夫斯基距离定义为:

在实际应用中计算距离还需注意:在计算距离之前,通常应对各特征数据进行归一化处理,从而消除因各特征尺寸(或值)不同对距离计算造成的影响。

实例:a,b,c三人以cm和kg为单位的身高体重数据分别为(174,78)、(177,72)、(184,80)。分别计算a与b、c的距离(欧氏距离):

欧氏距离
曼哈顿距离
换算单位后的欧氏距离

通过上面程序运行结果发现,同样是计算欧氏距离,采用cm、kg单位时a与c更近,采用m、kg单位时a与b距离更近。仅仅改变了计量单位,结果却相反。这是因为在换算了单位之后,身高的数值远比体重的数值要小,在计算过程中产生的影响就很小,这对本身数值较小的特征就“不太公平”。为了消除计量单位的影响,应将各特征的取值范围调整到一个统一的尺寸,归一化处理就是将各特征的数值都映射到[0,1]区间。归一化一般采用离差标准化(最小-最大标准化)方法:

离差标准化公式
归一化处理结果

从结果可以看出,无论如何选取计量单位,其归一化的结果都是一致的。以归一化的数据再去计算距离,这就对各特征“公平”了。

(5)k值的选择

k值得选择对KNN模型的预测结果有很大的影响。

k值较小时,只有测试点周围很少的几个训练实例对预测结果有贡献,此时近似误差小,而估计误差大。预测结果对近邻的训练实例非常敏感,容易发生过度拟合。

k值较大时,测试点周围较大范围内的训练实例都对预测有贡献,此时近似误差大,而估计误差小,虽然不容易发生过度拟合,但预测受到较远距离(不相似)训练实例的影响,导致预测错误。

k值越小,模型越复杂;k值越大,模型越简单。

在实际应用中,k值一般选择一个较小的数值(3,4,5...)。通常可采用交叉验证发,在几个较小k值中选择最优的。

(6)KNN算法实现步骤:

①处理数据

②数据向量化

③计算欧几里得距离

④根据距离进行分类

KNN算法代码

(7)KNN算法应用场景实例:手写体数字识别。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容