我正在使用SKLearn KernelRidge来拟合一个有10万个样本x10个特性(6个ints和4个浮点数)的模型:
model = KernelRidge(kernel='linear')查看任务管理器,'Python‘流程需要40 at。
你能解释一下为什么有这么高的需求吗?在背景中建立什么样的矩阵?
发布于 2018-03-07 13:53:42
这是相当普遍的。KernelRidge的算法需要进行一次奇异值分解。遗憾的是,SVD不能处理稀疏矩阵,因此sklearn中的_pre_compute_svd函数只是将矩阵转换为密集矩阵,然后继续前进。这往往会很快地炸掉记忆。
你有几个选择。重写该方法以处理稀疏矩阵,或者只使用另一种方法。SVR将是最相似的选择。
https://datascience.stackexchange.com/questions/28754
复制相似问题