-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEntenamiento con matrices_1
26 lines (19 loc) · 1.5 KB
/
Entenamiento con matrices_1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import numpy as np
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
# cargamos las 4 combinaciones
training_data = np.array([[8,6,8,6.5,7.5,5,8,6.5,9,5.5,6.5,6.5,6,7,8,104,5.5,6,8,5.5,7,6.5,8,6,8.5,4.5,5.5,6,6.5,8,6,97.5,1.4,1,3,0,1,0.3,0,6.7,0.6,0,0,1,2,0,0.3,3.9],[5.5,6,7.5,5.5,7.5,5,8,6.5,9,5.5,6.5,6.5,6,7,7.5,99.5,5,6,8,5.5,7,6.5,8.5,6.5,8.5,6,6,7,6.5,8,7,102,1.5,0,4,0,1,0,0,6.5,0.7,1,0,1,2,0,0.3,4.9],[8,7.5,8,7.5,7.5,7,8.5,7.5,9,8,8.5,7,6,7.5,7.5,115,6,6,7,5,7,6.5,7,6.5,6,5,6,4,6.5,8,7,93.5,1.4,0,4,1,2,0.3,0.3,8.9,0.7,1,0,0,4,0,0,5.7],[7,7.5,6,6.5,7.5,6.5,8.5,6.5,8,5.5,6.5,6.5,6,7.5,7.5,103.5,7.5,8,7,7.5,8,6.5,8.5,6.5,8.5,5.5,6,8,6.5,7.5,7,108.5,1.6,0,5,0,2,0,0,8.6,0.8,1,0,1,4,0.3,0.3,7.3]], "float32")
# y estos son los resultados esperados en el mismo orden
target_data = np.array([[0.666666666666667,0.333333333333333],[0,0],[1,0.333333333333333],[0.333333333333333,0.333333333333333]], "float32")
model = Sequential()
model.add(Dense(48, input_dim=48, activation='relu'))
model.add(Dense(24, activation='relu'))
model.add(Dense(12, activation='relu'))
model.add(Dense(2, activation='sigmoid'))
model.compile(loss='mean_squared_error',
optimizer='adam',
metrics=['binary_accuracy'])
model.fit(training_data, target_data, epochs=1000)
scores = model.evaluate(training_data, target_data)
print("\n%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))
print (model.predict(training_data).round(1))