{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Data Analysis\n", "\n", "1. Total #videos, #videos by country, \n", "2. views vs published weekday\n", "3. views vs published hour - separate countries\n", "\n" ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [], "source": [ "# Importing modules\n", "\n", "import pandas as pd\n", "import numpy as np\n", "import csv\n", "import matplotlib.pyplot as plt\n", "from datetime import datetime\n", "import re\n", "import string\n", "\n", "from sklearn import datasets, ensemble\n", "from sklearn.metrics import mean_squared_error\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 90, "metadata": {}, "outputs": [], "source": [ "# Importing the data file\n", "\n", "dataFile = pd.read_csv('modifiedDataForAnalysis.csv')" ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total unique video count: 1449\n" ] } ], "source": [ "pd.options.display.max_columns = None #Displays all columns\n", "dataFile.head()\n", "numVideos = len(dataFile.index)\n", "print(f\"Total unique video count: {numVideos}\")\n", "\n", "# USVideos = dataFile[dataFile.regionTrending == 'US']\n", "# CAVideos = dataFile[dataFile.regionTrending == 'CA']\n", "# GBVideos = dataFile[dataFile.regionTrending == 'GB']\n", "\n", "# numVideosUS = len(USVideos.index)\n", "# numVideosCA = len(CAVideos.index)\n", "# numVideosGB = len(GBVideos.index)\n", "# print(f\"US Unique video count: {numVideosUS}\")\n", "# print(f\"CA Unique video count: {numVideosCA}\")\n", "# print(f\"GB Unique video count: {numVideosGB}\")\n", "\n" ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plotting histograms - views\n", "# Plotting Views\n", "#Filtering out data with > 1 million views and < 10,000 views\n", "x1 =(dataFile['videoViews']>1000 )\n", "x2 =(dataFile['videoViews']<10e6 )\n", "x3 =(x1 & x2)\n", "dataFilteredViews = dataFile[x3]\n", "\n", "# Dropping unnecessary columns\n", "#dataFilteredViews.drop(['videoId', 'timeFetched'], axis=1)\n", "\n", "\n", "views = dataFilteredViews.videoViews\n", "plt.figure(figsize=(15, 5), dpi= 100)\n", "plt.hist(views, bins=50, alpha=0.5,color='blue')\n", "plt.title('Histogram of Views')\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABMsAAAG5CAYAAACQv7PPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3debhlV10n/O8vowypIgixQicM/dggktZgCEMaBYSg9mtjo8/7EukgoWkmm2iCTeiEbihaQxAJVhNAwRdfMIBCv9I0BJEMbUUgEEkESZhMS0CwqAoZqKQzVEj49R97XXNycmuuSw3383me9Zx71v7tfdY59+4avnetvau7AwAAAAAk++3uAQAAAADAnkJYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgDsEarqpKrqqnrMZrafV1Vfm+v7WlW9cztf57iqWl1V99vx0S4vVfWsqvpCVd06vkdHb6buyWP7Qru9qr5dVZ+sqjOr6iGL7LPwfX/odo7pbt/7qnroOM5JM32rR98DtufYAMDydsDuHgAAwE54ZpIbt3Of45K8Osk7k3xnVw9oX1NVD0xybpI/T/KrSTYl+dut7HZGkr9Isn+SH0zyuCT/NsmpVfWC7n7PTO1Hkjwhybd2cqjfGsf5u508DgCwzAnLAIC9Vnd/dnePYXtV1YFJurvv2N1j2UYPT3Jgknd398XbuM9V3f3pmecfqqqzk1yY5J1V9fnuviJJuvvbSb69s4Ps7k1JPr3VQgCArbAMEwDYay2yFG+/qvpPVfWVsWTwO1X1+ar69bF9dZLfGeVXzywXfPLM/qdV1ZeralNVXVNVf1RVR8y9blXVGVX19aq6raouq6rjq2ptVa2dqVtYlvicqjq7qv4h08ysH66qB1bVW6vqi1X1v8dr/c+q+sm511pYXvjyqnrFeM+3jtd6eFUdWFWvq6p1VbWxqv57VR22jZ/fM6rqU1V1S1XdVFUXVNUTZra/M8knxtP3jXGsXexYW9Pd1yd5UaZf1p468xr3WIZZVY8ey26vGd+HdVX1kfnvw9x7uccyzM3U/UhVfbWqLl34nKpqVVW9raq+OZaOXl1Vr66qA+b2fUlV/c34ft00fk5euyOfBwCw5zKzDADY0+w/H1IMtQ37npZkdZLfSvKXmWZE/UiSheuT/b9J7p/k5CS/mLuW/n1xPP5ekhcmeXOS85I8NMlvJnlyVf1Ed1876s5McnqStyf5QJIjx7EPzOJLFM9K8qkkL07yvSTXJHng2PaaJOuT3DfTstK1VfXU7l47d4x/n+Tz4/F+Sc5O8uEklyb5bqZljg9J8oYxlmds6YOqqmcneU+S85P8cpKDM31+C6//ifHe/yrJW3LX0srtXfb6j7r7M1X1rSQ/tYVx3SfJBUmuHu91Q5JVSZ6S5JAdfe1x7Ccl+e+Zfjae3d23VNWqTO/xe0n+S6ZlnE9I8p8yff+fN/Y9Iclbk5yT5D+M+h9O8qM7MyYAYM8jLAMA9jRbWkr39a3s+y+SXNHdq2f6PrbwRXd/s6r+fjz9bHd/bWFbVf1IpqDsrd198kz/ZzMFUqcmeWVVHZrkZUne190vmqm7MlMgtlhY9nfd/X/P9V2f6RpgC/vvP8b60CS/lmTtXP13kvzr7v7eqH9AkjVJvtzdvzD3Pk6pqhXdvWiwVVX7ZZphd0WSn5s55p9lCot+O8m/6O6/q6qFIHF+aeWO+vskP7aF7T+S6Tpnz+/u/zHT//6dedGqOjHJO5L8fpJTF95zpnD10CSP6u6Fn42LqurWJG+oqt/p7i9m+tn6Tnf/2sxhL9qZMQEAeybLMAGAPc2vJDl2kfaJLe00/FWSHx/LG3+mqlZsx+s+ZTy+c7azu/8qyZeSPHV0PT7TLKz3z9V9OsnXNnPsP12ss6peXFV/XVW3Jbkj0wyxpyZ55CLlfzYT8GSMKZkukJ9F+h+8mbEkySOSPCjJubPH7O7/Pcb6+Kq69xb23xlbmyH4v5LckOS3x+ezK2ZuvTLT9/U/dvevz32OP59pxty6qjpgoSX56Nj+pPH4V0nuV1V/XFW/UO6wCQD7LGEZALCn+VJ3Xzbfkmzchn3PyrRE7vGZwo7rquqiqnrMNuz7g+NxsbsyrpvZvvC4YZG6xfoWPWZVvSzTss9Lk/zSGPOxme46ea9FjnH93PPbt9L/A5sZS7L197pfptlWS+HB4zUW1d0bMwVUn0vy2iRfGNcse01NN0fYEScm+Yckf7LIth9K8q8yBZWz7Qtj+wPGuM7NXUtd/zTJNeO6Z8fv4JgAgD2UsAwA2Gd09x3d/cbu/olM1yb75UzXE/vYNsyUum48Hr7ItgcluXau7ocWqVu1uaEt0ndikrXd/ZLu/kh3XzpCwZ26Ltc22tp7/V6m2V27VFU9NtNntHZLdd19RXefkCnUOzrJ+5K8Kslv7OBL/2ymAOzjVfWQuW3XZrpu22KzGY/NtHRzYVz/X3cfl2Rlkv8r0yy58xY5JgCwFxOWAQD7pO7+Tnf//5kuTn//TNcCS6a7USb3nL31P8fjibOdVXVspmWRC9enunQc41lzdY/PNOtom4c4M5aFY/xYpovLL7WvZJpp9eyq+sdlkePi+r+U5FPdfcuufMGqun+m64V9N8nvbss+Pfmb7j410zXbfmIHX/7rSX4y0+f98ar6ZzPbzktyVKbryt1jRmN332MWXHff3N0fzXSjh4OSPGoHxwUA7IFc4B8A2GdU1YeTXJnksiTfzhRenZIpLLlqlF0xHn+9qt6VKbz5Snd/parenuTkqvpepmWcD810R8hvZAQ83X19Vb0xyelVdUOmuysekeTVmZY1zl4Pa0vOS/Kfq+o1SS7OdB2xV2W6C+SS/hutu79XVadluhvmeVX1tkzXYXt5pjtt/sedfIl/NsLD/TLNDntckucnWZHkV7r7C5vbsap+PtONDz6Y5KuZZm/94hjXBTs6oO7+1rgb5seS/GVVHd/dV2b6zI9PcklVvSlTkPgDmb73/zLJi8eNIf4gya1JPpnp+7wq0x1RNyb5zI6OCwDY8wjLAIB9yV9kmhn17zIFM+szBSy/2d3fTZLuXltVZyV5bpIXZAp0npJpaeBLMt0N8vlJ/n2mIOTPk5ze3dfNvM4rk9yc5MVJnpfky2PfMzPNgNoWZya593it05J8cRzvmUmevL1vfHt193ur6uZMgc/7ktyZ6U6kT+nuS3by8K8dj3dk+gz/NskfJnl7d2/tjqZXZfoMT8u0JPT2TAHWSd39rp0ZVHdfW1U/nemmCBdX1c9092Xjmnb/OVNYeESSmzKFln+eu5ajfjzJSUn+n0zXc7s2000nfqW7v70z4wIA9izVvdglNAAA2B5V9bBModlruvu1W6sHAGDPJCwDANhOVfXjmW4ecEmSGzMtoTwt02y2o7p7c3fFBABgD2cZJgDA9rs5yWMyLaG8X6alhmuTvFJQBgCwdzOzDAAAAACG/Xb3AAAAAABgTyEsAwAAAIBBWAYAAAAAwz57gf+qqiQPSnLT7h4LAAAAAHuEQ5Ks6y1cxH+fDcsyBWXf3N2DAAAAAGCPckSSf9jcxn05LLspSb7xjW9kxYoVu3ssAAAAAOxGN954Y4488shkK6sQ9+WwLEmyYsUKYRkAAAAA28QF/gEAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGA7Y3QNg+6xevXccEwAAAGBvZGYZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAsN1hWVX9VFV9uKrWVVVX1b+e215VtXpsv7Wq1lbVo+ZqDq6qc6rq2qq6uao+VFVHzNUcWlXnVtXG0c6tqvvt2NsEAAAAgK3bkZll90nyN0leupntpyV52dh+bJL1SS6oqkNmatYkeWaSE5I8Mcl9k5xXVfvP1Lw3ydFJfna0o5OcuwPjBQAAAIBtcsD27tDdH03y0SSpqrttq6njlCRndvcHRt9zk2xI8uwkb6uqlUmen+Q53X3hqDkxyTeSPC3Jx6rqkZkCssd396Wj5gVJPlVVj+jur+zAewUAAACALdrV1yx7WJJVSc5f6OjuTUkuTnLc6DomyYFzNeuSXDlT84QkGxeCslHz6SQbZ2ruZiztXLHQkhyyWB0AAAAAbM6uDstWjccNc/0bZratSnJ7d9+wlZprFjn+NTM1807PFKYttG9u+7ABAAAAYOnuhtlzz2uRvnnzNYvVb+k4ZyVZOdOO2EwdAAAAACxqV4dl68fj/Oyvw3LXbLP1SQ6qqkO3UvNDixz/gbnnrLUk03LP7r5xoSW5aXsHDwAAAMDytqvDsqszBV3HL3RU1UFJnpTkktF1eZLvztUcnuSomZpPJVlZVY+dqXlcphljCzUAAAAAsEtt990wq+q+SX54puthVXV0kuu7+++rak2SM6rqqiRXJTkjyS1J3psk3b2xqt6R5Oyqui7J9UnekOSKJBeOmi9V1Z8n+YOqetF4nbcnOc+dMAEAAABYKtsdliV5TJK/mHn+xvH4riQnJXl9knsleWuSQ5NcmuTp3T27LPLUJHckef+ovSjJSd1950zNv0nyptx118wPJXnpDowXAAAAALbJdodl3b0204X2N7e9k6webXM1tyU5ebTN1Vyf5MTtHR8AAAAA7KiluhsmAAAAAOx1hGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAADDLg/LquqAqvqtqrq6qm6tqq9W1auqar+Zmqqq1VW1btSsrapHzR3n4Ko6p6quraqbq+pDVXXErh4vAAAAACxYipllr0jy4iQvTfLIJKcleXmSk2dqTkvyslFzbJL1SS6oqkNmatYkeWaSE5I8Mcl9k5xXVfsvwZgBAAAAIAcswTGfkOR/dPdHxvOvVdUvJ3lMMs0qS3JKkjO7+wOj77lJNiR5dpK3VdXKJM9P8pzuvnDUnJjkG0meluRjSzBuAAAAAJa5pZhZ9okkT62qhydJVf14pplhfza2PyzJqiTnL+zQ3ZuSXJzkuNF1TJID52rWJblypuZuxrLNFQstySGL1QEAAADA5izFzLLfTrIyyZer6s4k+yd5ZXf/8di+ajxumNtvQ5KHzNTc3t03LFKzKos7Pcmrd2bgAAAAACxvSzGz7FlJTsy0pPInkjw3yX8YSy1n9dzzWqRv3pZqzsoU0i00NwMAAAAAYLssxcyy30nyuu7+k/H8iqp6SKaZX+/KdDH/ZJoh9q2Z/Q7LXbPN1ic5qKoOnZtddliSSxZ70bGUc9PC8+nSaAAAAACw7ZZiZtm9k3xvru/Omde6OlMYdvzCxqo6KMmTclcQdnmS787VHJ7kqGwmLAMAAACAnbUUM8s+nOSVVfX3Sb6Q5NFJXpbkD5Oku7uq1iQ5o6quSnJVkjOS3JLkvaNmY1W9I8nZVXVdkuuTvCHJFUkuXIIxAwAAAMCShGUnJ/nNJG/NtGxyXZK3JfkvMzWvT3KvUXNokkuTPL27b5qpOTXJHUneP2ovSnJSd9+5BGMGAAAAgF0flo3A65TRNlfTSVaPtrma2zIFbyfv2hECAAAAwOKW4pplAAAAALBXEpYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMSxKWVdU/qap3V9V1VXVLVX2uqo6Z2V5Vtbqq1lXVrVW1tqoeNXeMg6vqnKq6tqpurqoPVdURSzFeAAAAAEiWICyrqkOTfDLJd5P8XJIfTfIbSb4zU3ZakpcleWmSY5OsT3JBVR0yU7MmyTOTnJDkiUnum+S8qtp/V48ZAAAAAJLkgCU45iuSfKO7nzfT97WFL6qqkpyS5Mzu/sDoe26SDUmeneRtVbUyyfOTPKe7Lxw1Jyb5RpKnJfnYEowbAAAAgGVuKZZhPiPJZVX136rqmqr6bFW9YGb7w5KsSnL+Qkd3b0pycZLjRtcxSQ6cq1mX5MqZmrsZyzZXLLQkhyxWBwAAAACbsxRh2T9N8pIkVyX5mSS/n+RNVfUrY/uq8bhhbr8NM9tWJbm9u2/YQs2805NsnGnf3NE3AAAAAMDytBRh2X5J/rq7z+juz3b325L8QaYAbVbPPa9F+uZtqeasJCtnmpsBAAAAALBdliIs+1aSL871fSnJg8fX68fj/Ayxw3LXbLP1SQ4aNwvYXM3ddPem7r5xoSW5aUcGDwAAAMDytRRh2SeTPGKu7+FJvj6+vjpTGHb8wsaqOijJk5JcMrouz3Q3zdmaw5McNVMDAAAAALvUUtwN83eTXFJVZyR5f5LHJnnhaOnurqo1Sc6oqqsyXdvsjCS3JHnvqNlYVe9IcnZVXZfk+iRvSHJFkguXYMwAAAAAsOvDsu7+TFU9M9M1xF6VaSbZKd39npmy1ye5V5K3Jjk0yaVJnt7ds0snT01yR6bA7V5JLkpyUnffuavHDAAAAADJ0swsS3efl+S8LWzvJKtH21zNbUlOHg0AAAAAltxSXLMMAAAAAPZKwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBhycOyqjq9qrqq1sz0VVWtrqp1VXVrVa2tqkfN7XdwVZ1TVddW1c1V9aGqOmKpxwsAAADA8rWkYVlVHZvkhUk+P7fptCQvS/LSJMcmWZ/kgqo6ZKZmTZJnJjkhyROT3DfJeVW1/1KOGQAAAIDla8nCsqq6b5L3JHlBkhtm+ivJKUnO7O4PdPeVSZ6b5N5Jnj1qViZ5fpLf6O4Lu/uzSU5M8s+TPG2pxgwAAADA8raUM8vekuQj3X3hXP/DkqxKcv5CR3dvSnJxkuNG1zFJDpyrWZfkypmauxnLNlcstCSHLFYHAAAAAJtzwFIctKpOyBR4PWaRzavG44a5/g1JHjJTc3t337BIzaos7vQkr97+0QIAAADAZJfPLKuqI5P81yT/prtv20Jpz++6SN89Dr+FmrOSrJxpbgYAAAAAwHZZimWYxyQ5LMnlVXVHVd2R5ElJfm18vTCjbH6G2GEz29YnOaiqDt1Czd1096buvnGhJblpF7wXAAAAAJaRpQjLLsp0If6jZ9plmS72f3SSr2YKw45f2KGqDsoUqF0yui5P8t25msOTHDVTAwAAAAC71C6/Zll335TpQvz/qKpuTnLduPNlqmpNkjOq6qokVyU5I8ktSd47jrGxqt6R5Oyqui7J9UnekOSKJPM3DAAAAACAXWJJLvC/DV6f5F5J3prk0CSXJnn6CNoWnJrkjiTvH7UXJTmpu+/8Po8VAAAAgGXi+xKWdfeT5553ktWjbW6f25KcPBoAAAAALLmluGYZAAAAAOyVhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAACDsAwAAAAABmEZAAAAAAzCMgAAAAAYhGUAAAAAMAjLAAAAAGAQlgEAAADAICwDAAAAgEFYBgAAAADDLg/Lqur0qvpMVd1UVddU1Qer6hFzNVVVq6tqXVXdWlVrq+pRczUHV9U5VXVtVd1cVR+qqiN29XgBAAAAYMFSzCx7UpK3JHl8kuOTHJDk/Kq6z0zNaUleluSlSY5Nsj7JBVV1yEzNmiTPTHJCkicmuW+S86pq/yUYMwAAAADkgF19wO7+2dnnVfW8JNckOSbJX1ZVJTklyZnd/YFR89wkG5I8O8nbqmplkucneU53XzhqTkzyjSRPS/KxXT1uAAAAAPh+XLNs5Xi8fjw+LMmqJOcvFHT3piQXJzludB2T5MC5mnVJrpypuZuxbHPFQktyyGJ1AAAAALA5SxqWjVlkb0zyie6+cnSvGo8b5so3zGxbleT27r5hCzXzTk+ycaZ9cyeGDgAAAMAytNQzy96c5MeS/PIi23rueS3SN29LNWdlmsW20NwMAAAAAIDtsmRhWVWdk+QZSZ7S3bOzvNaPx/kZYoflrtlm65McVFWHbqHmbrp7U3ffuNCS3LRTbwAAAACAZWeXh2U1eXOSX0zy09199VzJ1ZnCsONn9jko0100Lxldlyf57lzN4UmOmqkBAAAAgF1ql98NM8lbMt3V8heS3FRVCzPINnb3rd3dVbUmyRlVdVWSq5KckeSWJO9Nku7eWFXvSHJ2VV2X6eYAb0hyRZILl2DMAAAAALAkYdlLxuPauf7nJXnn+Pr1Se6V5K1JDk1yaZKnd/fs0slTk9yR5P2j9qIkJ3X3nUswZgAAAADY9WFZd9c21HSS1aNtrua2JCePBgAAAABLbqnvhgkAAAAAew1hGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGA7Y3QNg91u9eu84JgAAAMBSM7MMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIDhgN09APZNq1fvHccEAAAAmGVmGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIBBWAYAAAAAg7AMAAAAAAZhGQAAAAAMwjIAAAAAGIRlAAAAADAIywAAAABgEJYBAAAAwCAsAwAAAIDhgN09ANjdVq/eO44JAAAALD0zywAAAABgMLOMvYbZWgAAAMBSM7MMAAAAAIY9fmZZVf1qkpcnOTzJF5Kc0t0f372jgi1zHTQAAADYO+3RM8uq6llJ1iQ5M8mjk3w8yUer6sG7dWAAAAAA7JOqu3f3GDarqi5N8tfd/ZKZvi8l+WB3n76VfVck2bhx48asWLFiiUf6/WN2EcuRn3sAAAB21o033piVK1cmycruvnFzdXvsMsyqOijJMUleN7fp/CTHLVJ/cJKDZ7oOSaYPYgVCLC8AAAd0SURBVF+yadPuHgF8/52+xWh8zzkmAAAAe65tzYj22LAsyQOS7J9kw1z/hiSrFqk/Pcmr5zuPPPLIXT8yYK/3uvkYHgAAgOXikCR738yyGfPrRGuRviQ5K8kb5/run+T6pRjUbnJIkm8mOSLJTbt5LMDSca7D8uBch+XD+Q7Lg3N973BIknVbKtiTw7Jrk9yZe84iOyz3nG2W7t6UZH6R4j61BrOqFr68aUtra4G9m3MdlgfnOiwfzndYHpzre42tfm/22LthdvftSS5PcvzcpuOTXPL9HxEAAAAA+7o9eWZZMi2rPLeqLkvyqSQvTPLgJL+/W0cFAAAAwD5pjw7Luvt9VfWDSV6V5PAkVyb5l9399d07st1mU5LX5J7LTYF9i3MdlgfnOiwfzndYHpzr+4jqXuxa+QAAAACw/Oyx1ywDAAAAgO83YRkAAAAADMIyAAAAABiEZQAAAAAwCMsAAAAAYBCW7SWq6ler6uqquq2qLq+qn9zdYwImVXV6VX2mqm6qqmuq6oNV9Yi5mqqq1VW1rqpuraq1VfWouZqDq+qcqrq2qm6uqg9V1RFzNYdW1blVtXG0c6vqfnM1D66qD49jXFtVb6qqg5buE4DlaZz7XVVrZvqc67APqKp/UlXvrqrrquqWqvpcVR0zs925DvuAqjqgqn5r/F/71qr6alW9qqr2m6lxvi9DwrK9QFU9K8maJGcmeXSSjyf5aFU9eLcODFjwpCRvSfL4JMcnOSDJ+VV1n5ma05K8LMlLkxybZH2SC6rqkJmaNUmemeSEJE9Mct8k51XV/jM1701ydJKfHe3oJOcubBy1H0lyn3GME5L8UpKzd9F7BZJU1bFJXpjk83ObnOuwl6uqQ5N8Msl3k/xckh9N8htJvjNT5lyHfcMrkrw407n8yEzn9suTnDxT43xfjrpb28NbkkuT/N5c35eSnLW7x6Zp2j1bkgcm6SQ/NZ5Xkm8lecVMzcGZ/tH9ovF8ZZLbkzxrpuZBSe5M8jPj+SPHcR83U/P40feI8fznxj4Pmqk5IcltSVbs7s9G0/aFlukfwH+b5GlJ1iZZM/qd65q2D7Qkr0vy8S1sd65r2j7SkpyX5B1zfX+a5NzxtfN9mTYzy/ZwY8rlMUnOn9t0fpLjvv8jArbByvF4/Xh8WJJVmTmPu3tTkotz13l8TJID52rWJblypuYJSTZ296UzNZ9OsnGu5sqx74KPZfpL/ZgAu8Jbknykuy+c63euw77hGUkuq6r/VtPlFT5bVS+Y2e5ch33HJ5I8taoeniRV9eOZZnX92djufF+mDtjdA2CrHpBk/yQb5vo3ZDppgT1IVVWSNyb5RHdfOboXztXFzuOHzNTc3t03LFKzaqbmmkVe9pq5mru9TnffUFW3x58ZsNOq6oRM/2B9zCKbneuwb/inSV6S6e/z1yZ5bJI3VdWm7v6jONdhX/LbmX7R/eWqujPT/71f2d1/PLY735cpYdneo+ee1yJ9wO735iQ/luk3UvN25Dyer1msfkdqgO1UVUcm+a9Jnt7dt22h1LkOe7f9klzW3WeM558dF/N+SZI/mqlzrsPe71lJTkzy7CRfyHQdsTVVta673zVT53xfZizD3PNdm2nd8nySfFjumW4Du1FVnZNp6cZTuvubM5vWj8ctncfrkxw0Liq8pZofWuSlHzhXc7fXGcc8MP7MgJ11TKZz8vKquqOq7sh0g49fG18vnGPOddi7fSvJF+f6vpRk4eZa/l6HfcfvJHldd/9Jd1/R3ecm+d0kp4/tzvdlSli2h+vu25NcnukOe7OOT3LJ939EwLxxO+k3J/nFJD/d3VfPlVyd6S+/42f2OSjTf7IXzuPLM911a7bm8CRHzdR8KsnKqnrsTM3jMk0dn605auy74OlJNo3XAHbcRUn+eabfOi+0y5K8Z3z91TjXYV/wySSPmOt7eJKvj6/9vQ77jnsn+d5c3525Kytxvi9T1W02356uqp6V6ZayL850Ar0wyQuSPKq7v76lfYGlV1VvzTR1+xeSfGVm08buvnXUvCLTb6iel+SqJGckeXKmu9/cNGp+L8nPJzkp080B3pDkB5Mc0913jpqPZrq7zovGa7w9yde7+1+N7fsn+Vym3z69PMn9k7wzyQe7e/YW2MAuUFVrk3yuu08Zz53rsJerqmMz/ef11Unen+maZX+Q5IXd/Z5R41yHfUBVvTPT3a1flGkZ5qMznYd/2N2vGDXO9+Vod9+OU9u2luRXk3wtd6XKP7W7x6Rp2tQyXUNgsXbSTE0lWZ1pacdtme6gc9TccX4gyTlJrktyS5IPJzlyrub+Sd6d5MbR3p3kfnM1D850G+xbxrHOSXLw7v6cNG1fbEnWJlkz89y5rmn7QMv0n94rxnn8pSQvmNvuXNe0faAlOSTJmkwzR29N8ndJfivJQTM1zvdl2MwsAwAAAIDBNcsAAAAAYBCWAQAAAMAgLAMAAACAQVgGAAAAAIOwDAAAAAAGYRkAAAAADMIyAAAAABiEZQAAAAAwCMsAAAAAYBCWAQAAAMAgLAMAAACA4f8AnWfGYDjS/60AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Plotting histograms - Likes, dislikes, comments\n", "#Plotting Likes\n", "#Using the same filtered data from Views histogram\n", "likes = dataFilteredViews.videoLikes\n", "plt.figure(figsize=(15, 5), dpi= 100)\n", "plt.hist(likes, bins=50, alpha=0.5,color='blue')\n", "plt.title('Histogram of Likes')\n", "plt.show()\n", "\n", "# Dislikes\n", "dislikes = dataFilteredViews.videoDislikes\n", "plt.figure(figsize=(15, 5), dpi= 100)\n", "plt.hist(dislikes, bins=50, alpha=0.5,color='blue')\n", "plt.title('Histogram of Dislikes')\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
videoTitlevideoCategoryIdvideoViewsvideoLikesvideoDislikesvideoCommentCountchannelViewCountchannelSubsCountchannelVideoCountdayDifferencepublishedZTimeFloatpublishedDayOfWeekageOfChannelDaysvideoDurationSecondsnumberOfVideoTags
0My Experience With The Police24203605022258730738271901469323965660000032750.338889733316360
1Carine - Les histoires bizarres du professeur ...23208399123252491012228104533671000326717.4358335380870220
2Stuntmen React To Bad & Great Hollywood Stunts 152414180336960965563036513980393930000795516.65638973401104412
312 MIN HAPPY SWEAT WORKOUT - good mood HIIT wo...17141815235601422135434124079036800005265.5030566246072854
4Casually Explained: Working From Home2311348341046397263396261810952286000073718.6550005164828714
\n", "
" ], "text/plain": [ " videoTitle videoCategoryId \\\n", "0 My Experience With The Police 24 \n", "1 Carine - Les histoires bizarres du professeur ... 23 \n", "2 Stuntmen React To Bad & Great Hollywood Stunts 15 24 \n", "3 12 MIN HAPPY SWEAT WORKOUT - good mood HIIT wo... 17 \n", "4 Casually Explained: Working From Home 23 \n", "\n", " videoViews videoLikes videoDislikes videoCommentCount channelViewCount \\\n", "0 2036050 222587 30738 27190 1469323965 \n", "1 208399 12325 249 1012 228104533 \n", "2 1418033 69609 655 6303 651398039 \n", "3 1418152 35601 422 1354 341240790 \n", "4 1134834 104639 726 3396 261810952 \n", "\n", " channelSubsCount channelVideoCount dayDifference publishedZTimeFloat \\\n", "0 6600000 327 5 0.338889 \n", "1 671000 326 7 17.435833 \n", "2 3930000 795 5 16.656389 \n", "3 3680000 52 6 5.503056 \n", "4 2860000 73 7 18.655000 \n", "\n", " publishedDayOfWeek ageOfChannelDays videoDurationSeconds \\\n", "0 7 3331 636 \n", "1 5 3808 702 \n", "2 7 3401 1044 \n", "3 6 2460 728 \n", "4 5 1648 287 \n", "\n", " numberOfVideoTags \n", "0 0 \n", "1 20 \n", "2 12 \n", "3 54 \n", "4 14 " ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataFilteredViews.head()\n" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\vshya\\anaconda3\\envs\\mlEnv\\lib\\site-packages\\pandas\\core\\indexing.py:845: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " self.obj[key] = _infer_fill_value(value)\n", "C:\\Users\\vshya\\anaconda3\\envs\\mlEnv\\lib\\site-packages\\pandas\\core\\indexing.py:966: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " self.obj[item] = s\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
videoCategoryIdvideoViewsvideoLikesvideoDislikesvideoCommentCountchannelViewCountchannelSubsCountchannelVideoCountdayDifferencepublishedZTimeFloatpublishedDayOfWeekageOfChannelDaysvideoDurationSecondsnumberOfVideoTagstitleWordCounttitleUpperCaseCounttitlePunctuationCount
024203605022258730738271901469323965660000032750.338889733316360550
123208399123252491012228104533671000326717.4358335380870220731
22414180336960965563036513980393930000795516.65638973401104412871
317141815235601422135434124079036800005265.503056624607285414292
42311348341046397263396261810952286000073718.6550005164828714551
\n", "
" ], "text/plain": [ " videoCategoryId videoViews videoLikes videoDislikes videoCommentCount \\\n", "0 24 2036050 222587 30738 27190 \n", "1 23 208399 12325 249 1012 \n", "2 24 1418033 69609 655 6303 \n", "3 17 1418152 35601 422 1354 \n", "4 23 1134834 104639 726 3396 \n", "\n", " channelViewCount channelSubsCount channelVideoCount dayDifference \\\n", "0 1469323965 6600000 327 5 \n", "1 228104533 671000 326 7 \n", "2 651398039 3930000 795 5 \n", "3 341240790 3680000 52 6 \n", "4 261810952 2860000 73 7 \n", "\n", " publishedZTimeFloat publishedDayOfWeek ageOfChannelDays \\\n", "0 0.338889 7 3331 \n", "1 17.435833 5 3808 \n", "2 16.656389 7 3401 \n", "3 5.503056 6 2460 \n", "4 18.655000 5 1648 \n", "\n", " videoDurationSeconds numberOfVideoTags titleWordCount \\\n", "0 636 0 5 \n", "1 702 20 7 \n", "2 1044 12 8 \n", "3 728 54 14 \n", "4 287 14 5 \n", "\n", " titleUpperCaseCount titlePunctuationCount \n", "0 5 0 \n", "1 3 1 \n", "2 7 1 \n", "3 29 2 \n", "4 5 1 " ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Title analysis\n", "\n", "vidTitle = dataFilteredViews.videoTitle\n", "#print(vidTitle.shape)\n", "#count = len(re.findall(r'\\w+', vidTitle))\n", "#print (count)\n", "\n", "# Word count\n", "dataFilteredViews.loc[:,'titleWordCount'] = dataFilteredViews.apply(lambda row: len(re.findall(r'\\w+', row.videoTitle)), axis = 1)\n", "\n", "\n", "# Upper case count\n", "dataFilteredViews.loc[:,'titleUpperCaseCount'] = dataFilteredViews.apply(lambda row: len(re.findall(r'[A-Z]', row.videoTitle)), axis = 1)\n", "\n", "\n", "# Count of punctuation marks\n", "count = lambda l1,l2: sum([1 for x in l1 if x in l2])\n", "dataFilteredViews.loc[:,'titlePunctuationCount'] = dataFilteredViews.apply(lambda row: count(row.videoTitle,set(string.punctuation)), axis = 1)\n", "\n", "\n", "#Dropping unnecessary columns\n", "del dataFilteredViews['videoTitle']\n", "\n", "dataFilteredViews.head()\n", "\n" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [], "source": [ "# Training an ensemble regression model\n", "# Refer https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingRegressor.html\n", "# Refer https://towardsdatascience.com/youtube-views-predictor-9ec573090acb\n", "\n", "\n", "X = dataFilteredViews.copy()\n", "y = dataFilteredViews['videoViews']\n", "del X['videoViews']" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [], "source": [ "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.1, random_state=13)\n", "\n", "params = {'n_estimators': 500,\n", " 'max_depth': 4,\n", " 'min_samples_split': 5,\n", " 'learning_rate': 0.01,\n", " 'loss': 'ls'}" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The RMSE on test set: 612654.5399\n" ] } ], "source": [ "reg = ensemble.GradientBoostingRegressor(**params)\n", "reg.fit(X_train, y_train)\n", "\n", "mse = mean_squared_error(y_test, reg.predict(X_test))\n", "print(\"The RMSE on test set: {:.4f}\".format(np.sqrt(mse)))" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['videoCategoryId', 'videoLikes', 'videoDislikes', 'videoCommentCount', 'channelViewCount', 'channelSubsCount', 'channelVideoCount', 'dayDifference', 'publishedZTimeFloat', 'publishedDayOfWeek', 'ageOfChannelDays', 'videoDurationSeconds', 'numberOfVideoTags', 'titleWordCount', 'titleUpperCaseCount', 'titlePunctuationCount']\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Feature Importance (MDI)')" ] }, "execution_count": 99, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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JBySOlv2VLeCaskSwNHAxj3UXw5sL2m/0v4WkoZ2EtMKYJ9SZx9g51I+AniiJCJjgQNr57wgqbP+b6aa1RkiaSTVTMa8rgK0/Szw78DZZY8NkkZJ+iBwG3CYpG0kDQGOBW4qpz4i6U2SNgKO6aztFt39HiIiIiIi1im9SkZs/xaYLWkp8NXaoRuplmK9agM7cCowQdISSXcBJ/XQzbep3pzPAw4AnukhpueBycA3JS0GbqCaRWiN6Qpg67J06mPAvaWJHwFDJS2huuPV3FrzM4AlHRvYa66iWnq1GPgZ8Bnb/93DdZ0BPEa1rGop1TKsx2w/DHyuxLsYuN32D8o5U4FrSx8P99A+JaYXy0b+bGCPiIiIiHWa7Gwb2FANGzXGo6acxYrpRzYdSkREREQMUpIW2p7Q2bF8A3tERERERDQiyUhERERERDQiycgGbM8dRmSJVkREREQ0JslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0IslIREREREQ0QrabjiEaIukp4J6m49jAbAM83nQQG6CM+8DLmA+8jHkzMu4DL2M+8Po65jvZHtnZgaF9aDTWf/fYntB0EBsSSQsy5gMv4z7wMuYDL2PejIz7wMuYD7y1OeZZphUREREREY1IMhIREREREY1IMrJhm9F0ABugjHkzMu4DL2M+8DLmzci4D7yM+cBba2OeDewREREREdGIzIxEREREREQjkowMcpLeIekeSfdJmtrJcUk6uxxfImmfJuIcbNoY97GS5khaJen0JmIcbNoY8+PKa3yJpFsl7dVEnINNG+N+dBnzRZIWSDqkiTgHk57GvFZvP0mrJU0ayPgGozZe5xMlrSyv80WSPt9EnINNO6/1MvaLJC2TdNNAxzjYtPFa/5va63xp+RuzdZ/6zDKtwUvSEOBe4M+AB4D5wLG276rVOQL4BHAEcADwDdsHNBDuoNHmuG8L7AS8G3jC9teaiHWwaHPM3wzcbfsJSe8EpuW13jdtjvvmwDO2LWkc8H3bYxsJeBBoZ8xr9W4A/ge4wPbMgY51sGjzdT4RON32uxoJchBqc9y3Am4F3mH715K2tf1oIwEPAu3+fanVPwr4lO0/7Uu/mRkZ3PYH7rN9v+3ngUuBo1vqHA18x5W5wFaSRg10oINMj+Nu+1Hb84EXmghwEGpnzG+1/UR5Ohd43QDHOBi1M+5P++VPvf4IyCdgfdPO33WoPmS6Asgbs75rd8yjf7Uz7h8ArrT9a6j+bx3gGAeb3r7WjwUu6WunSUYGtx2A39SeP1DKelsneidjOvB6O+Z/CfxwrUa0YWhr3CUdI2k5cB3w4QGKbbDqccwl7QAcA5w3gHENZu3+fTlI0mJJP5S0+8CENqi1M+5vBP5Y0ixJCyV9aMCiG5za/r9U0nDgHVQfevRJvoF9cFMnZa2fSrZTJ3onYzrw2h5zSW+lSkayd6Hv2hp321cBV0l6C/Bl4PC1Hdgg1s6YnwV81vZqqbPq0UvtjPntwE62ny7Ln68Gxqz1yAa3dsZ9KLAv8DZgM2COpLm2713bwQ1SvXn/chQw2/bv+tppkpHB7QHgT2rPXwc8tAZ1oncypgOvrTEvexbOB95p+7cDFNtg1qvXuu2bJe0iaRvbj6/16AandsZ8AnBpSUS2AY6Q9KLtqwcmxEGnxzG3/WTt8X9J+re8zvus3fcwj9t+BnhG0s3AXlT7HqL3evM3/f30wxItyDKtwW4+MEbSzpI2oXrhXNNS5xrgQ+WuWgcCK20/PNCBDjLtjHv0rx7HXNKOwJXAX+RTs37Tzri/QeVdcblb3yZAEsE11+OY297Z9mjbo4GZwMlJRPqkndf5drXX+f5U76/yOu+bdv4v/QFwqKShZdnQAcDdAxznYNLW+xdJI4DDqMa/zzIzMojZflHSx4EfA0Oo7qiyTNJJ5fh5wH9R3UnrPuBZ4ISm4h0s2hl3SdsBC4AtgZcknQbsVv90LdrX5mv988BrgH8r7xletD2hqZgHgzbH/b1UH3i8ADwHTK5taI9eanPMox+1OeaTgI9JepHqdf7+vM77pp1xt323pB8BS4CXgPNtL20u6vVbL/6+HANcX2ak+iy39o2IiIiIiEZkmVZERERERDQiyUhERERERDQiyUhERERERDQiyUhERERERDQiyUhERERERDQiyUhERERERDQiyUhERERERDQiyUhERERERDTi/wO7Rbr4aTMQawAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "print(list(X_train))\n", "feature_importance = reg.feature_importances_\n", "sorted_idx = np.argsort(feature_importance)\n", "pos = np.arange(sorted_idx.shape[0]) + .5\n", "fig = plt.figure(figsize=(12, 6))\n", "plt.subplot(1, 1, 1)\n", "plt.barh(pos, feature_importance[sorted_idx], align='center')\n", "plt.yticks(pos, np.array(list(X_train))[sorted_idx])\n", "plt.title('Feature Importance (MDI)')" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The RMSE on test set: 1134996.3410\n", "['videoCategoryId', 'channelViewCount', 'channelSubsCount', 'channelVideoCount', 'dayDifference', 'publishedZTimeFloat', 'publishedDayOfWeek', 'ageOfChannelDays', 'videoDurationSeconds', 'numberOfVideoTags', 'titleWordCount', 'titleUpperCaseCount', 'titlePunctuationCount']\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Feature Importance (MDI)')" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Repeating after removing likes, comments, and dislikes\n", "\n", "del X['videoLikes']\n", "del X['videoDislikes']\n", "del X['videoCommentCount']\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.1, random_state=13)\n", "\n", "params = {'n_estimators': 500,\n", " 'max_depth': 4,\n", " 'min_samples_split': 5,\n", " 'learning_rate': 0.01,\n", " 'loss': 'ls'}\n", "\n", "reg = ensemble.GradientBoostingRegressor(**params)\n", "reg.fit(X_train, y_train)\n", "\n", "mse = mean_squared_error(y_test, reg.predict(X_test))\n", "print(\"The RMSE on test set: {:.4f}\".format(np.sqrt(mse)))\n", "\n", "print(list(X_train))\n", "feature_importance = reg.feature_importances_\n", "sorted_idx = np.argsort(feature_importance)\n", "pos = np.arange(sorted_idx.shape[0]) + .5\n", "fig = plt.figure(figsize=(12, 6))\n", "plt.subplot(1, 1, 1)\n", "plt.barh(pos, feature_importance[sorted_idx], align='center')\n", "plt.yticks(pos, np.array(list(X_train))[sorted_idx])\n", "plt.title('Feature Importance (MDI)')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.7.7 64-bit ('mlEnv': conda)", "language": "python", "name": "python37764bitmlenvconda75c86b840a424a4e95d50ae2ee417e09" }, "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.7" } }, "nbformat": 4, "nbformat_minor": 4 }