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
45602784
authored
Jul 31, 2018
by
Paktalin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
class 16 is done
parent
0b5cb1c7
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
143 additions
and
0 deletions
4_linear_regression_2d.ipynb
4_linear_regression_2d.ipynb
0 → 100644
View file @
45602784
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from mpl_toolkits.mplot3d import Axes3D"
]
},
{
"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_2d.csv'):\n",
" x1, x2, y = line.split(',')\n",
" X.append([float(x1), float(x2), 1])\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": [
"fig = plt.figure()\n",
"ax = fig.add_subplot(111, projection='3d')\n",
"ax.scatter(X[:,0], X[:,1], Y, edgecolor='k')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([2.01666793, 2.96985048, 1.46191241])"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"w = np.linalg.solve(X.T.dot(X), X.T.dot(Y))\n",
"w"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"Yhat = X.dot(w)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"r-squared is equal 0.9980040612475777\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