请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

1、若样本中存在离散数据,knn是不是就不适用了呢?2、后面的课程大约本月几号上线?

正在回答

1回答

liuyubobobo 2018-01-22 05:09:04

这个课程由于不很强调数据预处理,所以对这个阶段的数据处理工作介绍不多。


具体来说,对于离散数据,也要具体问题具体分析:

首先,专业来讲,我们说的“离散数据”,叫“Categorical Variable”,中文可以翻译为“分类变量”。


1)有一种分类变量,虽然是分类变量,但是类别之间存在顺序关系。比如,对于房产,可能有一个属性是:周边地铁站的情况,会以分为“挨着地铁站”;“步行可达地铁站”;”必须坐车才能到地铁站“三种可能。那么此时,将“挨着地铁站”映射为0;“步行可达地铁站”映射为1;”必须坐车才能到地铁站“映射为2,是合理的。同理,学生的成绩优良中差;或者信用评级ABCD;等等等等,都是分类变量,但是我们可以直接将它映射为数字变量。


2)另外一种分类变量,类别之间没有顺序关系。比如,对于房产的”城市“这个属性;车辆的”颜色“,”型号“等等属性;体检数据中的”血型“属性,等等等等。对于这种分类变量,我们需要对数据进行预处理。常见的预处理方式是使用OneHotEncoder的方式。简单来说,就是把一个分类变量的所有分类展开。分类变量有几种可能,就展成几个属性。对于每个属性,只填写0或者1。


比如对于”血型“这个属性,他有”A“,”B“,”AB“,”O“四种可能。我们就将这个”血型“特征,转换成”是否是A“,”是否是B“,”是否是AB“,”是否是O“四个特征。简单示例如下:

+-Blood-Type-+        +- A? -+- B? -+- AB? -+- O? -+
+------------+        +------+------+-------+------+
+     A      +        +  1   +   0  +   0   +   0  +  
+------------+        +------+------+-------+------+
+     B      +        +  0   +   1  +   0   +   0  +
+------------+   =>   +------+------+-------+------+
+     AB     +        +  0   +   0  +   1   +   0  +
+------------+        +------+------+-------+------+
+     O      +        +  0   +   0  +   0   +   1  +
+------------+        +------+------+-------+------+


这样转换之后,再使用距离就可以了:)


对于一个数据,既有数字变量,又有分类变量,处理方式可以参见这里:https://coding.imooc.com/learn/questiondetail/39047.html


----


后续课程会在本月逐渐更新完毕。谢谢支持:)加油!


1 回复 有任何疑惑可以回复我~
  • 提问者 XhmTLnz丶 #1
    请问后面的决策树部分有没有底层实现,关于树结构如何编写不是很清楚。
    回复 有任何疑惑可以回复我~ 2018-01-22 06:31:50
  • liuyubobobo 回复 提问者 XhmTLnz丶 #2
    抱歉,由于课程时间限制,决策树不会做底层编写。我争取在课程完结后,写一个补充代码,完成决策树的底层编写。
    回复 有任何疑惑可以回复我~ 2018-01-22 13:12:56
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信