scikit-learn 中的 minibatch kmeans 是不是通过使用部分拟合进行增量学习?
Posted
技术标签:
【中文标题】scikit-learn 中的 minibatch kmeans 是不是通过使用部分拟合进行增量学习?【英文标题】:Is minibatch kmeans in scikit-learn having an incremental learning by using partial fit?scikit-learn 中的 minibatch kmeans 是否通过使用部分拟合进行增量学习? 【发布时间】:2017-04-19 22:37:06 【问题描述】:我即将使用小批量 kmeans,因为我有一个庞大的数据集,我每次输入数据集时都使用 partial_fit 对吗?我正在使用它,假设每 100 个数据集是在学习累积的集群中心还是覆盖旧的集群中心?我对部分拟合有点困惑
【问题讨论】:
您确定您的进程受处理器限制而不是 I/O 限制吗? 25% 的 CPU 使用率表示单个内核的使用率。如果您最大化一个核心,您会看到 100% 的使用率。 【参考方案1】:25% 表示它只使用一个核心 25% ?因此,您甚至一开始都没有使用单核。因此,在这种情况下,您应该调查您的进程可能受到其他东西(例如磁盘 I/O)的约束,并尝试对其进行优化。
说到使用所有核心(多核),我认为在python中没有什么像'真正的多线程',你受到GIL(全局解释器锁)的限制,所以python不能使用多核那种感觉。您可以通过在 python 中敲击一些外部程序(支持真正的多线程)在 python 中使用多核。
您也可以考虑使用 go instad 的 python。 go vs python
【讨论】:
以上是关于scikit-learn 中的 minibatch kmeans 是不是通过使用部分拟合进行增量学习?的主要内容,如果未能解决你的问题,请参考以下文章
Flink SQL 功能解密系列 解决热点问题的大杀器 MiniBatch
Torch 中的 setNumInputDims 应该做啥?