diff --git a/14_Stock_prediction_using_SVM_REGRESSION.ipynb b/14_Stock_prediction_using_SVM_REGRESSION.ipynb new file mode 100644 index 0000000..3212dbe --- /dev/null +++ b/14_Stock_prediction_using_SVM_REGRESSION.ipynb @@ -0,0 +1,1045 @@ +{ + "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" + ] + } + ] + } + ] +} \ No newline at end of file