{ "cells": [ { "cell_type": "markdown", "metadata": { "_cell_guid": "02adde30-2633-41f1-a672-af8ff83a1b02", "_uuid": "22754d0cc0847be93bf947c7998d7fb65a2817d7" }, "source": [ "**대회 목적:**\n", "\n", "경쟁 데이터 세트에는 공개 도메인의 으스스한 작가가 쓴 소설의 텍스트가 포함되어 있습니다.\n", " 1. 에드거 앨런 포(EAP)\n", " 2. HP 러브크래프트(HPL)\n", " 3. 메리 울스턴크래프트 셸리(MWS)\n", " \n", "목표는 테스트 세트에서 문장의 저자를 정확하게 식별하는 것입니다.\n", "\n", "**노트북의 목적:**\n", "\n", "이 노트북에서 무시무시한 작성자를 식별하는 데 도움이 되는 다양한 기능을 만들어 보겠습니다.\n", "\n", "첫 번째 단계로 기능 엔지니어링 부분을 자세히 살펴보기 전에 몇 가지 기본 데이터 시각화 및 정리를 수행합니다." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 요약\n", "\n", "1. 메타변수 생성 -> xgb -> np.mean(metrics.log_loss(실제값, 예측값))\n", "2. TfidfVectorizer -> MultinomialNB -> confusion_matrix-> np.mean(metrics.log_loss(실제값, 예측값))\n", "3. TfidfVectorizer -> TruncatedSVD -> np.mean(metrics.log_loss(실제값, 예측값))\n", "4. CountVectorizer(stop_words='english', ngram_range=(1,3)) -> MultinomialNB -> confusion_matrix -> np.mean(metrics.log_loss(실제값, 예측값))\n", "5. CountVectorizer(ngram_range=(1,7), analyzer='char')\n", "6. TfidfVectorizer(ngram_range=(1,5), analyzer='char') -> TruncatedSVD(n_components=n_comp, algorithm='arpack') -> pd.concat([train_df, train_svd], axis=1) -> 앞서한 예측값들 -> xgb -> xgb.plot_importance -> np.mean(metrics.log_loss(실제값, 예측값))\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "_cell_guid": "b31f62fb-bde8-410e-972c-3c092f22d497", "_uuid": "0fcdf81ce439d2215892af58f839edfc0ca80a91" }, "outputs": [], "source": [ "import numpy as np # linear algebra\n", "import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "import nltk\n", "from nltk.corpus import stopwords\n", "import string # 문자/숫자의 리스트 출력\n", "\n", "import xgboost as xgb\n", "\n", "from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer\n", "from sklearn.decomposition import TruncatedSVD\n", "from sklearn import ensemble, metrics, model_selection, naive_bayes\n", "color = sns.color_palette()\n", "\n", "%matplotlib inline\n", "\n", "eng_stopwords = set(stopwords.words(\"english\"))\n", "pd.options.mode.chained_assignment = None" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "_cell_guid": "add1b71c-e802-408f-8f62-7ea71ed155cf", "_uuid": "ae86f9515b3be4956e223db4c2472c2c0c40d9fb" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of rows in train dataset : 19579\n", "Number of rows in test dataset : 8392\n" ] } ], "source": [ "## Read the train and test dataset and check the top few lines ##\n", "train_df = pd.read_csv(\"./input/train.csv\")\n", "test_df = pd.read_csv(\"./input/test.csv\")\n", "print(\"Number of rows in train dataset : \",train_df.shape[0])\n", "print(\"Number of rows in test dataset : \",test_df.shape[0])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "_cell_guid": "35e22f81-77f9-438e-ba50-803aea15ad14", "_uuid": "83a9dfc6af30753f82f07ef6162d3b9ba155b06d" }, "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", "
idtextauthor
0id26305This process, however, afforded me no means of...EAP
1id17569It never once occurred to me that the fumbling...HPL
2id11008In his left hand was a gold snuff box, from wh...EAP
3id27763How lovely is spring As we looked from Windsor...MWS
4id12958Finding nothing else, not even gold, the Super...HPL
\n", "
" ], "text/plain": [ " id text author\n", "0 id26305 This process, however, afforded me no means of... EAP\n", "1 id17569 It never once occurred to me that the fumbling... HPL\n", "2 id11008 In his left hand was a gold snuff box, from wh... EAP\n", "3 id27763 How lovely is spring As we looked from Windsor... MWS\n", "4 id12958 Finding nothing else, not even gold, the Super... HPL" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_df.head()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "5bee9e9a-5fbf-4ee6-9e92-0c77821fe77d", "_uuid": "d7682e0812990e3409db6076e7570ce984e466a1" }, "source": [ "각 저자의 출현 횟수를 확인하여 클래스가 균형을 이루고 있는지 확인할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "_cell_guid": "95529569-3380-4794-8248-caf5e8c67f6a", "_uuid": "045fe5712b26a72855dad61f05c947ab829a295b" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\HOME\\anaconda3\\lib\\site-packages\\seaborn\\_decorators.py:36: FutureWarning: Pass the following variables as keyword args: x, y. From version 0.12, the only valid positional argument will be `data`, and passing other arguments without an explicit keyword will result in an error or misinterpretation.\n", " warnings.warn(\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAf4AAAEJCAYAAAB1+EWEAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgdElEQVR4nO3de7QedX3v8ffHoBAFKmhATMBgjVTgFJU0UutRLF5itcJpi4ZWiYpGKVW0HhWsVmublrYe74VTVCRUEXJUhKKoFHVZEaTBGwJSotwCEQLe8FIu4Xv+mF/Kw2bv7AnsZyc7z/u11qxn5jvze+a7s/bKd89vfvObVBWSJGk0PGBzJyBJkqaPhV+SpBFi4ZckaYRY+CVJGiEWfkmSRsg2mzuB6fDwhz+85s+fv7nTkCRpWlx88cU3V9Wc8faNROGfP38+q1at2txpSJI0LZJcM9E+u/olSRohFn5JkkaIhV+SpBEybYU/yeuSXJrku0k+nmS7JDsnOTfJle1zp4Hjj02yOskVSZ49EN8/ySVt3/uSZLp+BkmSZrppKfxJ5gKvARZW1b7ALGAJcAxwXlUtAM5r2yTZu+3fB1gMHJ9kVvu6E4BlwIK2LJ6On0GSpK3BdHb1bwPMTrIN8GDgBuBgYEXbvwI4pK0fDJxWVbdV1VXAamBRkt2AHavqgureLnTKQBtJkjSJaSn8VXU98E7gWmAt8NOq+gKwa1WtbcesBXZpTeYC1w18xZoWm9vWx8bvJcmyJKuSrFq3bt1U/jiSJM1Y09XVvxPdVfyewCOBhyR50caajBOrjcTvHaw6saoWVtXCOXPGncNAkqSRM11d/c8ArqqqdVV1B/Ap4MnAja37nvZ5Uzt+DbD7QPt5dLcG1rT1sXFJktTDdM3cdy1wQJIHA78CDgJWAb8AlgLHtc8z2/FnAacmeRddD8EC4KKqWp/k1iQHAF8HDgfeP8zEX/Tezwzz67UZffTo527uFCRp2k1L4a+qryf5BPAN4E7gm8CJwPbAyiRH0P1xcGg7/tIkK4HL2vFHVdX69nVHAicDs4Fz2iJJknqYtrn6q+ptwNvGhG+ju/of7/jlwPJx4quAfac8QUmSRoAz90mSNEIs/JIkjRALvyRJI8TCL0nSCLHwS5I0Qiz8kiSNEAu/JEkjxMIvSdIIsfBLkjRCLPySJI0QC78kSSPEwi9J0gix8EuSNEIs/JIkjRALvyRJI8TCL0nSCLHwS5I0Qqal8CfZK8m3BpafJXltkp2TnJvkyva500CbY5OsTnJFkmcPxPdPcknb974kmY6fQZKkrcG0FP6quqKqHl9Vjwf2B34JnAEcA5xXVQuA89o2SfYGlgD7AIuB45PMal93ArAMWNCWxdPxM0iStDXYHF39BwHfr6prgIOBFS2+AjikrR8MnFZVt1XVVcBqYFGS3YAdq+qCqirglIE2kiRpEpuj8C8BPt7Wd62qtQDtc5cWnwtcN9BmTYvNbetj4/eSZFmSVUlWrVu3bgrTlyRp5prWwp/kQcDzgf832aHjxGoj8XsHq06sqoVVtXDOnDmblqgkSVup6b7ifw7wjaq6sW3f2LrvaZ83tfgaYPeBdvOAG1p83jhxSZLUw3QX/sO4u5sf4CxgaVtfCpw5EF+SZNske9IN4ruo3Q64NckBbTT/4QNtJEnSJLaZrhMleTDwTOCVA+HjgJVJjgCuBQ4FqKpLk6wELgPuBI6qqvWtzZHAycBs4Jy2SJKkHqat8FfVL4GHjYndQjfKf7zjlwPLx4mvAvYdRo6SJG3tehX+9lz9LVV1Y5LtgTcA64F3toIuSZJmgL73+E8FHtrW3wk8Ffht4J+HkJMkSRqSvl3986vqijag7n/Rzaj3K+CqoWUmSZKmXN/Cf1uSHYC9geuq6uYk2wDbDS81SZI01foW/lOBLwI7AB9osSfiFb8kSTNKr8JfVa9L8izgjqr6UgvfBbxuaJlJkqQp1/txvqr6QpLdkxxQVRe2x+okSdIM0mtUf5I9kpwPfA/4txb7oyQfGmZykiRpavV9nO+fgc/Q3eO/o8XOpZuJT5IkzRB9u/oXAc+tqruSFEBV/TTJrw0vNUmSNNX6XvHfCDxmMNBm87t2yjOSJElD07fwvxM4O8lLgW2SHAacDvz90DKTJElTru/jfCcl+RGwDLiO7nW4b62qTw8xN0mSNMU25XG+TwOfHlomkiRp6Po+zve+JE8eE3tykvcMJStJkjQUfe/xHwaMnbDnYuCPpzYdSZI0TH0Lf41z7KxNaC9JkrYAfQv3vwN/k+QBAO3z7S3eS5KHJvlEku8luTzJbyfZOcm5Sa5snzsNHH9sktVJrkjy7IH4/kkuafve114VLEmSeuhb+I8GngGsTXIRcAPdrH2v3oRzvRf4XFX9BrAfcDlwDHBeVS0AzmvbG+YIWALsAywGjk8yq33PCXRPFyxoy+JNyEGSpJHW93G+NUmeCDwJmEf3SN9FVXVXn/ZJdgSeCrykfd/twO1JDgYObIetAL4MvAk4GDitqm4DrkqyGliU5Gpgx6q6oH3vKcAhwDl98pA2tx9+8IWbOwUNySNecfrmTkHqZVMe57sLuGBDdz90Xf49i/+jgXXAR5LsRzcw8Ghg16pa275/bZJd2vFzgQsH2q9psTva+ti4JEnqoe/jfE9MckGSX9AV3zuAO7n7hT2T2QZ4InBCVT0B+AWtW3+iU44Tq43Ex8t5WZJVSVatW7euZ5qSJG3d+t7jXwF8CVhId/X+aGDP9tnHGmBNVX29bX+C7g+BG5PsBtA+bxo4fveB9vPoxhWsaetj4/dSVSdW1cKqWjhnzpyeaUqStHXrW/gfBfxFVV1eVdcMLn0aV9UPgeuS7NVCBwGXAWcBS1tsKXBmWz8LWJJk2yR70g3iu6jdFrg1yQFtNP/hA20kSdIk+t7jPwN4FvD5+3GuVwMfS/Ig4AfAS+n+8FiZ5Ai6N/0dClBVlyZZSffHwZ3AUVW1vn3PkcDJwGy6QX0O7JMkqae+hX874IwkXwV+OLijqg7v8wVV9S26WwVjHTTB8cuB5ePEVwH79jmnJEm6p76F/7K2SJKkGazvc/x/NexEJEnS8PWeaz/JM5N8OMm/tu2FSX53eKlJkqSp1vc5/lfTTZV7Jd0MfAC/Av5mSHlJkqQh6HuP/7XAQVV1dZI3tdj3gL0mbiJJGraXnf6yzZ2ChuSkF540lO/t29W/A938/HD3THkPBG6f8owkSdLQ9C38X+HeU+y+hm42P0mSNEP07ep/NfCvSV4B7JDkCuBnwO8PLTNJkjTlJi387W18jwP+J/A/6Kbv3aTX8kqSpC3DpIW/qu5KcmZV7QBc1BZJkjQD9b7Hn+SAoWYiSZKGru89/muAc5KcSdfNv2FkP1X1l8NITJIkTb2+hX828Om2Pm8gXvc+VJIkban6DO6bRXeVv7yqbht+SpIkaVgmvcdfVeuBPwXuGH46kiRpmPoO7jsFeNUwE5EkScPX9x7/IuDVSd7IvQf3PXXCVpIkaYvSt/B/sC2SJGkG61X4q2rF/T1RkquBW4H1wJ1VtTDJzsDpwHzgauAFVfXjdvyxwBHt+NdU1edbfH/gZLonDT4LHF1VPl0gSVIPvQp/kgnf+1hVm/LewKdX1c0D28cA51XVcUmOadtvSrI3sATYB3gk8G9JHtsGGp4ALAMupCv8i4FzNiEHSZJGVt+u/heP2X4E8OvA+cD9eWHwwcCBbX0F8GXgTS1+Wnt88Kokq4FFrddgx6q6ACDJKcAhWPglSeqlb1f/08fGWi/A4zbhXAV8IUkB/1xVJwK7VtXado61SXZpx86lu6LfYE2L3dHWx8bvJckyup4B9thjj01IU5KkrVffK/7xnAzcDLyh5/G/U1U3tOJ+bpLvbeTYjBOrjcTvHez+sDgRYOHChY4BkCSJns/xJ3nAmGV7uqvpn/Q9UVXd0D5vAs6ge0TwxiS7tXPsBtzUDl8D7D7QfB5wQ4vPGycuSZJ66DuBz5103ewblp8Cb6ab0W9SSR6SZIcN68CzgO8CZwFL22FLgTPb+lnAkiTbJtkTWABc1G4L3JrkgCQBDh9oI0mSJtG3q3/PMdu/GDM6fzK7Amd0tZptgFOr6nNJ/gNYmeQI4FrgUICqujTJSuAyuj86jmoj+gGO5O7H+c7BgX2SJPXWt/DfCfxywzP2AEl2AmZv6MLfmKr6AbDfOPFbgIMmaLMcWD5OfBWwb8+8JUnSgL5d/Z/mnvfWadtnTGk2kiRpqPoW/r2q6pLBQNv+jalPSZIkDUvfwn9TkscMBtr2LVOfkiRJGpa+hf8k4JNJnpdk7yS/D3wC+NDwUpMkSVOt7+C+4+ge43sn3fP11wIfBt41pLwkSdIQ9J2y9y7gH9siSZJmqL4z9x2T5LfGxBYleeNw0pIkScPQ9x7/0XST6Qy6DHjtlGYjSZKGqm/hfxDdPf5BtwPbTW06kiRpmPoW/ou597z8rwK+MbXpSJKkYeo7qv91dK/SfTHwfeAxdPPvP3NYiUmSpKnXd1T/pUkeCzyP7nG+TwFnV9XPh5mcJEmaWn2v+AF2A64BLq6qK4eUjyRJGqJJ7/En+YMkVwNXAOcD30tydZI/GnZykiRpam208Cd5LvAR4Hjg0cBs4NeBE4APJXne0DOUJElTZrKu/rcCr6yq0wZiVwN/n+Tatv/sIeUmSZKm2GRd/fsAZ0yw71PA3lObjiRJGqbJCv9twI4T7Hso3SQ+vSWZleSbSc5u2zsnOTfJle1zp4Fjj02yOskVSZ49EN8/ySVt3/uSZFNykCRplE1W+D8H/N0E+/4W+Pwmnu9o4PKB7WOA86pqAXBe2ybJ3sASuh6HxcDxSWa1NicAy4AFbVm8iTlIkjSyJrvH/ybgq0m+A3wSWEv3WN8f0vUEPKXviZLMA54LLAf+vIUPBg5s6yuAL7dzHgycVlW3AVclWQ0sak8X7FhVF7TvPAU4BDinbx6SJI2yjRb+qro+yRPpCvVi4OHAzcCZwLur6kebcK73AG8EdhiI7VpVa9u51ibZpcXnAhcOHLemxe5o62Pj95JkGV3PAHvssccmpClJ0tZr0gl8qurHdKP333pfT9Ie+7upqi5OcmCfJuOlspH4vYNVJwInAixcuHDcYyRJGjWbMnPf/fE7wPOT/B7dG/12TPJR4MYku7Wr/d2Am9rxa+imBt5gHnBDi88bJy5Jknro+3a++6Wqjq2qeVU1n27Q3her6kXAWcDSdthSulsItPiSJNsm2ZNuEN9F7bbArUkOaKP5Dx9oI0mSJjFdV/wTOQ5YmeQI4FrgUPjvlwKtBC4D7gSOqqr1rc2RwMl0swiegwP7JEnqbcLCn+TCqjqgrb+tqv5qKk5YVV+mG71PVd0CHDTBccvpngAYG18F7DsVuUiSNGo21tX/2CTbtfXXT0cykiRpuDbW1X8m8J/t2fnZSb4y3kFV9dRhJCZJkqbehIW/ql6a5CnAfOC3gA9PV1KSJGk4JpvA56t0M/c9qKpWTFNOkiRpSHqN6q+qk5I8HXgx3Ux51wMfraovDjM5SZI0tXo9x5/k5cDpwA/pXse7Fjg1ySuGmJskSZpifZ/jfyPwzKr69oZAktPpXtzzwWEkJkmSpl7fmfseRjeZzqArgJ2nNh1JkjRMfQv/V4F3JXkwQJKHAP8IfG1YiUmSpKnXt/C/CvhN4KdJbgR+AuwHvHJIeUmSpCHoO6p/LfC0JPOARwI3VNWaoWYmSZKm3Ca9pKcVewu+JEkz1LS8lleSJG0ZLPySJI2QSQt/kgck+d0kD5qOhCRJ0vBMWvir6i7gzKq6fRrykSRJQ9S3q/8rSQ4YaiaSJGno+o7qvwY4J8mZwHVAbdhRVX85WeMk2wFfAbZt5/xEVb0tyc507wCYD1wNvKCqftzaHAscAawHXlNVn2/x/YGTgdnAZ4Gjq6qQJEmT6nvFPxv4NF3BnwfsPrD0cRvwu1W1H/B4YHHrQTgGOK+qFgDntW2S7A0sAfYBFgPHJ5nVvusEYBmwoC2Le+YgSdLI6zuBz0vvz0naFfnP2+YD21LAwcCBLb4C+DLwphY/rapuA65KshpYlORqYMequgAgySnAIcA59yc/SZJGRe/H+ZI8Lslbk3ygbe+V5Dc3of2sJN8CbgLOraqvA7u2WQE3zA64Szt8Lt0thQ3WtNhc7jmB0Ib4eOdblmRVklXr1q3rm6YkSVu1XoU/yaF09+jnAoe38A7Au/qeqKrWV9Xj6W4VLEqy78ZOOd5XbCQ+3vlOrKqFVbVwzpw5fdOUJGmr1veK/x3AM6vqVXSD7QC+Tfeink1SVT+h69JfDNyYZDeA9nlTO2wN9xw/MA+4ocXnjROXJEk99C38u9AVerj7CruY4Gp7rCRzkjy0rc8GngF8DzgLWNoOWwqc2dbPApYk2TbJnnSD+C5qtwNuTXJAktD1PpyJJEnqpe/jfBcDLwZOGYgtAS7q2X43YEUbmf8AYGVVnZ3kAmBlkiOAa4FDAarq0iQrgcuAO4GjqmpDT8OR3P043zk4sE+SpN76Fv7XAF9oBfohST4PPBZ4Vp/GVfUd4AnjxG8BDpqgzXJg+TjxVcDGxgdIkqQJ9H2c73tJfgN4HnA23Yj7s6vq5xtvKUmStiR9r/ipql8mOR+4CrjBoi9J0szT93G+PZL8O920up8Brk7y1SSPGmZykiRpavUd1b+CboDfQ6tqF2An4D9aXJIkzRB9u/r3B55VVXcAVNXPk7wJuGVomUmSpCnX94r/QmDRmNhC4IKpTUeSJA3ThFf8Sd4xsPl94LNJPkM3on934PeAU4ebniRJmkob6+of+8rdT7XPXehes3sGsN0wkpIkScMxYeG/v6/ilSRJW57ez/EneTDwGGD7wXhVfW2qk5IkScPRq/AnORz4AHA78KuBXQXsMYS8JEnSEPS94v8H4A+r6txhJiNJkoar7+N8twNfHmIekiRpGvQt/G8F3pXk4cNMRpIkDVffwv+fwPOBG5Osb8tdSdYPMTdJkjTF+t7j/xfgFOB07jm4T5IkzSB9C//DgL+sqhpmMpIkabj6dvV/BHjxfT1Jkt2TfCnJ5UkuTXJ0i++c5NwkV7bPnQbaHJtkdZIrkjx7IL5/kkvavvclyX3NS5KkUdO38C8CPtSK8FcGl57t7wReX1WPAw4AjkqyN3AMcF5VLQDOa9u0fUuAfYDFwPFJZrXvOgFYBixoy+KeOUiSNPL6dvV/sC33SVWtBda29VuTXA7MBQ4GDmyHraB7ZPBNLX5aVd0GXJVkNbAoydXAjlV1AUCSU4BDgHPua26SJI2SXoW/qlZM1QmTzAeeAHwd2LX9UUBVrU2ySztsLt2rgDdY02J3tPWx8fHOs4yuZ4A99nByQUmSoP+UvS+baF9VndT3ZEm2Bz4JvLaqfraR2/Pj7aiNxMfL60TgRICFCxc6KFGSJPp39Y8d2PcI4NeB84FehT/JA+mK/seqasMrfm9Mslu72t8NuKnF13DP1wLPA25o8XnjxCVJUg+9BvdV1dPHLI8DXgWs6tO+jbz/MHB5Vb1rYNdZwNK2vhQ4cyC+JMm2SfakG8R3UbstcGuSA9p3Hj7QRpIkTaL3a3nHcTJwM/CGHsf+Dl2vwSVJvtVibwaOA1YmOQK4FjgUoKouTbISuIzuiYCjqmrDLIFHtnPPphvU58A+SZJ66nuPf2zPwIOBFwE/6dO+qr7K+PfnAQ6aoM1yYPk48VXAvn3OK0mS7qnvFf+d3HsQ3fXAK6Y2HUmSNEx9C/+eY7Z/UVU3T3UykiRpuPo+x3/NsBORJEnDt9HCn+RLTPCcfFNVNe49ekmStOWZ7Ir/oxPE5wKvoRvkJ0mSZoiNFv6q+vDgdpKHAcfSDeo7HXjH8FKTJElTrdcEPkl2TPLXwGpgV+CJVbWsqtZM0lSSJG1BNlr4k8xOcizwA+BxwFOq6sVV9f1pyU6SJE2pye7xXwXMAv6BbnreXZPsOnhAVX1xSLlJkqQpNlnh/y+6Uf1HTrC/gEdPaUaSJGloJhvcN3+a8pAkSdOg1+A+SZK0dbDwS5I0Qiz8kiSNEAu/JEkjxMIvSdIIsfBLkjRCpqXwJzkpyU1JvjsQ2znJuUmubJ87Dew7NsnqJFckefZAfP8kl7R970uS6chfkqStxXRd8Z8MLB4TOwY4r6oWAOe1bZLsDSwB9mltjk8yq7U5AVgGLGjL2O+UJEkbMS2Fv6q+AvxoTPhgYEVbXwEcMhA/rapuq6qr6F4MtCjJbsCOVXVBVRVwykAbSZLUw+a8x79rVa0FaJ+7tPhc4LqB49a02Ny2PjYuSZJ62hIH94133742Eh//S5JlSVYlWbVu3bopS06SpJlscxb+G1v3Pe3zphZfA+w+cNw84IYWnzdOfFxVdWJVLayqhXPmzJnSxCVJmqk2Z+E/C1ja1pcCZw7ElyTZNsmedIP4Lmq3A25NckAbzX/4QBtJktTDZK/lnRJJPg4cCDw8yRrgbcBxwMokRwDXAocCVNWlSVYClwF3AkdV1fr2VUfSPSEwGzinLZIkqadpKfxVddgEuw6a4PjlwPJx4quAfacwNUmSRsqWOLhPkiQNiYVfkqQRYuGXJGmEWPglSRohFn5JkkaIhV+SpBFi4ZckaYRY+CVJGiEWfkmSRoiFX5KkEWLhlyRphFj4JUkaIRZ+SZJGiIVfkqQRYuGXJGmEWPglSRohFn5JkkaIhV+SpBEyIwt/ksVJrkiyOskxmzsfSZJmihlX+JPMAv4JeA6wN3BYkr03b1aSJM0MM67wA4uA1VX1g6q6HTgNOHgz5yRJ0oyQqtrcOWySJH8ELK6ql7ftFwNPqqo/G3PcMmBZ29wLuGJaE52ZHg7cvLmT0FbF3ylNNX+n+nlUVc0Zb8c2053JFMg4sXv99VJVJwInDj+drUeSVVW1cHPnoa2Hv1Oaav5O3X8zsat/DbD7wPY84IbNlIskSTPKTCz8/wEsSLJnkgcBS4CzNnNOkiTNCDOuq7+q7kzyZ8DngVnASVV16WZOa2vhrRFNNX+nNNX8nbqfZtzgPkmSdN/NxK5+SZJ0H1n4JUkaIRb+EZJkfZJvDSzHDOybk+SOJK8c0+bqJJck+XaSLyR5xPRnri1JkkryLwPb2yRZl+TsdG5OslPbt1s7/ikDx69L8rAkeyX5cvtdvDyJ925HXJKfj9l+SZIPtPW3J7m+/b58N8nzB+L/e3PkO1NZ+EfLr6rq8QPLcQP7DgUuBA4bp93Tq2o/YBXw5ulIVFu0XwD7Jpndtp8JXA9Q3aChrwO/3fY9Gfhm+yTJXsDNVXUL8D7g3e138XHA+6fvR9AM9e6qejzd/1cnJbGG3Qf+o2mDw4DXA/OSzJ3gmK8Aj5m+lLQFOwd4bls/DPj4wL7zaYW+fb6Le/4h8LW2vhvdvBwAVNUlw0pWW5equhy4k24WP20iC/9omT2mq/+FAEl2Bx5RVRcBK4EXTtD+eYD/OQu6d2QsSbId8Jt0V/kbfI27C/8i4NPcPenWk+n+MAB4N/DFJOckeV2Shw47aW3x7vF/FPCO8Q5K8iTgLmDddCa3tZhxz/HrfvlV6yYbawldwYfuP/QP012lbfClJOuB7wBvGWqGmhGq6jtJ5tNd7X92zO6LgCckeQjwwKr6eZIfJHkMXeH/P+07PpLk88BiuhdtvTLJflV127T9INrS3OP/qCQvAQan531dkhcBtwIvrKpKxpvFXRtj4Rd0/3nvmuRP2vYjkyyoqivb9tOrypdiaKyzgHcCBwIP2xCsql8mWQ28DPhGC18I/B6wCwMvzKqqG4CT6O7XfhfYF7h4OpLXjPTuqnrn5k5iprOrf8S1wVYPqaq5VTW/quYDf0fXCyBtzEnAOya4N38+8FrggrZ9AXA0cGEbAEiSxUke2NYfQffHw/XDTloadRb+0TL2Hv9xdFf7Z4w57pOMP7pf+m9Vtaaq3jvB7vOBR3N34f8G3Qu1vjZwzLOA7yb5Nt0U3G+oqh8OK19t1d6SZM2GZXMns6Vzyl5JkkaIV/ySJI0QC78kSSPEwi9J0gix8EuSNEIs/JIkjRALv6R7SHKgj0RJWy8Lv7SVaK+4/XGSbTexXbXpdKdFe41qJTl0ILZNi82frjykUWXhl7YCrWD+T6CA52/ebO6WZKJpwX8EvCPJrOnMR5KFX9paHE43H/7JwNLBHa0n4OUD2y9J8tW2/pUW/naSn294Y2Pb9/okNyVZm+SlA/FfS3JKknVJrknylg3vRW/ffX6Sdyf5EfD2CfL9HHA78KLxdiZ5bpJvJvlZkuuSvH1g3/zWO/DStu/HSV6V5LeSfCfJT5J8YMz3vSzJ5e3Yzyd51Eb/NaWtmIVf2jocDnysLc9OsmufRlX11La6X1VtX1Wnt+1HAL8GzAWOAP4pyU5t3/vbvkcDT2vnfund38qTgB/QvZBn+USnBt4KvG3DfP1j/KJ970OB5wJHJjlkzDFPAhbQvUb6PcBfAM8A9gFekORpAK3dm4E/AOYA/w58fIK8pK2ehV+a4ZI8BXgUsLKqLga+D/zx/fzaO+hewHNHVX0W+DmwV+uafyFwbFXdWlVX071m98UDbW+oqvdX1Z1V9auJTlBVZ9G9T/3l4+z7clVdUlV3VdV36Ar108Yc9tdV9V9V9QW6PxQ+XlU3VdX1dMX9Ce24VwJ/V1WXV9WdwN8Cj/eqX6PKwi/NfEuBLwy8OvlUxnT33we3tCK5wS+B7YGHAw8CrhnYdw1dz8AG123Ced5Cd6W+3WAwyZOSfKndTvgp8Kp27kE3Dqz/apzt7dv6o4D3tlsAP6EbX5AxOUsjY6KBN5JmgCSzgRcAs5JseLPdtsBDk+xXVd+muxp+8ECzR9yPU95M1xvwKOCyFtuDe75Ot/ebv6rq3CSrgT8ds+tU4APAc6rqv5K8h3sX/r6uA5ZX1cfuY3tpq+IVvzSzHQKsB/YGHt+Wx9F1dR/ejvkW8AdJHtwe2ztizHfcSHe/flJVtR5YCSxPskPrLv9z4KP342f4C+CNY2I7AD9qRX8R9+/Wxf8Fjk2yD/z34MRDJ2kjbbUs/NLMthT4SFVdW1U/3LDQXS3/SXuc7t10I+hvBFbQDQAc9HZgResKf0GPc76arhfhB8BX6a7OT7qvP0BVnQ9cNCb8p3SP+90K/CXdHxv39fvPAP4eOC3Jz4DvAs+5r98nzXSp6t0rJ0mSZjiv+CVJGiEWfkmSRoiFX5KkEWLhlyRphFj4JUkaIRZ+SZJGiIVfkqQRYuGXJGmE/H8rI2SnUn1T0gAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cnt_srs = train_df['author'].value_counts()\n", "\n", "plt.figure(figsize=(8,4))\n", "sns.barplot(cnt_srs.index, cnt_srs.values, alpha=0.8)\n", "plt.ylabel('Number of Occurrences', fontsize=12)\n", "plt.xlabel('Author Name', fontsize=12)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "bff5de3a-b92f-4192-b142-60d0367e1bb2", "_uuid": "7b1ddc8bf782ae87ed5c24fdb6edbff986255d60" }, "source": [ "이것은 좋아 보인다. 계급 불균형이 별로 없다. 가능하면 각 저자의 글 스타일을 이해하고 이해하기 위해 각 저자의 몇 줄을 인쇄해 보겠습니다." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "_cell_guid": "6c85f84f-d0ee-444e-8b5f-2bf62452624a", "_uuid": "cc6b841404940a0f84481c76f5c2328b373416e1" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Author name : EAP\n", "This process, however, afforded me no means of ascertaining the dimensions of my dungeon; as I might make its circuit, and return to the point whence I set out, without being aware of the fact; so perfectly uniform seemed the wall.\n", "In his left hand was a gold snuff box, from which, as he capered down the hill, cutting all manner of fantastic steps, he took snuff incessantly with an air of the greatest possible self satisfaction.\n", "The astronomer, perhaps, at this point, took refuge in the suggestion of non luminosity; and here analogy was suddenly let fall.\n", "The surcingle hung in ribands from my body.\n", "I knew that you could not say to yourself 'stereotomy' without being brought to think of atomies, and thus of the theories of Epicurus; and since, when we discussed this subject not very long ago, I mentioned to you how singularly, yet with how little notice, the vague guesses of that noble Greek had met with confirmation in the late nebular cosmogony, I felt that you could not avoid casting your eyes upward to the great nebula in Orion, and I certainly expected that you would do so.\n", "\n", "\n", "Author name : HPL\n", "It never once occurred to me that the fumbling might be a mere mistake.\n", "Finding nothing else, not even gold, the Superintendent abandoned his attempts; but a perplexed look occasionally steals over his countenance as he sits thinking at his desk.\n", "Herbert West needed fresh bodies because his life work was the reanimation of the dead.\n", "The farm like grounds extended back very deeply up the hill, almost to Wheaton Street.\n", "His facial aspect, too, was remarkable for its maturity; for though he shared his mother's and grandfather's chinlessness, his firm and precociously shaped nose united with the expression of his large, dark, almost Latin eyes to give him an air of quasi adulthood and well nigh preternatural intelligence.\n", "\n", "\n", "Author name : MWS\n", "How lovely is spring As we looked from Windsor Terrace on the sixteen fertile counties spread beneath, speckled by happy cottages and wealthier towns, all looked as in former years, heart cheering and fair.\n", "A youth passed in solitude, my best years spent under your gentle and feminine fosterage, has so refined the groundwork of my character that I cannot overcome an intense distaste to the usual brutality exercised on board ship: I have never believed it to be necessary, and when I heard of a mariner equally noted for his kindliness of heart and the respect and obedience paid to him by his crew, I felt myself peculiarly fortunate in being able to secure his services.\n", "I confess that neither the structure of languages, nor the code of governments, nor the politics of various states possessed attractions for me.\n", "He shall find that I can feel my injuries; he shall learn to dread my revenge\" A few days after he arrived.\n", "He had escaped me, and I must commence a destructive and almost endless journey across the mountainous ices of the ocean, amidst cold that few of the inhabitants could long endure and which I, the native of a genial and sunny climate, could not hope to survive.\n", "\n", "\n" ] } ], "source": [ "grouped_df = train_df.groupby('author')\n", "for name, group in grouped_df:\n", " print(\"Author name : \", name)\n", " cnt = 0\n", " for ind, row in group.iterrows():\n", " print(row[\"text\"])\n", " cnt += 1\n", " if cnt == 5:\n", " break\n", " print(\"\\n\")" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "84398b75-325f-4259-90ea-bb6293cc5235", "_uuid": "d5739c4a5967d2bcb9326d39529f84791c09dfb8" }, "source": [ "내가 볼 수있는 유일한 것은 텍스트 데이터에 상당히 많은 특수 문자가 있다는 것입니다. 따라서 이러한 특수 문자의 수는 좋은 변수일 수 있습니다. 아마 나중에 만들 수 있을 것입니다.\n", "\n", "그 외에는 실마리가 별로 없습니다.. 재미있는 스타일(만들 수 있는 변수)이 있으면 댓글에 추가해 주세요.\n", "\n", "**변수 엔지니어링:**\n", "\n", "이제 변수 엔지니어링을 시도해 보겠습니다. 이것은 두 가지 주요 부분으로 구성됩니다.\n", "\n", " 1. 메타 변수 - 단어 수, 중지 단어 수, 구두점 수 등과 같은 텍스트에서 추출된 변수\n", " 2. 텍스트 기반 변수 - 빈도, svd, word2vec 등과 같은 텍스트/단어를 직접 기반으로 하는 변수\n", "\n", "**메타 변수:**\n", "\n", "우리는 메타 변수을 만드는 것부터 시작하여 그들이 으스스한 작가를 얼마나 잘 예측하는지 볼 것입니다. 변수 목록은 다음과 같습니다.\n", "1. 텍스트의 단어 수\n", "2. 텍스트의 고유 단어 수\n", "3. 텍스트의 문자 수\n", "4. 불용어의 수\n", "5. 구두점 수\n", "6. 대문자 단어의 수\n", "7. 제목 케이스 단어의 수\n", "8. 단어의 평균 길이" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "_cell_guid": "5758c1ff-ca4d-4c66-8c85-ac1725bd631b", "_uuid": "ec015064f318cfd7d0a405bd28cd002f72724bbe" }, "outputs": [], "source": [ "## Number of words in the text ##\n", "train_df[\"num_words\"] = train_df[\"text\"].apply(lambda x: len(str(x).split()))\n", "test_df[\"num_words\"] = test_df[\"text\"].apply(lambda x: len(str(x).split()))\n", "\n", "## Number of unique words in the text ##\n", "train_df[\"num_unique_words\"] = train_df[\"text\"].apply(lambda x: len(set(str(x).split())))\n", "test_df[\"num_unique_words\"] = test_df[\"text\"].apply(lambda x: len(set(str(x).split())))\n", "\n", "## Number of characters in the text ##\n", "train_df[\"num_chars\"] = train_df[\"text\"].apply(lambda x: len(str(x)))\n", "test_df[\"num_chars\"] = test_df[\"text\"].apply(lambda x: len(str(x)))\n", "\n", "## Number of stopwords in the text ##\n", "train_df[\"num_stopwords\"] = train_df[\"text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\n", "test_df[\"num_stopwords\"] = test_df[\"text\"].apply(lambda x: len([w for w in str(x).lower().split() if w in eng_stopwords]))\n", "\n", "## Number of punctuations in the text ##\n", "train_df[\"num_punctuations\"] =train_df['text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\n", "test_df[\"num_punctuations\"] =test_df['text'].apply(lambda x: len([c for c in str(x) if c in string.punctuation]) )\n", "\n", "## Number of title case words in the text ##\n", "train_df[\"num_words_upper\"] = train_df[\"text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\n", "test_df[\"num_words_upper\"] = test_df[\"text\"].apply(lambda x: len([w for w in str(x).split() if w.isupper()]))\n", "\n", "## Number of title case words in the text ##\n", "train_df[\"num_words_title\"] = train_df[\"text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\n", "test_df[\"num_words_title\"] = test_df[\"text\"].apply(lambda x: len([w for w in str(x).split() if w.istitle()]))\n", "\n", "## Average length of the words in the text ##\n", "train_df[\"mean_word_len\"] = train_df[\"text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\n", "test_df[\"mean_word_len\"] = test_df[\"text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "164b0d54-3d9e-4b58-ae7c-20c447efdc69", "_uuid": "d79f96166a7fe609fd8431b341b2d5ad189ca07a" }, "source": [ "이제 예측에 도움이 될 몇 가지 새로운 변수를 플로팅해 보겠습니다." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "_cell_guid": "fe9a91d9-3df7-4e1b-9e69-f701cc714a15", "_uuid": "51962b52791977deefab8b7991d59a51211c8a5e" }, "outputs": [ { "data": { "image/png": "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C/EV7uGyy/6NFi1aeFihSNMwf/7zvP322wwdOtTrUkSahI4dO9K+Q3usIBygfQd89OrVi+bNm3tcmcSKArTE1fDhw0lJSSWQv+WLdYH8LZgZF154oYeViTQdgUBAv7hFEqx/v/74D/khBHbI6N+vv9clSQwpQEtcNWvWjBEjhpN86DMIBcE5kg9sY9CgQWhEFRERaayys7OpLK7Edhuu0mkM9kZGAVribsyYMbhgOf4ju8JdOcqOMnbsWK/LEhERiZvjgfn4pCp9+vTxshyJsYDXBUjj17dvX/x+P76j+bik8BTdAwcO9LYoERGROOrUKTyxsuUbSclJtG3b1uOKJJbUAi1xl5ycTPcePfAfK8B/rIA2p7SlXbt2XpclIiISN82bNyc1LTzHQfv27TE78fTe0jApQEtC9D7zTAIlBwkUF9D7zF5elyMiIhJXZvbF5EUdT+vocTUSawrQkhBZWVm4ilIoOayxaEVEpEnI6BCevEgPzTc+CtCSEFWnENZ0wiIi0hQcn+ugZcuWHlcisaYALQlR9eEJPUghIiJNQUpKCgDp6ekeVyKxpgAtCaEALSIiTc3xBwc1kVHjowAtCdG6desv3rdv3967QkRERBKkS5cuABp5qhEy55zXNURl0KBBbuXKlV6XIbWwY8cOysvL9RChiIg0CaFQiNzcXLp27aph7BooM1vlnBtUfb0mUpGEyczM9LoEERGRhPH7/XTr1s3rMiQO1IVDRERERCQKCtAiIiIiIlFQgBYRERERiYICtIiIiIhIFBSgRURERESioAAtIiIiIhIFBWgRERERkSgoQIuIiIiIREEBWkREREQkCgrQIiIiIiJRUIAWEREREYmCArSIiIiISBQUoEVEREREoqAALSIiIiISBQVoEREREZEoKECLiIiIiERBAVpEREREJArmnPO6hqiYWT6w0+s6pNbaAQVeFyHSBOneE/GG7r2GrZtz7tTqKxtcgJaGzcxWOucGeV2HSFOje0/EG7r3Gid14RARERERiYICtIiIiIhIFBSgJdF+7XUBIk2U7j0Rb+jea4TUB1pEREREJApqgRYRERERiYICtMSMmYXMbHWV16wq2041swozu6HaMTvMbK2ZrTGzv5pZRuIrF2nYzOxoteUfmNnTkfcPmNnuyD25zszGV1k/04t6RRo6M3Nm9rsqywEzyzeztyyswMza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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "train_df['num_words'].loc[train_df['num_words']>80] = 80 #truncation for better visuals\n", "plt.figure(figsize=(12,8))\n", "sns.violinplot(x='author', y='num_words', data=train_df)\n", "plt.xlabel('Author Name', fontsize=12)\n", "plt.ylabel('Number of words in text', fontsize=12)\n", "plt.title(\"Number of words by author\", fontsize=15)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "66833874-08f2-48b8-9561-b54de997071d", "_uuid": "abe5dcadd42cd45169e44e3e299c303d5197b8ab", "collapsed": true }, "source": [ "EAP는 MWS 및 HPL보다 단어 수가 약간 적은 것 같습니다." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "_cell_guid": "91514e74-d734-4642-a9dd-470cb8a65733", "_uuid": "1c4c0950d33e29d270fbc021aa8c5ff0e7ab205b" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "train_df['num_punctuations'].loc[train_df['num_punctuations']>10] = 10 #truncation for better visuals\n", "plt.figure(figsize=(12,8))\n", "sns.violinplot(x='author', y='num_punctuations', data=train_df)\n", "plt.xlabel('Author Name', fontsize=12)\n", "plt.ylabel('Number of puntuations in text', fontsize=12)\n", "plt.title(\"Number of punctuations by author\", fontsize=15)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "3a622bfc-da8b-4f13-b9d8-a63dd79a5218", "_uuid": "240a9ac16cf5d342e6d01cb020f1d8cea670ec84" }, "source": [ "이것도 좀 쓸만해 보입니다. 이제 몇 가지 텍스트 기반 기능을 만드는 데 집중해 보겠습니다.\n", "\n", "이러한 메타 변수가 어떻게 도움이 되는지 알아보기 위해 먼저 기본 모델을 구축해 보겠습니다." ] }, { "cell_type": "code", "execution_count": 9, "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", " \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", "
idtextauthornum_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len
0id26305This process, however, afforded me no means of...EAP4135231197234.658537
1id17569It never once occurred to me that the fumbling...HPL14147181014.142857
2id11008In his left hand was a gold snuff box, from wh...EAP3632200165014.583333
3id27763How lovely is spring As we looked from Windsor...MWS3432206134045.088235
4id12958Finding nothing else, not even gold, the Super...HPL2725174114025.481481
....................................
19574id17718I could have fancied, while I looked at it, th...EAP2019108113224.450000
19575id08973The lids clenched themselves together as if in...EAP10105561014.600000
19576id05267Mais il faut agir that is to say, a Frenchman ...EAP13136842024.307692
19577id17513For an item of news like this, it strikes us i...EAP15147473014.000000
19578id00393He laid a gnarled claw on my shoulder, and it ...HPL2221109142014.000000
\n", "

19579 rows × 11 columns

\n", "
" ], "text/plain": [ " id text author \\\n", "0 id26305 This process, however, afforded me no means of... EAP \n", "1 id17569 It never once occurred to me that the fumbling... HPL \n", "2 id11008 In his left hand was a gold snuff box, from wh... EAP \n", "3 id27763 How lovely is spring As we looked from Windsor... MWS \n", "4 id12958 Finding nothing else, not even gold, the Super... HPL \n", "... ... ... ... \n", "19574 id17718 I could have fancied, while I looked at it, th... EAP \n", "19575 id08973 The lids clenched themselves together as if in... EAP \n", "19576 id05267 Mais il faut agir that is to say, a Frenchman ... EAP \n", "19577 id17513 For an item of news like this, it strikes us i... EAP \n", "19578 id00393 He laid a gnarled claw on my shoulder, and it ... HPL \n", "\n", " num_words num_unique_words num_chars num_stopwords \\\n", "0 41 35 231 19 \n", "1 14 14 71 8 \n", "2 36 32 200 16 \n", "3 34 32 206 13 \n", "4 27 25 174 11 \n", "... ... ... ... ... \n", "19574 20 19 108 11 \n", "19575 10 10 55 6 \n", "19576 13 13 68 4 \n", "19577 15 14 74 7 \n", "19578 22 21 109 14 \n", "\n", " num_punctuations num_words_upper num_words_title mean_word_len \n", "0 7 2 3 4.658537 \n", "1 1 0 1 4.142857 \n", "2 5 0 1 4.583333 \n", "3 4 0 4 5.088235 \n", "4 4 0 2 5.481481 \n", "... ... ... ... ... \n", "19574 3 2 2 4.450000 \n", "19575 1 0 1 4.600000 \n", "19576 2 0 2 4.307692 \n", "19577 3 0 1 4.000000 \n", "19578 2 0 1 4.000000 \n", "\n", "[19579 rows x 11 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_df" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "_cell_guid": "d97fc321-32a9-429e-9135-ae52300332ec", "_uuid": "c27a85339ef5cf5ac3c87527249f878b615d3996" }, "outputs": [], "source": [ "## Prepare the data for modeling ###\n", "# 라벨인코딩\n", "author_mapping_dict = {'EAP':0, 'HPL':1, 'MWS':2}\n", "train_y = train_df['author'].map(author_mapping_dict)\n", "\n", "train_id = train_df['id'].values\n", "test_id = test_df['id'].values\n", "\n", "### 재작성 \n", "train_df[\"num_words\"] = train_df[\"text\"].apply(lambda x: len(str(x).split()))\n", "test_df[\"num_words\"] = test_df[\"text\"].apply(lambda x: len(str(x).split()))\n", "train_df[\"mean_word_len\"] = train_df[\"text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\n", "test_df[\"mean_word_len\"] = test_df[\"text\"].apply(lambda x: np.mean([len(w) for w in str(x).split()]))\n", "\n", "# 변수제거\n", "cols_to_drop = ['id', 'text']\n", "train_X = train_df.drop(cols_to_drop+['author'], axis=1)\n", "test_X = test_df.drop(cols_to_drop, axis=1)" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "c4198d3f-5fad-41b1-9bcf-3b2faef2287f", "_uuid": "1fddaea1621cba593f86d78851a26e1645f4954e" }, "source": [ "이러한 메타 변수만으로 간단한 XGBoost 모델을 훈련할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 11, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
num_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len
04135231197234.658537
114147181014.142857
23632200165014.583333
33432206134045.088235
42725174114025.481481
...........................
195742019108113224.450000
1957510105561014.600000
1957613136842024.307692
1957715147473014.000000
195782221109142014.000000
\n", "

19579 rows × 8 columns

\n", "
" ], "text/plain": [ " num_words num_unique_words num_chars num_stopwords \\\n", "0 41 35 231 19 \n", "1 14 14 71 8 \n", "2 36 32 200 16 \n", "3 34 32 206 13 \n", "4 27 25 174 11 \n", "... ... ... ... ... \n", "19574 20 19 108 11 \n", "19575 10 10 55 6 \n", "19576 13 13 68 4 \n", "19577 15 14 74 7 \n", "19578 22 21 109 14 \n", "\n", " num_punctuations num_words_upper num_words_title mean_word_len \n", "0 7 2 3 4.658537 \n", "1 1 0 1 4.142857 \n", "2 5 0 1 4.583333 \n", "3 4 0 4 5.088235 \n", "4 4 0 2 5.481481 \n", "... ... ... ... ... \n", "19574 3 2 2 4.450000 \n", "19575 1 0 1 4.600000 \n", "19576 2 0 2 4.307692 \n", "19577 3 0 1 4.000000 \n", "19578 2 0 1 4.000000 \n", "\n", "[19579 rows x 8 columns]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_X" ] }, { "cell_type": "code", "execution_count": 21, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
num_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len
0191911093134.842105
16249330337134.338710
23330189153014.757576
34134223195234.463415
411115361113.909091
...........................
8387994271013.777778
8388773441114.000000
83892524150112015.040000
83903834197213234.210526
83913833247185015.526316
\n", "

8392 rows × 8 columns

\n", "
" ], "text/plain": [ " num_words num_unique_words num_chars num_stopwords num_punctuations \\\n", "0 19 19 110 9 3 \n", "1 62 49 330 33 7 \n", "2 33 30 189 15 3 \n", "3 41 34 223 19 5 \n", "4 11 11 53 6 1 \n", "... ... ... ... ... ... \n", "8387 9 9 42 7 1 \n", "8388 7 7 34 4 1 \n", "8389 25 24 150 11 2 \n", "8390 38 34 197 21 3 \n", "8391 38 33 247 18 5 \n", "\n", " num_words_upper num_words_title mean_word_len \n", "0 1 3 4.842105 \n", "1 1 3 4.338710 \n", "2 0 1 4.757576 \n", "3 2 3 4.463415 \n", "4 1 1 3.909091 \n", "... ... ... ... \n", "8387 0 1 3.777778 \n", "8388 1 1 4.000000 \n", "8389 0 1 5.040000 \n", "8390 2 3 4.210526 \n", "8391 0 1 5.526316 \n", "\n", "[8392 rows x 8 columns]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_X" ] }, { "cell_type": "code", "execution_count": 19, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
num_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len
114147181014.142857
23632200165014.583333
33432206134045.088235
58366468436554.650602
6212112895015.142857
...........................
195732724143114044.333333
195742019108113224.450000
1957510105561014.600000
1957715147473014.000000
195782221109142014.000000
\n", "

15663 rows × 8 columns

\n", "
" ], "text/plain": [ " num_words num_unique_words num_chars num_stopwords \\\n", "1 14 14 71 8 \n", "2 36 32 200 16 \n", "3 34 32 206 13 \n", "5 83 66 468 43 \n", "6 21 21 128 9 \n", "... ... ... ... ... \n", "19573 27 24 143 11 \n", "19574 20 19 108 11 \n", "19575 10 10 55 6 \n", "19577 15 14 74 7 \n", "19578 22 21 109 14 \n", "\n", " num_punctuations num_words_upper num_words_title mean_word_len \n", "1 1 0 1 4.142857 \n", "2 5 0 1 4.583333 \n", "3 4 0 4 5.088235 \n", "5 6 5 5 4.650602 \n", "6 5 0 1 5.142857 \n", "... ... ... ... ... \n", "19573 4 0 4 4.333333 \n", "19574 3 2 2 4.450000 \n", "19575 1 0 1 4.600000 \n", "19577 3 0 1 4.000000 \n", "19578 2 0 1 4.000000 \n", "\n", "[15663 rows x 8 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dev_X" ] }, { "cell_type": "code", "execution_count": 17, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
num_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len
04135231197234.658537
42725174114025.481481
1315158652034.800000
202120111112014.333333
214439252244124.750000
...........................
19531775331016.714286
1954316169362124.875000
1955012125962014.000000
195542119126102015.047619
1957613136842024.307692
\n", "

3916 rows × 8 columns

\n", "
" ], "text/plain": [ " num_words num_unique_words num_chars num_stopwords \\\n", "0 41 35 231 19 \n", "4 27 25 174 11 \n", "13 15 15 86 5 \n", "20 21 20 111 11 \n", "21 44 39 252 24 \n", "... ... ... ... ... \n", "19531 7 7 53 3 \n", "19543 16 16 93 6 \n", "19550 12 12 59 6 \n", "19554 21 19 126 10 \n", "19576 13 13 68 4 \n", "\n", " num_punctuations num_words_upper num_words_title mean_word_len \n", "0 7 2 3 4.658537 \n", "4 4 0 2 5.481481 \n", "13 2 0 3 4.800000 \n", "20 2 0 1 4.333333 \n", "21 4 1 2 4.750000 \n", "... ... ... ... ... \n", "19531 1 0 1 6.714286 \n", "19543 2 1 2 4.875000 \n", "19550 2 0 1 4.000000 \n", "19554 2 0 1 5.047619 \n", "19576 2 0 2 4.307692 \n", "\n", "[3916 rows x 8 columns]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "val_X" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1 1\n", "2 0\n", "3 2\n", "5 2\n", "6 0\n", " ..\n", "19573 2\n", "19574 0\n", "19575 0\n", "19577 0\n", "19578 1\n", "Name: author, Length: 15663, dtype: int64" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dev_y" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1.59e-075, 3.41e-264, 1.00e+000],\n", " [1.00e+000, 7.61e-087, 2.68e-102],\n", " [1.03e-015, 1.50e-049, 1.00e+000],\n", " ...,\n", " [6.17e-010, 7.47e-094, 1.00e+000],\n", " [3.44e-016, 1.00e+000, 2.69e-027],\n", " [3.68e-050, 1.82e-067, 1.00e+000]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pred_val_y" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3916" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(pred_val_y)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8392" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(pred_test_y)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "_cell_guid": "1534f55b-1334-4f1e-a597-d51e4d190fb3", "_uuid": "7e736a33d7aefcc49edb0e629e57462f92e86c99" }, "outputs": [], "source": [ "# runXGB(dev_X, dev_y, val_X, val_y, test_X, seed_val=0)\n", "def runXGB(train_X, train_y, test_X, test_y=None, test_X2=None, seed_val=0, child=1, colsample=0.3):\n", " # 매개변수\n", " param = {}\n", " param['objective'] = 'multi:softprob'\n", " param['eta'] = 0.1\n", " param['max_depth'] = 3\n", " param['silent'] = 1\n", " param['num_class'] = 3\n", " param['eval_metric'] = \"mlogloss\"\n", " param['min_child_weight'] = child # 1\n", " param['subsample'] = 0.8\n", " param['colsample_bytree'] = colsample # 0.3\n", " param['seed'] = seed_val # 0\n", " num_rounds = 2000\n", "\n", " # 희소행렬 -> DMatrix으로 변환\n", " # xgb.DMatrix -> xgb.train -> xgb.train.predict -> xgb.plot_importance\n", " plst = list(param.items()) # ['multi:softprob', 0.1, 3, 1, 3, 'mlogloss', 1, 0.8, 0.3, 0]\n", " xgtrain = xgb.DMatrix(train_X, label=train_y) # dev_X는 (15663rows×8columns)인 df, dev_y는 15663인 series\n", "\n", " if test_y is not None:\n", " xgtest = xgb.DMatrix(test_X, label=test_y) # val_X는 (3916rows×8columns)인 df, val_y는 3916인 series\n", " watchlist = [ (xgtrain,'train'), (xgtest, 'test') ]\n", " model = xgb.train(plst, xgtrain, num_rounds, watchlist, early_stopping_rounds=50, verbose_eval=20)\n", " else:\n", " xgtest = xgb.DMatrix(test_X)\n", " model = xgb.train(plst, xgtrain, num_rounds)\n", "\n", " pred_test_y = model.predict(xgtest, ntree_limit = model.best_ntree_limit) # 3916인 array\n", " if test_X2 is not None:\n", " xgtest2 = xgb.DMatrix(test_X2)\n", " pred_test_y2 = model.predict(xgtest2, ntree_limit = model.best_ntree_limit) # 8392인 array\n", " return pred_test_y, pred_test_y2, model # " ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "1effdaf3-faca-455d-a7a2-ae4d81b5c209", "_uuid": "607c32af563879d1f7e011a438216ab8bea74ae3" }, "source": [ "커널 실행 시간을 위해 점수에 대한 k-폴드 교차 검증의 첫 번째 폴드만 확인할 수 있습니다. 로컬에서 실행하는 동안 'break' 줄을 제거하십시오." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "15663\n", "3916\n", "15663\n", "3916\n", "15663\n", "3916\n", "15663\n", "3916\n", "15664\n", "3915\n" ] } ], "source": [ "for dev_index, val_index in kf.split(train_X): # train_X : (15663 rows × 8 columns)인 df\n", " print(len(dev_index))\n", " print(len(val_index))" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "_cell_guid": "97965af9-da5a-4ccc-94c5-bc541ed00d49", "_uuid": "441491131b9a7272863714494dd1303022c9d630" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[13:37:24] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.5.1/src/learner.cc:576: \n", "Parameters: { \"silent\" } might not be used.\n", "\n", " This could be a false alarm, with some parameters getting used by language bindings but\n", " then being mistakenly passed down to XGBoost core, or some parameter actually being used\n", " but getting flagged wrongly here. Please open an issue if you find any such cases.\n", "\n", "\n", "[0]\ttrain-mlogloss:1.09384\ttest-mlogloss:1.09472\n", "[20]\ttrain-mlogloss:1.04663\ttest-mlogloss:1.05720\n", "[40]\ttrain-mlogloss:1.02368\ttest-mlogloss:1.03845\n", "[60]\ttrain-mlogloss:1.01109\ttest-mlogloss:1.02949\n", "[80]\ttrain-mlogloss:0.99824\ttest-mlogloss:1.01957\n", "[100]\ttrain-mlogloss:0.98938\ttest-mlogloss:1.01345\n", "[120]\ttrain-mlogloss:0.98209\ttest-mlogloss:1.00860\n", "[140]\ttrain-mlogloss:0.97603\ttest-mlogloss:1.00505\n", "[160]\ttrain-mlogloss:0.97088\ttest-mlogloss:1.00237\n", "[180]\ttrain-mlogloss:0.96619\ttest-mlogloss:1.00040\n", "[200]\ttrain-mlogloss:0.96141\ttest-mlogloss:0.99788\n", "[220]\ttrain-mlogloss:0.95745\ttest-mlogloss:0.99651\n", "[240]\ttrain-mlogloss:0.95372\ttest-mlogloss:0.99505\n", "[260]\ttrain-mlogloss:0.95045\ttest-mlogloss:0.99377\n", "[280]\ttrain-mlogloss:0.94730\ttest-mlogloss:0.99296\n", "[300]\ttrain-mlogloss:0.94402\ttest-mlogloss:0.99235\n", "[320]\ttrain-mlogloss:0.94112\ttest-mlogloss:0.99152\n", "[340]\ttrain-mlogloss:0.93846\ttest-mlogloss:0.99101\n", "[360]\ttrain-mlogloss:0.93540\ttest-mlogloss:0.99025\n", "[380]\ttrain-mlogloss:0.93291\ttest-mlogloss:0.98975\n", "[400]\ttrain-mlogloss:0.93021\ttest-mlogloss:0.98917\n", "[420]\ttrain-mlogloss:0.92797\ttest-mlogloss:0.98907\n", "[440]\ttrain-mlogloss:0.92578\ttest-mlogloss:0.98919\n", "[460]\ttrain-mlogloss:0.92365\ttest-mlogloss:0.98910\n", "[480]\ttrain-mlogloss:0.92181\ttest-mlogloss:0.98896\n", "[497]\ttrain-mlogloss:0.92026\ttest-mlogloss:0.98908\n", "cv scores : [0.9887632298301353]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\HOME\\anaconda3\\lib\\site-packages\\xgboost\\core.py:105: UserWarning: ntree_limit is deprecated, use `iteration_range` or model slicing instead.\n", " warnings.warn(\n" ] } ], "source": [ "from sklearn.model_selection import KFold\n", "\n", "kf = KFold(n_splits=5, shuffle=True, random_state=2017)\n", "\n", "cv_scores = []\n", "#pred_full_test = 0 # array형태\n", "pred_train = np.zeros([train_df.shape[0], 3]) # (19579,3) \n", "\n", "# dev_index : 15663/15664, val_index : 3915/3916\n", "for dev_index, val_index in kf.split(train_X): # train_X : (19579 rows × 8 columns)인 df\n", " dev_X, val_X = train_X.loc[dev_index], train_X.loc[val_index]\n", " dev_y, val_y = train_y[dev_index], train_y[val_index]\n", " \n", " pred_val_y, pred_test_y, model = runXGB(dev_X, dev_y, val_X, val_y, test_X, seed_val=0)\n", " \n", " #pred_full_test = pred_full_test + pred_test_y # 8392인 array\n", " pred_train[val_index,:] = pred_val_y # 3916인 array\n", " cv_scores.append(metrics.log_loss(val_y, pred_val_y)) # (실제값, 예측값) 3916*5\n", " break\n", " \n", "print(\"cv scores : \", cv_scores)" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "ef5d6aa2-9d59-48e8-87ad-7ab254e0dc8a", "_uuid": "6ebaf270a27c8b07455498111bd0a8b2c11b6b16" }, "source": [ "메타 변수만 사용하여 '0.987'의 mlogloss를 얻고 있습니다. 나쁘지 않은 점수입니다. 이제 이러한 기능 중 어떤 것이 중요한지 살펴보겠습니다." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "_cell_guid": "2856aa57-cce7-4f18-af56-a77ebd52eef7", "_uuid": "506938cebfedaad3e70d531e4cad554abe2a3c55" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "### Plot the important variables ###\n", "fig, ax = plt.subplots(figsize=(12,12))\n", "xgb.plot_importance(model, max_num_features=50, height=0.8, ax=ax)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "739ce74e-af56-4fd6-a7b3-fe809f33bc54", "_uuid": "25225b8d3a5ed46ec90308478b3788760eb5ea1d" }, "source": [ "문자 수, 평균 단어 길이 및 고유 단어 수가 상위 3개 변수인 것으로 나타났습니다. 이제 몇 가지 텍스트 기반 변수를 만드는 데 집중해 보겠습니다.\n", "\n", "**텍스트 기반 변수 :**\n", "\n", "우리가 만들 수 있는 기본 기능 중 하나는 텍스트에 있는 단어의 tf-idf 값입니다. 그래서 우리는 그것으로 시작할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "_cell_guid": "dd89dcab-b7a2-4b11-9564-ac8558f938e0", "_uuid": "41b4430c7e9699bd7f430c471009082bf7449928" }, "outputs": [], "source": [ "### Fit transform the tfidf vectorizer ###\n", "tfidf_vec = TfidfVectorizer(stop_words='english', ngram_range=(1,3))\n", "\n", "full_tfidf = tfidf_vec.fit_transform(train_df['text'].values.tolist() + test_df['text'].values.tolist())\n", "train_tfidf = tfidf_vec.transform(train_df['text'].values.tolist())\n", "test_tfidf = tfidf_vec.transform(test_df['text'].values.tolist())" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "fb46183a-43b6-4785-823a-f017a0821b78", "_uuid": "9c51efb2c3ff436baf8811a298b699b430b812bf" }, "source": [ "이제 tfidf 벡터를 얻었으므로 여기에 까다로운 부분이 있습니다. \n", "tfidf 출력은 희소 행렬이므로 다른 밀집변수와 함께 사용해야 하는 경우 몇 가지 선택 사항이 있습니다.\n", "\n", "1. 우리는 tfidf 벡터라이저에서 상위 'n' 변수(시스템 구성에 따라 다름)을 가져오도록 선택할 수 있으며, 이를 고밀도 형식으로 변환하고 다른 변수와 연결합니다.\n", "2. 희소 특성만을 사용하여 모델을 만든 다음 다른 밀집변수와 함께 변수 중 하나로 예측을 사용합니다.\n", "\n", "데이터 세트를 기반으로 하면 하나가 다른 것보다 더 잘 수행될 수 있습니다. \n", "여기에서는 tfidf의 모든 기능을 사용하는 매우 [좋은 점수 커널](https://www.kaggle.com/the1owl/python-tell-tale-tutorial)이 있으므로 두 번째 접근 방식을 사용할 수 있습니다.\n", "\n", "또한 이 데이터 세트에서 [Naive Bayes가 더 나은 성능을 보입니다](https://www.kaggle.com/thomasnelson/spooky-simple-naive-bayes-scores-0-399). \n", "따라서 훈련 속도가 더 빠르기 때문에 tfidf 기능을 사용하여 나이브베이즈 모델을 구축할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "_cell_guid": "7ce26604-5935-41cd-85ac-33e499a186f1", "_uuid": "924a649ddf02867e7bd1e68d8cab33d3c36bb83e" }, "outputs": [], "source": [ "from sklearn.naive_bayes import MultinomialNB\n", "\n", "# runMNB(dev_X, dev_y, val_X, val_y, test_tfidf) # test_tfidf : 8392x550841\n", "def runMNB(train_X, train_y, test_X, test_y, test_X2):\n", " model = MultinomialNB()\n", " model.fit(train_X, train_y)\n", " \n", " pred_test_y = model.predict_proba(test_X)\n", " pred_test_y2 = model.predict_proba(test_X2)\n", " \n", " return pred_test_y, pred_test_y2, model" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "a409c693-6d31-485d-b05f-d98008a1c185", "_uuid": "f3ef5dd66afde39552eaa8f59929b263b831b190" }, "source": [ "**Naive Bayes on Word Tfidf Vectorizer:**" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<19579x550841 sparse matrix of type ''\n", "\twith 611707 stored elements in Compressed Sparse Row format>" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_tfidf" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0\n", "1 1\n", "2 0\n", "3 2\n", "4 1\n", " ..\n", "19574 0\n", "19575 0\n", "19576 0\n", "19577 0\n", "19578 1\n", "Name: author, Length: 19579, dtype: int64" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_y" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 0\n", "1 1\n", "2 0\n", "3 2\n", "4 1\n", " ..\n", "19574 0\n", "19575 0\n", "19576 0\n", "19577 0\n", "19578 1\n", "Name: author, Length: 15664, dtype: int64" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dev_y" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5 2\n", "6 0\n", "9 2\n", "22 0\n", "24 0\n", " ..\n", "19515 2\n", "19522 1\n", "19537 2\n", "19538 1\n", "19573 2\n", "Name: author, Length: 3915, dtype: int64" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "val_y" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<8392x550841 sparse matrix of type ''\n", "\twith 258688 stored elements in Compressed Sparse Row format>" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_tfidf" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.4144724 , 0.17076084, 0.41476676],\n", " [0.51718498, 0.24926282, 0.2335522 ],\n", " [0.39304418, 0.24555086, 0.36140496],\n", " ...,\n", " [0.37382573, 0.21526166, 0.41091261],\n", " [0.42593811, 0.29615677, 0.27790512],\n", " [0.31885599, 0.26637083, 0.41477318]])" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pred_val_y" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3915" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(pred_val_y)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8392" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(pred_test_y)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "_cell_guid": "61063815-507a-45f7-8866-5298da11e62d", "_uuid": "c0ed8394d5fbcfb833efa2836509583a2ec79de1" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean cv score : 0.8422161983612855\n" ] } ], "source": [ "from sklearn.model_selection import KFold\n", "\n", "kf = KFold(n_splits=5, shuffle=True, random_state=2017)\n", "cv_scores = []\n", "pred_full_test = 0\n", "pred_train = np.zeros([train_df.shape[0], 3])\n", "\n", "for dev_index, val_index in kf.split(train_X):\n", " dev_X, val_X = train_tfidf[dev_index], train_tfidf[val_index] # 15664x550841, 3915x550841\n", " dev_y, val_y = train_y[dev_index], train_y[val_index] # 15664, 3915\n", " pred_val_y, pred_test_y, model = runMNB(dev_X, dev_y, val_X, val_y, test_tfidf) # 3915,8392,model // test_tfidf : 8392x550841\n", " \n", " pred_full_test = pred_full_test + pred_test_y # 8392\n", " pred_train[val_index,:] = pred_val_y #3915\n", " cv_scores.append(metrics.log_loss(val_y, pred_val_y)) # (실제값, 예측값) # 3915*5\n", " \n", "print(\"Mean cv score : \", np.mean(cv_scores))\n", "pred_full_test = pred_full_test / 5." ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "e40f18ae-9db6-43dd-a010-27a34b1aa33f", "_uuid": "1f6da22535edd4c6faf256836f925bb18d18aba0" }, "source": [ "우리는 tfidf vectorizer를 사용하여 0.844의 mlogloss를 얻고 있습니다. 메타 변수보다 훨씬 좋습니다. 혼동 행렬을 살펴보겠습니다.\n", "\n", "메타변수 생성 -> xgb\n", "\n", "TfidfVectorizer -> MultinomialNB\n" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "_cell_guid": "586f6708-8cc1-4422-90dd-6e4bef3cf2c0", "_kg_hide-input": true, "_uuid": "2bd4a5be4f492f1eb75836a7fbaed8c4374701cf" }, "outputs": [], "source": [ "### Function to create confusion matrix ###\n", "import itertools\n", "from sklearn.metrics import confusion_matrix\n", "\n", "### From http://scikit-learn.org/stable/auto_examples/model_selection/plot_confusion_matrix.html#sphx-glr-auto-examples-model-selection-plot-confusion-matrix-py #\n", "# plot_confusion_matrix(cnf_matrix, classes=['EAP', 'HPL', 'MWS'], title='Confusion matrix, without normalization')\n", "def plot_confusion_matrix(cm, classes, normalize=False, title='Confusion matrix', cmap=plt.cm.Blues):\n", " \"\"\"\n", " This function prints and plots the confusion matrix.\n", " Normalization can be applied by setting `normalize=True`.\n", " \"\"\"\n", " # 정규화\n", " if normalize:\n", " cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis] # 차원늘리기\n", "\n", " plt.imshow(cm, interpolation='nearest', cmap=cmap)\n", " plt.title(title)\n", " plt.colorbar()\n", " tick_marks = np.arange(len(classes))\n", " plt.xticks(tick_marks, classes, rotation=45)\n", " plt.yticks(tick_marks, classes)\n", "\n", " # 각 구역에 값넣기\n", " fmt = '.2f' if normalize else 'd'\n", " thresh = cm.max() / 2.\n", " for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):\n", " plt.text(j, i, format(cm[i, j], fmt),\n", " horizontalalignment=\"center\",\n", " color=\"white\" if cm[i, j] > thresh else \"black\")\n", "\n", " plt.tight_layout()\n", " plt.ylabel('True label')\n", " plt.xlabel('Predicted label')" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.4144724 , 0.17076084, 0.41476676],\n", " [0.51718498, 0.24926282, 0.2335522 ],\n", " [0.39304418, 0.24555086, 0.36140496],\n", " ...,\n", " [0.37382573, 0.21526166, 0.41091261],\n", " [0.42593811, 0.29615677, 0.27790512],\n", " [0.31885599, 0.26637083, 0.41477318]])" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pred_val_y # (3915, 3)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 0, 0, ..., 2, 0, 2], dtype=int64)" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.argmax(pred_val_y, axis=1)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1531, 17, 47],\n", " [ 554, 500, 44],\n", " [ 487, 11, 724]], dtype=int64)" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cnf_matrix" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1595],\n", " [1098],\n", " [1222]], dtype=int64)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cnf_matrix.sum(axis=1)[:, np.newaxis]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "_cell_guid": "800547fa-c070-4bdf-ad1a-1f97e7db3fdf", "_kg_hide-input": true, "_uuid": "b0792565a816242c8e29a242264c5e77ec90a7eb" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cnf_matrix = confusion_matrix(val_y, np.argmax(pred_val_y, axis=1))\n", "np.set_printoptions(precision=2)\n", "\n", "# Plot non-normalized confusion matrix\n", "plt.figure(figsize=(8,8))\n", "plot_confusion_matrix(cnf_matrix, classes=['EAP', 'HPL', 'MWS'],\n", " title='Confusion matrix, without normalization')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "404695a0-c33b-4cba-9dd1-bf2a5e8c12fc", "_uuid": "e16c6d867d6bf1bb4e2661cc28841c672091fe0a" }, "source": [ "많은 인스턴스가 EAP로 예측되고 해당 클래스에 크게 치우쳐 있습니다.\n", "\n", "**단어 TFIDF의 SVD:**\n", "\n", "tfidf 벡터는 희소하기 때문에 정보를 압축하고 훨씬 간결하게 표현하는 또 다른 방법은 SVD를 사용하는 것입니다. 또한 일반적으로 SVD 기능은 과거 텍스트 기반 대회에서 저에게 잘 수행되었습니다. 그래서 우리는 tfidf라는 단어에 svd 기능을 만들어 기능 세트에 추가할 수 있었습니다." ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "_cell_guid": "94d49082-2834-4633-8420-10f12f1b16eb", "_uuid": "95a7ae438276387fa9f2c4a2b25ee29f9b1f7d2d" }, "outputs": [], "source": [ "n_comp = 20\n", "svd_obj = TruncatedSVD(n_components=n_comp, algorithm='arpack')\n", "svd_obj.fit(full_tfidf)\n", "train_svd = pd.DataFrame(svd_obj.transform(train_tfidf))\n", "test_svd = pd.DataFrame(svd_obj.transform(test_tfidf))\n", " \n", "train_svd.columns = ['svd_word_'+str(i) for i in range(n_comp)]\n", "test_svd.columns = ['svd_word_'+str(i) for i in range(n_comp)]\n", "train_df = pd.concat([train_df, train_svd], axis=1)\n", "test_df = pd.concat([test_df, test_svd], axis=1)\n", "del full_tfidf, train_tfidf, test_tfidf, train_svd, test_svd" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "77309c44-f947-46f4-814c-7d7a01768293", "_uuid": "468ef624b3f6d752737b9c112ae6f0592a929da2" }, "source": [ "**Naive Bayes on Word Count Vectorizer:**" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "_cell_guid": "92ab9f7c-8c2c-4233-a6dc-eaa12ca7d144", "_uuid": "9cd43c20764c81a3216b8371c477ae5552e24c7d" }, "outputs": [], "source": [ "### Fit transform the count vectorizer ###\n", "tfidf_vec = CountVectorizer(stop_words='english', ngram_range=(1,3))\n", "\n", "tfidf_vec.fit(train_df['text'].values.tolist() + test_df['text'].values.tolist())\n", "train_tfidf = tfidf_vec.transform(train_df['text'].values.tolist())\n", "test_tfidf = tfidf_vec.transform(test_df['text'].values.tolist())" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "48d68a84-6c6d-40b3-9069-d4c324355fc6", "_uuid": "2e05fb42bcd850e74c767961f58400b0dac463ec" }, "source": [ "이제 count vectorizer 기반 기능을 사용하여 다항식 NB 모델을 구축해 보겠습니다." ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "_cell_guid": "b7927348-b6b1-4960-b76c-ebf14fae37f0", "_uuid": "4f9354473820d59076bf991b5110fc4dd309c204" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean cv score : 0.45091841616567435\n" ] } ], "source": [ "kf = KFold(n_splits=5, shuffle=True, random_state=2017)\n", "cv_scores = []\n", "pred_full_test = 0\n", "pred_train = np.zeros([train_df.shape[0], 3])\n", "\n", "for dev_index, val_index in kf.split(train_X):\n", " dev_X, val_X = train_tfidf[dev_index], train_tfidf[val_index]\n", " dev_y, val_y = train_y[dev_index], train_y[val_index]\n", " \n", " pred_val_y, pred_test_y, model = runMNB(dev_X, dev_y, val_X, val_y, test_tfidf)\n", " \n", " pred_full_test = pred_full_test + pred_test_y\n", " pred_train[val_index,:] = pred_val_y\n", " cv_scores.append(metrics.log_loss(val_y, pred_val_y))\n", " \n", "print(\"Mean cv score : \", np.mean(cv_scores))\n", "pred_full_test = pred_full_test / 5.\n", "\n", "# add the predictions as new features #\n", "train_df[\"nb_cvec_eap\"] = pred_train[:,0]\n", "train_df[\"nb_cvec_hpl\"] = pred_train[:,1]\n", "train_df[\"nb_cvec_mws\"] = pred_train[:,2]\n", "test_df[\"nb_cvec_eap\"] = pred_full_test[:,0]\n", "test_df[\"nb_cvec_hpl\"] = pred_full_test[:,1]\n", "test_df[\"nb_cvec_mws\"] = pred_full_test[:,2]" ] }, { "cell_type": "code", "execution_count": 54, "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", " \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", " \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", "
idtextnum_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_len...svd_word_13svd_word_14svd_word_15svd_word_16svd_word_17svd_word_18svd_word_19nb_cvec_eapnb_cvec_hplnb_cvec_mws
0id02310Still, as I urged our leaving Ireland with suc...191911093134.842105...-0.0118370.036064-0.016591-0.025580-0.0187850.031289-0.0472200.0210180.0005950.978387
1id24541If a fire wanted fanning, it could readily be ...6249330337134.338710...-0.004397-0.000020-0.0085830.006335-0.0042160.0018100.0017670.9999850.0000090.000006
2id00134And when they had broken down the frail door t...3330189153014.757576...0.006063-0.003324-0.0094520.0132390.004852-0.0074780.0027860.2173250.7825270.000148
3id27757While I was thinking how I should possibly man...4134223195234.463415...0.004783-0.006865-0.0079600.0067630.002540-0.004558-0.0007280.7535910.2464080.000001
4id04081I am not sure to what limit his knowledge may ...11115361113.909091...-0.0018250.000123-0.0065040.002533-0.004004-0.0029020.0003150.9709500.0218240.007226
..................................................................
8387id11749All this is now the fitter for my purpose.994271013.777778...0.000610-0.0014960.001063-0.001688-0.005155-0.0039010.0019650.5659490.1060680.327983
8388id10526I fixed myself on a wide solitude.773441114.000000...-0.005626-0.006015-0.0086730.0056750.004995-0.004539-0.0002830.0315980.0334430.934959
8389id13477It is easily understood that what might improv...2524150112015.040000...-0.0061670.000023-0.0128480.006857-0.0055660.0066340.0117750.9997090.0001200.000171
8390id13761Be this as it may, I now began to feel the ins...3834197213234.210526...-0.010635-0.001895-0.004086-0.001623-0.002973-0.0072770.0044860.0006890.0000050.999307
8391id04282Long winded, statistical, and drearily genealo...3833247185015.526316...-0.003923-0.006325-0.006186-0.0079400.0098610.017919-0.0132860.0247050.9752870.000008
\n", "

8392 rows × 33 columns

\n", "
" ], "text/plain": [ " id text num_words \\\n", "0 id02310 Still, as I urged our leaving Ireland with suc... 19 \n", "1 id24541 If a fire wanted fanning, it could readily be ... 62 \n", "2 id00134 And when they had broken down the frail door t... 33 \n", "3 id27757 While I was thinking how I should possibly man... 41 \n", "4 id04081 I am not sure to what limit his knowledge may ... 11 \n", "... ... ... ... \n", "8387 id11749 All this is now the fitter for my purpose. 9 \n", "8388 id10526 I fixed myself on a wide solitude. 7 \n", "8389 id13477 It is easily understood that what might improv... 25 \n", "8390 id13761 Be this as it may, I now began to feel the ins... 38 \n", "8391 id04282 Long winded, statistical, and drearily genealo... 38 \n", "\n", " num_unique_words num_chars num_stopwords num_punctuations \\\n", "0 19 110 9 3 \n", "1 49 330 33 7 \n", "2 30 189 15 3 \n", "3 34 223 19 5 \n", "4 11 53 6 1 \n", "... ... ... ... ... \n", "8387 9 42 7 1 \n", "8388 7 34 4 1 \n", "8389 24 150 11 2 \n", "8390 34 197 21 3 \n", "8391 33 247 18 5 \n", "\n", " num_words_upper num_words_title mean_word_len ... svd_word_13 \\\n", "0 1 3 4.842105 ... -0.011837 \n", "1 1 3 4.338710 ... -0.004397 \n", "2 0 1 4.757576 ... 0.006063 \n", "3 2 3 4.463415 ... 0.004783 \n", "4 1 1 3.909091 ... -0.001825 \n", "... ... ... ... ... ... \n", "8387 0 1 3.777778 ... 0.000610 \n", "8388 1 1 4.000000 ... -0.005626 \n", "8389 0 1 5.040000 ... -0.006167 \n", "8390 2 3 4.210526 ... -0.010635 \n", "8391 0 1 5.526316 ... -0.003923 \n", "\n", " svd_word_14 svd_word_15 svd_word_16 svd_word_17 svd_word_18 \\\n", "0 0.036064 -0.016591 -0.025580 -0.018785 0.031289 \n", "1 -0.000020 -0.008583 0.006335 -0.004216 0.001810 \n", "2 -0.003324 -0.009452 0.013239 0.004852 -0.007478 \n", "3 -0.006865 -0.007960 0.006763 0.002540 -0.004558 \n", "4 0.000123 -0.006504 0.002533 -0.004004 -0.002902 \n", "... ... ... ... ... ... \n", "8387 -0.001496 0.001063 -0.001688 -0.005155 -0.003901 \n", "8388 -0.006015 -0.008673 0.005675 0.004995 -0.004539 \n", "8389 0.000023 -0.012848 0.006857 -0.005566 0.006634 \n", "8390 -0.001895 -0.004086 -0.001623 -0.002973 -0.007277 \n", "8391 -0.006325 -0.006186 -0.007940 0.009861 0.017919 \n", "\n", " svd_word_19 nb_cvec_eap nb_cvec_hpl nb_cvec_mws \n", "0 -0.047220 0.021018 0.000595 0.978387 \n", "1 0.001767 0.999985 0.000009 0.000006 \n", "2 0.002786 0.217325 0.782527 0.000148 \n", "3 -0.000728 0.753591 0.246408 0.000001 \n", "4 0.000315 0.970950 0.021824 0.007226 \n", "... ... ... ... ... \n", "8387 0.001965 0.565949 0.106068 0.327983 \n", "8388 -0.000283 0.031598 0.033443 0.934959 \n", "8389 0.011775 0.999709 0.000120 0.000171 \n", "8390 0.004486 0.000689 0.000005 0.999307 \n", "8391 -0.013286 0.024705 0.975287 0.000008 \n", "\n", "[8392 rows x 33 columns]" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_df" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "_cell_guid": "5d412e2f-8988-4895-9434-33df93c263db", "_kg_hide-input": true, "_uuid": "75658bb392011311ffefbfc562483ac5e11a0cab" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cnf_matrix = confusion_matrix(val_y, np.argmax(pred_val_y,axis=1))\n", "np.set_printoptions(precision=2)\n", "\n", "# Plot non-normalized confusion matrix\n", "plt.figure(figsize=(8,8))\n", "plot_confusion_matrix(cnf_matrix, classes=['EAP', 'HPL', 'MWS'],\n", " title='Confusion matrix of NB on word count, without normalization')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "5a5d31ea-278c-432a-9840-ca9209410ff7", "_uuid": "fb099e48fde5f3960bc2409d323749e855b2e269" }, "source": [ "우와. tfidf vectorizer 대신 count vectorizer를 사용하여 0.451의 교차 검증 mlogloss를 얻었습니다. 이 모델을 사용한 LB 점수는 0.468입니다. 또한 혼동 행렬은 이전 것보다 훨씬 좋아 보입니다.\n", "\n", "** Character Count Vectorizer의 Naive Bayes:**\n", "\n", "\"데이터 아이볼링\"의 한 가지 아이디어는 특수 문자를 계산하는 것이 도움이 될 수 있다는 것입니다. 특수 문자를 계산하는 대신 문자 수준에서 count vectorizer를 사용하여 일부 기능을 얻을 수 있습니다. 다시 다항식 NB를 실행할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "_cell_guid": "aed10880-e717-4a04-85b9-a77f8f58aee9", "_uuid": "d26ba4563285c10418479465e10de172f527f2a5" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean cv score : 3.7507639226818825\n" ] } ], "source": [ "### Fit transform the tfidf vectorizer ###\n", "tfidf_vec = CountVectorizer(ngram_range=(1,7), analyzer='char')\n", "\n", "tfidf_vec.fit(train_df['text'].values.tolist() + test_df['text'].values.tolist())\n", "train_tfidf = tfidf_vec.transform(train_df['text'].values.tolist())\n", "test_tfidf = tfidf_vec.transform(test_df['text'].values.tolist())\n", "\n", "kf = KFold(n_splits=5, shuffle=True, random_state=2017)\n", "cv_scores = []\n", "pred_full_test = 0\n", "pred_train = np.zeros([train_df.shape[0], 3])\n", "\n", "for dev_index, val_index in kf.split(train_X):\n", " dev_X, val_X = train_tfidf[dev_index], train_tfidf[val_index]\n", " dev_y, val_y = train_y[dev_index], train_y[val_index]\n", "\n", " pred_val_y, pred_test_y, model = runMNB(dev_X, dev_y, val_X, val_y, test_tfidf)\n", " \n", " pred_full_test = pred_full_test + pred_test_y\n", " pred_train[val_index,:] = pred_val_y\n", " cv_scores.append(metrics.log_loss(val_y, pred_val_y))\n", " \n", "print(\"Mean cv score : \", np.mean(cv_scores))\n", "pred_full_test = pred_full_test / 5.\n", "\n", "# add the predictions as new features #\n", "train_df[\"nb_cvec_char_eap\"] = pred_train[:,0]\n", "train_df[\"nb_cvec_char_hpl\"] = pred_train[:,1]\n", "train_df[\"nb_cvec_char_mws\"] = pred_train[:,2]\n", "test_df[\"nb_cvec_char_eap\"] = pred_full_test[:,0]\n", "test_df[\"nb_cvec_char_hpl\"] = pred_full_test[:,1]\n", "test_df[\"nb_cvec_char_mws\"] = pred_full_test[:,2]" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "55e95b9a-807b-4e99-bf95-069a11e07a64", "_uuid": "227e565a4a8a6aa04dcfb648688bf0deb0853910" }, "source": [ "교차검증점수는 매우 높고 3.75입니다. \n", "그러나 이것은 단어 수준 변수와 다른 정보를 추가할 수 있으므로 최종 모델에도 사용하겠습니다.\n", "\n", "**Character Tfidf Vectorizer의 Naive Bayes:**\n", "\n", "또한 문자 tfidf 벡터라이저에 대한 나이브 베이즈 예측을 얻도록 합시다." ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "_cell_guid": "a15097b8-f9c7-4b3b-815e-a8f4a5f2558e", "_uuid": "bfeaa62ae81e2af3fdb595422f08f560506c1f42" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean cv score : 0.790415258947421\n" ] } ], "source": [ "### Fit transform the tfidf vectorizer ###\n", "tfidf_vec = TfidfVectorizer(ngram_range=(1,5), analyzer='char')\n", "\n", "full_tfidf = tfidf_vec.fit_transform(train_df['text'].values.tolist() + test_df['text'].values.tolist())\n", "train_tfidf = tfidf_vec.transform(train_df['text'].values.tolist())\n", "test_tfidf = tfidf_vec.transform(test_df['text'].values.tolist())\n", "\n", "kf = KFold(n_splits=5, shuffle=True, random_state=2017)\n", "cv_scores = []\n", "pred_full_test = 0\n", "pred_train = np.zeros([train_df.shape[0], 3])\n", "\n", "for dev_index, val_index in kf.split(train_X):\n", " dev_X, val_X = train_tfidf[dev_index], train_tfidf[val_index]\n", " dev_y, val_y = train_y[dev_index], train_y[val_index]\n", "\n", " pred_val_y, pred_test_y, model = runMNB(dev_X, dev_y, val_X, val_y, test_tfidf)\n", " \n", " pred_full_test = pred_full_test + pred_test_y\n", " pred_train[val_index,:] = pred_val_y\n", " cv_scores.append(metrics.log_loss(val_y, pred_val_y))\n", "print(\"Mean cv score : \", np.mean(cv_scores))\n", "pred_full_test = pred_full_test / 5.\n", "\n", "# add the predictions as new features #\n", "train_df[\"nb_tfidf_char_eap\"] = pred_train[:,0]\n", "train_df[\"nb_tfidf_char_hpl\"] = pred_train[:,1]\n", "train_df[\"nb_tfidf_char_mws\"] = pred_train[:,2]\n", "test_df[\"nb_tfidf_char_eap\"] = pred_full_test[:,0]\n", "test_df[\"nb_tfidf_char_hpl\"] = pred_full_test[:,1]\n", "test_df[\"nb_tfidf_char_mws\"] = pred_full_test[:,2]" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "c807a434-c6d8-4a6c-a592-76c70bd043fe", "_uuid": "af6e2880a16f96304bd6556ed67d9eac5491a3bc" }, "source": [ "**캐릭터 TFIDF의 SVD:**\n", "\n", "또한 캐릭터 tfidf 변수에 svd 기능을 생성하고 모델링에 사용할 수도 있습니다." ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "_cell_guid": "a764f24e-b48d-4460-9f1b-d242599049bd", "_uuid": "bd34ef340648d0f9f000a916d8cbcb258dc22838" }, "outputs": [], "source": [ "n_comp = 20\n", "svd_obj = TruncatedSVD(n_components=n_comp, algorithm='arpack')\n", "svd_obj.fit(full_tfidf)\n", "train_svd = pd.DataFrame(svd_obj.transform(train_tfidf))\n", "test_svd = pd.DataFrame(svd_obj.transform(test_tfidf))\n", " \n", "train_svd.columns = ['svd_char_'+str(i) for i in range(n_comp)]\n", "test_svd.columns = ['svd_char_'+str(i) for i in range(n_comp)]\n", "train_df = pd.concat([train_df, train_svd], axis=1)\n", "test_df = pd.concat([test_df, test_svd], axis=1)\n", "del full_tfidf, train_tfidf, test_tfidf, train_svd, test_svd" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "365abbc9-d630-4075-a2aa-c025d146d6aa", "_uuid": "0577ac7e16cd158944d1ee3c27ca92c588e2d10a" }, "source": [ "**XGBoost 모델:**\n", "\n", "이제 이러한 새 변수를 사용하여 xgboost 모델을 다시 실행하고 결과를 평가할 수 있습니다." ] }, { "cell_type": "code", "execution_count": 62, "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", " \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", " \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", "
num_wordsnum_unique_wordsnum_charsnum_stopwordsnum_punctuationsnum_words_uppernum_words_titlemean_word_lensvd_word_0svd_word_1...svd_char_10svd_char_11svd_char_12svd_char_13svd_char_14svd_char_15svd_char_16svd_char_17svd_char_18svd_char_19
0191911093134.8421050.024516-0.010185...-0.077185-0.0065590.0056160.020747-0.0659070.0530550.040820-0.0608820.010134-0.003119
16249330337134.3387100.022294-0.011968...0.0164150.0117920.0134760.083765-0.0274040.055122-0.067695-0.0030330.0298630.006638
23330189153014.7575760.016906-0.008934...0.0119260.0225610.042856-0.0019810.058037-0.027065-0.0042070.026371-0.0237640.021925
34134223195234.4634150.013408-0.007515...-0.042390-0.0565760.053759-0.0269240.0707880.000571-0.033236-0.0718190.017313-0.027750
411115361113.9090910.012565-0.003185...0.0067900.042263-0.018383-0.0396780.017349-0.002632-0.0147370.061780-0.0553440.054694
..................................................................
8387994271013.7777780.006477-0.004209...0.0405770.0572880.039300-0.0645710.0136090.037641-0.0571160.055621-0.0218320.040692
8388773441114.0000000.011401-0.006803...0.014870-0.0466290.011422-0.0525630.0553450.014132-0.028990-0.036881-0.0176900.022852
83892524150112015.0400000.024211-0.013763...0.0229890.0146060.000173-0.044822-0.0652770.018879-0.0075560.0192180.024902-0.025109
83903834197213234.2105260.025443-0.013794...-0.0434910.046127-0.041112-0.021125-0.0308120.0201610.039208-0.055308-0.040508-0.018515
83913833247185015.5263160.021897-0.010181...-0.004355-0.0212530.0181190.031552-0.038812-0.0147920.0521560.022833-0.002455-0.028240
\n", "

8392 rows × 57 columns

\n", "
" ], "text/plain": [ " num_words num_unique_words num_chars num_stopwords num_punctuations \\\n", "0 19 19 110 9 3 \n", "1 62 49 330 33 7 \n", "2 33 30 189 15 3 \n", "3 41 34 223 19 5 \n", "4 11 11 53 6 1 \n", "... ... ... ... ... ... \n", "8387 9 9 42 7 1 \n", "8388 7 7 34 4 1 \n", "8389 25 24 150 11 2 \n", "8390 38 34 197 21 3 \n", "8391 38 33 247 18 5 \n", "\n", " num_words_upper num_words_title mean_word_len svd_word_0 svd_word_1 \\\n", "0 1 3 4.842105 0.024516 -0.010185 \n", "1 1 3 4.338710 0.022294 -0.011968 \n", "2 0 1 4.757576 0.016906 -0.008934 \n", "3 2 3 4.463415 0.013408 -0.007515 \n", "4 1 1 3.909091 0.012565 -0.003185 \n", "... ... ... ... ... ... \n", "8387 0 1 3.777778 0.006477 -0.004209 \n", "8388 1 1 4.000000 0.011401 -0.006803 \n", "8389 0 1 5.040000 0.024211 -0.013763 \n", "8390 2 3 4.210526 0.025443 -0.013794 \n", "8391 0 1 5.526316 0.021897 -0.010181 \n", "\n", " ... svd_char_10 svd_char_11 svd_char_12 svd_char_13 svd_char_14 \\\n", "0 ... -0.077185 -0.006559 0.005616 0.020747 -0.065907 \n", "1 ... 0.016415 0.011792 0.013476 0.083765 -0.027404 \n", "2 ... 0.011926 0.022561 0.042856 -0.001981 0.058037 \n", "3 ... -0.042390 -0.056576 0.053759 -0.026924 0.070788 \n", "4 ... 0.006790 0.042263 -0.018383 -0.039678 0.017349 \n", "... ... ... ... ... ... ... \n", "8387 ... 0.040577 0.057288 0.039300 -0.064571 0.013609 \n", "8388 ... 0.014870 -0.046629 0.011422 -0.052563 0.055345 \n", "8389 ... 0.022989 0.014606 0.000173 -0.044822 -0.065277 \n", "8390 ... -0.043491 0.046127 -0.041112 -0.021125 -0.030812 \n", "8391 ... -0.004355 -0.021253 0.018119 0.031552 -0.038812 \n", "\n", " svd_char_15 svd_char_16 svd_char_17 svd_char_18 svd_char_19 \n", "0 0.053055 0.040820 -0.060882 0.010134 -0.003119 \n", "1 0.055122 -0.067695 -0.003033 0.029863 0.006638 \n", "2 -0.027065 -0.004207 0.026371 -0.023764 0.021925 \n", "3 0.000571 -0.033236 -0.071819 0.017313 -0.027750 \n", "4 -0.002632 -0.014737 0.061780 -0.055344 0.054694 \n", "... ... ... ... ... ... \n", "8387 0.037641 -0.057116 0.055621 -0.021832 0.040692 \n", "8388 0.014132 -0.028990 -0.036881 -0.017690 0.022852 \n", "8389 0.018879 -0.007556 0.019218 0.024902 -0.025109 \n", "8390 0.020161 0.039208 -0.055308 -0.040508 -0.018515 \n", "8391 -0.014792 0.052156 0.022833 -0.002455 -0.028240 \n", "\n", "[8392 rows x 57 columns]" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "test_X" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "_cell_guid": "7091aede-e589-45d9-9a85-1560af442725", "_uuid": "633eb97dc8b15a7959b962c20222697590071af7" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[18:55:51] WARNING: C:/Users/Administrator/workspace/xgboost-win64_release_1.5.1/src/learner.cc:576: \n", "Parameters: { \"silent\" } might not be used.\n", "\n", " This could be a false alarm, with some parameters getting used by language bindings but\n", " then being mistakenly passed down to XGBoost core, or some parameter actually being used\n", " but getting flagged wrongly here. Please open an issue if you find any such cases.\n", "\n", "\n", "[0]\ttrain-mlogloss:1.00354\ttest-mlogloss:1.00354\n", "[20]\ttrain-mlogloss:0.40979\ttest-mlogloss:0.41471\n", "[40]\ttrain-mlogloss:0.33858\ttest-mlogloss:0.35061\n", "[60]\ttrain-mlogloss:0.31308\ttest-mlogloss:0.33272\n", "[80]\ttrain-mlogloss:0.29566\ttest-mlogloss:0.32390\n", "[100]\ttrain-mlogloss:0.28243\ttest-mlogloss:0.31827\n", "[120]\ttrain-mlogloss:0.27152\ttest-mlogloss:0.31475\n", "[140]\ttrain-mlogloss:0.26187\ttest-mlogloss:0.31187\n", "[160]\ttrain-mlogloss:0.25342\ttest-mlogloss:0.30982\n", "[180]\ttrain-mlogloss:0.24557\ttest-mlogloss:0.30863\n", "[200]\ttrain-mlogloss:0.23779\ttest-mlogloss:0.30748\n", "[220]\ttrain-mlogloss:0.23124\ttest-mlogloss:0.30644\n", "[240]\ttrain-mlogloss:0.22498\ttest-mlogloss:0.30562\n", "[260]\ttrain-mlogloss:0.21865\ttest-mlogloss:0.30576\n", "[280]\ttrain-mlogloss:0.21249\ttest-mlogloss:0.30538\n", "[300]\ttrain-mlogloss:0.20648\ttest-mlogloss:0.30545\n", "[320]\ttrain-mlogloss:0.20132\ttest-mlogloss:0.30555\n", "[340]\ttrain-mlogloss:0.19604\ttest-mlogloss:0.30558\n", "[344]\ttrain-mlogloss:0.19489\ttest-mlogloss:0.30562\n", "cv scores : [0.30519857905295633]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\HOME\\anaconda3\\lib\\site-packages\\xgboost\\core.py:105: UserWarning: ntree_limit is deprecated, use `iteration_range` or model slicing instead.\n", " warnings.warn(\n" ] } ], "source": [ "cols_to_drop = ['id', 'text']\n", "train_X = train_df.drop(cols_to_drop+['author'], axis=1)\n", "test_X = test_df.drop(cols_to_drop, axis=1)\n", "\n", "kf = KFold(n_splits=5, shuffle=True, random_state=2017)\n", "cv_scores = []\n", "pred_full_test = 0\n", "pred_train = np.zeros([train_df.shape[0], 3])\n", "\n", "for dev_index, val_index in kf.split(train_X):\n", " dev_X, val_X = train_X.loc[dev_index], train_X.loc[val_index]\n", " dev_y, val_y = train_y[dev_index], train_y[val_index]\n", "\n", " pred_val_y, pred_test_y, model = runXGB(dev_X, dev_y, val_X, val_y, test_X, seed_val=0, colsample=0.7)\n", " \n", " pred_full_test = pred_full_test + pred_test_y\n", " pred_train[val_index,:] = pred_val_y\n", " cv_scores.append(metrics.log_loss(val_y, pred_val_y))\n", " break\n", "print(\"cv scores : \", cv_scores)\n", "\n", "out_df = pd.DataFrame(pred_full_test)\n", "out_df.columns = ['EAP', 'HPL', 'MWS']\n", "out_df.insert(0, 'id', test_id)\n", "out_df.to_csv(\"sub_fe.csv\", index=False)" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "7d93a2d6-435a-46bb-a522-c4d6b03d84f0", "_uuid": "4512493a6527cc244b9c47eb1ed9ff0dbce5eb5a" }, "source": [ "**이것은 0.3055의 val 점수와 0.32xx의 LB 점수를 가지고 있습니다** 모든 폴드에서 실행하면 더 나은 점수를 얻을 수 있습니다. 이제 중요한 변수를 다시 확인해보자." ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "_cell_guid": "ed36de2b-e0bb-42e6-bed8-bbbdeb513ba5", "_uuid": "ddefa6111b588449df9f2abbc541c0ca051174ab" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "### Plot the important variables ###\n", "fig, ax = plt.subplots(figsize=(12,12))\n", "xgb.plot_importance(model, max_num_features=50, height=0.8, ax=ax)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "c4b258fe-ac27-4d5b-908c-eda43670fbf7", "_uuid": "c818e95a21559bdb4def3aed522b6616eb1a9de8" }, "source": [ "Naive Bayes 변수는 예상대로 최고의 변수입니다. 이제 오분류 오류를 확인하기 위해 정오분류표를 구해 보겠습니다." ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "_cell_guid": "2f3aaa7b-396c-426b-89b3-1e66385946fd", "_uuid": "c195596cd7dff2de98bddec1453e30d8d5511169" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cnf_matrix = confusion_matrix(val_y, np.argmax(pred_val_y,axis=1))\n", "np.set_printoptions(precision=2)\n", "\n", "# Plot non-normalized confusion matrix\n", "plt.figure(figsize=(8,8))\n", "plot_confusion_matrix(cnf_matrix, classes=['EAP', 'HPL', 'MWS'],\n", " title='Confusion matrix of XGB, without normalization')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "855a4e2b-d377-4a91-bac9-4202119c8666", "_uuid": "5e40512bdaf05ffbd7a1914735c46784d7c33329" }, "source": [ "EAP와 MWS는 다른 것보다 더 자주 잘못 분류되는 것 같습니다. 이 쌍에 대한 예측을 개선하는 기능을 잠재적으로 생성할 수 있습니다.\n", "\n", "**이 FE 노트북의 다음 단계:**\n", "* 단어 임베딩 기반 기능 사용\n", "* 기타 메타 기능이 있는 경우\n", "* 문장에 대한 감상" ] }, { "cell_type": "markdown", "metadata": { "_cell_guid": "7a43b172-b6b6-4fd2-89d6-7300672cc462", "_uuid": "117205aae679d7b6481df1c446cd42f41cf924de" }, "source": [ "**추가 개선을 위한 아이디어:**\n", "* tfidf 및 카운트 벡터라이저에 대한 매개변수 조정\n", "* 나이브 베이즈 및 XGB 모델에 대한 매개변수 조정\n", "* 다른 모델과의 앙상블/스태킹" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.7" } }, "nbformat": 4, "nbformat_minor": 1 }