本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。