如何在scikit中使用MLPClassifier - 了解时间序列数据?
我目前的数据名为[]
如何使用培训机制来训练此列表中的数据?该列表列出了几年内某股权的每日收盘价。
感谢您的帮助,我仍然是数据科学编程的新手。
任何人都可以向我解释这个分类器是如何工作的,我是否应该在scikit中使用MLPClassification或MLPRegression来学习预测股权的价格。分类器究竟做了什么以及不同的激活函数代表什么?
我的数据如下:
[25.45,25.68,25.69,26.00,2 25.70,......等]
这些是股票在一段时间内的每日股票价格。我如何使用这些数据来预测股票价格的未来?例如,如果我有17年的过去数据,我怎样才能确定未来6个月?
答案 0 :(得分:1)
这是一个普遍的问题。 您可以使用许多方法来实现此目标。 一个简单的线性回归可以提供很好的预测(可能需要进行测试)。
您还可以使用的非常好的模型是:随机森林分类器。
此处有更多详情link。
这里很好的例子link。
如果你想特别使用MLPRegressor,这是一个例子:
<强> CODE 强>
from sklearn.neural_network import MLPRegressor
import random
import numpy as np
#create the model.
regressor=MLPRegressor(hidden_layer_sizes=(100, ), activation='relu', solver='adam', alpha=0.0001,random_state=0)
#random data. let's say you have 365 values, one per day for a year
y=random.sample(range(50),365)
#make y a column vector
y=y.reshape(1,365)
#create 365 random years from 1600 to 1965
X=np.arange(1600,1965,1)
X=X.reshape(365,1)
#fit the model
regressor.fit(X,y)
#X_new is the future years. You want to predict the values for these years.
X_new = np.array([[2030,2050,2080]])
X_new=X_new.reshape(3,1)
#predict
pred = regressor.predict(X_new)
#print the predictions for year 2030, 2050, 2080
print(pred)
<强>结果强>
array([ 265.3367414, 267.9489602, 271.8672884])
第一个值对应2030年等。 对于模型MLPRegressor,在这里link,您可以看到所有可用的参数。 希望这会有所帮助。