如何在tensorflow(python)中打印计算出的特性



我是一名刚开始学习Python的大学生,没有太多的编程经验,出于好奇一直在尝试TensorFlow。我知道在尝试这样一个雄心勃勃的项目之前,我应该更熟练地学习python,但我真的想通过实验来了解这一点。

因此,我的目标是获取一个预先格式化的CSV,其中包含股票的RSI、RS、MACD和信号,然后如果该股票的价格在第二天上涨(相对于前一天(。它是否增加由1或0表示(1表示增加,0表示没有变化或减少(,所以一切都是整数。我试图找到的是,这些指标的组合导致了增长。增加与否由类别表示。

到目前为止,我已经训练了模型,测试了我的测试集,使其准确率达到89%,但我正在努力打印它发现的导致增长的值的组合。那么,如何从已计算的已训练模型中打印导致Spy_label(class(=1的Spy_features呢?

如果需要更多的信息,我会很乐意提供,我只是觉得我的第一个项目的这方面遇到了困难。最重要的是,我真的很想了解更多关于Python和机器学习的知识,所以如果能更多地解释如何进行这样的工作,我将不胜感激。

import tensorflow as tf
import numpy as np
import pandas as pd
from tensorflow.keras import layers
from tensorflow.keras.layers.experimental import preprocessing
import matplotlib.pyplot as plt
from IPython.display import clear_output
from six.moves import urllib

#Data files
SPY_Training = pd.read_csv(r'C:UsersmatthDownloadsSpy_training(noheader).csv',names=["RSI","RS","MACD","signal","Class"])
SPY_Test = pd.read_csv(r'C:UsersmatthDownloadsSpy_test(noheader).csv',names=["RSI","RS","MACD","signal","Class"])
SPY_Test.shape[0], SPY_Training.shape[0]
SPY_Training.head()
SpyTest_features = SPY_Test.copy()
SpyTest_labels = SpyTest_features.pop('Class')
Spy_features = SPY_Training.copy()
Spy_labels = Spy_features.pop('Class')
Spy_features = np.array(Spy_features)
Spy_features
print(Spy_features)
Spy_model = tf.keras.Sequential([
layers.Dense(64),
layers.Dense(1)
])
Spy_model.compile(loss = tf.losses.MeanSquaredError(),
optimizer= tf.optimizers.Adam(),  metrics=['accuracy'])
Spy_model.fit(Spy_features, Spy_labels, epochs=10)
test_loss, test_acc = Spy_model.evaluate(SpyTest_features, SpyTest_labels, verbose=2)
print('Test accuracy:', test_acc)

在神经网络中,每个值都会对结果产生影响(积极或消极(。

所有4个输入都直接连接到64个隐藏单元,然后直接连接到1个输出单元。因此,我们不能提前说什么值对输出有积极或消极的影响。

您可以使用matplotlib/seaborn通过在值之间绘制多个图形来理解数据。

最新更新