【问题标题】:Preprocessing machine learning data [closed]预处理机器学习数据
【发布时间】:2018-08-18 02:22:29
【问题描述】:

这可能是一个愚蠢的问题,但我是 ML 新手,似乎找不到明确的答案。

我在 Python 网络应用上实现了 ML 算法。

现在我将算法使用的数据存储在离线 CSV 文件中,每次运行算法时,它都会分析所有数据(每次使用算法时都会添加一条新数据)。

抱歉,如果我太含糊了,但我想知道通常应该如何正确实施数据和算法,以便:

  1. 数据未存储在 CSV 中(我是否像存储任何其他类型的数据一样将其简单地存储在数据库中?)

  2. 使用了某种形式的预处理,以便 ML 算法不必在每次使用时重复分析相同的数据(或者是否必须在每次使用算法?)。

【问题讨论】:

  • 这个问题确实可能太笼统,无法给出答案,对您的问题的具体情况有了解(算法和预处理是什么,数据的性质和大小等)。 ) 会有所帮助。对于1)数据存储或多或少独立于算法,原则上您可以选择更方便的方式,只需考虑是否必须/可以一次将所有数据存储在内存中。对于2),这取决于预处理涉及的内容,可能只做增量计算,也可能不做。
  • 回答 2.) 你可以看看 Online Machine LearningBayesian Inference。这些方法不需要存储数据,因此 1.) 已过时。

标签: python python-3.x algorithm machine-learning


【解决方案1】:

数据未存储在 CSV 中(我是否像存储任何其他类型的数据一样将其简单地存储在数据库中?)

您可以以任何您喜欢的格式存储。

使用了某种形式的预处理,这样机器学习算法就不必在每次使用时重复分析相同的数据(或者是否必须在每次使用算法时都添加一条新数据?)。

这在很大程度上取决于您使用的算法。一些算法可以很容易地实现以增量方式学习。例如,使用随机梯度下降实现的线性/逻辑回归可以轻松地在添加每个新实例时对其进行快速更新。对于其他算法,完全重新训练是唯一的选择(尽管您当然可以选择不总是为每个新实例一遍又一遍地重复它们;例如,您可以简单地在设定点每天重新训练一次及时)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 2015-08-18
    • 2017-12-15
    • 2014-02-17
    • 1970-01-01
    • 2020-09-07
    • 2018-03-07
    • 2018-03-11
    相关资源
    最近更新 更多