机器学习测试笔记(17)——线性回归函数(下)

简介: 机器学习测试笔记(17)——线性回归函数(下)

set_params ()

set_params ( **params )

设置此估算器的参数。该方法适用于简单的估计器以及嵌套对象(如管道)后者具有<component>  __ <parameter>形式的参数,以便可以更新嵌套对象的每个组件。

输入

**params

dict估计器参数。

输出

self

估计器实例


sparsify()

sparsify()

将系数矩阵转换为稀疏格式。将coef_成员转换为稀疏的矩阵。对于L1正则化模型,它可以比平常numpy.ndarray描述更节省内存和存储。intercept_没有转化。

输出

self

拟合估计量


注意:对于非稀疏模型,即coef_中的零不多时,这实际上可能会增加内存使用,因此请小心使用此方法。经验法则是,可以用(coef_ == 0).sum()计算的零元素数必须大于50%,这样才能提供显著的好处。调用此方法后,在调用densify之前,使用partial_fit方法(如果有)进行进一步拟合将不起作用。

sklearn.linear_model.Ridge


介绍

线性最小二乘与l2正则化。最小化目标函数:

||y - Xw||2_2+ alpha * ||w||2_2

该模型解决了一个回归模型,其中损失函数是线性最小二乘函数,正则化由l2范数给出。也称为岭回归或Tikhonov正则化。该估计器内置了对多元回归的支持(即当y是一个二维数组(n_samples, n_targets))


函数表达式

sklearn.linear_model.Ridge(alpha=1.0,fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001,solver='auto')


参数

属性

解释

alpha

{float, ndarray of shape (n_targets,)}, 默认=1.0

正则化强度;必须是正浮点数。正则化改进了问题的条件,减少了估计的方差。值越大,正则化越强。Alpha对应于其他线性模型中的1/(2C),如logisticsregressionLinearSVC。如果传递了数组,则假定惩罚是特定于目标的。因此它们在数量上必须一致。

fit_intercept

bool, 默认=True。是否适合此模型的截距。如果设置为false,则在计算中不使用截距(即Xy应居中)。

normalize

bool, 默认=False。当fit_intercept设置为False时,将忽略此参数。如果为真,回归系数X将在回归前通过减去平均值并除以l2范数进行归一化。如果您希望标准化,请在对normalize=False的估计器调用fit之前使用StandardScaler

copy_X

bool, 默认=True。如果为True,则复制X;否则,可能会覆盖X

max_iter

max_iterint, 默认=None. 共轭梯度解算器的最大迭代次数。对于'sparse_cg''lsqr'解算器,默认值由scipy.sparse.linalg. 对于'sag'解算器,默认值为1000

tol

float, 默认=1e-3

指定模型求解最优化问题的算法。

solver

{'auto', 'svd', 'cholesky', 'lsqr', 'sparse_cg', 'sag', 'saga'}, 默认='auto'

在计算例程中使用的解算器:

'auto'根据数据类型自动选择解算器。

'svd'使用X的奇异值分解来计算岭系数。对于奇异矩阵,比'cholesky'更稳定。

'cholesky'使用标准scipy.linalg.solve解决方案函数以获得闭式解。

'sparse_cg'使用共轭梯度解算器,如中所示scipy.sparse.linalg.cg。作为一种迭代算法,该求解器比'cholesky'更适用于大规模数据(可以设置tolmax iter)

'lsqr'使用专用的正则化最小二乘例程scipy.sparse.linalg.lsqr。它是最快的,并且使用迭代过程。

'sag'使用随机平均梯度下降,'sag'使用改进的无偏版本saga。这两种方法也都使用迭代过程,并且当n_samplesn_features都很大时,通常比其他解算器更快。请注意,'sag''saga'快速收敛仅在具有近似相同比例的特征上得到保证。您可以使用来自的定标器对数据进行预处理sklearn.预处理.

