本文简要介绍python语言中 sklearn.random_projection.johnson_lindenstrauss_min_dim
的用法。
用法:
sklearn.random_projection.johnson_lindenstrauss_min_dim(n_samples, *, eps=0.1)
找到 ‘safe’ 数量的组件以随机投影到。
随机投影
p
引入的失真仅在欧几里得空间中以一个因子 (1 +- eps) 改变两点之间的距离。投影p
是一个eps-embedding,定义如下:(1 - eps) ||u - v||^2 < ||p(u) - p(v)||^2 < (1 + eps) ||u - v||^2
其中 u 和 v 是取自形状 (n_samples, n_features) 数据集的任何行,eps 在 ]0, 1[ 中,p 是形状 (n_components, n_features) 的随机高斯 N(0, 1) 矩阵的投影(或稀疏的 Achlioptas 矩阵)。
保证eps-embedding 的最小组件数由下式给出:
n_components >= 4 log(n_samples) /(eps^2 /2 - eps^3 /3)
请注意,维数与原始特征数无关,而是取决于数据集的大小:数据集越大,eps-embedding 的最小维数就越高。
在用户指南中阅读更多信息。
- n_samples:int 或类似数组的 int
应为大于 0 的整数的样本数。如果给定数组,它将计算安全数量的组件array-wise。
- eps:float 或 ndarray 形状 (n_components,), dtype=float, default=0.1
Johnson-Lindenstrauss 引理定义的范围 (0,1 ) 中的最大失真率。如果给定一个数组,它将计算安全数量的组件array-wise。
- n_components:int 或 int 的 ndarray
保证具有 n_samples 的 eps-embedding 的最小组件数。
参数:
返回:
参考:
- 1
https://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma
- 2
Sanjoy Dasgupta 和 Anupam Gupta,1999,“Johnson-Lindenstrauss 引理的基本证明。”http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.3654
例子:
>>> from sklearn.random_projection import johnson_lindenstrauss_min_dim >>> johnson_lindenstrauss_min_dim(1e6, eps=0.5) 663
>>> johnson_lindenstrauss_min_dim(1e6, eps=[0.5, 0.1, 0.01]) array([ 663, 11841, 1112658])
>>> johnson_lindenstrauss_min_dim([1e4, 1e5, 1e6], eps=0.1) array([ 7894, 9868, 11841])
相关用法
- Python sklearn jaccard_score用法及代码示例
- Python sklearn WhiteKernel用法及代码示例
- Python sklearn CalibrationDisplay.from_predictions用法及代码示例
- Python sklearn VotingRegressor用法及代码示例
- Python sklearn gen_batches用法及代码示例
- Python sklearn ExpSineSquared用法及代码示例
- Python sklearn MDS用法及代码示例
- Python sklearn adjusted_rand_score用法及代码示例
- Python sklearn MLPClassifier用法及代码示例
- Python sklearn train_test_split用法及代码示例
- Python sklearn RandomTreesEmbedding用法及代码示例
- Python sklearn GradientBoostingRegressor用法及代码示例
- Python sklearn GridSearchCV用法及代码示例
- Python sklearn log_loss用法及代码示例
- Python sklearn r2_score用法及代码示例
- Python sklearn ndcg_score用法及代码示例
- Python sklearn ShrunkCovariance用法及代码示例
- Python sklearn SelfTrainingClassifier用法及代码示例
- Python sklearn load_svmlight_file用法及代码示例
- Python sklearn make_pipeline用法及代码示例
- Python sklearn MultiTaskLasso用法及代码示例
- Python sklearn KBinsDiscretizer用法及代码示例
- Python sklearn power_transform用法及代码示例
- Python sklearn PowerTransformer.inverse_transform用法及代码示例
- Python sklearn IncrementalPCA用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.random_projection.johnson_lindenstrauss_min_dim。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。