线性回归算法梳理 任务一

1. 机器学习的一些概念(有监督、无监督、泛化能力、过拟合欠拟合(方差和偏差以及各自解决办法)、交叉验证)
有监督:用于训练的数据集有groundtruth,数据集已标注;
无监督:用于训练数据集无标注;
泛化能力:是指机器学习算法对新鲜样本的适应能力。学习的目的是学到隐含在数据对背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。
过拟合:对训练数据过分依赖,产生了高拟合度,但是对于测试数据的分类结果较差;
欠拟合:是和过拟合相对的现象,可以说是模型的复杂度较低,没法很好的学习到数据背后的规律。
交叉验证:是一种统计学上将数据样本切割成较小子集的实用方法,因数据集的样本数有限,于是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set or test set),首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。

2. 线性回归的原理
线性:函数的一种逻辑关系,x和y满足或近似满足方程:y=wx+b;
回归:通过降低计算y和Y(数据集提供的参数)的差异,即最大拟合y与Y,来找到最佳的w和b来描述线性方程。

3. 线性回归损失函数、代价函数、目标函数的概念
损失函数:计算一个样本的误差;如:L1, L2(范式);
代价函数:是所有样本误差的平均,也就是损失函数的平均;
目标函数:定义为:最终需要优化的函数。如:y=wx+b;
通过代价函数最小化,来逐步优化目标函数的参数。

4. 一元线性回归的参数求解公式推导
一元线性回归的参数为w和b,为对隐含层和输出层的节点分别计算其w,根据梯度下降的方法(链式求导),先计算输出层节点,再根据其结果计算隐含层节点。

5. 多元线性回归的参数求解公式推导
多元线性回归的参数求导,可以看做一元的向量形式进行操作,一元是标量形式。

6. 线性回归的评估指标有哪些?原理是什么?
线性回归的评价指标有四种:
均方误差 MSE
均方根误差RMSE
平均绝对值误差MAE
R平方 R2S (R^2越大越好)
sklearnz中使用的是R Squared方法。
R平方越大越好
原理:最大程度拟合y和Y。

7. sklearn参数详解(sklearn包里面线性回归的每个参数的作用)

  1. 导入sklearn数据集:
from sklearn import datasets
  1. 创建数据集:
datasets.make_blobs([n_samples,n_features,...])

数据预处理:

from sklean import preprocessing

归一化:

#基于mean和std的标准化
scaler=preprocessing.StandardScaler().fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)

#将每个特征值归一化到一个固定范围
scaler=preprocessing.MinMaxScaler(feature_range=(0,1)).fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)
#feature_range:定义归一化范围

正则化

X_normalized=preprocessing.normalize(X,norm='l2')
  1. 数据集拆分
train_test_split(*arrays,**options)
from sklean.modl_selection import train_test_split

X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.3, random_state=42)
  1. 定义模型
#拟合模型
model.fit(X_train, y_train)
#模型预测
model.predict(X_test)
#获取模型参数
model.get_params()
#为模型进行打分
model.score(data_X, data_y)

线性回归:

from sklean.linear_model import LinearRegression
model= LinearRegression(fit_intercept=True, normalize=False,copy_X=True, n_jobs=1)

fit_intercept:是否计算截距b,False标识模型没有截距,即b=0;
normalize:当fit_intercept为真时有效,回归前的回归系数x将通过减去平方值并除以L2范数而进行归一化;
n_jobs:是指定线程数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值