最后五个解算器都支持密集和稀疏数据。但是,当fit_intercept为真时,只有'sag''sparse_cg'支持稀疏输入。

新版本0.17:随机平均梯度下降解算器。

版本0.19中的新功能:SAGA solver

random_state

int, RandomState instance, 默认=None

solver=='sag''saga'时用于洗牌数据。

版本0.17中的新功能:支持随机平均梯度的随机状态。

 

属性

属性

解释

coef_

ndarray of shape (n_features,) or (n_targets, n_features)

权重向量。

intercept_

float or ndarray of shape (n_targets,)。决策函数中的独立项。如果fit_intercept = False,则设置为0.0

n_iter_

None or ndarray of shape (n_targets,)。每个目标的实际迭代次数。仅适用于saglsqr解算器。其他解算器将不返回任何值。版本0.17中的新功能。


方法

fit()

fit(X,y,sample_weight=None)

拟合岭回归模型。

输入

X

{ndarray, sparse matrix} of shape (n_samples, n_features)

训练数据

y

ndarray of shape (n_samples,) or (n_samples, n_targets)。目标值

sample_weight

每个样品的单独权重。如果给定一个float,每个样品的权重都是一样的。

输出

self

返回self的实例


get_params()

get_params(deep=True)

获取此估计器的参数

输入

deep

bool, 默认=True如果为True,则将返回此估计器的参数以及作为估计器的包含子对象

输出

dict

映射到其值的参数名称。


predict()

predict(X)

用线性模型预测。

输入

X

array-like or sparse matrix, shape (n_samples, n_features)。样本

输出

C

array, shape (n_samples,)返回预测值。


score ()

score (X,  y,  sample_weight=None)

返回给定测试数据和标签的平均精确度。在多标签分类中,这是子集精度,这是一个苛刻的度量标准,因为您需要为每个样本准确地预测每个标签集。

输入

X

array-like, shape = (n_samples,  n_features)。测试样本

y 

array-like, shape = (n_samples)  or (n_samples, n_outputs)。真的X标签。

sample_weight

array-like, shape = [n_samples],  optional。测试权重

输出

score 

floatR2平均精度self.predict(X) wrt. y.


注意:在回归器上调用R2 score时使用的score使用版本0.23中的multioutput='uniform_average'与r2_score的默认值保持一致。这会影响所有多输出回归器(除了多输出回归器)的得分方法。


set_params ()

set_params ( **params )

设置此估算器的参数。该方法适用于简单的估计器以及嵌套对象(如管道)后者具有<component>  __ <parameter>形式的参数,以便可以更新嵌套对象的每个组件。

输入

**params

dict估计器参数。

输出

self

估计器实例


sklearn.linear_model.Lasso


介绍

L1先验作为正则化子训练的线性模型(又称套索)

Lasso的优化目标是:

(1 /(2 *n_samples)) * ||y - Xw||2_2 + alpha * ||w||_1

从技术上讲,套索模型优化的目标函数与弹性网络相同,l1_ratio=1.0(无L2惩罚)。


函数表达式

sklearn.linear_model.Lasso(alpha=1.0,fit_intercept=True, normalize=False, precompute=False, copy_X=True, max_iter=1000,tol=0.0001,warm_start=False, positive=False, random_state=None,selection='cyclic')


参数

参数

解释

alpha

float, 默认=1.0.乘以L1项的常数。默认为1.0alpha=0相当于一个普通的最小二乘法,由线性回归对象求解。由于数值原因,不建议对套索对象使用alpha=0。鉴于此,您应该使用LinearRegression对象。

fit_intercept

bool, 默认=True.是否计算此模型的截距。如果设置为False,则在计算中不使用截距(即数据应居中)

normalize

bool, 默认=False.fit_intercept 设置为False时,将忽略此参数。如果为真,回归系数X将在回归前通过减去平均值并除以l2范数进行归一化。如果您希望标准化,请在对normalize=False的估计器调用fit之前使用StandardScaler

