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


Python cuml.dask.decomposition.TruncatedSVD用法及代碼示例


用法:

class cuml.dask.decomposition.TruncatedSVD(*, client=None, **kwargs)

參數

handlecuml.Handle

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

n_componentsint(默認值 = 1)

您想要的前 K 個奇異向量/值的數量。必須是 <= 數字(列)。

svd_solver‘full’

僅支持完整算法,因為它在 GPU 上的速度明顯快於其他求解器,包括隨機 SVD。

verboseint 或布爾值,默認=False

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

例子

from dask_cuda import LocalCUDACluster
from dask.distributed import Client, wait
import numpy as np
from cuml.dask.decomposition import TruncatedSVD
from cuml.dask.datasets import make_blobs

cluster = LocalCUDACluster(threads_per_worker=1)
client = Client(cluster)

nrows = 6
ncols = 3
n_parts = 2

X_cudf, _ = make_blobs(nrows, ncols, 1, n_parts,
                cluster_std=1.8,
                verbose=cuml.logger.level_info,
                random_state=10, dtype=np.float32)

wait(X_cudf)

print("Input Matrix")
print(X_cudf.compute())

cumlModel = TruncatedSVD(n_components = 1)
XT = cumlModel.fit_transform(X_cudf)

print("Transformed Input Matrix")
print(XT.compute())

輸出:

Input Matrix:
                    0         1          2
          0 -8.519647 -8.519222  -8.865648
          1 -6.107700 -8.350124 -10.351215
          2 -8.026635 -9.442240  -7.561770
          0 -8.519647 -8.519222  -8.865648
          1 -6.107700 -8.350124 -10.351215
          2 -8.026635 -9.442240  -7.561770

Transformed Input Matrix:
                     0
          0  14.928891
          1  14.487295
          2  14.431235
          0  14.928891
          1  14.487295
          2  14.431235

注意

每次運行此代碼時,輸出都會有所不同,因為 “make_blobs” 函數會生成隨機矩陣。

屬性

components_數組

U, S, VT = svd(X) 中的前 K 個分量 (VT.T[:,:n_components])

explained_variance_數組

每個組件在多大程度上解釋了 S**2 給出的數據中的差異

explained_variance_ratio_數組

S**2/sum(S**2) 解釋了多少百分比的方差

singular_values_數組

前 K 個奇異值。記住所有奇異值 >= 0

相關用法


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