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


Python cuml.dask.datasets.classification.make_classification用法及代碼示例


用法:

cuml.dask.datasets.classification.make_classification(n_samples=100, n_features=20, n_informative=2, n_redundant=2, n_repeated=0, n_classes=2, n_clusters_per_class=2, weights=None, flip_y=0.01, class_sep=1.0, hypercube=True, shift=0.0, scale=1.0, shuffle=True, random_state=None, order='F', dtype='float32', n_parts=None, client=None)

生成一個隨機的n-class 分類問題。

這最初會創建正態分布 (std=1) 的點簇,該點簇圍繞邊長為 2 * class_sepn_informative 維超立方體的頂點,並為每個類分配相等數量的簇。它引入了這些特征之間的相互依賴關係,並為數據添加了各種類型的進一步噪聲。

不打亂,X 按以下順序水平堆疊特征:主要的n_informative 特征,然後是信息特征的n_redundant 線性組合,然後是n_repeated 重複,隨機抽取信息和冗餘特征的替換.其餘特征充滿隨機噪聲。因此,無需改組,所有有用的函數都包含在 X[:, :n_informative + n_redundant + n_repeated] 列中。

參數

n_samplesint 可選(默認=100)

樣本數。

n_featuresint 可選(默認=20)

特征總數。這些包括n_informative信息特征、n_redundant冗餘特征、n_repeated重複特征和隨機抽取的n_features-n_informative-n_redundant-n_repeated無用特征。

n_informativeint 可選(默認=2)

信息特征的數量。每個類由多個高斯簇組成,每個高斯簇位於維度為 n_informative 的子空間中超立方體的頂點周圍。對於每個集群,信息特征是獨立於 N(0, 1) 繪製的,然後在每個集群內隨機線性組合以增加協方差。然後將簇放置在超立方體的頂點上。

n_redundantint 可選(默認=2)

冗餘特征的數量。這些特征是作為信息特征的隨機線性組合生成的。

n_repeatedint 可選(默認=0)

從信息和冗餘特征中隨機抽取的重複特征的數量。

n_classesint 可選(默認=2)

分類問題的類(或標簽)數。

n_clusters_per_classint 可選(默認=2)

每個類的簇數。

weightsarray-like 形狀 (n_classes,)(n_classes - 1,) ,(默認=無)

分配給每個類別的樣本比例。如果沒有,那麽類是平衡的。請注意,如果 len(weights) == n_classes - 1 ,則會自動推斷最後一個類的權重。如果 weights 的總和超過 1,則可能返回超過 n_samples 的樣本。

flip_y浮點數,可選(默認=0.01)

隨機分配類別的樣本的比例。較大的值會在標簽中引入噪聲並使分類任務更加困難。

class_sep浮點數,可選(默認=1.0)

乘以超立方體大小的因子。較大的值會分散集群/類並使分類任務更容易。

hypercube布爾值,可選(默認 = True)

如果為 True,則將簇放在超立方體的頂點上。如果為 False,則將簇放在隨機多麵體的頂點上。

shift浮點數,形狀數組 [n_features] 或無,可選(默認 = 0.0)

按指定值移動特征。如果沒有,則特征將移動 [-class_sep, class_sep] 中繪製的隨機值。

scale浮點數,形狀數組 [n_features] 或無,可選(默認 = 1.0)

將特征乘以指定的值。如果為 None,則按 [1, 100] 中繪製的隨機值對特征進行縮放。請注意,縮放發生在移位之後。

shuffle布爾值,可選(默認 = True)

Shuffle[洗牌]樣本和特征。

random_stateint RandomState 實例或無(默認)

確定數據集創建的隨機數生成。傳遞 int 以獲得跨多個函數調用的可重現輸出。請參閱詞匯表。

order: str, optional (default=’F’)

生成樣本的順序

dtypestr,可選(默認='float32')

生成樣本的 Dtype

n_partsint(默認 = 無)

要生成的分區數(這可以大於工作人員的數量)

返回

Xdask.array 支持 CuPy 形狀數組 [n_samples, n_features]

生成的樣本。

ydask.array 支持 CuPy 形狀數組 [n_samples]

每個樣本的類別成員的整數標簽。

注意

我們如何從單 GPU 版本擴展 dask MNMG 版本:

  1. 我們生成形狀為 (n_centroids, n_informative) 的質心

  2. 我們生成形狀 (n_centroids, n_informative, n_informative) 的信息協方差

  3. 我們生成形狀(n_informative, n_redundant)的冗餘協方差

  4. 我們為重複特征生成索引我們將上述數組的期貨的引用傳遞給單個 GPU cuml.datasets.classification.make_classification,以便每個部分(和工作人員)都可以訪問正確的值以從相同的生成數據協方差

例子

from dask.distributed import Client
from dask_cuda import LocalCUDACluster
from cuml.dask.datasets.classification import make_classification
cluster = LocalCUDACluster()
client = Client(cluster)
X, y = make_classification(n_samples=10, n_features=4,
                           n_informative=2, n_classes=2)

print("X:")
print(X.compute())

print("y:")
print(y.compute())

輸出:

X:
[[-1.6990056  -0.8241044  -0.06997631  0.45107925]
[-1.8105277   1.7829906   0.492909    0.05390119]
[-0.18290454 -0.6155432   0.6667889  -1.0053712 ]
[-2.7530136  -0.888528   -0.5023055   1.3983376 ]
[-0.9788184  -0.89851004  0.10802134 -0.10021686]
[-0.76883423 -1.0689086   0.01249526 -0.1404741 ]
[-1.5676656  -0.83082974 -0.03072987  0.34499463]
[-0.9381793  -1.0971068  -0.07465998  0.02618019]
[-1.3021476  -0.87076336  0.02249984  0.15187258]
[ 1.1820307   1.7524253   1.5087451  -2.4626074 ]]

y:
[0 1 0 0 0 0 0 0 0 1]

相關用法


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