如何 运行 PCA 与 dask_ml。我收到一个错误,"This function (tsqr) supports QR decomposition in the case of tall-and-skinny matrices"?
How to run PCA with dask_ml. I am getting an error, "This function (tsqr) supports QR decomposition in the case of tall-and-skinny matrices"?
我想对大约3000行6000列的数据进行降维。这里的观察数 (n_samples) < 特征数 (n_columns)。我无法使用 dask-ml 获得结果,而通过 scikit learn 可以达到同样的效果。我需要对现有代码进行哪些修改?
#### 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)
Dask-ML 中的 PCA 算法仅适用于高瘦矩阵。您可以尝试使用 dask.array 中的原始 SVD 算法。此外,对于 3000x6000 矩阵,您可能也可以只使用一台机器。
为这种规模的问题添加类似 Dask-ML 的东西可能会增加比您需要的更多的复杂性。如果 Scikit-Learn 适合您,那么我会坚持使用它。
我想对大约3000行6000列的数据进行降维。这里的观察数 (n_samples) < 特征数 (n_columns)。我无法使用 dask-ml 获得结果,而通过 scikit learn 可以达到同样的效果。我需要对现有代码进行哪些修改?
#### 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)
Dask-ML 中的 PCA 算法仅适用于高瘦矩阵。您可以尝试使用 dask.array 中的原始 SVD 算法。此外,对于 3000x6000 矩阵,您可能也可以只使用一台机器。
为这种规模的问题添加类似 Dask-ML 的东西可能会增加比您需要的更多的复杂性。如果 Scikit-Learn 适合您,那么我会坚持使用它。