我在获取大量数据集时遇到了OOM错误。数据集形状为(1500 万,230)。由于工作环境是Databricks
,我决定将评分代码更新为Koalas
并利用 Spark 架构来缓解我的内存问题。
但是,我在尝试将部分代码从熊猫转换为考拉时遇到了一些问题。非常感谢任何有关如何解决此问题的帮助。
目前,我正在尝试向我的数据框中添加一些调整后的列,但我得到了PandasNotImplementedError:该方法pd.Series.__iter__()
未实现。如果要将数据收集为 NumPy 数组,请改用“to_numpy()”。
代码/问题区域:
df[new_sixmon_cols] = df[sixmon_cols].div([min(6,i) for i in df['mob']],axis=0)
df[new_twelvemon_cols] = df[twelvemon_cols].div([min(12,i) for i in df['mob']],axis=0)
df[new_eighteenmon_cols] = df[eighteenmon_cols].div([min(18,i) for i in df['mob']],axis=0)
df[new_twentyfourmon_cols] = df[twentyfourmon_cols].div([min(24,i) for i in df['mob']],axis=0)
print('The shape of df after add adjusted columns for all non indicator columns is:')
print(df.shape)
我相信问题区域是div([min(6,i)]
,但我不确定如何有效地转换这段特定的代码,或者一般来说如何处理利用 Databricks 或云环境对大数据集进行评分。
关于数据/模型的一些指示:
- 当然,数据是特征减少和选择的。
- 我用 250 万条记录构建了模型,现在我正在尝试处理评分文件。