Python 中的简单二元分类示例

数据挖掘 分类 二进制 模式识别
2022-03-12 09:56:12

我不确定要问的正确位置,但我正在尝试开发一个简单的函数/算法,它可以从一系列数字中输出预测的数字(我有 Python 的背景,但几乎没有使用数据预测的经验)。更具体地说,当只有二元选择时。我在网上环顾四周,但我真的很迷茫,找不到讨论它的东西:

假设有一堆 1 和 0 依次排列,例如:

0100010010111011010010001011010

假设有一些复杂的数学模式正在确定序列,即使我们观察者不知道它。然而,我们可以肯定地知道,这些数据不是随机的,也不包含异常。

什么样的函数可以用来预测下一个数字是 1 还是 0?

例如:

01010101 -> 预测的下一个数字应该是 0。

001100110011 -> 预测的下一个数字应该是 0。

是否有一些简单的 Python 函数(使用 numpy、pandas 等)可以预测下一个 1 或 0,无论模式如何?

1个回答

您描述的问题是一种序列预测。

我认为这对于任何 numpy 或 pandas 库来说都太复杂了。也许 sklearn 有一些接近的东西,但我认为神经网络会给你最准确的预测。

在决定之前,需要考虑的一些要点是:

  1. 您要查找的字符串模式的最大长度是否有限制?
  2. 您只想要一个预测,基于一种被认为最有可能的模式,还是要考虑多种模式?
  3. 其他

示例:001001001 -> 下一个数字应该是 001 01001010010 -> 有 2 个子模式和另一个更大的模式。下一个数字可能是 0(01 模式)的 50% 机会和 1(001 模式)的 50% 机会

我认为最好的方法是让 LSTM 找到任何模式并根据它构建的模型预测下一个数字。该模型将包含上述所有信息,您无需定义它们。

根据您想要实现的简单或复杂程度,您可以从一个简单的 LSTM 模型开始,然后从那里开始。

https://machinelearningmastery.com/sequence-prediction/

或者

https://machinelearningmastery.com/models-sequence-prediction-recurrent-neural-networks/