precompute

'auto', bool or array-like of shape (n_features, n_features), 默认=False.是否使用预先计算的Gram矩阵来加速计算。如果设置为'auto',让我们决定。Gram矩阵也可以作为参数传递。对于稀疏输入,此选项始终为True以保持稀疏性。

copy_X

bool, 默认=True.如果为True,则复制X;否则,可能会覆盖X

max_iter

int, 默认=1000.最大迭代数。

tol

float, 默认=1e-4.优化的容差:如果更新小于tol,优化代码将检查对偶间隙的最优性,并一直持续到它小于tol

warm_start

bool, 默认=False.当设置为True时,重用上一个调用的解决方案以适应初始化,否则,只需擦除上一个解决方案。

positive

bool, 默认=False.设置为True时,强制系数为正。

random_state

int, RandomState instance, 默认=None.伪随机数生成器的种子,用于选择要更新的随机特征。当selection =='random’时使用。在多个函数调用之间传递一个int以获得可复制的输出。

selection

 {'cyclic','random'}, 默认='cyclic'.如果设置为'random'}, ,则每个迭代都会更新一个随机系数,而不是默认情况下按顺序在特征上循环。这(设置为'random'},  )通常会导致显著更快的收敛,尤其是当tol高于1e-4时。


属性

属性

解释

coef_

ndarray of shape (n_features,) or (n_targets, n_features). 参数向量(成本函数公式中的w)

dual_gap_

float or ndarray of shape (n_targets,).给定参数 alpha,优化结束时的双间隙,与y的每次观测形状相同。

sparse_coef_

sparse matrix of shape (n_features, 1) or (n_targets, n_features).拟合系数coef_.的稀疏表示。

intercept

float or ndarray of shape (n_targets,).b,决策函数中的独立项。

n_iter_

int or list of int.实际迭代次数,由坐标下降解算器运行以达到指定公差的迭代次数。


方法

fit()

fit(X,y,sample_weight=None)

用坐标下降法拟合模型。

输入

X

{ndarray, sparse matrix} of shape (n_samples, n_features)

训练数据

y

ndarray of shape (n_samples,) or (n_samples, n_targets)。目标。如有必要,将转换为X的数据类型。

sample_weight

float or array-like of shape (n_samples,), 默认=None

样品的权重。版本0.23.中加入

check_input

bool, 默认=True.允许绕过多个输入检查。除非您知道自己在做什么,否则不要使用此参数。


注意:坐标下降法是一种一次考虑每一列数据的算法,因此如果需要,它会自动将X输入转换为Fortran连续numpy数组。为避免内存重新分配,建议直接使用该格式在内存中分配初始数据。


get_params()

get_params(deep=True)

获取此估计器的参数

输入

deep

bool, 默认=True如果为True,则将返回此估计器的参数以及作为估计器的包含子对象

输出

dict

映射到其值的参数名称。


path()

static path(*args,  **kwargs)[source]

用坐标下降法计算弹性网径。

单输出和多输出的弹性网络优化函数各不相同。

对于单输出任务,它是:

1/(2*n_samples)*||y-Xw||2_2+alpha*l1_ratio*||w||_1+0.5*alpha*(1  - l1_ratio)*||w||2_2

对于多输出任务,它是:

(1/(2*n_samples))*||Y  - XW||^Fro_2+alpha*l1_ratio*||W||_21+0.5*alpha*(1 -  l1_ratio)*||W||_Fro2

||W||_21=\sum_i\sqrt{\sum_jw_{ij}2}

即:每行的范数之和。

输入

X

{array-like, sparse matrix} of shape (n_samples, n_features)。训练数据。作为Fortran连续数据直接传递,以避免不必要的内存重复。如果y是单输出,那么X可以是稀疏的。

y

{array-like, sparse matrix} of shape (n_samples,) or (n_samples,  n_outputs)。目标值

