Stosowanie sieci do wielu obserwacji/wierszy danych
Zdefiniujesz teraz funkcję o nazwie predict_with_network(), która będzie generować predykcje dla wielu obserwacji. Dane wejściowe są wstępnie załadowane jako input_data, a wagi – jako weights. Funkcja relu() zdefiniowana w poprzednim ćwiczeniu również jest już dostępna.
To ćwiczenie jest częścią kursu
Wprowadzenie do uczenia głębokiego w Pythonie
Instrukcje do ćwiczenia
- Zdefiniuj funkcję o nazwie
predict_with_network(), która przyjmuje dwa argumenty –input_data_rowiweights– i zwraca predykcję sieci. - Oblicz wartości wejściowe i wyjściowe dla każdego węzła, zapisując je jako:
node_0_input,node_0_output,node_1_inputinode_1_output.- Aby obliczyć wartość wejściową węzła, pomnóż odpowiednie tablice przez siebie i oblicz ich sumę.
- Aby obliczyć wartość wyjściową węzła, zastosuj funkcję
relu()do jego wartości wejściowej.
- Oblicz wynik modelu, wyznaczając
input_to_final_layerimodel_outputw analogiczny sposób, jak obliczono wartości wejściowe i wyjściowe węzłów. - Użyj pętli
for, aby iterować poinput_data:- Wywołaj funkcję
predict_with_network(), aby wygenerować predykcję dla każdego wierszainput_data–input_data_row. Dołącz każdą predykcję do listyresults.
- Wywołaj funkcję
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)