ml-schoo-and-maybe-andrew-ng/work2/.ipynb_checkpoints/oldC1_W2_Lab02_Cost_functio...

276 lines
56 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "appropriate-yorkshire",
"metadata": {},
"source": [
"# Ungraded Lab: Cost Function\n",
"\n",
"In this ungraded lab, you will implement the cost function for linear regression with one variable.\n",
"\n",
"First, let's run the cell below to import [matplotlib](http://matplotlib.org), which is a famous library to plot graphs in Python. "
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "liberal-template",
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"id": "surrounded-liverpool",
"metadata": {},
"source": [
"## Problem Statement\n",
"\n",
"Let's use the same two data points as before - a house with 1000 square feet sold for \\\\$200,000 and a house with 2000 square feet sold for \\\\$400,000.\n",
"\n",
"That is our dataset contains has the following two points - \n",
"\n",
"| Size (feet$^2$) | Price (1000s of dollars) |\n",
"| -------------------| ------------------------ |\n",
"| 1000 | 200 |\n",
"| 2000 | 400 |\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "equal-potential",
"metadata": {},
"outputs": [],
"source": [
"# X is the input variable (size in square feet)\n",
"# y in the output variable (price in 1000s of dollars)\n",
"X = [1000, 2000] \n",
"y = [200, 400]"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "employed-thing",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 0, 'Size (feet^2)')"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot the data points\n",
"plt.scatter(X, y, marker='x', c='r')\n",
"\n",
"# Set the title\n",
"plt.title(\"Housing Prices\")\n",
"# Set the y-axis label\n",
"plt.ylabel('Price (in 1000s of dollars)')\n",
"# Set the x-axis label\n",
"plt.xlabel('Size (feet^2)')"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "therapeutic-drunk",
"metadata": {},
"outputs": [],
"source": [
"# Function to calculate the cost\n",
"def cost_function(w, X, y, plot=True):\n",
" \n",
" m = len(X)\n",
" \n",
" # Calculate the hypothesis\n",
" h0 = w[0]+ w[1]*X[0]\n",
" h1 = w[0]+ w[1]*X[1]\n",
" h = [h0, h1]\n",
" \n",
"\n",
" # Plot points along with hypothesis \n",
" if plot:\n",
" print(\"w\", w)\n",
" print(\"h\",h)\n",
" \n",
" plt.scatter(X, y, marker='x', c='r')\n",
" plt.plot(X, h, c='b')\n",
" \n",
" # Calculate the cost\n",
" cost1 = (h[0] - y[0])**2\n",
" cost2 = (h[1] - y[1])**2\n",
" total_cost = 1/(2*m)* (cost1 + cost2)\n",
"\n",
" return total_cost"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "daily-silence",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"w [0, 2]\n",
"h [2000, 4000]\n",
"Total cost : 4050000.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"w = [0, 2] # w0 = w[0], w1 = w[1]\n",
"\n",
"total_cost = cost_function(w, X, y)\n",
"print(\"Total cost :\", total_cost)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "activated-parking",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x107971d90>]"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Print w1 vs cost to see minimum\n",
"\n",
"w1_list = [-0.6, -0.4, -0.2, 0, 0.2, 0.4, 0.6]\n",
"cost_list = []\n",
"\n",
"for w1 in w1_list:\n",
" w = [0, w1]\n",
" total_cost = cost_function(w, X, y, plot=False)\n",
" cost_list.append(total_cost)\n",
" \n",
"plt.plot(w1_list, cost_list)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "certain-boating",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"w [0, 0.2]\n",
"h [200.0, 400.0]\n",
"Total cost : 0.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# We can see a global minimum at w1 = 0.2 Therefore, let's try w = [0,0.2] \n",
"# to see if that fits the data\n",
"w = [0, 0.2] # w0 = 0, w1 = 0.2\n",
"\n",
"total_cost = cost_function(w, X, y)\n",
"print(\"Total cost :\", total_cost)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "signal-incident",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}