{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.20.0 1.15.4\n" ] } ], "source": [ "import sklearn\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "print(sklearn.__version__, np.__version__)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LinearRegression\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.datasets import fetch_california_housing" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(20640, 8) (20640,)\n" ] } ], "source": [ "housing = fetch_california_housing()\n", "print(housing.data.shape, housing.target.shape)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(15480, 1) (5160, 1) (15480,) (5160,)\n" ] } ], "source": [ "X_train, X_test, y_train, y_test = train_test_split(housing.data[:, 0:1], housing.target, random_state=42)\n", "print(X_train.shape, X_test.shape, y_train.shape, y_test.shape)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "normal equation" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(15480, 2)\n" ] } ], "source": [ "x0 = np.ones((X_train.shape[0],1))\n", "X = np.hstack((x0, X_train))\n", "print(X.shape)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.44967564 0.41788087]\n" ] } ], "source": [ "w = np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y_train)\n", "print(w)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(X_train, y_train)\n", "plt.plot([0, 10], [w[0], 10*w[1]+w[0]], 'r')\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "basic regression" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.47083837938023365" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lr = LinearRegression()\n", "lr.fit(X_train, y_train)\n", "lr.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.47083837938023365\n" ] } ], "source": [ "y_pred = lr.predict(X_test)\n", "r2 = 1 - ((y_test - y_pred)**2).sum() / ((y_test - y_test.mean())**2).sum()\n", "print(r2)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.41788087] 0.44967564199686194\n" ] } ], "source": [ "print(lr.coef_, lr.intercept_)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(X_train, y_train)\n", "plt.plot([0, 10], [lr.intercept_, 10 * lr.coef_ + lr.intercept_], 'r')\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "not fit intercept" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.51131441] 0.0\n" ] } ], "source": [ "lr_no_intercept = LinearRegression(fit_intercept=False)\n", "lr_no_intercept.fit(X_train, y_train)\n", "print(lr_no_intercept.coef_, lr_no_intercept.intercept_)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.scatter(X_train, y_train)\n", "plt.plot([0, 10], [lr_no_intercept.intercept_, 10 * lr_no_intercept.coef_ + lr_no_intercept.intercept_], 'r')\n", "plt.xlabel('x')\n", "plt.ylabel('y')\n", "plt.show()" ] } ], "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.7.0" } }, "nbformat": 4, "nbformat_minor": 2 }