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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 机器学习测试笔记(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进行规格选择与性能压测。
目录
相关文章
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
44 6
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
32 1
|
3月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
1194 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
机器学习/深度学习 数据采集 人工智能
自动化测试的未来:AI与机器学习的融合之路
【10月更文挑战第41天】随着技术的快速发展,软件测试领域正经历一场由人工智能和机器学习驱动的革命。本文将探讨这一趋势如何改变测试流程、提高测试效率以及未来可能带来的挑战和机遇。我们将通过具体案例分析,揭示AI和ML在自动化测试中的应用现状及其潜力。
54 0
|
3月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
155 1
|
3月前
|
机器学习/深度学习 计算机视觉 Python
模型预测笔记(三):通过交叉验证网格搜索机器学习的最优参数
本文介绍了网格搜索(Grid Search)在机器学习中用于优化模型超参数的方法,包括定义超参数范围、创建参数网格、选择评估指标、构建模型和交叉验证策略、执行网格搜索、选择最佳超参数组合,并使用这些参数重新训练模型。文中还讨论了GridSearchCV的参数和不同机器学习问题适用的评分指标。最后提供了使用决策树分类器进行网格搜索的Python代码示例。
192 1
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
90 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
203 0
|
3月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
469 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
3月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
77 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)