大数据,机器学习,人工智能机器学习和人工智能入门机器学习与数据挖掘

机器学习估算模型训练所需时间的一些想法

2020-03-16  本文已影响0人  Prozac水熊虫

今天训练了一个不大不小的数据集(~150k data points, ~50MB size),想用random forest算法,可是训练起来很慢,不知道要等多久,于是想到一个可以估算模型训练时间的方法。

先写下我的做法:

已知训练集中有150k rows,将训练集大小分别缩减到5k, 8k, 11k, 14k, 17k, 20k, 23k,……以此类推,直到60k,同时用%%time记录下各次训练所需的时间。

此时我们有了一系列的(数据集大小,训练时间)数据,用此可以建立一个简单的模型来预估出150k时训练所需时间。

因常见的复杂度通常为O(logn), O(n), O(nlogn), O(n^2),所以我们的模型与参数如下所示:

y = \omega_{1} logn+\omega_{2} n+\omega_{3} nlogn+\omega_{4} n^2

(不需bias项,因为数据大小为0k时,训练时间为0)

之后可以选择(繁琐程度依次递减):

1. 根据收集到的(数据集大小,训练时间)数据拟合出模型,做预估;

2. plot出收集到的(数据集大小,训练时间)数据,肉眼判断可能的走势,做预估;

3. 直接看数据(数据集大小,训练时间),找其中的数学关系,做预估。

(后续待贴1, 2方法代码+例子)

上一篇下一篇

猜你喜欢

热点阅读