\n",
"\n",
" \n",
" \n",
" **cost after iteration 0**\n",
" | \n",
" \n",
" 0.692739\n",
" | \n",
"
\n",
"\n",
" \n",
" \n",
" $\\vdots$ \n",
" | \n",
" \n",
" $\\vdots$ \n",
" | \n",
"
\n",
"\n",
" \n",
" **W1** | \n",
" [[-0.65848169 1.21866811]\n",
" [-0.76204273 1.39377573]\n",
" [ 0.5792005 -1.10397703]\n",
" [ 0.76773391 -1.41477129]] | \n",
"
\n",
" \n",
" \n",
" **b1** | \n",
" [[ 0.287592 ]\n",
" [ 0.3511264 ]\n",
" [-0.2431246 ]\n",
" [-0.35772805]] | \n",
"
\n",
" \n",
" \n",
" **W2** | \n",
" [[-2.45566237 -3.27042274 2.00784958 3.36773273]] | \n",
"
\n",
" \n",
"\n",
" \n",
" **b2** | \n",
" [[ 0.20459656]] | \n",
"
\n",
" \n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 4.5 Predictions\n",
"\n",
"**Question**: Use your model to predict by building predict().\n",
"Use forward propagation to predict results.\n",
"\n",
"**Reminder**: predictions = $y_{prediction} = \\mathbb 1 \\text{{activation > 0.5}} = \\begin{cases}\n",
" 1 & \\text{if}\\ activation > 0.5 \\\\\n",
" 0 & \\text{otherwise}\n",
" \\end{cases}$ \n",
" \n",
"As an example, if you would like to set the entries of a matrix X to 0 and 1 based on a threshold you would do: ```X_new = (X > threshold)```"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [],
"source": [
"# GRADED FUNCTION: predict\n",
"\n",
"def predict(parameters, X):\n",
" \"\"\"\n",
" Using the learned parameters, predicts a class for each example in X\n",
" \n",
" Arguments:\n",
" parameters -- python dictionary containing your parameters \n",
" X -- input data of size (n_x, m)\n",
" \n",
" Returns\n",
" predictions -- vector of predictions of our model (red: 0 / blue: 1)\n",
" \"\"\"\n",
" \n",
" # Computes probabilities using forward propagation, and classifies to 0/1 using 0.5 as the threshold.\n",
" ### START CODE HERE ### (≈ 2 lines of code)\n",
" A2, cache = forward_propagation(X, parameters)\n",
" predictions = (A2 > 0.5)\n",
" ### END CODE HERE ###\n",
" \n",
" return predictions"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"predictions mean = 0.6666666666666666\n"
]
}
],
"source": [
"parameters, X_assess = predict_test_case()\n",
"\n",
"predictions = predict(parameters, X_assess)\n",
"print(\"predictions mean = \" + str(np.mean(predictions)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Expected Output**: \n",
"\n",
"\n",
"