Python—通过0';s和1';s
我正在使用python开发一个人工智能项目,它根据用户的输入用0和1填充一个数组,并根据0和1的顺序预测下一个输入。我有没有办法在这样一个随机输入的数组中找到一个模式?如果用户输入超过100个甚至200个,那么这个模式的准确度会有多高 编辑: 建议我添加一些代码。我在主文件上没有做太多工作: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
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新的时间序列建模算法李>