- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新:我修复了错误,所以我只需要第二个问题的答案!
我对 Python 相当陌生,在执行任务时遇到错误。我查找了此错误,但没有找到答案。
所以,这就是我正在尝试做的事情。
我想建立一个能够预测值的神经网络。我用于该类的代码如下
# neural network class definition
神经网络类:
#Step 1: initialise the neural network: number of input layers, hidden layers and output layers
def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):
#set number of nodes in each input, hidden, output layer
self.inodes = inputnodes
self.hnodes = hiddennodes
self.onodes = outputnodes
#link weight matrices, wih and who (weights in hidden en output layers), we are going to create matrices for the multiplication of it to get an output
#weights inside the arrays (matrices) are w_i_j, where link is from node i to node j in the next layer
#w11 w21
#w12 w22 etc
self.wih = numpy.random.normal(0.0,pow(self.inodes,-0.5),( self.hnodes, self.inodes))
self.who = numpy.random.normal(0.0,pow(self.hnodes,-0.5),( self.onodes, self.hnodes))
# setting the learning rate
self.lr = learningrate
# activation function is the sigmoid function
self.activation_function = lambda x: scipy.special.expit(x)
pass
#Step 2: training the neural network - adjust the weights based on the error of the network
def train(self, inputs_list, targets_list):
#convert input lists to 2d array (matrice)
inputs = numpy.array(inputs_list, ndmin=2).T
targets = numpy.array(targets_list, ndmin=2).T
#calculate signals into hidden layer
hidden_inputs = numpy.dot(self.wih, inputs)
#calculate signals emerging from hidden layer
hidden_outputs = self.activation_function(hidden_inputs)
#calculate signals into final output layer
final_inputs = numpy.dot(self.who, hidden_outputs)
#calculate signals emerging from final output layer
final_outputs = self.activation_function(final_inputs)
# output layer error is the (target-actual)
output_errors = targets -final_outputs
#hidden layer error is the output_errors, split by weights, recombined at hidden nodes
hidden_errors = numpy.dot(self.who.T, output_errors)
#update the weights for the links between the hidden and output layers
self.who += self.lr * numpy.dot((output_errors*final_outputs * (1.0-final_outputs)),numpy.transpose(hidden_outputs))
# update the weights for the links between the input and hidden layers
self.wih += self.lr*numpy.dot((hidden_errors*hidden_outputs*(1.0-hidden_outputs)),numpy.transpose(inputs))
pass
#Seap 3: giving an output- thus making the neural network perform a guess
def query(self, inputs_list):
#convert input lists to 2d array (matrice)
inputs = numpy.array(inputs_list, ndmin=2).T
#calculate signals into hidden layer
hidden_inputs = numpy.dot(self.wih, inputs)
#calculate signals emerging from hidden layer
hidden_outputs = self.activation_function(hidden_inputs)
#calculate signals into final output layer
final_inputs = numpy.dot(self.who, hidden_outputs)
#calculate signals emerging from final output layer
final_outputs = self.activation_function(final_inputs)
return final_outputs
我显然首先导入了必要的东西:
import numpy
#scipy.special for the sigmoid function expit()
import scipy.special
然后我创建了一个神经网络实例:
#number of input, hidden and output nodes
input_nodes = 784
hidden_nodes = 100
output_nodes = 10
#learning rate is 0.8
learning_rate = 0.8
#create instance of neural network
n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)
此后,我读取包含输入和目标的 Excel 文件
import pandas as pd
df = pd.read_excel("Desktop\\PythonTest.xlsx")
该文件如下所示:
h、P、D、o 列是输入,EOQ 列是神经网络应该学习的数字。
所以,我首先这样做了:
xcol=["h","P","D","o"]
ycol=["EOQ"]
x=df[xcol].values
y=df[ycol].values
定义 x 和 y 列。 x 是输入,y 是目标。
我现在想根据这些数据训练神经网络,并且我使用了这些代码行;
# train the neural network
# go through all records in the training data set
for record in df:
inputs = x
targets = y
n.train(inputs, targets)
pass
这给了我以下错误:
---------------------------------------------------------------------------
ValueError Traceback (most recent call
last)
<ipython-input-23-48e0e741e8ec> in <module>()
4 inputs = x
5 targets = y
----> 6 n.train(inputs, targets)
7 pass
<ipython-input-13-12c121f6896b> in train(self, inputs_list, targets_list)
31
32 #calculate signals into hidden layer
---> 33 hidden_inputs = numpy.dot(self.wih, inputs)
34 #calculate signals emerging from hidden layer
35 hidden_outputs = self.activation_function(hidden_inputs)
ValueError: shapes (100,784) and (4,6836) not aligned: 784 (dim 1) != 4
(dim 0)
有两个问题:
提前非常感谢并感谢任何反馈!
干杯
史蒂文
最佳答案
您已经在使用 pandas,因此您可以简单地获取所有输出,并为 pandas df
创建一个新列。
result = [nn.query(input) for input in df]
df['result'] = result
关于python - ValueError:形状 (100,784) 和 (4,6836) 未对齐:784 (dim 1) != 4 (dim 0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53438827/
我正在尝试并行运行具有循环返回值的函数。但它似乎停留在 results = pool.map(algorithm_file.foo, population) 在 for 循环的第二次迭代中 r
Serving Flask 应用程序“服务器”(延迟加载) 环境:生产警告:这是一个开发服务器。不要在生产部署中使用它。请改用生产 WSGI 服务器。 Debug模式:开启 在 http://0.0.
我使用“product.pricelist”模型中的 get_product_price_rule() 函数。我的代码是: price = self._get_display_price(produ
我收到以下错误: Traceback (most recent call last): File "/home/odroid/trackAndFollow/getPositions.py", line
我正在尝试采用机器学习方法,但遇到了一些问题。这是我的代码: import sys import scipy import numpy import matplotlib import pandas
我尝试使用 tensorflow 1.4.0 对我的原始记录进行分类。过程如下。 拳头:读取图片和标签,输出“tfrecord”格式的文件。第二:读取tf记录和训练 编写tfrecord脚本是 !/u
我是新手,所以需要任何帮助,当我要求一个例子时,我的教授给我了这段代码,我希望有一个工作模型...... from numpy import loadtxt import numpy as np fr
我无法弄清楚为什么会出现此 ValueError...为了提供一些上下文,我正在使用 requests、BeautifulSoup 和 json 与 python 来抓取站点 json 数据。 我不确
我已经尝试使用这两个循环以及列表理解。即使我正在尝试将数字转换为列表中的整型,两者都无法解析整数。
我已经尝试使用这两个循环以及列表理解。即使我正在尝试将数字转换为列表中的整型,两者都无法解析整数。
我只有四个星期的 Python 经验。使用 Tkinter 创建一个工具,将新的公司 Logo 粘贴到现有图像之上。 下面的方法是获取给定目录中的所有图像并将新 Logo 粘贴到初始级别。现有图像、编
我只有四个星期的 Python 经验。使用 Tkinter 创建一个工具,将新的公司 Logo 粘贴到现有图像之上。 下面的方法是获取给定目录中的所有图像并将新 Logo 粘贴到初始级别。现有图像、编
我在尝试在 Keras 2.0.8、Python 3.6.1 和 Tensorflow 后端中训练模型时遇到问题。 错误消息: ValueError: Error when checking targ
我已经尝试使用这两个循环以及列表理解。即使我正在尝试将数字转换为列表中的整型,两者都无法解析整数。
我有这段代码: while True: try: start = int(input("Starting number: ")) fin = int(i
我是 python 的初学者编码员,试图制作一个“模具滚筒”,您可以在其中选择模具的大小,它在我的代码的第 20 行返回此错误 import sys import random import geto
我有以下代码: import fxcmpy import pandas as pd from pandas import datetime from pandas import DataFrame a
我正在尝试使用 django 和 python 制作一个博客应用程序。我也在尝试使用 s3 存储桶进行存储,使用 heroku 进行部署。我正在学习 coreymschafer 的在线教程。我正在按照
我创建了一个 numpy 数组(考虑输入数据)并想更改顺序(一些数值运算后的输出数据)。在使用转换后的数组时,我遇到错误并找到了根本原因。请在下面找到详细信息并使用 numpy 版本 1.19.1 i
我已经引用了之前的查询 All arguments should have the same length plotly但仍然没有得到我的问题的答案。 我有一个黄金价格数据集。 Date
我是一名优秀的程序员,十分优秀!