#python #r #plot #neural-network
Вопрос:
Я хочу построить свою независимую переменную по оси x. По оси y я хочу построить значение ошибки и исходное значение. Как это сделать? Любая помощь будет оценена по достоинству. Спасибо!!
Форма данных по оси x (1571,2) Форма выходных данных (1571,) и форма ошибки MAE (1571,) Мой код ниже:
theta1 = np.arange(0,np.pi/2,0.001) theta2 = np.arange(0,np.pi/2,0.001) print(theta1) print(theta2) output : [0.779 0.809 1.555 ... 0.761 0.435 0.861] [0.779 0.809 1.555 ... 0.761 0.435 0.861] for i, (t1, t2) in enumerate(zip(theta1 , theta2)): y = [(np.cos(t1) ** 2 * np.cos(t2-t1) ** 2)for t1, t2 in x]`` y array([5.06397989e-01, 4.76406927e-01, 2.49503187e-04, ..., 5.24388482e-01, 8.22413274e-01, 4.24685909e-01])
Нейронная сеть:
model = keras.Sequential() model.add(keras.Input(shape=(2,))) model.add(keras.layers.Dense(8, activation = 'relu', name = 'hidden')) model.add(keras.layers.Dense(1, activation = 'sigmoid' , name = 'output')) model.compile(optimizer = 'adam', loss = "mse", metrics = ["mae"]) history = model.fit(x.reshape((1571,2)),y,epochs = 100 , batch_size = 1 , verbose = 1 , validation_split = 0.2) output: Epoch 1/100 1256/1256 [==============================] - 2s 1ms/step - loss: 0.0622 - mae: 0.2160 - val_loss: 0.0353 - val_mae: 0.1645 Epoch 2/100 1256/1256 [==============================] - 2s 1ms/step - loss: 0.0154 - mae: 0.1020 - val_loss: 0.0062 - val_mae: 0.0631 Epoch 3/100 1256/1256 [==============================] - 1s 1ms/step - loss: 0.0027 - mae: 0.0360 - val_loss: 0.0016 - val_mae: 0.0271 Epoch 4/100 1256/1256 [==============================] - 1s 1ms/step - loss: 0.0010 - mae: 0.0234 - val_loss: 8.9190e-04 - val_mae: 0.0227... model.predict(x) array([[0.5072075 ], [0.47284812], [0.02849746], ..., [0.52781117], [0.83285916], [0.414079 ]], dtype=float32) y_pred = model.predict(x).flatten() x_true = x y_true = y
Расчет ошибок:
MAE = mean_absolute_error(y_true, y_pred) MAE = np.abs(y_true.flatten() - y_pred.flatten()) MAE array([0.02251103, 0.01519655, 0.00550092, ..., 0.01614516, 0.01816225, 0.00289557])
теперь я хочу построить значение x по оси x. А по оси y-значения y и mae. как это сделать?