Machine Learning | (10) 回归算法-岭回归

简介: Machine Learning | (10) 回归算法-岭回归

Machine Learning | 机器学习简介


Machine Learning | (1) Scikit-learn与特征工程


Machine Learning | (2) sklearn数据集与机器学习组成


Machine Learning | (3) Scikit-learn的分类器算法-k-近邻


Machine Learning | (4) Scikit-learn的分类器算法-逻辑回归


Machine Learning | (5) Scikit-learn的分类器算法-朴素贝叶斯


Machine Learning | (6) Scikit-learn的分类器算法-性能评估


Machine Learning | (7) Scikit-learn的分类器算法-决策树(Decision Tree)


Machine Learning | (8) Scikit-learn的分类器算法-随机森林(Random Forest)


Machine Learning | (9) 回归算法-线性回归


Machine Learning | (10) 回归算法-岭回归


回归算法之岭回归

具有L2正则化的线性最小二乘法。岭回归是一种专用于共线性数据分析的有偏估计回归方法,实质上是一种改良的最小二乘估计法,通过放弃最小二乘法的无偏性,以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法,对病态数据的拟合要强于最小二乘法。当数据集中存在共线性的时候,岭回归就会有用。


sklearn.linear_model.Ridge

class sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001, solver='auto', random_state=None)**
  """
  :param alpha:float类型,正规化的程度
  """
from sklearn.linear_model import Ridge
clf = Ridge(alpha=1.0)
clf.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1]))

方法

score(X, y, sample_weight=None)

clf.score()

属性

coef_

clf.coef_
array([ 0.34545455,  0.34545455])


intercept_

clf.intercept_
0.13636...

案例分析

def linearmodel():
    """
    线性回归对波士顿数据集处理
    :return: None
    """
    # 1、加载数据集
    ld = load_boston()
    x_train,x_test,y_train,y_test = train_test_split(ld.data,ld.target,test_size=0.25)
    # 2、标准化处理
    # 特征值处理
    std_x = StandardScaler()
    x_train = std_x.fit_transform(x_train)
    x_test = std_x.transform(x_test)
    # 目标值进行处理
    std_y  = StandardScaler()
    y_train = std_y.fit_transform(y_train)
    y_test = std_y.transform(y_test)
    # 3、估计器流程
    # LinearRegression
    lr = LinearRegression()
    lr.fit(x_train,y_train)
    # print(lr.coef_)
    y_lr_predict = lr.predict(x_test)
    y_lr_predict = std_y.inverse_transform(y_lr_predict)
    print("Lr预测值:",y_lr_predict)
    # SGDRegressor
    sgd = SGDRegressor()
    sgd.fit(x_train,y_train)
    # print(sgd.coef_)
    y_sgd_predict = sgd.predict(x_test)
    y_sgd_predict = std_y.inverse_transform(y_sgd_predict)
    print("SGD预测值:",y_sgd_predict)
    # 带有正则化的岭回归
    rd = Ridge(alpha=0.01)
    rd.fit(x_train,y_train)
    y_rd_predict = rd.predict(x_test)
    y_rd_predict = std_y.inverse_transform(y_rd_predict)
    print(rd.coef_)
    # 两种模型评估结果
    print("lr的均方误差为:",mean_squared_error(std_y.inverse_transform(y_test),y_lr_predict))
    print("SGD的均方误差为:",mean_squared_error(std_y.inverse_transform(y_test),y_sgd_predict))
    print("Ridge的均方误差为:",mean_squared_error(std_y.inverse_transform(y_test),y_rd_predict))
    return None
目录
相关文章
|
22天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
11月前
|
存储 机器学习/深度学习 自然语言处理
把Transformer当通用计算机用,还能执行in-context learning算法,这项研究脑洞大开
把Transformer当通用计算机用,还能执行in-context learning算法,这项研究脑洞大开
|
算法 数据挖掘
周志华《Machine Learning》学习笔记(9)--EM算法
EM(Expectation-Maximization)算法是一种常用的估计参数隐变量的利器,也称为“期望最大算法”,是数据挖掘的十大经典算法之一。
135 0
周志华《Machine Learning》学习笔记(9)--EM算法
|
算法 数据挖掘 Python
Machine Learning-L15-EM算法全解析(下)
Machine Learning-L15-EM算法全解析(下)
Machine Learning-L15-EM算法全解析(下)
|
机器学习/深度学习 算法 数据挖掘
Machine Learning-L15-EM算法全解析(上)
Machine Learning-L15-EM算法全解析
Machine Learning-L15-EM算法全解析(上)
|
机器学习/深度学习 算法 数据挖掘
Machine Learning | (9) 回归算法-线性回归
Machine Learning | (9) 回归算法-线性回归
149 0
Machine Learning | (9) 回归算法-线性回归
|
1月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到"hand.txt"文件。
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的视频手部检测算法matlab仿真
基于yolov2深度学习网络的视频手部检测算法matlab仿真
|
1月前
|
算法
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
23 2
|
1月前
|
算法
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
40 1