pandas数据框作为神经网络的输入?

我正在尝试从头开始创建一个最基本的神经网络来预测苹果公司的股票。以下是我目前为止通过参考数据科学教程所得到的代码。然而,我现在正处于实际输入数据并确保其正确输入的阶段。我希望输入一个股票交易的pandas数据框。这是我的神经网络的设想。

  • 5个输入节点(开盘价、收盘价、最高价、最低价、交易量) *注意 – 这将在一个带有日期时间索引的pandas数据框中
  • 一个求和每个输入权重的激活函数
  • 用于标准化值的Sigmoid函数
  • 1个输出(调整后收盘价) *不确定应该使用什么作为实际值

然后,过程是使用反向传播技术进行调整。

import pandas as pdimport pandas_datareader as webimport matplotlib.pyplot as pltimport numpy as npdef sigmoid(x):    return 1.0/(1+ np.exp(-x))def sigmoid_derivative(x):    return x * (1.0 - x)class NeuralNetwork:    def __init__(self, x, y):        self.input      = x        self.weights1   = #会在我得到正确输入时计算        self.weights2   = #会在我得到正确输入时计算                        self.y          = y        self.output     = #会计算     def feedforward(self):        self.layer1 = sigmoid(np.dot(self.input, self.weights1))        self.output = sigmoid(np.dot(self.layer1, self.weights2))    def backprop(self):        #应用链式法则来寻找损失函数相对于weights2和weights1的导数        d_weights2 = np.dot(self.layer1.T, (2*(self.y - self.output) * sigmoid_derivative(self.output)))        d_weights1 = np.dot(self.input.T,  (np.dot(2*(self.y - self.output) * sigmoid_derivative(self.output), self.weights2.T) * sigmoid_derivative(self.layer1)))        #用损失函数的导数(斜率)更新权重        self.weights1 += d_weights1        self.weights2 += d_weights2if __name__ == "__main__":    X = #这里需要帮助    y = #这里需要帮助    nn = NeuralNetwork(X,y)    for i in range(1500):        nn.feedforward()        nn.backprop()    print(nn.output)

如果您有任何建议、更正或任何意见,请告诉我,因为我非常投入于学习神经网络。

谢谢。


回答:

直接在神经网络中使用Pandas是非常荒谬的。性能会非常差。您应该做的是传递底层的numpy数组。

X = df[['Open','Close','High','Low','Volume']].valuesy = df['adj close'].values

这回答了您的问题吗?

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注