用法:
class cuml.random_projection.SparseRandomProjection(*, handle=None, n_components='auto', density='auto', eps=0.1, dense_output=True, random_state=None, verbose=False, output_type=None)
派生自BaseRandomProjection 類的稀疏隨機投影方法。
隨機投影是一種降維技術。隨機投影方法是強大的方法,以其簡單性、計算效率和有限的模型大小而聞名。該算法還具有很好地保持任意兩個樣本之間的距離的優點,因此適用於具有這種要求的方法。
稀疏隨機矩陣是密集隨機投影矩陣(例如高斯)的替代方案,它保證了相似的嵌入質量,同時內存效率更高,並允許更快地計算投影數據(具有足夠稀疏的矩陣)。如果我們注意到
s = 1 / density
,隨機矩陣的分量來自:-sqrt(s) / sqrt(n_components)
- 概率為1 / 2s
0
- 概率為1 - 1 / s
+sqrt(s) / sqrt(n_components)
- 概率為1 / 2s
- handle:cuml.Handle
指定 cuml.handle 保存用於此模型中計算的內部 CUDA 狀態。最重要的是,這指定了將用於模型計算的 CUDA 流,因此用戶可以通過在多個流中創建句柄在不同的流中同時運行不同的模型。如果為 None,則創建一個新的。
- n_components:int(默認 = ‘auto’)
目標投影空間的維度。如果設置為‘auto’,由於Johnson-Lindenstrauss 引理,參數會被扣除。自動推導利用樣本數和 eps 參數。 Johnson-Lindenstrauss 引理可以產生非常保守的 n_components 參數,因為它不對數據集結構做任何假設。
- density:在範圍內浮點數 (0, 1] (默認 = ‘auto’)
隨機投影矩陣中非零分量的比率。如果密度 = ‘auto’,則將該值設置為 Ping Li 等人推薦的最小密度:1 /sqrt(n_features)。
- eps:浮點數(默認 = 0.1)
投影期間的誤差容限。當 n_components 設置為 ‘auto’ 時,由 Johnson-Lindenstrauss 自動扣除使用。
- dense_output:布爾值(默認 = True)
如果設置為 True 變換矩陣將是密集的,否則是稀疏的。
- random_state:int(默認 = 無)
用於初始化隨機發生器的種子
- verbose:int 或布爾值,默認=False
設置日誌記錄級別。它必須是
cuml.common.logger.level_*
之一。有關詳細信息,請參閱詳細級別。- output_type:{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默認=無
用於控製估計器的結果和屬性的輸出類型的變量。如果為 None,它將繼承在模塊級別設置的輸出類型
cuml.global_settings.output_type
。有關詳細信息,請參閱輸出數據類型配置。
參數:
注意:
此類無法與
sklearn.base.clone()
一起使用,並且在調用時會引發異常。靈感來自 Scikit-learn 的 implementation。
例子:
from cuml.random_projection import SparseRandomProjection from sklearn.datasets import make_blobs from sklearn.svm import SVC # dataset generation data, target = make_blobs(n_samples=800, centers=400, n_features=3000, random_state=42) # model fitting model = SparseRandomProjection(n_components=5, random_state=42).fit(data) # dataset transformation transformed_data = model.transform(data) # classifier training classifier = SVC(gamma=0.001).fit(transformed_data, target) # classifier scoring score = classifier.score(transformed_data, target) # measure information preservation print("Score: {}".format(score))
輸出:
Score: 1.0
- gaussian_method:布爾值
傳遞給基類以確定隨機矩陣生成方法
屬性:
相關用法
- Python cuml.random_projection.GaussianRandomProjection用法及代碼示例
- Python cuml.metrics.pairwise_distances.pairwise_distances用法及代碼示例
- Python cuml.neighbors.KNeighborsClassifier用法及代碼示例
- Python cuml.ensemble.RandomForestRegressor用法及代碼示例
- Python cuml.svm.SVC用法及代碼示例
- Python cuml.svm.SVR用法及代碼示例
- Python cuml.Lasso用法及代碼示例
- Python cuml.tsa.ARIMA.predict用法及代碼示例
- Python cuml.multiclass.OneVsRestClassifier用法及代碼示例
- Python cuml.preprocessing.LabelBinarizer用法及代碼示例
- Python cuml.MBSGDRegressor用法及代碼示例
- Python cuml.experimental.preprocessing.PolynomialFeatures用法及代碼示例
- Python cuml.PCA用法及代碼示例
- Python cuml.feature_extraction.text.HashingVectorizer用法及代碼示例
- Python cuml.DBSCAN用法及代碼示例
- Python cuml.dask.feature_extraction.text.TfidfTransformer用法及代碼示例
- Python cuml.TruncatedSVD用法及代碼示例
- Python cuml.common.memory_utils.using_output_type用法及代碼示例
- Python cuml.preprocessing.text.stem.PorterStemmer用法及代碼示例
- Python cuml.experimental.preprocessing.add_dummy_feature用法及代碼示例
注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cuml.random_projection.SparseRandomProjection。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。