Tillämpa nätverket på många observationer/rader med data
Nu ska du definiera en funktion som heter predict_with_network() och som genererar prediktioner för flera dataobservationer, förinstansierade som input_data. Precis som tidigare är weights också förinstansierade. Dessutom är funktionen relu() som du definierade i föregående övning förinstansierad.
Den här övningen är en del av kursen
Introduktion till djupinlärning i Python
Övningsinstruktioner
- Definiera en funktion som heter
predict_with_network()och som tar emot två argument –input_data_rowochweights– och returnerar en prediktion från nätverket. - Beräkna indata- och utdatavärdena för varje nod och lagra dem som:
node_0_input,node_0_output,node_1_inputochnode_1_output.- För att beräkna indatavärdet för en nod, multiplicera de relevanta arrayerna med varandra och beräkna deras summa.
- För att beräkna utdatavärdet för en nod, applicera funktionen
relu()på nodens indatavärde.
- Beräkna modellens utdata genom att beräkna
input_to_final_layerochmodel_outputpå samma sätt som du beräknade indata- och utdatavärdena för noderna. - Använd en
for-loop för att iterera överinput_data:- Använd
predict_with_network()för att generera prediktioner för varje rad iinput_data–input_data_row. Lägg till varje prediktion iresults.
- Använd
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Define predict_with_network()
def predict_with_network(input_data_row, weights):
# Calculate node 0 value
node_0_input = ____
node_0_output = ____
# Calculate node 1 value
node_1_input = ____
node_1_output = ____
# Put node values into array: hidden_layer_outputs
hidden_layer_outputs = np.array([node_0_output, node_1_output])
# Calculate model output
input_to_final_layer = ____
model_output = ____
# Return model output
return(model_output)
# Create empty list to store prediction results
results = []
for input_data_row in input_data:
# Append prediction to results
results.append(____)
# Print results
print(results)