我有一个数据集,它是一个巨大的、短的、胖的矩阵(大约4000 x 20,000,000)。我认为dask对我来说可能是一个很好的解决方案。但是,我希望确保可以将其编码为一个单热矩阵。我查看了dask-ml中的选项,它们似乎总是需要一个dask数据帧。然而,创建一个有2000万列的数据帧似乎真的很奇怪,而且可能会导致大量开销。使用dask数组并以某种方式使用apply on axis将每一列转换为1-hot会更容易吗?谢谢你的建议。
大家好,我刚开始接触dusk Ml,我一直在尝试使用dask ml训练一个逻辑回归模型来预测tweet的情绪。我已经将pandas数据帧转换为dask数据帧。在那之后,我执行了列车测试拆分。在那之后,我在X_train和X_test上使用了散列向量器。我执行了Train_X_vect.compute().shape行来检查形状,它返回(180224, 7000),否则y_train.compute().shape会在我尝试的时候返回(180224,),为了将它们拟合到逻辑回归模型中,我得到了一个错误,说"cannot add intercept to array with unknow
我对的结果感到困惑
from sklearn.preprocessing import OrdinalEncoder
from dask_ml.preprocessing import OrdinalEncoder as DaskOrdinalEncoder
import numpy as np
import pandas as pd
N = 10
np.random.seed(1234)
df = pd.DataFrame({
"cat1": np.random.choice(list(string.ascii_uppercase)[0:3], size=N),
我在一台有16 of内存的机器中运行下面粘贴的代码(故意的)。
import dask.array as da
import dask.delayed
from sklearn.datasets import make_blobs
import numpy as np
from dask_ml.cluster import KMeans
from dask.distributed import Client
client = Client(n_workers=4, threads_per_worker=1, processes=False,
memory_l
我有一个用于从数据库中检索数据的游标。执行完查询后,我通常会使用fetchall()将其存储在pandas数据帧中。
一旦数据对于内存来说变得太大,这个方法就不再起作用。
我正在考虑使用dask来存储结果以供进一步分析。作为dask的新手,我想知道做这件事最好的方法是什么。
例如:
query = """SELECT * FROM table"""
cursor.execute(query)
# Would usually do something like
df = pd.DataFrame([i for i in cursor.fetcha