Python—通过0';s和1';s

Python—通过0';s和1';s,python,arrays,artificial-intelligence,sequence,Python,Arrays,Artificial Intelligence,Sequence,我正在使用python开发一个人工智能项目,它根据用户的输入用0和1填充一个数组,并根据0和1的顺序预测下一个输入。我有没有办法在这样一个随机输入的数组中找到一个模式?如果用户输入超过100个甚至200个,那么这个模式的准确度会有多高 编辑: 建议我添加一些代码。我在主文件上没有做太多工作: print("Welcome AI Project V:0.1a\n") username = "" with open("./user.txt", "r+") as f: name = f.r

我正在使用python开发一个人工智能项目,它根据用户的输入用0和1填充一个数组,并根据0和1的顺序预测下一个输入。我有没有办法在这样一个随机输入的数组中找到一个模式?如果用户输入超过100个甚至200个,那么这个模式的准确度会有多高

编辑: 建议我添加一些代码。我在主文件上没有做太多工作:

print("Welcome AI Project V:0.1a\n")

username = ""

with open("./user.txt", "r+") as f:
    name = f.readline()
    name.rstrip('\n')
    if (name != ""):
        username = name
    else:
        name = input("Look's like you're new! What's your name?\n")
        f.write(name)
        username = name

    f.close()

feeling = input("Hello {0}! How are you today?\n".format(username))
with open("./feeling.neuron", "w") as file:
    file.write(changeTo0or1(feeling))


def changeTo0or1(string):
    # Will ask user whether feeling is good or bad but I feel it's easier to work with a file of 0's and 1's as it means there are only 2 possible outputs

如果我理解正确,你是在试图根据一个人以前的情绪来预测他/她感觉好还是坏。您需要将其转换为1(好)和0(坏)的字符串,因为输入总是二进制的

user_mood_history = '000001100000110010011'
例如,如果您的用户在变量
user\u mood\u history
中有如上所示的输入历史记录,则您正在尝试预测下一输入或下一天的情绪。如果我看字符串,如果我们从周一开始,每天都收到输入,这个人在周末会很开心,在这周会很不开心

我知道,一般来说,这一点并不清楚,但就目前而言,这一点是明确的

如果你想预测用户第二天的情绪,仅仅从一个二进制字符串就很难预测,你可以使用某种机器学习算法,但要小心,你似乎没有多少数据点(输入)。因此,使用合适的机器学习算法

一些想法:

  • 从一个简单的逻辑回归模型开始
  • 隐马尔可夫模型
  • 递归神经网络(尽管由于缺乏数据,我不建议这样做)
  • ARIMA(自回归综合移动平均线,对于手头的简单任务来说,它也可能过于复杂)
  • 随机林分类器(查看的页面)
  • 如果你是一个更高级的程序员,也许可以看看Prophet,Facebook新的时间序列建模算法
这是字符串输入吗?当你问一个问题时,最好包含一些代码,大致显示你想要实现的目标。代码比文字更清晰。