[学习记录]intel-ML课程记录02

本章主要介绍一点机器学习的基础知识以及KNN算法


一.基础知识

监督式学习 supervised:提供已知输出的数据

无监督式学习 unsupervised:提供数据但不提供输出

 

监督式学习常用有两种算法:线性回归 regression和分类  classification

应用监督式学习基本上有如下模型

即先提供包含答案的数据训练模型,然后再用训练后的模型去预测未知答案的数据

二.术语约定

 target  目标:即想要预测的数据的类型的值

features 特征:用来预测的数据,我们在预测时要先把对象的特征抽象成数据,然后输入模型

example  样例:数据集中的一个样例,一行

label  标签:对于一个样例的标签


三.KNN k近邻算法

1.进行分类我们需要些什么

(1)可以被定量的特征

(2)已知的标签

(3)测量相似度的方法

2.图解KNN

直接上PPT截图了。。这里这里主要表现K近邻中的参数K的作用

 

 所以KNN算法中最重要的就是两个问题,如何确定K以及如何计算距离

关于K下次课再讨论

同时,比例尺对于计算距离也有很大影响

将中间一块区域放大,看上去可能是这样的

但是变换一下就成为这样了

有三种不同的缩放器:

标准缩放器Standard Scaler:平均中心数据和单位方差的比例
最小 - 最大缩放器 Minimum-Maximum Scaler:将数据缩放到固定范围(通常为0-1)
最大绝对值定标器 Maximum Absolute Value Scaler:缩放最大绝对值

 

emm因为没有给测试数据,这里就直接拷贝代码了

KNN还可以进行多类决策

KNN进行回归分析

KNN具有以下三种特点

1.创建模型非常快,因为只储存数据

2.预测非常慢,因为要计算大量的距离

3.如果数据集非常大可能需要大量的内存

Regression can be done with KNeighborsRegressor.


习题

Q1

问题1:检视数据,发现有一些无用数据,将它们剔除

这里加入.T可输出转置

Q2

问题2:注意到部分数据是分类数据(categorical data),部分是浮点数据(float data)。我们需要进行转换

 

Q3

问题3:将churned作为target,其余列作为输出,以K=3建立模型并训练。最后使用训练数据进行预测

 

Q4

问题4:通过一个简单的计算准确率来检测模型效果

Q5

问题5:(1)使用距离权重重新建立模型并训练(2)使用均匀权重但设置p=1来计算曼哈顿距离来建立并训练模型

通过help查看帮助

然后对应修改参数即可

Q6

问题6:将K取指从1-20,p设置为1或2(但请保持一致),使用均匀距离,分别训练模型并计算准确度,最后绘图观察。

 

以列表形式循环训练并存储,然后绘图

观察发现当K为1的时候准确率为1,K越大,震荡性的降低准确率。K为1的时候属于过拟合,对训练数据自然100%拟合。

posted @ 2018-07-21 16:38  冷血无情康纳酱  阅读(347)  评论(0编辑  收藏  举报