目前我一直在使用列表来绘制数据,并希望找到一种预测模式。尝试使用数据框架并没有帮助到我,反而让我感到非常不适。是否可以使用Python列表和机器学习或模式识别算法来预测数据?我是Python新手 🙂
回答:
我需要一个程序,能够接受时间戳作为输入,并用它来预测未来的时间戳。经过长时间的尝试,我发现使用仅包含时:分:秒格式的时间戳并将其转换为浮点数对我有效。然后使用这些浮点数并将其与时间戳的条目编号配对。因此,我有一个二维列表,以便将数据整齐地收集到一处。
示例:timestamp_1, 0 timestamp_2, 1 timestamp_3, 2
然后分配两个变量来获取一列的数据。浮点数将位于y轴上,而x轴将是数字序列,例如0,1,2,3,依此类推。
然后使用svr_lin.fit进行线性回归,我能够绘制出一条与所有点匹配的图,因为由于x轴上的数字,这将是一条直线。最后,通过svr_lin.predict和一个循环,我可以打印未来的数据点。希望这能帮助那些试图使用Python获取“未来”时间戳的人们。
代码:
data = [[timestamp_1, 0], [timestamp_2, 1], [timestamp_3, 2], [timestamp_4, 3], #continues... ]]list_time = []list_numbers = []list_time = [i[0] for i in data]list_numbers = [i[1] for i in data]list_numbers = np.reshape(list_number, (len(list_numbers), 1))svr_lin = SVR(kernel='linear', C=1e3)svr_lin.fit(list_numbers, list_time)plt.scatter(list_numbers, list_time)plt.plot(list_numbers, svr_lin.predict(list_numbers)) #in a different colourplt.show'''x is out of sample and starting point I have kept in sample however, starting point does not need to be the 0th element.'''for i in range(0,x): print(svr_lin.predict(i))
@的人的代码和stack overflow用户的代码对我帮助很大。