l1_ratio

float, 默认=0.5。传递到弹性网的01之间的数字(在l1l2之间缩放)。l l1_ratio=1对应套索。

eps

float, 默认=1e-3。路径的长度。eps=1e-3意味着alpha_min/alpha_max=1e-3

n_alphas

int, 默认=100

沿正则化路径的字母数。

alphas

ndarray, 默认=None。用于计算模型的alpha列表。如果没有自动设置字母。

precompute

 'auto', bool or array-like  of shape (n_features, n_features), 默认='auto'。是否使用预先计算的Gram矩阵来加速计算。如果设置为'auto',让我们决定。Gram矩阵也可以作为参数传递。

Xy

array-like of shape (n_features,) or (n_features, n_outputs), 默认=NoneXy = np.dot(X.T, y) 可以预先计算的。它只有在预先计算Gram矩阵时才有用。

copy_X

bool, 默认=True

如果为True,则复制X;否则,可能会覆盖X

coef_init

ndarray of shape (n_features, ), 默认=None。系数的初始值

verbose

bool or int, 默认=False。冗长的程度。.

return_n_iter

bool, 默认=False。是否返回迭代次数。

positive

bool, 默认=False。如果设置为真,则强制系数为正。(仅当y.ndim==1时允许)

check_input

bool, 默认=True。如果设置为false,则跳过输入验证检查(包括提供的Gram矩阵)。假设它们是由调用方处理的。

**params

Kwargs。传递给坐标下降解算器的关键字参数。

输出

alphas

ndarray of shape (n_alphas,) 。沿模型计算路径的字母。

coefs

ndarray of shape (n_features, n_alphas) or (n_outputs, n_features,  n_alphas) 沿路径的系数。

dual_gaps

ndarray of shape (n_alphas,)。每个alpha优化结束时的双间隙。

n_iters

list of int。坐标下降优化器为达到每个alpha的指定公差而进行的迭代次数。(return iter设置为True时返回)


predict()

predict(X)

用线性模型预测。

输入

X

array-like or sparse matrix, shape (n_samples, n_features)。样本

输出

C

array, shape (n_samples,)返回预测值。


core ()

score (X,  y,  sample_weight=None)

返回预测的确定系数R2。系数R2定义为                                                                  ,其中是平方的剩余和((y_true - y_pred)2).sum(),是平方的总和((y_true - y_true.mean())2).sum()。最好的可能得分是1.0,它可以是负数(因为模型可以任意更差)。如果一个常数模型总是预测y的期望值,而不考虑输入特征,则R2值为0.0

输入

X

array-like, shape = (n_samples,  n_features)。测试样品。对于某些估计器,这可能是一个预计算的核矩阵或一个通用对象列表,而不是形状(n_samples, n_samples_fitted),其中n_samples_fitted是估计器拟合中使用的样本数。

y 

array-like, shape = (n_samples)  or (n_samples, n_outputs)。真的X标签。

sample_weight

array-like, shape = [n_samples],  optional。测试权重

输出

score 

floatR2平均精度self.predict(X) wrt. y.


注意:在回归器上调用score时使用的R score使用版本0.23中的multioutput='uniform_average'r2_score的默认值保持一致。这会影响所有多输出回归器(除了多输出回归器)的得分方法。


set_params ()

set_params ( **params )

设置此估算器的参数。该方法适用于简单的估计器以及嵌套对象(如管道)后者具有<component>  __ <parameter>形式的参数,以便可以更新嵌套对象的每个组件。

输入

**params

dict估计器参数。

输出

self

估计器实例


property sparse_coef_

property  sparse_coef_


拟合系数的稀疏coef_表示。

拟合系数的稀疏表示。

 

—————————————————————————————————


软件安全测试

https://study.163.com/course/courseMain.htm?courseId=1209779852&share=2&shareId=480000002205486

接口自动化测试

