{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "NdHIE4CSDCp3" }, "source": [ "# **Day-14 | Stock Prediction using SUPPORT VECTOR REGRESSION**" ] }, { "cell_type": "markdown", "metadata": { "id": "1NTrKL3eIgZ8" }, "source": [ "### *Importing Libraries*" ] }, { "cell_type": "code", "metadata": { "id": "ae6Pxuc-CNeu" }, "source": [ "import pandas as pd\n", "import numpy as np" ], "execution_count": 1, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "6oo4HsbHInXM" }, "source": [ "### *Load Dataset from Local directory*" ] }, { "cell_type": "code", "metadata": { "id": "w0WCVounIsJ5", "colab": { "base_uri": "https://localhost:8080/", "height": 73 }, "outputId": "72f5c938-c267-41f9-ee2a-6d6563b5664f" }, "source": [ "from google.colab import files\n", "uploaded = files.upload()" ], "execution_count": 2, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "" ], "text/html": [ "\n", " \n", " \n", " Upload widget is only available when the cell has been executed in the\n", " current browser session. Please rerun this cell to enable.\n", " \n", " " ] }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": [ "Saving data.csv to data.csv\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "NHijCKx7I0k8" }, "source": [ "### *Load Dataset*" ] }, { "cell_type": "code", "metadata": { "id": "zxBak91bI2yh" }, "source": [ "dataset = pd.read_csv('data.csv')" ], "execution_count": 3, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "5XKSRUPWI5Q-" }, "source": [ "### *Summarize Dataset*" ] }, { "cell_type": "code", "metadata": { "id": "63BR2xiKI7oZ", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "7bcfc903-7216-4aa7-c079-b13837f2fb72" }, "source": [ "print(dataset.shape)\n", "print(dataset.head(5))" ], "execution_count": 4, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(94, 2)\n", " x y\n", "0 168.181818 160.840244\n", "1 187.878788 159.413657\n", "2 207.575758 157.136809\n", "3 227.272727 159.357847\n", "4 246.969697 157.542862\n" ] } ] }, { "cell_type": "markdown", "metadata": { "id": "Zv8cn1g8Jix-" }, "source": [ "### *Segregate Dataset into Input X & Output Y*" ] }, { "cell_type": "code", "metadata": { "id": "iR3g4pDjJoj9", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "a0374808-f07f-487b-d913-fa21394a2d3d" }, "source": [ "X = dataset.iloc[:, :-1].values\n", "X" ], "execution_count": 5, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[ 168.18181818],\n", " [ 187.87878788],\n", " [ 207.57575758],\n", " [ 227.27272727],\n", " [ 246.96969697],\n", " [ 266.66666667],\n", " [ 286.36363636],\n", " [ 306.06060606],\n", " [ 325.75757576],\n", " [ 345.45454545],\n", " [ 365.15151515],\n", " [ 384.84848485],\n", " [ 404.54545455],\n", " [ 424.24242424],\n", " [ 443.93939394],\n", " [ 463.63636364],\n", " [ 483.33333333],\n", " [ 503.03030303],\n", " [ 522.72727273],\n", " [ 542.42424242],\n", " [ 562.12121212],\n", " [ 581.81818182],\n", " [ 601.51515152],\n", " [ 621.21212121],\n", " [ 640.90909091],\n", " [ 660.60606061],\n", " [ 680.3030303 ],\n", " [ 700. ],\n", " [ 719.6969697 ],\n", " [ 739.39393939],\n", " [ 759.09090909],\n", " [ 778.78787879],\n", " [ 798.48484848],\n", " [ 818.18181818],\n", " [ 837.87878788],\n", " [ 857.57575758],\n", " [ 877.27272727],\n", " [ 896.96969697],\n", " [ 916.66666667],\n", " [ 936.36363636],\n", " [ 956.06060606],\n", " [ 975.75757576],\n", " [ 995.45454545],\n", " [1015.15151515],\n", " [1034.84848485],\n", " [1054.54545455],\n", " [1074.24242424],\n", " [1093.93939394],\n", " [1113.63636364],\n", " [1133.33333333],\n", " [1153.03030303],\n", " [1172.72727273],\n", " [1192.42424242],\n", " [1212.12121212],\n", " [1231.81818182],\n", " [1251.51515152],\n", " [1271.21212121],\n", " [1290.90909091],\n", " [1310.60606061],\n", " [1330.3030303 ],\n", " [1350. ],\n", " [1369.6969697 ],\n", " [1389.39393939],\n", " [1409.09090909],\n", " [1428.78787879],\n", " [1448.48484848],\n", " [1468.18181818],\n", " [1487.87878788],\n", " [1507.57575758],\n", " [1527.27272727],\n", " [1546.96969697],\n", " [1566.66666667],\n", " [1586.36363636],\n", " [1606.06060606],\n", " [1625.75757576],\n", " [1645.45454545],\n", " [1665.15151515],\n", " [1684.84848485],\n", " [1704.54545455],\n", " [1724.24242424],\n", " [1743.93939394],\n", " [1763.63636364],\n", " [1783.33333333],\n", " [1803.03030303],\n", " [1822.72727273],\n", " [1842.42424242],\n", " [1862.12121212],\n", " [1881.81818182],\n", " [1901.51515152],\n", " [1921.21212121],\n", " [1940.90909091],\n", " [1960.60606061],\n", " [1980.3030303 ],\n", " [2000. ]])" ] }, "metadata": {}, "execution_count": 5 } ] }, { "cell_type": "code", "metadata": { "id": "LyJ8ghMFKcMe", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "1ffa4118-7ce7-47fe-c462-1b63f2830057" }, "source": [ "Y = dataset.iloc[:, -1].values\n", "Y" ], "execution_count": 6, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([160.84024381, 159.41365734, 157.1368088 , 159.35784736,\n", " 157.54286158, 157.73520716, 159.34756091, 155.23404557,\n", " 155.80774009, 158.3299704 , 157.62585291, 160.47697951,\n", " 158.22940639, 157.41781684, 163.37069148, 160.18481104,\n", " 160.96838974, 158.18080666, 160.13850728, 161.6460876 ,\n", " 159.31922497, 162.56957785, 160.81387414, 161.62873371,\n", " 161.20567768, 166.31061698, 162.77603585, 160.88457814,\n", " 164.84205952, 160.95225209, 164.00863628, 159.86853854,\n", " 161.32847639, 164.57554065, 165.85572104, 164.91849414,\n", " 164.54143071, 164.36748958, 162.20962269, 163.92394795,\n", " 164.63932852, 167.87182021, 166.64178203, 162.62543484,\n", " 166.99665279, 165.77528998, 165.38858024, 168.16274652,\n", " 169.19836268, 169.19589357, 165.85186798, 167.10884798,\n", " 168.58676929, 170.07230238, 167.35983334, 168.14383356,\n", " 166.49945126, 166.51667766, 170.73111225, 172.01551036,\n", " 169.35597976, 171.70403549, 170.61721144, 168.80066958,\n", " 171.01067 , 173.56092162, 170.6101661 , 174.00807519,\n", " 165.83626737, 172.91653228, 171.64379111, 171.06865197,\n", " 172.04715792, 168.08546823, 171.81823198, 173.1687706 ,\n", " 175.60730324, 171.81194441, 171.42846734, 172.23891016,\n", " 175.27019817, 174.29386586, 172.77381293, 175.0568379 ,\n", " 174.42142783, 176.36153241, 173.21710593, 174.16285752,\n", " 174.23093521, 172.28509132, 176.00133146, 176.12817115,\n", " 175.81325722, 175.53082573])" ] }, "metadata": {}, "execution_count": 6 } ] }, { "cell_type": "markdown", "metadata": { "id": "z5kccmBcw1PQ" }, "source": [ "### *Splitting Dataset for Testing our Model*" ] }, { "cell_type": "code", "metadata": { "id": "Pc4kGEuDw36Q" }, "source": [ "from sklearn.model_selection import train_test_split\n", "x_train,x_test,y_train,y_test = train_test_split(X,Y,test_size=0.20,random_state=0)" ], "execution_count": 7, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "XP-L6ZRyL30I" }, "source": [ "### *Training Dataset using Support Vector Regression*" ] }, { "cell_type": "code", "metadata": { "id": "c4x1C89ZVjr9", "colab": { "base_uri": "https://localhost:8080/", "height": 80 }, "outputId": "7713001d-363a-449f-8ccb-b224e7435310" }, "source": [ "from sklearn.svm import SVR\n", "model = SVR()\n", "model.fit(x_train,y_train)" ], "execution_count": 8, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "SVR()" ], "text/html": [ "
SVR()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ] }, "metadata": {}, "execution_count": 8 } ] }, { "cell_type": "markdown", "metadata": { "id": "4YOj1wVjerek" }, "source": [ "### *Prediction for all test data for validation*\n", "### *SSres is the sum of squares of the residual errors.*\n", "### *SStot is the total sum of the errors.*\n", "# ![image.png](data:image/png;base64,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)" ] }, { "cell_type": "code", "metadata": { "id": "mt_Z7EDqWhdB", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "869e495f-65a3-43e1-c195-e201aad9217f" }, "source": [ "ypred = model.predict(x_test)\n", "\n", "from sklearn.metrics import r2_score,mean_squared_error\n", "mse = mean_squared_error(y_test,ypred)\n", "rmse=np.sqrt(mse)\n", "print(\"Root Mean Square Error:\",rmse)\n", "r2score = r2_score(y_test,ypred)\n", "print(\"R2Score\",r2score*100)" ], "execution_count": 9, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Root Mean Square Error: 2.3594718844452056\n", "R2Score 86.64242653738367\n" ] } ] } ] }