码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-07-22 19:21:15      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:部分   电影   数据转换   int   model   label   coding   ini   mod   

本次课有两部分,KNN的模型分析以及回归分析


KNN模型分析

1.K值选取

选择K的时候要特别注意K的大小,适中才最好

技术分享图片

要求太高会导致过拟合,低bias(偏差),太低则无法拟合,高bias。

2.训练与测试

收集的数据集,先分成测试集与训练集,一般训练集略大于测试集。

训练集用来训练模型(fit the model)

测试集则用来检测训练效果,使用模型测试数据,与提供的标签进行比较,最后计算误差判断效果。

训练模式如下图

技术分享图片

技术分享图片

 3.错误分析

模型复杂程度与错误率有一定关系

技术分享图片

cross validation error 是交叉验证错误,发生在训练好的模型在测试的时候

training error 是训练错误,发生在训练模型的时候

从这个角度再去看拟合不足,适中与过拟合的情况

技术分享图片

技术分享图片

技术分享图片

计算交叉错误得分

技术分享图片


线性回归

1.简介

即尝试寻找一条直线用来预测输入X与输出Y的关系,训练完成后,通过输入想要预测的X就可以获得预测值Y。

技术分享图片

2.偏差

计算偏差可以是简单的Y_predict-Y_observe

技术分享图片

可以计算错误平均方差

技术分享图片

这里引入成本函数的概念,通过该函数判断 β0与β1是否合适

技术分享图片

因此我们就有了如下训练方案

(1)使用成本函数判断当前模型效率

(2)设计多种不同的模型

(3)比较这些模型得出效果最好的那一个

关于错误检测还有其他三种方法

技术分享图片

 3.线性回归与KNN比较

线性回归 KNN
拟合时设计最小化成本(速度慢) 拟合时设计存储训练数据(速度快)
模型参数少(记忆效率高) 模型参数多(记忆密集)
预测速度快 预测速度慢

4.线性回归实例

技术分享图片


高级线性回归

1.转换

 比例尺缩放本身就是一种特征转换

技术分享图片

我们往往以为我们提供的数据是正态分布的,但可能它们其实是很偏的,数据转换就可以解决这个问题

技术分享图片

特征的类型可能是连续的数值类型,对应转换可变成标准缩放、最大最小缩放

也可能是二元类型(eg:真、假),可转换为01(one-hot encoding)

from sklearn.preprocessing import LabelEncoder, LabelBinarizer, OneHotEncoder

也可能是离散的有序类型(比如电影差、一般、普通、良、优秀评级),对应转换为(1,2,3,4,5)

from sklearn.feature_extraction import DictVectorizer
from pandas import get_dummies

2.多项式特征

回归分析不一定建立的是一条回归直线

技术分享图片

技术分享图片

技术分享图片

 

 甚至还可以增加变量

技术分享图片

那么如何才能选择正确的回归关系呢?

挨个挨个试吧

 

 最后给个实例

技术分享图片

本次课到此结束

(有空了还是应该利用给的这些数据算点什么好)

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

标签:部分   电影   数据转换   int   model   label   coding   ini   mod   

原文地址:https://www.cnblogs.com/trickofjoker/p/9349586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!