https://study.163.com/course/courseMain.htm?courseId=1209794815&share=2&shareId=480000002205486

DevOps 和Jenkins之DevOps

https://study.163.com/course/courseMain.htm?courseId=1209817844&share=2&shareId=480000002205486

DevOps与Jenkins 2.0之Jenkins

https://study.163.com/course/courseMain.htm?courseId=1209819843&share=2&shareId=480000002205486

Selenium自动化测试

https://study.163.com/course/courseMain.htm?courseId=1209835807&share=2&shareId=480000002205486

性能测试第1季:性能测试基础知识

https://study.163.com/course/courseMain.htm?courseId=1209852815&share=2&shareId=480000002205486

性能测试第2季:LoadRunner12使用

https://study.163.com/course/courseMain.htm?courseId=1209980013&share=2&shareId=480000002205486

性能测试第3季:JMeter工具使用

https://study.163.com/course/courseMain.htm?courseId=1209903814&share=2&shareId=480000002205486

性能测试第4季:监控与调优

https://study.163.com/course/courseMain.htm?courseId=1209959801&share=2&shareId=480000002205486

Django入门

https://study.163.com/course/courseMain.htm?courseId=1210020806&share=2&shareId=480000002205486

啄木鸟顾老师漫谈软件测试

https://study.163.com/course/courseMain.htm?courseId=1209958326&share=2&shareId=480000002205486

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
4小时前
|
Linux Android开发
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
测试程序之提供ioctl函数应用操作GPIO适用于Linux/Android
14 0
|
4小时前
|
机器学习/深度学习
机器学习基础入门(二)(线性回归与成本函数)
已知一系列房子的大小以及其对应的价格的数据,要求是已知房子大小预测其房子的价格
|
4小时前
|
调度
知识分享|分段函数线性化及matlab测试
知识分享|分段函数线性化及matlab测试
|
4小时前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
4小时前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 中的线性回归模型详解
【4月更文挑战第30天】本文介绍了Python中的线性回归模型,包括基本原理、实现步骤和应用。线性回归假设因变量与自变量间存在线性关系,通过建立数学模型进行预测。实现过程涉及数据准备、模型构建、参数估计、评估和预测。常用的Python库有Scikit-learn和Statsmodels。线性回归简单易懂,广泛应用,但对异常值敏感且假设线性关系。其扩展形式如多元线性、多项式回归和正则化方法能适应不同场景。理解并运用线性回归有助于数据分析和预测。
|
4小时前
|
机器学习/深度学习 人工智能 测试技术
自动化测试中AI与机器学习的融合应用
【4月更文挑战第29天】 随着技术的不断进步,人工智能(AI)和机器学习(ML)在软件测试中的应用越来越广泛。本文将探讨AI和ML如何改变自动化测试领域,提高测试效率和质量。我们将讨论AI和ML的基本概念,以及它们如何应用于自动化测试,包括智能测试用例生成,缺陷预测,测试执行优化等方面。最后,我们还将讨论AI和ML在自动化测试中的挑战和未来发展趋势。
|
4小时前
|
机器学习/深度学习 人工智能 测试技术
探索自动化测试的未来:机器学习的新趋势
传统的软件测试方法已经无法满足当今快速发展的软件开发需求。随着人工智能和机器学习技术的不断进步,自动化测试也正在经历革命性的变革。本文将探讨机器学习在自动化测试中的应用,以及它对未来软件测试的影响。
|
4小时前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
|
4小时前
|
索引 机器学习/深度学习 Python
fast.ai 机器学习笔记(二)(3)
fast.ai 机器学习笔记(二)
32 0
fast.ai 机器学习笔记(二)(3)
|
4小时前
|
机器学习/深度学习 算法框架/工具 PyTorch
fast.ai 机器学习笔记(三)(2)
fast.ai 机器学习笔记(三)
43 0
fast.ai 机器学习笔记(三)(2)

热门文章

最新文章