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

作者: Prozac水熊虫 | 来源:发表于2020-03-16 00:05 被阅读0次

    今天训练了一个不大不小的数据集(~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方法代码+例子)

    相关文章

      网友评论

        本文标题:机器学习估算模型训练所需时间的一些想法

        本文链接:https://www.haomeiwen.com/subject/eygiehtx.html