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 使用的距离度量。 请注意,并非所有指标对所有算法都有效。 有关可用算法的描述,请参考BallTree和KDTree的文档。 请注意,密度输出的归一化仅对于欧几里得距离度量是正确的。 默认值为“欧几里得”。 |
atol | float 结果的所需绝对公差。 较大的公差通常会导致执行速度更快。 默认值为0。 |
rtol | float 结果的所需相对公差。 较大的公差通常会导致执行速度更快。 默认值为1E-8。 |
breadth_first | bool 如果为true(默认值),请使用广度优先的方法来解决问题。 否则,请使用深度优先的方法。 |
leaf_size | int 指定基础树的叶大小。 有关详细信息,请参见BallTree或KDTree。 默认值为40。 |
metric_params | dict 要传递给树以用于度量标准的其他参数。 有关更多信息,请参见BallTree或KDTree的文档。 |
另见
快速广义N点问题的K-dimensional tree。
快速广义N点问题的球树。
示例
用固定带宽计算高斯核密度估计。
>>> import numpy as np
>>> rng = np.random.RandomState(42)
>>> X = rng.random_sample((100, 3))
>>> 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 估算器实例。 |