我想对大约3000行6000列的数据进行降维。这里观察的数量(n_samples) <特征的数量(n_columns)。我不能使用dask-ml来达到这个效果,而同样的结果可以通过scikit学习来实现。我需要对现有代码进行哪些修改?
#### dask_ml
from dask_ml.decomposition import PCA
from dask_ml import preprocessing
import dask.array as da
import numpy as np
train = np.random.rand(3000,6000)
train = da.from_array(train,chunks=(100,100))
complete_pca = PCA().fit(train)
#### scikit learn
from sklearn.decomposition import PCA
from sklearn import preprocessing
import numpy as np
train = np.random.rand(3000,6000)
complete_pca = PCA().fit(train)发布于 2019-02-20 08:30:32
Dask-ML中的PCA算法仅适用于瘦高矩阵。您可以尝试在dask.array中使用原始奇异值分解算法。此外,对于3000x6000矩阵,您可能也可以只使用一台机器。
对于这种规模的问题,添加像Dask-ML这样的东西可能会增加比您需要的更多的复杂性。如果Scikit-Learn对你有效,那么我会坚持下去。
https://stackoverflow.com/questions/54724818
复制相似问题