當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python cuml.random_projection.GaussianRandomProjection用法及代碼示例


用法:

class cuml.random_projection.GaussianRandomProjection(*, handle=None, n_components='auto', eps=0.1, random_state=None, verbose=False, output_type=None)

源自BaseRandomProjection 類的高斯隨機投影方法。

隨機投影是一種降維技術。隨機投影方法是強大的方法,以其簡單性、計算效率和有限的模型大小而聞名。該算法還具有很好地保持任意兩個樣本之間的距離的優點,因此適用於具有這種要求的方法。

隨機矩陣的分量取自 N(0, 1 /n_components)。

參數

handlecuml.Handle

指定 cuml.handle 保存用於此模型中計算的內部 CUDA 狀態。最重要的是,這指定了將用於模型計算的 CUDA 流,因此用戶可以通過在多個流中創建句柄在不同的流中同時運行不同的模型。如果為 None,則創建一個新的。

n_componentsint(默認 = ‘auto’)

目標投影空間的維度。如果設置為‘auto’,由於Johnson-Lindenstrauss 引理,參數會被扣除。自動推導利用樣本數和 eps 參數。

Johnson-Lindenstrauss 引理可以產生非常保守的 n_components 參數,因為它不對數據集結構做出任何假設。

eps浮點數(默認 = 0.1)

投影期間的誤差容限。當 n_components 設置為 ‘auto’ 時,由 Johnson-Lindenstrauss 自動扣除使用。

random_stateint(默認 = 無)

用於初始化隨機發生器的種子

verboseint 或布爾值,默認=False

設置日誌記錄級別。它必須是 cuml.common.logger.level_* 之一。有關詳細信息,請參閱詳細級別。

output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默認=無

用於控製估計器的結果和屬性的輸出類型的變量。如果為 None,它將繼承在模塊級別設置的輸出類型 cuml.global_settings.output_type 。有關詳細信息,請參閱輸出數據類型配置。

注意

此類無法與sklearn.base.clone() 一起使用,並且在調用時會引發異常。

靈感來自 Scikit-learn 的實現:https://scikit-learn.org/stable/modules/random_projection.html

例子

from cuml.random_projection import GaussianRandomProjection
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 = GaussianRandomProjection(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布爾值

傳遞給基類以確定隨機矩陣生成方法

相關用法


注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cuml.random_projection.GaussianRandomProjection。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。