Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
lazy-programmer-courses
/
linear-regression
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
816094c5
authored
Jul 31, 2018
by
Paktalin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
class 17 is done
parent
45602784
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
186 additions
and
0 deletions
5_polynomial_regression.ipynb
5_polynomial_regression.ipynb
0 → 100644
View file @
816094c5
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"X = []\n",
"Y = []"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"for line in open('../csv_files/data_poly.csv'):\n",
" x, y = line.split(',')\n",
" x = float(x)\n",
" X.append([1, x, x*x])\n",
" Y.append(float(y))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"X = np.array(X)\n",
"Y = np.array(Y)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:,1], Y, edgecolors='k')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:,2], Y, edgecolors='k')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([4.27775141, 1.00542875, 0.09961723])"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A = X.T.dot(X)\n",
"b = X.T.dot(Y)\n",
"w = np.linalg.solve(A, b)\n",
"w"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"Yhat = X.dot(w)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(X[:,1], Y, edgecolors='k')\n",
"plt.plot(sorted(X[:,1]), sorted(Yhat), color='red')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"r-squared is equal 0.9991412296366858\n"
]
}
],
"source": [
"d1 = Y - Yhat\n",
"d2 = Y - Y.mean()\n",
"ssr = d1.dot(d1)\n",
"sst = d2.dot(d2)\n",
"r2 = 1 - ssr / sst\n",
"print('r-squared is equal', r2)"
]
}
],
"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.5.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment