Применение сети к множеству наблюдений/строк данных
Теперь вы определите функцию predict_with_network(), которая будет генерировать предсказания для нескольких наблюдений. Данные заранее загружены в переменную input_data, а веса — в weights. Кроме того, функция relu(), определённая в предыдущем упражнении, также уже загружена.
Это упражнение является частью курса
Введение в глубокое обучение на Python
Инструкции к упражнению
- Определите функцию
predict_with_network(), которая принимает два аргумента —input_data_rowиweights— и возвращает предсказание сети. - Вычислите входные и выходные значения для каждого узла и сохраните их в переменных:
node_0_input,node_0_output,node_1_inputиnode_1_output.- Входное значение узла вычисляется как сумма поэлементных произведений соответствующих массивов.
- Выходное значение узла вычисляется путём применения функции
relu()к его входному значению.
- Вычислите выходное значение модели, рассчитав
input_to_final_layerиmodel_outputпо той же схеме, что и для узлов. - Используйте цикл
forдля перебора строкinput_data:- Применяйте функцию
predict_with_network()для получения предсказания по каждой строкеinput_data—input_data_row. Добавляйте каждое предсказание в списокresults.
- Применяйте функцию
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)