【问题标题】:Performance One Hot Encoding性能一热编码
【发布时间】:2020-02-28 08:23:38
【问题描述】:
我有一个大数据集 (10gb),我必须执行一次热编码 (OHE)。在数据准备中,OHE 是一个瓶颈,它花费了太多时间。
我正在使用这个库来做到这一点:category encoders
from category_encoders.one_hot import OneHotEncoder
OneHotEncoder().fit_transform(df)
对于数据帧的小样本已经花费了太长时间。
我怎样才能加快这个过程?也许并行化它?另一种方法?
【问题讨论】:
标签:
python
multithreading
performance
encoding
data-science
【解决方案1】:
我会使用装扮好的函数或相同的函数并并行运行它。
这可以通过多处理库来完成。
假设您的函数是“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)