sklearn.neighbors.KernelDensity

lass sklearn.neighbors.KernelDensity(*, bandwidth=1.0, algorithm='auto', kernel='gaussian', metric='euclidean', atol=0, rtol=0, breadth_first=True, leaf_size=40, metric_params=None)       

[源码]

内核密度估计。

用户指南中阅读更多内容。

参数 说明
bandwidth float
内核的带宽。
algorithm str
要使用的树算法。 有效选项为[‘kd_tree’,ball_tree',‘auto'],默认的是'auto'.
kernel str
要使用的内核。 有效内核为['gaussian',’tophat',’epanechnikov’,’exponential',’linear’,’cosine’],默认的是‘gaussian’.
metric str
使用的距离度量。 请注意,并非所有指标对所有算法都有效。 有关可用算法的描述,请参考BallTreeKDTree的文档。 请注意,密度输出的归一化仅对于欧几里得距离度量是正确的。 默认值为“欧几里得”。
atol float
结果的所需绝对公差。 较大的公差通常会导致执行速度更快。 默认值为0。
rtol float
结果的所需相对公差。 较大的公差通常会导致执行速度更快。 默认值为1E-8。
breadth_first bool
如果为true(默认值),请使用广度优先的方法来解决问题。 否则,请使用深度优先的方法。
leaf_size int
指定基础树的叶大小。 有关详细信息,请参见BallTreeKDTree。 默认值为40。
metric_params dict
要传递给树以用于度量标准的其他参数。 有关更多信息,请参见BallTreeKDTree的文档。

另见

sklearn.neighbors.KDTree

快速广义N点问题的K-dimensional tree。

sklearn.neighbors.BallTree

快速广义N点问题的球树。

示例

用固定带宽计算高斯核密度估计。

>>> import numpy as np 
>>> rng = np.random.RandomState(42
>>> X = rng.random_sample((1003)) 
>>> kde = KernelDensity(kernel=’gaussian’, bandwidth=0.5).fit(X) 
>>> log_density = kde.score_samples(X[:3]) 
>>> log_density 
array([-1.52955942-1.51462041-1.60244657])

方法

方法 说明
fit(, X[, y, sample_weight]) 在数据上拟合核密度模型。
get_params([deep]) 获取此估计量的参数。
sample([,n_samples, random_state]) 从模型生成随机样本。
score(X[, y]) 计算模型下的总对数概率密度。
score_samples(X) 在数据上评估对数密度模型。
set_params( **params) 设置此估算器的参数。
__init__( *, bandwidth=1.0, algorithm='auto', kernel='gaussian', metric='euclidean', atol=0, rtol=0, breadth_first=True, leaf_size=40, metric_params=None)

源码

初始化. 请参阅help(type(self))以获得准确的说明。

fit(X, y=None, sample_weight=None)

源码

在数据上拟合核密度模型。

参数 说明
X array-like of shape (n_samples, n_features)
n_features维数据点列表。 每行对应一个数据点。
y None
忽略。 仅存在此参数是为了与sklearn.pipeline.Pipeline兼容。
sample_weight array_like, shape (n_samples,), optional)
数据X附带的样本权重列表。
0.20版中的新功能。
返回值 说明
self object
返回对象的实例。
get_params(deep=True)

源码

获取此估计量的参数。

参数 说明
deep bool, default=True
如果为True,则将返回此估算器和作为估算器的所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
sample( n_samples=1, random_state=None)

源码

从模型生成随机样本。

当前,这仅适用于高斯和高帽内核。

参数 说明
n_samples int, optional
要生成的样本数。 默认为1。
random_state int, RandomState instance, default=None
确定用于生成随机样本的随机数生成。 在多个函数调用之间传递int以获得可重复的结果。 参见:term:词汇表<random_state>。
返回值 说明
X array_like, shape (n_samples, n_features)
样本列表。
score(, X, y=None)

源码

计算模型下的总对数概率密度。

参数 说明
X array_like, shape (n_samples, n_features)
n_features维数据点列表。 每行对应一个数据点。
y None
忽略。仅存在此参数是为了与sklearn.pipeline.Pipeline兼容
返回值 说明
logprob float
X中数据的总对数似然性。这被归一化为概率密度,因此对于高维数据,该值将较低。
score_samples(X)

源码

在数据上评估对数密度模型。

参数 说明
X array_like, shape (n_samples, n_features)
要查询的点数组。 最后维度应与训练数据的维度(n_features)相匹配。
返回值 说明
density ndarray, shape (n_samples,)
对数(密度)评估值的数组。 这些被归一化为概率密度,因此对于高维数据,值将较低。
set_params(**params)

源码

设置此估算器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。 后者的参数格式为 __ ,以便可以更新嵌套对象的每个组件。

参数 说明
**params dict
估算器参数。
返回值 说明
self object
估算器实例。