sklearn.linear_model.LinearRegression
介绍
普通最小二乘线性回归。线性回归拟合系数为w=(w1,…,wp)的线性模型,以最小化数据集中观测目标和线性近似预测目标之间差的平方和。
函数表达式
sklearn.linear_model.LinearRegression(*,fit_intercept=True, normalize=False, copy_X=True, n_jobs=None, positive=False)
参数
参数 |
解释 |
fit_intercept |
bool,默认=True,是否计算该模型的截距。如果使用中心化的数据,可以考虑设置为False,不考虑截距。注意这里是考虑,一般还是要考虑截距 |
normalize |
bool,默认=False,当fit_intercept设置为false的时候,这个参数会被自动忽略。如果为True,回归器会标准化输入参数:减去平均值,并且除以相应的二范数。当然啦,在这里还是建议将标准化的工作放在训练模型之前。通过设置sklearn.preprocessing.StandardScaler来实现,而在此处设置为false |
copy_X |
bool,默认=True, 否则X会被改写 |
n_jobs |
int,默认=None,CPU个数,int 默认为1. 当-1时默认使用全部CPU |
positive |
bool, 默认=False,映射到其值。如果设置为True,则强制系数为正。只有密集阵列才支持此选项。版本0.24中的新功能。 |
属性
属性 |
解释 |
coef_ |
array of shape (n_features, ) or (n_targets, n_features)。训练后的输入端模型系数,如果label有两个,即y值有两列。那么是一个2D的array |
rank_ |
int。矩阵X的秩。仅当X稠密时可用 |
singular_ |
array of shape (min(X, y),) X的奇异值。仅当X密集时可用。线性模型中与形状无关的浮点数或数组。如果fit_intercept=False,则设置为0.0。 |
intercept_ |
float or array of shape (n_targets,).线性模型中的独立项(截距)。如果fit_intercept=False,则设置为0.0 |
方法
fit()
fit(X,y,sample_weight=None) |
||
拟合线性模型 |
||
输入 |
X |
array, 稀疏矩阵 [n_samples,n_features] |
y |
array [n_samples, n_targets] |
|
sample_weight |
权重 array [n_samples]。在版本0.17后添加了sample_weight |
|
输出 |
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 |
float。R2平均精度self.predict(X) wrt. y. |
注意:在回归器上调用R2 score时使用的score使用版本0.23中的multioutput='uniform_average'与r2_score的默认值保持一致。这会影响所有多输出回归器(除了多输出回归器)的得分方法。
set_params (**params)
set_params ( **params ) |
||
设置此估算器的参数。该方法适用于简单的估计器以及嵌套对象(如管道)。后者具有<component> __ <parameter>形式的参数,以便可以更新嵌套对象的每个组件。 |
||
输入 |
**params |
dict估计器参数。 |
输出 |
self |
估计器实例 |
sklearn.linear_model.LogisticRegression
介绍
拟合线性模型。
Logistic回归(又名logit,MaxEnt)分类器。
在多类情况下,如果"multi_class"选项设置为"ovr",则训练算法使用one vs rest(ovr)方案;如果"multi_class"选项设置为"多项式",则使用交叉熵损失。(目前,"多项式"选项仅由"lbfgs"、"sag"、"saga"和"newton-cg"解算器支持。)
此类使用"liblinear"库"newton cg""sag""saga""lbfgs”解算器实现正则化logistic回归。请注意,默认情况下应用正则化。它可以处理密集和稀疏的输入。使用C有序数组或包含64位浮点的CSR矩阵以获得最佳性能;任何其他输入格式都将被转换(和复制)。
"newton cg""sag"和"lbfgs”解算器只支持L2正则化和原始公式,或者不支持正则化。"liblinear"解算器支持L1和L2正则化,并且仅对L2惩罚使用对偶公式。弹性网正则化仅由"saga"解算器支持。
函数表达式
sklearn.linear_model.LogisticRegression(penalty='l2',dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1,class_weight=None, random_state=None, solver='liblinear', max_iter=100,multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)
参数
参数 |
解释 |
alpha |
{float, ndarray of shape (n_targets,)}, 默认=1.0。正则化强度;必须是正浮点数。正则化改进了问题的条件,减少了估计的方差。值越大,正则化越强。Alpha对应于其他线性模型中的1/(2C),如logisticsregression或LinearSVC。如果传递了数组,则假定惩罚是特定于目标的。因此它们在数量上必须一致。 |
dual |
bool, 默认=True。双重或原始公式。双公式只适用于使用L2惩罚的线性求解器。当样本数> 特征数时,更推荐False。 |
tol |
浮点数, 默认: 1e-4。两次迭代误差停止阈值。 |
C |
浮点数, 默认: 1.0。正则化强度的逆;必须是正浮点。像支持向量机一样,较小的值指定更强的正则化。 |
fit_intercept |
布尔值, 默认: True。指定是否应将常数(A.K.偏差或截距)添加到决策函数中。建议设置 fit_intercept=True 并增大 intercept_scaling |
intercept_scaling |
浮点数, 默认 1.只有在使用求解器'Libliear'和Self.fit_intercept截距被设置为true时才有用。在这种情况下,x变成[x,self.intercept_scaling],即,在实例向量中附加一个具有常数值等于intercept_scaling的'合成'特征。截距变为截距标度*综合特征权重.注意!合成特征权重与所有其他特征一样受L1/L2正则化的影响。为了减少正则化对合成特征权重的影响,因此intercept_scaling 必须增大。 |
class_weight |
dict or 'balanced', 默认: None。与字典形式{类标签:权重}相关联的权重。如果没有给出,所有的类都设置为权重1。"平衡"模式使用y的值以n_.samples/(n_classes*np.bincount(y))的形式自动调整与输入数据中的类频率成反比的权重。 |
random_state |
int,随机状态实例或无,可选,默认:无。伪随机数生成器的种子,用于清洗数据。如果int,random_state是随机数生成器使用的种子;如果randomstate实例,random_state是随机数发生器;如果没有,随机数生成器使用的np.random的randomstate实例。当求解器="sag"或"linear"时使用。 |
solver |
{'newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga'},注意,'洼地'和'传奇'的快速收敛仅保证具有近似相同尺度的特征。您可以用SkReln.PrimeCurror的标尺对数据进行预处理。 |
max_iter |
int, 默认: 100。仅适用于'newton-cg','sag'和'lbfgs'求解器。求解器收敛的最大迭代次数。 |
multi_class |
str, {'ovr', 'multinomial'}, 默认: 'ovr'。多选项可以是'ovr'或'multinomial'。如果选择的选项是'ovr',那么每个标签都适用于二进制问题。否则损失最小的是多项式损失拟合整个概率分布。不适用于线性求解器。 |
verbose |
int, 默认: 0。冗长0:不输出训练过程,静默输出;1:类似静默输出,只输出简洁信息;>1:对每个子模型都输出详细信息 |
n_jobs |
int, 默认: 1。如果multi_class ='ovr',代表在类间并行化时使用的CPU核数。当将'solver'设置为'libli.'时,忽略此参数,而不管是否指定了'multi_class'。如果给定值为-1,则使用所有的核。 |
属性
属性 |
解释 |
coef_ |
决策函数中的特征系数,即权重系数。当给定的问题是二进制时,coef_形状是(1,n-特征) |
intercept_ |
截距(a.k.a. bias)添加到决策函数中,即B值。如果fit_intercept截距设置为false,则截距设置为零。当问题是二进制时,截距是(1,)的形状。 |
n_iter_ |
所有类的实际迭代次数。如果是二进制或多项式,它只返回元素1。对于线性求解器,只给出了所有类的最大迭代次数。 |
方法
decision_function()
decision_function(X) |
||
预测样本的置信度得分。 样本的置信度得分是该样本到超平面的有符号距离。 |
||
输入 |
X |
类数组或稀疏矩阵,形状(n个样本,n个特征).样品。 |
输出 |
self |
数组,形状=(n_samples,)如果n_classes == 2个其他(n_samples, n_classes)每个(sample, class)组合的置信度得分。在二元情况下,对self.classes_[1] 其中>0表示该类将被预测。 |
densify()
densify(X) |
||
将系数矩阵转换为密集数组格式。将coef_成员(back)转换为numpy.ndarray. 这是coef_的默认格式,是拟合所必需的,因此仅在以前已稀疏的模型上需要调用此方法;否则,这是不允许的。 |
||
输出 |
self |
拟合估计量。 |
fit()
fit(X,y,sample_weight=None) |
||
根据给定的训练数据对模型进行拟合。 |
||
输入 |
X |
{array-like, sparse matrix} of shape (n_samples, n_features) array, 训练向量,其中n_samples是样本数,n_features是特征数。 |
y |
array [n_samples, n_targets] 。相对于X的目标向量。 |
|
sample_weight |
array-like of shape (n_samples,) 默认=None 分配给单个样本的权重数组。如果没有提供,则每个样品都有单位权重。 版本0.17中的新功能:对LogisticRegression的示例重量支持。 |
|
输出 |
self |
拟合估计量。 |
注意:SAGA解算器支持float64和float32位数组。
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,)返回预测值。 |
predict_log_proba
()
predict_log_proba(X) |
||
预测概率估计的对数。所有类的返回估计值按类的标签排序。 |
||
输入 |
X |
array-like of shape (n_samples, n_features) 要评分的向量,其中n_samples是样本数,n_features是特征数。 |
输出 |
T |
array-like of shape (n_samples, n_classes) 返回模型中每个类的样本的对数概率,其中类按其在模型中的顺序排列self.classes_. |
predict_proba()
predict_proba(X) |
||
概率估计。所有类的返回估计值按类的标签排序。对于一个多类问题,如果多类被设置为“多项式”,则使用softmax函数来寻找每个类的预测概率。否则使用一对一方法,即使用逻辑函数计算每个类的概率,假设它是正的。并在所有类中规范化这些值。 |
||
输入 |
X |
array-like of shape (n_samples, n_features) 要评分的向量,其中n_samples是样本数,n_features是特征数。 |
输出 |
T |
array-like of shape (n_samples, n_classes) 返回模型中每个类的样本概率,其中类按其在模型中的顺序排列self.classes_. |
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 |
float。R2平均精度self.predict(X) wrt. y. |
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),如logisticsregression或LinearSVC。如果传递了数组,则假定惩罚是特定于目标的。因此它们在数量上必须一致。 |
fit_intercept |
bool, 默认=True。是否适合此模型的截距。如果设置为false,则在计算中不使用截距(即X和y应居中)。 |
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'更适用于大规模数据(可以设置tol和max iter)。 'lsqr'使用专用的正则化最小二乘例程scipy.sparse.linalg.lsqr。它是最快的,并且使用迭代过程。 'sag'使用随机平均梯度下降,'sag'使用改进的无偏版本saga。这两种方法也都使用迭代过程,并且当n_samples和n_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,)。每个目标的实际迭代次数。仅适用于sag和lsqr解算器。其他解算器将不返回任何值。版本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 |
float。R2平均精度self.predict(X) wrt. y. |
注意:在回归器上调用R2 score时使用的score使用版本0.23中的multioutput='uniform_average'与r2_score的默认值保持一致。这会影响所有多输出回归器(除了多输出回归器)的得分方法。