【发布时间】:2019-11-06 12:32:49
【问题描述】:
我有一些超过 GB 的电子表格数据并且想要使用随机森林。在此处关注其他一些问题后,我能够调整算法以处理我的数据,但不幸的是,为了获得最佳性能,我需要对分类特征进行一次热编码,现在我的输入矩阵有超过 3000 个特征,导致内存错误.
我正在尝试减少这些功能,因此我将 SelectKBest 与 chi2 一起使用,根据文档,它将处理我的稀疏矩阵,但我仍然遇到内存错误。
我尝试将 to_sparse 与 fill_value=0 一起使用,这似乎可以减少内存占用,但是当我调用 fit_transform 时出现内存错误
MemoryError Traceback(最近一次调用最后一次) 在 () 4 Y_sparse = df_processed.loc[:,'Purchase'].to_sparse(fill_value=0) 5 ----> 6 X_new = kbest.fit_transform(X_sparse, Y_sparse)
kbest = SelectKBest(mutual_info_regression, k = 5)
X_sparse = df_processed.loc[:,df_processed.columns != 'Purchase'].to_sparse(fill_value=0)
Y_sparse = df_processed.loc[:,'Purchase'].to_sparse(fill_value=0)
X_new = kbest.fit_transform(X_sparse, Y_sparse)
我只是想将 3000 个功能减少到更易于管理的内容,比如 20 个与我的 Y 值密切相关(持续响应)
【问题讨论】:
标签: machine-learning scikit-learn