我有一个大数据集(10gb(,我必须执行一次热编码(OHE(。在数据准备中,OHE是瓶颈,它花费了太多时间。
我正在使用这个库来做它:类别编码器
from category_encoders.one_hot import OneHotEncoder
OneHotEncoder().fit_transform(df)
对于数据帧的一个小样本来说,它已经花费了太长时间。
如何加快流程?也许可以并行化?另一种方法?
我会使用一个假定的函数或相同的函数,并并行运行它。这可以通过多处理库来完成。假设你的函数是"My_Fun",它获取条目的数量作为输入并返回一个热编码,你可以运行以下代码行:
import multiprocessing
inputs = range(sample_size)
num_cores = multiprocessing.cpu_count()
print("number of available cores:", num_cores)
results = Parallel(n_jobs=num_cores)(delayed(My_Fun)(i) for i in inputs)