diff --git a/notebooks/1_audio_files.ipynb b/notebooks/1_audio_files.ipynb index f358a43002abfa65a8ff1a07084c7ebd8a9874a9..1d15ab38305c258ecf337207046570b2ad985fdc 100644 --- a/notebooks/1_audio_files.ipynb +++ b/notebooks/1_audio_files.ipynb @@ -6,10 +6,10 @@ "metadata": { "collapsed": false, "papermill": { - "duration": 0.002827, - "end_time": "2024-02-19T14:22:35.188097", + "duration": 0.003462, + "end_time": "2024-02-19T15:59:02.314051", "exception": false, - "start_time": "2024-02-19T14:22:35.185270", + "start_time": "2024-02-19T15:59:02.310589", "status": "completed" }, "tags": [] @@ -22,21 +22,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "87ab37c6", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:22:35.197216Z", - "iopub.status.busy": "2024-02-19T14:22:35.196436Z", - "iopub.status.idle": "2024-02-19T14:22:35.210335Z", - "shell.execute_reply": "2024-02-19T14:22:35.209728Z" + "iopub.execute_input": "2024-02-19T15:59:02.327622Z", + "iopub.status.busy": "2024-02-19T15:59:02.326579Z", + "iopub.status.idle": "2024-02-19T15:59:02.348049Z", + "shell.execute_reply": "2024-02-19T15:59:02.347153Z" }, "papermill": { - "duration": 0.021476, - "end_time": "2024-02-19T14:22:35.213177", + "duration": 0.031295, + "end_time": "2024-02-19T15:59:02.351197", "exception": false, - "start_time": "2024-02-19T14:22:35.191701", + "start_time": "2024-02-19T15:59:02.319902", "status": "completed" }, "tags": [] @@ -52,20 +52,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "1b4e6b01", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:22:35.226807Z", - "iopub.status.busy": "2024-02-19T14:22:35.226532Z", - "iopub.status.idle": "2024-02-19T14:22:35.230103Z", - "shell.execute_reply": "2024-02-19T14:22:35.229553Z" + "iopub.execute_input": "2024-02-19T15:59:02.356117Z", + "iopub.status.busy": "2024-02-19T15:59:02.355798Z", + "iopub.status.idle": "2024-02-19T15:59:02.360028Z", + "shell.execute_reply": "2024-02-19T15:59:02.359326Z" }, "papermill": { - "duration": 0.015406, - "end_time": "2024-02-19T14:22:35.234431", + "duration": 0.008535, + "end_time": "2024-02-19T15:59:02.361471", "exception": false, - "start_time": "2024-02-19T14:22:35.219025", + "start_time": "2024-02-19T15:59:02.352936", "status": "completed" }, "tags": [ @@ -83,20 +83,20 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "1a6df3b0", + "execution_count": 3, + "id": "98cd736a", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:22:35.246368Z", - "iopub.status.busy": "2024-02-19T14:22:35.246128Z", - "iopub.status.idle": "2024-02-19T14:22:35.249816Z", - "shell.execute_reply": "2024-02-19T14:22:35.249076Z" + "iopub.execute_input": "2024-02-19T15:59:02.367644Z", + "iopub.status.busy": "2024-02-19T15:59:02.366517Z", + "iopub.status.idle": "2024-02-19T15:59:02.371496Z", + "shell.execute_reply": "2024-02-19T15:59:02.370757Z" }, "papermill": { - "duration": 0.014063, - "end_time": "2024-02-19T14:22:35.253487", + "duration": 0.009758, + "end_time": "2024-02-19T15:59:02.373032", "exception": false, - "start_time": "2024-02-19T14:22:35.239424", + "start_time": "2024-02-19T15:59:02.363274", "status": "completed" }, "tags": [ @@ -114,21 +114,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "1e487573", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:22:35.268441Z", - "iopub.status.busy": "2024-02-19T14:22:35.268216Z", - "iopub.status.idle": "2024-02-19T14:22:37.658264Z", - "shell.execute_reply": "2024-02-19T14:22:37.657175Z" + "iopub.execute_input": "2024-02-19T15:59:02.378724Z", + "iopub.status.busy": "2024-02-19T15:59:02.378029Z", + "iopub.status.idle": "2024-02-19T15:59:04.421445Z", + "shell.execute_reply": "2024-02-19T15:59:04.420599Z" }, "papermill": { - "duration": 2.399644, - "end_time": "2024-02-19T14:22:37.659988", + "duration": 2.049844, + "end_time": "2024-02-19T15:59:04.424787", "exception": false, - "start_time": "2024-02-19T14:22:35.260344", + "start_time": "2024-02-19T15:59:02.374943", "status": "completed" }, "tags": [] @@ -147,21 +147,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "c3193f35", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:22:41.587206Z", - "iopub.status.busy": "2024-02-19T14:22:41.586850Z", - "iopub.status.idle": "2024-02-19T14:22:50.322796Z", - "shell.execute_reply": "2024-02-19T14:22:50.321438Z" + "iopub.execute_input": "2024-02-19T15:59:04.434808Z", + "iopub.status.busy": "2024-02-19T15:59:04.434579Z", + "iopub.status.idle": "2024-02-19T15:59:05.013700Z", + "shell.execute_reply": "2024-02-19T15:59:05.012813Z" }, "papermill": { - "duration": 12.662069, - "end_time": "2024-02-19T14:22:50.325748", + "duration": 0.587146, + "end_time": "2024-02-19T15:59:05.016708", "exception": false, - "start_time": "2024-02-19T14:22:37.663679", + "start_time": "2024-02-19T15:59:04.429562", "status": "completed" }, "tags": [] @@ -178,21 +178,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "3272ea2b", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:22:53.398900Z", - "iopub.status.busy": "2024-02-19T14:22:53.398496Z", - "iopub.status.idle": "2024-02-19T14:23:07.669165Z", - "shell.execute_reply": "2024-02-19T14:23:07.668493Z" + "iopub.execute_input": "2024-02-19T15:59:05.025319Z", + "iopub.status.busy": "2024-02-19T15:59:05.025032Z", + "iopub.status.idle": "2024-02-19T15:59:18.218309Z", + "shell.execute_reply": "2024-02-19T15:59:18.217783Z" }, "papermill": { - "duration": 17.342532, - "end_time": "2024-02-19T14:23:07.670894", + "duration": 13.198317, + "end_time": "2024-02-19T15:59:18.220016", "exception": false, - "start_time": "2024-02-19T14:22:50.328362", + "start_time": "2024-02-19T15:59:05.021699", "status": "completed" }, "tags": [] @@ -227,8 +227,8 @@ }, "papermill": { "default_parameters": {}, - "duration": 33.475391, - "end_time": "2024-02-19T14:23:07.891562", + "duration": 16.950421, + "end_time": "2024-02-19T15:59:18.440494", "environment_variables": {}, "exception": null, "input_path": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/1_audio_files.ipynb", @@ -239,10 +239,10 @@ "audio_tar": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/1_audio_files/output/emotifymusic.tar.gz" } }, - "start_time": "2024-02-19T14:22:34.416171", + "start_time": "2024-02-19T15:59:01.490073", "version": "2.4.0" } }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file diff --git a/notebooks/2_generate_features.ipynb b/notebooks/2_generate_features.ipynb index 2911ef2226f559617d26c709001e32e036e341f1..9db55c9285abdb6e507929c01ad5ecdd90ceba12 100644 --- a/notebooks/2_generate_features.ipynb +++ b/notebooks/2_generate_features.ipynb @@ -5,10 +5,10 @@ "id": "699a83ce", "metadata": { "papermill": { - "duration": 0.002734, - "end_time": "2024-02-19T14:35:12.487106", + "duration": 0.002891, + "end_time": "2024-02-19T16:03:56.025078", "exception": false, - "start_time": "2024-02-19T14:35:12.484372", + "start_time": "2024-02-19T16:03:56.022187", "status": "completed" }, "tags": [] @@ -19,21 +19,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "6463a609", "metadata": { "collapsed": true, "execution": { - "iopub.execute_input": "2024-02-19T14:35:12.495437Z", - "iopub.status.busy": "2024-02-19T14:35:12.494602Z", - "iopub.status.idle": "2024-02-19T14:35:13.435750Z", - "shell.execute_reply": "2024-02-19T14:35:13.435185Z" + "iopub.execute_input": "2024-02-19T16:03:56.033330Z", + "iopub.status.busy": "2024-02-19T16:03:56.032717Z", + "iopub.status.idle": "2024-02-19T16:03:57.043146Z", + "shell.execute_reply": "2024-02-19T16:03:57.042598Z" }, "papermill": { - "duration": 0.948005, - "end_time": "2024-02-19T14:35:13.437731", + "duration": 1.016866, + "end_time": "2024-02-19T16:03:57.045210", "exception": false, - "start_time": "2024-02-19T14:35:12.489726", + "start_time": "2024-02-19T16:03:56.028344", "status": "completed" }, "tags": [] @@ -52,20 +52,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "f025335b", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:35:13.450562Z", - "iopub.status.busy": "2024-02-19T14:35:13.450137Z", - "iopub.status.idle": "2024-02-19T14:35:13.455421Z", - "shell.execute_reply": "2024-02-19T14:35:13.454728Z" + "iopub.execute_input": "2024-02-19T16:03:57.052023Z", + "iopub.status.busy": "2024-02-19T16:03:57.051703Z", + "iopub.status.idle": "2024-02-19T16:03:57.056260Z", + "shell.execute_reply": "2024-02-19T16:03:57.055710Z" }, "papermill": { - "duration": 0.013079, - "end_time": "2024-02-19T14:35:13.456656", + "duration": 0.009858, + "end_time": "2024-02-19T16:03:57.057724", "exception": false, - "start_time": "2024-02-19T14:35:13.443577", + "start_time": "2024-02-19T16:03:57.047866", "status": "completed" }, "tags": [ @@ -87,20 +87,20 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "f640e1a8", + "execution_count": 3, + "id": "06b6b78a", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:35:13.463709Z", - "iopub.status.busy": "2024-02-19T14:35:13.463411Z", - "iopub.status.idle": "2024-02-19T14:35:13.467081Z", - "shell.execute_reply": "2024-02-19T14:35:13.466383Z" + "iopub.execute_input": "2024-02-19T16:03:57.063117Z", + "iopub.status.busy": "2024-02-19T16:03:57.062809Z", + "iopub.status.idle": "2024-02-19T16:03:57.066230Z", + "shell.execute_reply": "2024-02-19T16:03:57.065646Z" }, "papermill": { - "duration": 0.00948, - "end_time": "2024-02-19T14:35:13.468246", + "duration": 0.00758, + "end_time": "2024-02-19T16:03:57.067459", "exception": false, - "start_time": "2024-02-19T14:35:13.458766", + "start_time": "2024-02-19T16:03:57.059879", "status": "completed" }, "tags": [ @@ -120,20 +120,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "10f1b3cd", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:35:13.476383Z", - "iopub.status.busy": "2024-02-19T14:35:13.476130Z", - "iopub.status.idle": "2024-02-19T14:35:15.995681Z", - "shell.execute_reply": "2024-02-19T14:35:15.994777Z" + "iopub.execute_input": "2024-02-19T16:03:57.072677Z", + "iopub.status.busy": "2024-02-19T16:03:57.072264Z", + "iopub.status.idle": "2024-02-19T16:03:59.604978Z", + "shell.execute_reply": "2024-02-19T16:03:59.604181Z" }, "papermill": { - "duration": 2.524776, - "end_time": "2024-02-19T14:35:15.997391", + "duration": 2.537021, + "end_time": "2024-02-19T16:03:59.606647", "exception": false, - "start_time": "2024-02-19T14:35:13.472615", + "start_time": "2024-02-19T16:03:57.069626", "status": "completed" }, "tags": [] @@ -154,20 +154,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "469af6f9", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:35:16.009955Z", - "iopub.status.busy": "2024-02-19T14:35:16.009249Z", - "iopub.status.idle": "2024-02-19T14:35:16.014300Z", - "shell.execute_reply": "2024-02-19T14:35:16.013355Z" + "iopub.execute_input": "2024-02-19T16:03:59.612322Z", + "iopub.status.busy": "2024-02-19T16:03:59.612082Z", + "iopub.status.idle": "2024-02-19T16:03:59.616130Z", + "shell.execute_reply": "2024-02-19T16:03:59.615602Z" }, "papermill": { - "duration": 0.015977, - "end_time": "2024-02-19T14:35:16.016309", + "duration": 0.008779, + "end_time": "2024-02-19T16:03:59.617814", "exception": false, - "start_time": "2024-02-19T14:35:16.000332", + "start_time": "2024-02-19T16:03:59.609035", "status": "completed" }, "tags": [] @@ -184,20 +184,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "316f6c17", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:35:16.023046Z", - "iopub.status.busy": "2024-02-19T14:35:16.022656Z", - "iopub.status.idle": "2024-02-19T14:37:44.291512Z", - "shell.execute_reply": "2024-02-19T14:37:44.290809Z" + "iopub.execute_input": "2024-02-19T16:03:59.622777Z", + "iopub.status.busy": "2024-02-19T16:03:59.622490Z", + "iopub.status.idle": "2024-02-19T16:06:13.227256Z", + "shell.execute_reply": "2024-02-19T16:06:13.226672Z" }, "papermill": { - "duration": 148.274774, - "end_time": "2024-02-19T14:37:44.293716", + "duration": 133.609556, + "end_time": "2024-02-19T16:06:13.229386", "exception": false, - "start_time": "2024-02-19T14:35:16.018942", + "start_time": "2024-02-19T16:03:59.619830", "status": "completed" }, "tags": [] @@ -224,25 +224,400 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "acc9bae8", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:37:44.309622Z", - "iopub.status.busy": "2024-02-19T14:37:44.309323Z", - "iopub.status.idle": "2024-02-19T14:37:44.982496Z", - "shell.execute_reply": "2024-02-19T14:37:44.981648Z" + "iopub.execute_input": "2024-02-19T16:06:13.242502Z", + "iopub.status.busy": "2024-02-19T16:06:13.242214Z", + "iopub.status.idle": "2024-02-19T16:06:13.861230Z", + "shell.execute_reply": "2024-02-19T16:06:13.860708Z" }, "papermill": { - "duration": 0.683008, - "end_time": "2024-02-19T14:37:44.983803", + "duration": 0.631369, + "end_time": "2024-02-19T16:06:13.864597", "exception": false, - "start_time": "2024-02-19T14:37:44.300795", + "start_time": "2024-02-19T16:06:13.233228", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>sample</th>\n", + " <th>filename</th>\n", + " <th>label</th>\n", + " <th>0</th>\n", + " <th>1</th>\n", + " <th>2</th>\n", + " <th>3</th>\n", + " <th>4</th>\n", + " <th>5</th>\n", + " <th>6</th>\n", + " <th>...</th>\n", + " <th>30</th>\n", + " <th>31</th>\n", + " <th>32</th>\n", + " <th>33</th>\n", + " <th>34</th>\n", + " <th>35</th>\n", + " <th>36</th>\n", + " <th>37</th>\n", + " <th>38</th>\n", + " <th>39</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>0</td>\n", + " <td>classical_8.mp3</td>\n", + " <td>classical</td>\n", + " <td>-513.835449</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>...</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " <td>0.000000</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>1</td>\n", + " <td>classical_8.mp3</td>\n", + " <td>classical</td>\n", + " <td>-430.772858</td>\n", + " <td>99.951447</td>\n", + " <td>61.102493</td>\n", + " <td>28.070032</td>\n", + " <td>15.340330</td>\n", + " <td>15.008282</td>\n", + " <td>11.502503</td>\n", + " <td>...</td>\n", + " <td>-4.017534</td>\n", + " <td>-2.689229</td>\n", + " <td>-2.293572</td>\n", + " <td>-2.991963</td>\n", + " <td>-3.644343</td>\n", + " <td>-4.003089</td>\n", + " <td>-4.528318</td>\n", + " <td>-4.626081</td>\n", + " <td>-2.798346</td>\n", + " <td>0.923011</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>2</td>\n", + " <td>classical_8.mp3</td>\n", + " <td>classical</td>\n", + " <td>-312.093567</td>\n", + " <td>159.784668</td>\n", + " <td>31.906086</td>\n", + " <td>25.901234</td>\n", + " <td>6.815042</td>\n", + " <td>3.911939</td>\n", + " <td>21.410465</td>\n", + " <td>...</td>\n", + " <td>3.267372</td>\n", + " <td>-2.944059</td>\n", + " <td>-7.677339</td>\n", + " <td>-3.628831</td>\n", + " <td>-4.110184</td>\n", + " <td>-14.840838</td>\n", + " <td>-3.495162</td>\n", + " <td>8.776964</td>\n", + " <td>-4.981813</td>\n", + " <td>-10.156776</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>3</td>\n", + " <td>classical_8.mp3</td>\n", + " <td>classical</td>\n", + " <td>-243.798019</td>\n", + " <td>168.200287</td>\n", + " <td>16.092997</td>\n", + " <td>34.248627</td>\n", + " <td>3.439126</td>\n", + " <td>4.217156</td>\n", + " <td>16.333824</td>\n", + " <td>...</td>\n", + " <td>8.645699</td>\n", + " <td>-5.766571</td>\n", + " <td>-5.486410</td>\n", + " <td>-3.288999</td>\n", + " <td>-3.853479</td>\n", + " <td>-19.015926</td>\n", + " <td>-7.971353</td>\n", + " <td>9.408128</td>\n", + " <td>-3.466177</td>\n", + " <td>-11.191519</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>4</td>\n", + " <td>classical_8.mp3</td>\n", + " <td>classical</td>\n", + " <td>-250.946625</td>\n", + " <td>182.020203</td>\n", + " <td>12.093463</td>\n", + " <td>31.393484</td>\n", + " <td>10.792284</td>\n", + " <td>5.874646</td>\n", + " <td>15.635584</td>\n", + " <td>...</td>\n", + " <td>6.143005</td>\n", + " <td>-2.007963</td>\n", + " <td>-7.107271</td>\n", + " <td>-5.137182</td>\n", + " <td>-7.456434</td>\n", + " <td>-19.914568</td>\n", + " <td>-8.567856</td>\n", + " <td>4.395530</td>\n", + " <td>-5.535549</td>\n", + " <td>-9.764086</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2581</th>\n", + " <td>2581</td>\n", + " <td>electronic_28.mp3</td>\n", + " <td>electronic</td>\n", + " <td>-4.531759</td>\n", + " <td>85.749336</td>\n", + " <td>3.175902</td>\n", + " <td>29.282883</td>\n", + " <td>10.520454</td>\n", + " <td>28.353235</td>\n", + " <td>7.040113</td>\n", + " <td>...</td>\n", + " <td>-0.076582</td>\n", + " <td>10.373774</td>\n", + " <td>-3.842222</td>\n", + " <td>1.740638</td>\n", + " <td>-4.820115</td>\n", + " <td>5.424960</td>\n", + " <td>-0.350912</td>\n", + " <td>3.484543</td>\n", + " <td>4.927905</td>\n", + " <td>7.667750</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2582</th>\n", + " <td>2582</td>\n", + " <td>electronic_28.mp3</td>\n", + " <td>electronic</td>\n", + " <td>-21.892481</td>\n", + " <td>64.973923</td>\n", + " <td>0.638062</td>\n", + " <td>30.259424</td>\n", + " <td>3.547897</td>\n", + " <td>25.982525</td>\n", + " <td>12.492319</td>\n", + " <td>...</td>\n", + " <td>-4.140548</td>\n", + " <td>8.154976</td>\n", + " <td>-8.581367</td>\n", + " <td>0.991196</td>\n", + " <td>-7.903484</td>\n", + " <td>5.064352</td>\n", + " <td>-7.015607</td>\n", + " <td>2.761323</td>\n", + " <td>2.499545</td>\n", + " <td>4.854020</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2583</th>\n", + " <td>2583</td>\n", + " <td>electronic_28.mp3</td>\n", + " <td>electronic</td>\n", + " <td>-26.937489</td>\n", + " <td>59.654442</td>\n", + " <td>3.198796</td>\n", + " <td>36.822197</td>\n", + " <td>-0.308186</td>\n", + " <td>17.223629</td>\n", + " <td>12.519827</td>\n", + " <td>...</td>\n", + " <td>-2.150106</td>\n", + " <td>6.751756</td>\n", + " <td>-8.335445</td>\n", + " <td>-3.181783</td>\n", + " <td>-11.748012</td>\n", + " <td>3.223699</td>\n", + " <td>-10.738268</td>\n", + " <td>-1.915628</td>\n", + " <td>-2.164130</td>\n", + " <td>-0.500030</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2584</th>\n", + " <td>2584</td>\n", + " <td>electronic_28.mp3</td>\n", + " <td>electronic</td>\n", + " <td>-37.675701</td>\n", + " <td>69.980713</td>\n", + " <td>6.486831</td>\n", + " <td>36.693054</td>\n", + " <td>-2.817516</td>\n", + " <td>14.450989</td>\n", + " <td>9.200117</td>\n", + " <td>...</td>\n", + " <td>0.592433</td>\n", + " <td>4.523458</td>\n", + " <td>-8.737437</td>\n", + " <td>-4.725236</td>\n", + " <td>-7.613096</td>\n", + " <td>1.976833</td>\n", + " <td>-9.998651</td>\n", + " <td>-1.651334</td>\n", + " <td>-1.831298</td>\n", + " <td>-1.857335</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2585</th>\n", + " <td>2585</td>\n", + " <td>electronic_28.mp3</td>\n", + " <td>electronic</td>\n", + " <td>-69.959473</td>\n", + " <td>90.579102</td>\n", + " <td>12.684738</td>\n", + " <td>39.559166</td>\n", + " <td>-2.489999</td>\n", + " <td>13.447134</td>\n", + " <td>2.889965</td>\n", + " <td>...</td>\n", + " <td>2.153978</td>\n", + " <td>6.035127</td>\n", + " <td>-8.183851</td>\n", + " <td>-0.212283</td>\n", + " <td>-1.487655</td>\n", + " <td>-2.779953</td>\n", + " <td>-5.455588</td>\n", + " <td>0.809570</td>\n", + " <td>-1.209018</td>\n", + " <td>-1.631956</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>1029854 rows × 43 columns</p>\n", + "</div>" + ], + "text/plain": [ + " sample filename label 0 1 \\\n", + "0 0 classical_8.mp3 classical -513.835449 0.000000 \n", + "1 1 classical_8.mp3 classical -430.772858 99.951447 \n", + "2 2 classical_8.mp3 classical -312.093567 159.784668 \n", + "3 3 classical_8.mp3 classical -243.798019 168.200287 \n", + "4 4 classical_8.mp3 classical -250.946625 182.020203 \n", + "... ... ... ... ... ... \n", + "2581 2581 electronic_28.mp3 electronic -4.531759 85.749336 \n", + "2582 2582 electronic_28.mp3 electronic -21.892481 64.973923 \n", + "2583 2583 electronic_28.mp3 electronic -26.937489 59.654442 \n", + "2584 2584 electronic_28.mp3 electronic -37.675701 69.980713 \n", + "2585 2585 electronic_28.mp3 electronic -69.959473 90.579102 \n", + "\n", + " 2 3 4 5 6 ... 30 \\\n", + "0 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 \n", + "1 61.102493 28.070032 15.340330 15.008282 11.502503 ... -4.017534 \n", + "2 31.906086 25.901234 6.815042 3.911939 21.410465 ... 3.267372 \n", + "3 16.092997 34.248627 3.439126 4.217156 16.333824 ... 8.645699 \n", + "4 12.093463 31.393484 10.792284 5.874646 15.635584 ... 6.143005 \n", + "... ... ... ... ... ... ... ... \n", + "2581 3.175902 29.282883 10.520454 28.353235 7.040113 ... -0.076582 \n", + "2582 0.638062 30.259424 3.547897 25.982525 12.492319 ... -4.140548 \n", + "2583 3.198796 36.822197 -0.308186 17.223629 12.519827 ... -2.150106 \n", + "2584 6.486831 36.693054 -2.817516 14.450989 9.200117 ... 0.592433 \n", + "2585 12.684738 39.559166 -2.489999 13.447134 2.889965 ... 2.153978 \n", + "\n", + " 31 32 33 34 35 36 \\\n", + "0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "1 -2.689229 -2.293572 -2.991963 -3.644343 -4.003089 -4.528318 \n", + "2 -2.944059 -7.677339 -3.628831 -4.110184 -14.840838 -3.495162 \n", + "3 -5.766571 -5.486410 -3.288999 -3.853479 -19.015926 -7.971353 \n", + "4 -2.007963 -7.107271 -5.137182 -7.456434 -19.914568 -8.567856 \n", + "... ... ... ... ... ... ... \n", + "2581 10.373774 -3.842222 1.740638 -4.820115 5.424960 -0.350912 \n", + "2582 8.154976 -8.581367 0.991196 -7.903484 5.064352 -7.015607 \n", + "2583 6.751756 -8.335445 -3.181783 -11.748012 3.223699 -10.738268 \n", + "2584 4.523458 -8.737437 -4.725236 -7.613096 1.976833 -9.998651 \n", + "2585 6.035127 -8.183851 -0.212283 -1.487655 -2.779953 -5.455588 \n", + "\n", + " 37 38 39 \n", + "0 0.000000 0.000000 0.000000 \n", + "1 -4.626081 -2.798346 0.923011 \n", + "2 8.776964 -4.981813 -10.156776 \n", + "3 9.408128 -3.466177 -11.191519 \n", + "4 4.395530 -5.535549 -9.764086 \n", + "... ... ... ... \n", + "2581 3.484543 4.927905 7.667750 \n", + "2582 2.761323 2.499545 4.854020 \n", + "2583 -1.915628 -2.164130 -0.500030 \n", + "2584 -1.651334 -1.831298 -1.857335 \n", + "2585 0.809570 -1.209018 -1.631956 \n", + "\n", + "[1029854 rows x 43 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "for file, dataframe in zip(files, dataframes):\n", " dataframe[\"sample\"] = dataframe.index.to_numpy(copy=True)\n", @@ -260,20 +635,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "0abf745b", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:37:44.992409Z", - "iopub.status.busy": "2024-02-19T14:37:44.991617Z", - "iopub.status.idle": "2024-02-19T14:38:17.017952Z", - "shell.execute_reply": "2024-02-19T14:38:17.017278Z" + "iopub.execute_input": "2024-02-19T16:06:13.872642Z", + "iopub.status.busy": "2024-02-19T16:06:13.872305Z", + "iopub.status.idle": "2024-02-19T16:06:44.870691Z", + "shell.execute_reply": "2024-02-19T16:06:44.870075Z" }, "papermill": { - "duration": 32.032086, - "end_time": "2024-02-19T14:38:17.019559", + "duration": 31.004406, + "end_time": "2024-02-19T16:06:44.872238", "exception": false, - "start_time": "2024-02-19T14:37:44.987473", + "start_time": "2024-02-19T16:06:13.867832", "status": "completed" }, "tags": [] @@ -307,8 +682,8 @@ }, "papermill": { "default_parameters": {}, - "duration": 186.073807, - "end_time": "2024-02-19T14:38:17.641976", + "duration": 170.39145, + "end_time": "2024-02-19T16:06:45.496639", "environment_variables": {}, "exception": null, "input_path": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/2_generate_features.ipynb", @@ -321,10 +696,10 @@ "raw_features": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/2_generate_features/output/raw_features.csv" } }, - "start_time": "2024-02-19T14:35:11.568169", + "start_time": "2024-02-19T16:03:55.105189", "version": "2.4.0" } }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file diff --git a/notebooks/3_aggregate_features.ipynb b/notebooks/3_aggregate_features.ipynb index c137e5d737340858068064b2ae968667ad0fd2a3..1747a0d10f7b4d238aa614e06025dd679752f0b3 100644 --- a/notebooks/3_aggregate_features.ipynb +++ b/notebooks/3_aggregate_features.ipynb @@ -5,10 +5,10 @@ "id": "f48a4573", "metadata": { "papermill": { - "duration": 0.00482, - "end_time": "2024-02-19T14:43:18.927810", + "duration": 0.005482, + "end_time": "2024-02-19T16:11:43.077213", "exception": false, - "start_time": "2024-02-19T14:43:18.922990", + "start_time": "2024-02-19T16:11:43.071731", "status": "completed" }, "tags": [] @@ -21,24 +21,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "389576b8", "metadata": { "collapsed": true, "execution": { - "iopub.execute_input": "2024-02-19T14:43:18.941968Z", - "iopub.status.busy": "2024-02-19T14:43:18.940586Z", - "iopub.status.idle": "2024-02-19T14:43:19.225227Z", - "shell.execute_reply": "2024-02-19T14:43:19.224264Z" + "iopub.execute_input": "2024-02-19T16:11:43.090285Z", + "iopub.status.busy": "2024-02-19T16:11:43.089341Z", + "iopub.status.idle": "2024-02-19T16:11:43.374502Z", + "shell.execute_reply": "2024-02-19T16:11:43.374001Z" }, "jupyter": { "outputs_hidden": true }, "papermill": { - "duration": 0.295054, - "end_time": "2024-02-19T14:43:19.228421", + "duration": 0.294145, + "end_time": "2024-02-19T16:11:43.377413", "exception": false, - "start_time": "2024-02-19T14:43:18.933367", + "start_time": "2024-02-19T16:11:43.083268", "status": "completed" }, "tags": [] @@ -53,20 +53,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "26f640e0", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:19.235696Z", - "iopub.status.busy": "2024-02-19T14:43:19.235399Z", - "iopub.status.idle": "2024-02-19T14:43:19.240990Z", - "shell.execute_reply": "2024-02-19T14:43:19.240022Z" + "iopub.execute_input": "2024-02-19T16:11:43.390537Z", + "iopub.status.busy": "2024-02-19T16:11:43.389922Z", + "iopub.status.idle": "2024-02-19T16:11:43.395042Z", + "shell.execute_reply": "2024-02-19T16:11:43.394311Z" }, "papermill": { - "duration": 0.012583, - "end_time": "2024-02-19T14:43:19.243948", + "duration": 0.015318, + "end_time": "2024-02-19T16:11:43.398247", "exception": false, - "start_time": "2024-02-19T14:43:19.231365", + "start_time": "2024-02-19T16:11:43.382929", "status": "completed" }, "tags": [ @@ -89,20 +89,20 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "40dbf7fa", + "execution_count": 3, + "id": "6ee0ca12", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:19.248798Z", - "iopub.status.busy": "2024-02-19T14:43:19.248350Z", - "iopub.status.idle": "2024-02-19T14:43:19.251965Z", - "shell.execute_reply": "2024-02-19T14:43:19.251370Z" + "iopub.execute_input": "2024-02-19T16:11:43.408693Z", + "iopub.status.busy": "2024-02-19T16:11:43.408262Z", + "iopub.status.idle": "2024-02-19T16:11:43.411722Z", + "shell.execute_reply": "2024-02-19T16:11:43.411115Z" }, "papermill": { - "duration": 0.007812, - "end_time": "2024-02-19T14:43:19.253560", + "duration": 0.013885, + "end_time": "2024-02-19T16:11:43.416337", "exception": false, - "start_time": "2024-02-19T14:43:19.245748", + "start_time": "2024-02-19T16:11:43.402452", "status": "completed" }, "tags": [ @@ -122,20 +122,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "c5d9d980", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:19.263504Z", - "iopub.status.busy": "2024-02-19T14:43:19.263172Z", - "iopub.status.idle": "2024-02-19T14:43:23.707599Z", - "shell.execute_reply": "2024-02-19T14:43:23.706545Z" + "iopub.execute_input": "2024-02-19T16:11:43.426203Z", + "iopub.status.busy": "2024-02-19T16:11:43.425749Z", + "iopub.status.idle": "2024-02-19T16:11:47.702254Z", + "shell.execute_reply": "2024-02-19T16:11:47.701660Z" }, "papermill": { - "duration": 4.452062, - "end_time": "2024-02-19T14:43:23.709599", + "duration": 4.285101, + "end_time": "2024-02-19T16:11:47.705621", "exception": false, - "start_time": "2024-02-19T14:43:19.257537", + "start_time": "2024-02-19T16:11:43.420520", "status": "completed" }, "tags": [] @@ -148,25 +148,400 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "99f75f47", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:23.721962Z", - "iopub.status.busy": "2024-02-19T14:43:23.721698Z", - "iopub.status.idle": "2024-02-19T14:43:27.486305Z", - "shell.execute_reply": "2024-02-19T14:43:27.485675Z" + "iopub.execute_input": "2024-02-19T16:11:47.716911Z", + "iopub.status.busy": "2024-02-19T16:11:47.716713Z", + "iopub.status.idle": "2024-02-19T16:11:51.507465Z", + "shell.execute_reply": "2024-02-19T16:11:51.506285Z" }, "papermill": { - "duration": 3.772661, - "end_time": "2024-02-19T14:43:27.488022", + "duration": 3.799305, + "end_time": "2024-02-19T16:11:51.510406", "exception": false, - "start_time": "2024-02-19T14:43:23.715361", + "start_time": "2024-02-19T16:11:47.711101", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>filename</th>\n", + " <th>label</th>\n", + " <th>0_min</th>\n", + " <th>0_max</th>\n", + " <th>0_mean</th>\n", + " <th>0_std</th>\n", + " <th>0_skew</th>\n", + " <th>1_min</th>\n", + " <th>1_max</th>\n", + " <th>1_mean</th>\n", + " <th>...</th>\n", + " <th>38_min</th>\n", + " <th>38_max</th>\n", + " <th>38_mean</th>\n", + " <th>38_std</th>\n", + " <th>38_skew</th>\n", + " <th>39_min</th>\n", + " <th>39_max</th>\n", + " <th>39_mean</th>\n", + " <th>39_std</th>\n", + " <th>39_skew</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>classical_1.mp3</td>\n", + " <td>classical</td>\n", + " <td>-530.78436</td>\n", + " <td>-163.308350</td>\n", + " <td>-302.203167</td>\n", + " <td>51.142183</td>\n", + " <td>-0.468374</td>\n", + " <td>0.000000</td>\n", + " <td>178.75162</td>\n", + " <td>111.332342</td>\n", + " <td>...</td>\n", + " <td>-44.098070</td>\n", + " <td>47.308060</td>\n", + " <td>-3.713503</td>\n", + " <td>16.553984</td>\n", + " <td>0.230691</td>\n", + " <td>-46.794480</td>\n", + " <td>49.352516</td>\n", + " <td>-2.282116</td>\n", + " <td>15.285639</td>\n", + " <td>0.171462</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>classical_10.mp3</td>\n", + " <td>classical</td>\n", + " <td>-562.85785</td>\n", + " <td>-96.164795</td>\n", + " <td>-219.259016</td>\n", + " <td>53.561839</td>\n", + " <td>-0.772320</td>\n", + " <td>0.029056</td>\n", + " <td>259.63272</td>\n", + " <td>215.094182</td>\n", + " <td>...</td>\n", + " <td>-27.458416</td>\n", + " <td>29.811110</td>\n", + " <td>0.484271</td>\n", + " <td>8.660648</td>\n", + " <td>-0.479016</td>\n", + " <td>-28.989979</td>\n", + " <td>27.533707</td>\n", + " <td>0.952658</td>\n", + " <td>10.477735</td>\n", + " <td>-0.185771</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>classical_100.mp3</td>\n", + " <td>classical</td>\n", + " <td>-536.23737</td>\n", + " <td>-61.608826</td>\n", + " <td>-177.804114</td>\n", + " <td>83.381622</td>\n", + " <td>-2.587179</td>\n", + " <td>0.000000</td>\n", + " <td>190.47589</td>\n", + " <td>112.471713</td>\n", + " <td>...</td>\n", + " <td>-27.335688</td>\n", + " <td>27.610388</td>\n", + " <td>-0.333233</td>\n", + " <td>8.185075</td>\n", + " <td>0.208425</td>\n", + " <td>-38.095375</td>\n", + " <td>31.397882</td>\n", + " <td>-1.494916</td>\n", + " <td>10.917299</td>\n", + " <td>0.020985</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>classical_11.mp3</td>\n", + " <td>classical</td>\n", + " <td>-536.45746</td>\n", + " <td>-120.429665</td>\n", + " <td>-222.126303</td>\n", + " <td>76.246992</td>\n", + " <td>-2.402418</td>\n", + " <td>0.000000</td>\n", + " <td>159.42575</td>\n", + " <td>99.853645</td>\n", + " <td>...</td>\n", + " <td>-31.774948</td>\n", + " <td>31.500881</td>\n", + " <td>-3.781627</td>\n", + " <td>9.191043</td>\n", + " <td>0.260886</td>\n", + " <td>-22.667439</td>\n", + " <td>50.992905</td>\n", + " <td>1.600777</td>\n", + " <td>10.125545</td>\n", + " <td>0.595763</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>classical_12.mp3</td>\n", + " <td>classical</td>\n", + " <td>-562.67523</td>\n", + " <td>-148.133560</td>\n", + " <td>-270.975406</td>\n", + " <td>52.191182</td>\n", + " <td>-0.366586</td>\n", + " <td>0.000000</td>\n", + " <td>194.26416</td>\n", + " <td>148.226648</td>\n", + " <td>...</td>\n", + " <td>-44.843815</td>\n", + " <td>28.490644</td>\n", + " <td>-6.242015</td>\n", + " <td>10.546545</td>\n", + " <td>0.341848</td>\n", + " <td>-25.040886</td>\n", + " <td>46.878204</td>\n", + " <td>1.844494</td>\n", + " <td>11.160392</td>\n", + " <td>0.503120</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>395</th>\n", + " <td>rock_95.mp3</td>\n", + " <td>rock</td>\n", + " <td>-553.11010</td>\n", + " <td>-5.218835</td>\n", + " <td>-193.506047</td>\n", + " <td>76.869437</td>\n", + " <td>-0.201055</td>\n", + " <td>-89.948746</td>\n", + " <td>201.18045</td>\n", + " <td>111.724191</td>\n", + " <td>...</td>\n", + " <td>-27.043941</td>\n", + " <td>22.451445</td>\n", + " <td>-7.234634</td>\n", + " <td>8.471853</td>\n", + " <td>0.753855</td>\n", + " <td>-24.712723</td>\n", + " <td>23.410387</td>\n", + " <td>-4.502398</td>\n", + " <td>6.687983</td>\n", + " <td>0.238807</td>\n", + " </tr>\n", + " <tr>\n", + " <th>396</th>\n", + " <td>rock_96.mp3</td>\n", + " <td>rock</td>\n", + " <td>-541.23600</td>\n", + " <td>27.163332</td>\n", + " <td>-119.113996</td>\n", + " <td>58.420684</td>\n", + " <td>-0.957699</td>\n", + " <td>-7.415959</td>\n", + " <td>210.49246</td>\n", + " <td>125.453699</td>\n", + " <td>...</td>\n", + " <td>-37.584858</td>\n", + " <td>28.087940</td>\n", + " <td>-9.704238</td>\n", + " <td>8.447620</td>\n", + " <td>0.112760</td>\n", + " <td>-38.147890</td>\n", + " <td>21.814400</td>\n", + " <td>-8.249507</td>\n", + " <td>7.807756</td>\n", + " <td>0.071968</td>\n", + " </tr>\n", + " <tr>\n", + " <th>397</th>\n", + " <td>rock_97.mp3</td>\n", + " <td>rock</td>\n", + " <td>-518.49500</td>\n", + " <td>58.526745</td>\n", + " <td>-66.267744</td>\n", + " <td>65.635619</td>\n", + " <td>-0.898026</td>\n", + " <td>-58.824410</td>\n", + " <td>175.20135</td>\n", + " <td>99.288265</td>\n", + " <td>...</td>\n", + " <td>-29.620445</td>\n", + " <td>26.325895</td>\n", + " <td>-5.722825</td>\n", + " <td>7.727378</td>\n", + " <td>0.207489</td>\n", + " <td>-29.497524</td>\n", + " <td>25.410656</td>\n", + " <td>-3.356614</td>\n", + " <td>8.170526</td>\n", + " <td>0.160330</td>\n", + " </tr>\n", + " <tr>\n", + " <th>398</th>\n", + " <td>rock_98.mp3</td>\n", + " <td>rock</td>\n", + " <td>-518.64307</td>\n", + " <td>53.555115</td>\n", + " <td>-45.734517</td>\n", + " <td>52.444200</td>\n", + " <td>-1.705641</td>\n", + " <td>0.000000</td>\n", + " <td>187.04272</td>\n", + " <td>96.440874</td>\n", + " <td>...</td>\n", + " <td>-26.967852</td>\n", + " <td>8.714736</td>\n", + " <td>-9.511491</td>\n", + " <td>5.551820</td>\n", + " <td>-0.025604</td>\n", + " <td>-23.020082</td>\n", + " <td>13.948639</td>\n", + " <td>-2.664985</td>\n", + " <td>5.051498</td>\n", + " <td>-0.258407</td>\n", + " </tr>\n", + " <tr>\n", + " <th>399</th>\n", + " <td>rock_99.mp3</td>\n", + " <td>rock</td>\n", + " <td>-544.70310</td>\n", + " <td>75.612130</td>\n", + " <td>-49.380943</td>\n", + " <td>54.045627</td>\n", + " <td>-0.863093</td>\n", + " <td>-32.930650</td>\n", + " <td>191.73538</td>\n", + " <td>93.971242</td>\n", + " <td>...</td>\n", + " <td>-21.929403</td>\n", + " <td>17.050608</td>\n", + " <td>-5.296691</td>\n", + " <td>5.894962</td>\n", + " <td>0.390705</td>\n", + " <td>-20.983192</td>\n", + " <td>29.312021</td>\n", + " <td>-0.321836</td>\n", + " <td>6.571660</td>\n", + " <td>0.384794</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>400 rows × 202 columns</p>\n", + "</div>" + ], + "text/plain": [ + " filename label 0_min 0_max 0_mean \\\n", + "0 classical_1.mp3 classical -530.78436 -163.308350 -302.203167 \n", + "1 classical_10.mp3 classical -562.85785 -96.164795 -219.259016 \n", + "2 classical_100.mp3 classical -536.23737 -61.608826 -177.804114 \n", + "3 classical_11.mp3 classical -536.45746 -120.429665 -222.126303 \n", + "4 classical_12.mp3 classical -562.67523 -148.133560 -270.975406 \n", + ".. ... ... ... ... ... \n", + "395 rock_95.mp3 rock -553.11010 -5.218835 -193.506047 \n", + "396 rock_96.mp3 rock -541.23600 27.163332 -119.113996 \n", + "397 rock_97.mp3 rock -518.49500 58.526745 -66.267744 \n", + "398 rock_98.mp3 rock -518.64307 53.555115 -45.734517 \n", + "399 rock_99.mp3 rock -544.70310 75.612130 -49.380943 \n", + "\n", + " 0_std 0_skew 1_min 1_max 1_mean ... 38_min \\\n", + "0 51.142183 -0.468374 0.000000 178.75162 111.332342 ... -44.098070 \n", + "1 53.561839 -0.772320 0.029056 259.63272 215.094182 ... -27.458416 \n", + "2 83.381622 -2.587179 0.000000 190.47589 112.471713 ... -27.335688 \n", + "3 76.246992 -2.402418 0.000000 159.42575 99.853645 ... -31.774948 \n", + "4 52.191182 -0.366586 0.000000 194.26416 148.226648 ... -44.843815 \n", + ".. ... ... ... ... ... ... ... \n", + "395 76.869437 -0.201055 -89.948746 201.18045 111.724191 ... -27.043941 \n", + "396 58.420684 -0.957699 -7.415959 210.49246 125.453699 ... -37.584858 \n", + "397 65.635619 -0.898026 -58.824410 175.20135 99.288265 ... -29.620445 \n", + "398 52.444200 -1.705641 0.000000 187.04272 96.440874 ... -26.967852 \n", + "399 54.045627 -0.863093 -32.930650 191.73538 93.971242 ... -21.929403 \n", + "\n", + " 38_max 38_mean 38_std 38_skew 39_min 39_max 39_mean \\\n", + "0 47.308060 -3.713503 16.553984 0.230691 -46.794480 49.352516 -2.282116 \n", + "1 29.811110 0.484271 8.660648 -0.479016 -28.989979 27.533707 0.952658 \n", + "2 27.610388 -0.333233 8.185075 0.208425 -38.095375 31.397882 -1.494916 \n", + "3 31.500881 -3.781627 9.191043 0.260886 -22.667439 50.992905 1.600777 \n", + "4 28.490644 -6.242015 10.546545 0.341848 -25.040886 46.878204 1.844494 \n", + ".. ... ... ... ... ... ... ... \n", + "395 22.451445 -7.234634 8.471853 0.753855 -24.712723 23.410387 -4.502398 \n", + "396 28.087940 -9.704238 8.447620 0.112760 -38.147890 21.814400 -8.249507 \n", + "397 26.325895 -5.722825 7.727378 0.207489 -29.497524 25.410656 -3.356614 \n", + "398 8.714736 -9.511491 5.551820 -0.025604 -23.020082 13.948639 -2.664985 \n", + "399 17.050608 -5.296691 5.894962 0.390705 -20.983192 29.312021 -0.321836 \n", + "\n", + " 39_std 39_skew \n", + "0 15.285639 0.171462 \n", + "1 10.477735 -0.185771 \n", + "2 10.917299 0.020985 \n", + "3 10.125545 0.595763 \n", + "4 11.160392 0.503120 \n", + ".. ... ... \n", + "395 6.687983 0.238807 \n", + "396 7.807756 0.071968 \n", + "397 8.170526 0.160330 \n", + "398 5.051498 -0.258407 \n", + "399 6.571660 0.384794 \n", + "\n", + "[400 rows x 202 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "meta_columns = [\"sample\", \"filename\", \"label\"]\n", "mfcc_aggregated = raw_features\\\n", @@ -188,20 +563,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "4ac5c765", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:27.495015Z", - "iopub.status.busy": "2024-02-19T14:43:27.494787Z", - "iopub.status.idle": "2024-02-19T14:43:27.574541Z", - "shell.execute_reply": "2024-02-19T14:43:27.573938Z" + "iopub.execute_input": "2024-02-19T16:11:51.517577Z", + "iopub.status.busy": "2024-02-19T16:11:51.517073Z", + "iopub.status.idle": "2024-02-19T16:11:51.607951Z", + "shell.execute_reply": "2024-02-19T16:11:51.606717Z" }, "papermill": { - "duration": 0.084978, - "end_time": "2024-02-19T14:43:27.576110", + "duration": 0.097698, + "end_time": "2024-02-19T16:11:51.611016", "exception": false, - "start_time": "2024-02-19T14:43:27.491132", + "start_time": "2024-02-19T16:11:51.513318", "status": "completed" }, "tags": [] @@ -238,8 +613,8 @@ }, "papermill": { "default_parameters": {}, - "duration": 9.950754, - "end_time": "2024-02-19T14:43:27.897395", + "duration": 9.595738, + "end_time": "2024-02-19T16:11:51.931246", "environment_variables": {}, "exception": null, "input_path": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/3_aggregate_features.ipynb", @@ -252,10 +627,10 @@ "aggregated_features": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/3_aggregate_features/output/features.csv" } }, - "start_time": "2024-02-19T14:43:17.946641", + "start_time": "2024-02-19T16:11:42.335508", "version": "2.4.0" } }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file diff --git a/notebooks/4_split.ipynb b/notebooks/4_split.ipynb index bd832bc217bbd68aacec9a0ff1f80bb67d45bf64..8fdabc8b2552daa6ee663c19e197de42e1b5e4c2 100644 --- a/notebooks/4_split.ipynb +++ b/notebooks/4_split.ipynb @@ -5,10 +5,10 @@ "id": "e92b4fe9", "metadata": { "papermill": { - "duration": 0.002429, - "end_time": "2024-02-19T14:43:32.098156", + "duration": 0.002154, + "end_time": "2024-02-19T16:12:04.157186", "exception": false, - "start_time": "2024-02-19T14:43:32.095727", + "start_time": "2024-02-19T16:12:04.155032", "status": "completed" }, "tags": [] @@ -19,20 +19,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "5f1fae44", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:32.107309Z", - "iopub.status.busy": "2024-02-19T14:43:32.106710Z", - "iopub.status.idle": "2024-02-19T14:43:32.385910Z", - "shell.execute_reply": "2024-02-19T14:43:32.385222Z" + "iopub.execute_input": "2024-02-19T16:12:04.164007Z", + "iopub.status.busy": "2024-02-19T16:12:04.163319Z", + "iopub.status.idle": "2024-02-19T16:12:04.423103Z", + "shell.execute_reply": "2024-02-19T16:12:04.422046Z" }, "papermill": { - "duration": 0.287217, - "end_time": "2024-02-19T14:43:32.388761", + "duration": 0.265231, + "end_time": "2024-02-19T16:12:04.424746", "exception": false, - "start_time": "2024-02-19T14:43:32.101544", + "start_time": "2024-02-19T16:12:04.159515", "status": "completed" }, "tags": [] @@ -46,21 +46,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "01de1b27", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:32.397904Z", - "iopub.status.busy": "2024-02-19T14:43:32.397608Z", - "iopub.status.idle": "2024-02-19T14:43:32.402480Z", - "shell.execute_reply": "2024-02-19T14:43:32.401236Z" + "iopub.execute_input": "2024-02-19T16:12:04.436796Z", + "iopub.status.busy": "2024-02-19T16:12:04.435990Z", + "iopub.status.idle": "2024-02-19T16:12:04.441974Z", + "shell.execute_reply": "2024-02-19T16:12:04.440836Z" }, "papermill": { - "duration": 0.010551, - "end_time": "2024-02-19T14:43:32.404108", + "duration": 0.01321, + "end_time": "2024-02-19T16:12:04.443769", "exception": false, - "start_time": "2024-02-19T14:43:32.393557", + "start_time": "2024-02-19T16:12:04.430559", "status": "completed" }, "tags": [ @@ -82,20 +82,20 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "fdc0a0a6", + "execution_count": 3, + "id": "f3639035", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:32.409447Z", - "iopub.status.busy": "2024-02-19T14:43:32.409208Z", - "iopub.status.idle": "2024-02-19T14:43:32.412502Z", - "shell.execute_reply": "2024-02-19T14:43:32.411939Z" + "iopub.execute_input": "2024-02-19T16:12:04.450842Z", + "iopub.status.busy": "2024-02-19T16:12:04.450440Z", + "iopub.status.idle": "2024-02-19T16:12:04.454495Z", + "shell.execute_reply": "2024-02-19T16:12:04.453777Z" }, "papermill": { - "duration": 0.007467, - "end_time": "2024-02-19T14:43:32.413665", + "duration": 0.008979, + "end_time": "2024-02-19T16:12:04.455629", "exception": false, - "start_time": "2024-02-19T14:43:32.406198", + "start_time": "2024-02-19T16:12:04.446650", "status": "completed" }, "tags": [ @@ -115,20 +115,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a4cc6800", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:32.420400Z", - "iopub.status.busy": "2024-02-19T14:43:32.419380Z", - "iopub.status.idle": "2024-02-19T14:43:32.455397Z", - "shell.execute_reply": "2024-02-19T14:43:32.454477Z" + "iopub.execute_input": "2024-02-19T16:12:04.466068Z", + "iopub.status.busy": "2024-02-19T16:12:04.465734Z", + "iopub.status.idle": "2024-02-19T16:12:04.497438Z", + "shell.execute_reply": "2024-02-19T16:12:04.496463Z" }, "papermill": { - "duration": 0.041357, - "end_time": "2024-02-19T14:43:32.456980", + "duration": 0.039996, + "end_time": "2024-02-19T16:12:04.499453", "exception": false, - "start_time": "2024-02-19T14:43:32.415623", + "start_time": "2024-02-19T16:12:04.459457", "status": "completed" }, "tags": [] @@ -145,20 +145,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "a186d0c4", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:32.466424Z", - "iopub.status.busy": "2024-02-19T14:43:32.466195Z", - "iopub.status.idle": "2024-02-19T14:43:32.478252Z", - "shell.execute_reply": "2024-02-19T14:43:32.477538Z" + "iopub.execute_input": "2024-02-19T16:12:04.509085Z", + "iopub.status.busy": "2024-02-19T16:12:04.508663Z", + "iopub.status.idle": "2024-02-19T16:12:04.519374Z", + "shell.execute_reply": "2024-02-19T16:12:04.518435Z" }, "papermill": { - "duration": 0.018142, - "end_time": "2024-02-19T14:43:32.479481", + "duration": 0.018509, + "end_time": "2024-02-19T16:12:04.522265", "exception": false, - "start_time": "2024-02-19T14:43:32.461339", + "start_time": "2024-02-19T16:12:04.503756", "status": "completed" }, "tags": [] @@ -184,45 +184,153 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "091e0641", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:32.484524Z", - "iopub.status.busy": "2024-02-19T14:43:32.484230Z", - "iopub.status.idle": "2024-02-19T14:43:32.501867Z", - "shell.execute_reply": "2024-02-19T14:43:32.500547Z" + "iopub.execute_input": "2024-02-19T16:12:04.533958Z", + "iopub.status.busy": "2024-02-19T16:12:04.533018Z", + "iopub.status.idle": "2024-02-19T16:12:04.554006Z", + "shell.execute_reply": "2024-02-19T16:12:04.553118Z" }, "papermill": { - "duration": 0.023119, - "end_time": "2024-02-19T14:43:32.504563", + "duration": 0.02935, + "end_time": "2024-02-19T16:12:04.556411", "exception": false, - "start_time": "2024-02-19T14:43:32.481444", + "start_time": "2024-02-19T16:12:04.527061", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>filename</th>\n", + " <th>train</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>classical_1.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>classical_10.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>2</th>\n", + " <td>classical_100.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>3</th>\n", + " <td>classical_11.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>4</th>\n", + " <td>classical_12.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>395</th>\n", + " <td>rock_95.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>396</th>\n", + " <td>rock_96.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>397</th>\n", + " <td>rock_97.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>398</th>\n", + " <td>rock_98.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>399</th>\n", + " <td>rock_99.mp3</td>\n", + " <td>True</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>400 rows × 2 columns</p>\n", + "</div>" + ], + "text/plain": [ + " filename train\n", + "0 classical_1.mp3 True\n", + "1 classical_10.mp3 True\n", + "2 classical_100.mp3 True\n", + "3 classical_11.mp3 True\n", + "4 classical_12.mp3 True\n", + ".. ... ...\n", + "395 rock_95.mp3 True\n", + "396 rock_96.mp3 True\n", + "397 rock_97.mp3 True\n", + "398 rock_98.mp3 True\n", + "399 rock_99.mp3 True\n", + "\n", + "[400 rows x 2 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "split_concat" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "7b11b8bb", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:32.513502Z", - "iopub.status.busy": "2024-02-19T14:43:32.513245Z", - "iopub.status.idle": "2024-02-19T14:43:32.523762Z", - "shell.execute_reply": "2024-02-19T14:43:32.522239Z" + "iopub.execute_input": "2024-02-19T16:12:04.569036Z", + "iopub.status.busy": "2024-02-19T16:12:04.568404Z", + "iopub.status.idle": "2024-02-19T16:12:04.577415Z", + "shell.execute_reply": "2024-02-19T16:12:04.576784Z" }, "papermill": { - "duration": 0.018299, - "end_time": "2024-02-19T14:43:32.525736", + "duration": 0.018631, + "end_time": "2024-02-19T16:12:04.580364", "exception": false, - "start_time": "2024-02-19T14:43:32.507437", + "start_time": "2024-02-19T16:12:04.561733", "status": "completed" }, "tags": [] @@ -259,8 +367,8 @@ }, "papermill": { "default_parameters": {}, - "duration": 1.662273, - "end_time": "2024-02-19T14:43:32.848973", + "duration": 1.501957, + "end_time": "2024-02-19T16:12:04.903554", "environment_variables": {}, "exception": null, "input_path": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/4_split.ipynb", @@ -273,10 +381,10 @@ "split": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/4_split/output/split.csv" } }, - "start_time": "2024-02-19T14:43:31.186700", + "start_time": "2024-02-19T16:12:03.401597", "version": "2.4.0" } }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file diff --git a/notebooks/5_ml_model.ipynb b/notebooks/5_ml_model.ipynb index 3b1bfccc941babf5c40614ab7c5ca3a0b611073c..b9e6a9de92ba2987e5b276202690877475c0a8cb 100644 --- a/notebooks/5_ml_model.ipynb +++ b/notebooks/5_ml_model.ipynb @@ -5,10 +5,10 @@ "id": "5de30442", "metadata": { "papermill": { - "duration": 0.014639, - "end_time": "2024-02-19T14:43:37.319820", + "duration": 0.006812, + "end_time": "2024-02-19T16:16:03.244086", "exception": false, - "start_time": "2024-02-19T14:43:37.305181", + "start_time": "2024-02-19T16:16:03.237274", "status": "completed" }, "tags": [] @@ -21,20 +21,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "a2eb8998", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:37.348184Z", - "iopub.status.busy": "2024-02-19T14:43:37.347036Z", - "iopub.status.idle": "2024-02-19T14:43:38.479176Z", - "shell.execute_reply": "2024-02-19T14:43:38.478457Z" + "iopub.execute_input": "2024-02-19T16:16:03.259979Z", + "iopub.status.busy": "2024-02-19T16:16:03.259027Z", + "iopub.status.idle": "2024-02-19T16:16:04.285468Z", + "shell.execute_reply": "2024-02-19T16:16:04.284699Z" }, "papermill": { - "duration": 1.148061, - "end_time": "2024-02-19T14:43:38.481451", + "duration": 1.03806, + "end_time": "2024-02-19T16:16:04.288610", "exception": false, - "start_time": "2024-02-19T14:43:37.333390", + "start_time": "2024-02-19T16:16:03.250550", "status": "completed" }, "tags": [] @@ -60,20 +60,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "8a8da20f", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.503653Z", - "iopub.status.busy": "2024-02-19T14:43:38.503052Z", - "iopub.status.idle": "2024-02-19T14:43:38.508227Z", - "shell.execute_reply": "2024-02-19T14:43:38.507320Z" + "iopub.execute_input": "2024-02-19T16:16:04.303617Z", + "iopub.status.busy": "2024-02-19T16:16:04.302785Z", + "iopub.status.idle": "2024-02-19T16:16:04.309660Z", + "shell.execute_reply": "2024-02-19T16:16:04.308747Z" }, "papermill": { - "duration": 0.016225, - "end_time": "2024-02-19T14:43:38.510053", + "duration": 0.015405, + "end_time": "2024-02-19T16:16:04.310938", "exception": false, - "start_time": "2024-02-19T14:43:38.493828", + "start_time": "2024-02-19T16:16:04.295533", "status": "completed" }, "tags": [ @@ -98,20 +98,20 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "1229e75d", + "execution_count": 3, + "id": "98e5be39", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.523357Z", - "iopub.status.busy": "2024-02-19T14:43:38.523122Z", - "iopub.status.idle": "2024-02-19T14:43:38.527230Z", - "shell.execute_reply": "2024-02-19T14:43:38.526602Z" + "iopub.execute_input": "2024-02-19T16:16:04.320287Z", + "iopub.status.busy": "2024-02-19T16:16:04.320091Z", + "iopub.status.idle": "2024-02-19T16:16:04.323928Z", + "shell.execute_reply": "2024-02-19T16:16:04.323245Z" }, "papermill": { - "duration": 0.012108, - "end_time": "2024-02-19T14:43:38.528594", + "duration": 0.012014, + "end_time": "2024-02-19T16:16:04.327031", "exception": false, - "start_time": "2024-02-19T14:43:38.516486", + "start_time": "2024-02-19T16:16:04.315017", "status": "completed" }, "tags": [ @@ -127,26 +127,26 @@ "}\n", "OUTPUT_PATHS = {\n", " \"clf\": \"/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/5_ml_model/output/ml_model.pickle\",\n", - " \"submission\": \"/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/5_ml_model/output/test_result.csv\",\n", + " \"prediction_result\": \"/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/5_ml_model/output/test_result.csv\",\n", "}\n" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "6810272a", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.541818Z", - "iopub.status.busy": "2024-02-19T14:43:38.541480Z", - "iopub.status.idle": "2024-02-19T14:43:38.580779Z", - "shell.execute_reply": "2024-02-19T14:43:38.579526Z" + "iopub.execute_input": "2024-02-19T16:16:04.338001Z", + "iopub.status.busy": "2024-02-19T16:16:04.337677Z", + "iopub.status.idle": "2024-02-19T16:16:04.370931Z", + "shell.execute_reply": "2024-02-19T16:16:04.369925Z" }, "papermill": { - "duration": 0.047485, - "end_time": "2024-02-19T14:43:38.582759", + "duration": 0.042162, + "end_time": "2024-02-19T16:16:04.374232", "exception": false, - "start_time": "2024-02-19T14:43:38.535274", + "start_time": "2024-02-19T16:16:04.332070", "status": "completed" }, "tags": [] @@ -160,25 +160,428 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "36f06fd6", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.608459Z", - "iopub.status.busy": "2024-02-19T14:43:38.608043Z", - "iopub.status.idle": "2024-02-19T14:43:38.651253Z", - "shell.execute_reply": "2024-02-19T14:43:38.650600Z" + "iopub.execute_input": "2024-02-19T16:16:04.384027Z", + "iopub.status.busy": "2024-02-19T16:16:04.383761Z", + "iopub.status.idle": "2024-02-19T16:16:04.419094Z", + "shell.execute_reply": "2024-02-19T16:16:04.418409Z" }, "papermill": { - "duration": 0.057859, - "end_time": "2024-02-19T14:43:38.653080", + "duration": 0.043721, + "end_time": "2024-02-19T16:16:04.422177", "exception": false, - "start_time": "2024-02-19T14:43:38.595221", + "start_time": "2024-02-19T16:16:04.378456", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>label</th>\n", + " <th>0_min</th>\n", + " <th>0_max</th>\n", + " <th>0_mean</th>\n", + " <th>0_std</th>\n", + " <th>0_skew</th>\n", + " <th>1_min</th>\n", + " <th>1_max</th>\n", + " <th>1_mean</th>\n", + " <th>1_std</th>\n", + " <th>...</th>\n", + " <th>38_max</th>\n", + " <th>38_mean</th>\n", + " <th>38_std</th>\n", + " <th>38_skew</th>\n", + " <th>39_min</th>\n", + " <th>39_max</th>\n", + " <th>39_mean</th>\n", + " <th>39_std</th>\n", + " <th>39_skew</th>\n", + " <th>train</th>\n", + " </tr>\n", + " <tr>\n", + " <th>filename</th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>classical_1.mp3</th>\n", + " <td>classical</td>\n", + " <td>-530.78436</td>\n", + " <td>-163.308350</td>\n", + " <td>-302.203167</td>\n", + " <td>51.142183</td>\n", + " <td>-0.468374</td>\n", + " <td>0.000000</td>\n", + " <td>178.75162</td>\n", + " <td>111.332342</td>\n", + " <td>24.847562</td>\n", + " <td>...</td>\n", + " <td>47.308060</td>\n", + " <td>-3.713503</td>\n", + " <td>16.553984</td>\n", + " <td>0.230691</td>\n", + " <td>-46.794480</td>\n", + " <td>49.352516</td>\n", + " <td>-2.282116</td>\n", + " <td>15.285639</td>\n", + " <td>0.171462</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_10.mp3</th>\n", + " <td>classical</td>\n", + " <td>-562.85785</td>\n", + " <td>-96.164795</td>\n", + " <td>-219.259016</td>\n", + " <td>53.561839</td>\n", + " <td>-0.772320</td>\n", + " <td>0.029056</td>\n", + " <td>259.63272</td>\n", + " <td>215.094182</td>\n", + " <td>18.388131</td>\n", + " <td>...</td>\n", + " <td>29.811110</td>\n", + " <td>0.484271</td>\n", + " <td>8.660648</td>\n", + " <td>-0.479016</td>\n", + " <td>-28.989979</td>\n", + " <td>27.533707</td>\n", + " <td>0.952658</td>\n", + " <td>10.477735</td>\n", + " <td>-0.185771</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_100.mp3</th>\n", + " <td>classical</td>\n", + " <td>-536.23737</td>\n", + " <td>-61.608826</td>\n", + " <td>-177.804114</td>\n", + " <td>83.381622</td>\n", + " <td>-2.587179</td>\n", + " <td>0.000000</td>\n", + " <td>190.47589</td>\n", + " <td>112.471713</td>\n", + " <td>27.277553</td>\n", + " <td>...</td>\n", + " <td>27.610388</td>\n", + " <td>-0.333233</td>\n", + " <td>8.185075</td>\n", + " <td>0.208425</td>\n", + " <td>-38.095375</td>\n", + " <td>31.397882</td>\n", + " <td>-1.494916</td>\n", + " <td>10.917299</td>\n", + " <td>0.020985</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_11.mp3</th>\n", + " <td>classical</td>\n", + " <td>-536.45746</td>\n", + " <td>-120.429665</td>\n", + " <td>-222.126303</td>\n", + " <td>76.246992</td>\n", + " <td>-2.402418</td>\n", + " <td>0.000000</td>\n", + " <td>159.42575</td>\n", + " <td>99.853645</td>\n", + " <td>21.916948</td>\n", + " <td>...</td>\n", + " <td>31.500881</td>\n", + " <td>-3.781627</td>\n", + " <td>9.191043</td>\n", + " <td>0.260886</td>\n", + " <td>-22.667439</td>\n", + " <td>50.992905</td>\n", + " <td>1.600777</td>\n", + " <td>10.125545</td>\n", + " <td>0.595763</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_12.mp3</th>\n", + " <td>classical</td>\n", + " <td>-562.67523</td>\n", + " <td>-148.133560</td>\n", + " <td>-270.975406</td>\n", + " <td>52.191182</td>\n", + " <td>-0.366586</td>\n", + " <td>0.000000</td>\n", + " <td>194.26416</td>\n", + " <td>148.226648</td>\n", + " <td>19.305008</td>\n", + " <td>...</td>\n", + " <td>28.490644</td>\n", + " <td>-6.242015</td>\n", + " <td>10.546545</td>\n", + " <td>0.341848</td>\n", + " <td>-25.040886</td>\n", + " <td>46.878204</td>\n", + " <td>1.844494</td>\n", + " <td>11.160392</td>\n", + " <td>0.503120</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_95.mp3</th>\n", + " <td>rock</td>\n", + " <td>-553.11010</td>\n", + " <td>-5.218835</td>\n", + " <td>-193.506047</td>\n", + " <td>76.869437</td>\n", + " <td>-0.201055</td>\n", + " <td>-89.948746</td>\n", + " <td>201.18045</td>\n", + " <td>111.724191</td>\n", + " <td>36.463584</td>\n", + " <td>...</td>\n", + " <td>22.451445</td>\n", + " <td>-7.234634</td>\n", + " <td>8.471853</td>\n", + " <td>0.753855</td>\n", + " <td>-24.712723</td>\n", + " <td>23.410387</td>\n", + " <td>-4.502398</td>\n", + " <td>6.687983</td>\n", + " <td>0.238807</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_96.mp3</th>\n", + " <td>rock</td>\n", + " <td>-541.23600</td>\n", + " <td>27.163332</td>\n", + " <td>-119.113996</td>\n", + " <td>58.420684</td>\n", + " <td>-0.957699</td>\n", + " <td>-7.415959</td>\n", + " <td>210.49246</td>\n", + " <td>125.453699</td>\n", + " <td>31.908870</td>\n", + " <td>...</td>\n", + " <td>28.087940</td>\n", + " <td>-9.704238</td>\n", + " <td>8.447620</td>\n", + " <td>0.112760</td>\n", + " <td>-38.147890</td>\n", + " <td>21.814400</td>\n", + " <td>-8.249507</td>\n", + " <td>7.807756</td>\n", + " <td>0.071968</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_97.mp3</th>\n", + " <td>rock</td>\n", + " <td>-518.49500</td>\n", + " <td>58.526745</td>\n", + " <td>-66.267744</td>\n", + " <td>65.635619</td>\n", + " <td>-0.898026</td>\n", + " <td>-58.824410</td>\n", + " <td>175.20135</td>\n", + " <td>99.288265</td>\n", + " <td>25.158417</td>\n", + " <td>...</td>\n", + " <td>26.325895</td>\n", + " <td>-5.722825</td>\n", + " <td>7.727378</td>\n", + " <td>0.207489</td>\n", + " <td>-29.497524</td>\n", + " <td>25.410656</td>\n", + " <td>-3.356614</td>\n", + " <td>8.170526</td>\n", + " <td>0.160330</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_98.mp3</th>\n", + " <td>rock</td>\n", + " <td>-518.64307</td>\n", + " <td>53.555115</td>\n", + " <td>-45.734517</td>\n", + " <td>52.444200</td>\n", + " <td>-1.705641</td>\n", + " <td>0.000000</td>\n", + " <td>187.04272</td>\n", + " <td>96.440874</td>\n", + " <td>24.137702</td>\n", + " <td>...</td>\n", + " <td>8.714736</td>\n", + " <td>-9.511491</td>\n", + " <td>5.551820</td>\n", + " <td>-0.025604</td>\n", + " <td>-23.020082</td>\n", + " <td>13.948639</td>\n", + " <td>-2.664985</td>\n", + " <td>5.051498</td>\n", + " <td>-0.258407</td>\n", + " <td>True</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_99.mp3</th>\n", + " <td>rock</td>\n", + " <td>-544.70310</td>\n", + " <td>75.612130</td>\n", + " <td>-49.380943</td>\n", + " <td>54.045627</td>\n", + " <td>-0.863093</td>\n", + " <td>-32.930650</td>\n", + " <td>191.73538</td>\n", + " <td>93.971242</td>\n", + " <td>33.410220</td>\n", + " <td>...</td>\n", + " <td>17.050608</td>\n", + " <td>-5.296691</td>\n", + " <td>5.894962</td>\n", + " <td>0.390705</td>\n", + " <td>-20.983192</td>\n", + " <td>29.312021</td>\n", + " <td>-0.321836</td>\n", + " <td>6.571660</td>\n", + " <td>0.384794</td>\n", + " <td>True</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>400 rows × 202 columns</p>\n", + "</div>" + ], + "text/plain": [ + " label 0_min 0_max 0_mean 0_std \\\n", + "filename \n", + "classical_1.mp3 classical -530.78436 -163.308350 -302.203167 51.142183 \n", + "classical_10.mp3 classical -562.85785 -96.164795 -219.259016 53.561839 \n", + "classical_100.mp3 classical -536.23737 -61.608826 -177.804114 83.381622 \n", + "classical_11.mp3 classical -536.45746 -120.429665 -222.126303 76.246992 \n", + "classical_12.mp3 classical -562.67523 -148.133560 -270.975406 52.191182 \n", + "... ... ... ... ... ... \n", + "rock_95.mp3 rock -553.11010 -5.218835 -193.506047 76.869437 \n", + "rock_96.mp3 rock -541.23600 27.163332 -119.113996 58.420684 \n", + "rock_97.mp3 rock -518.49500 58.526745 -66.267744 65.635619 \n", + "rock_98.mp3 rock -518.64307 53.555115 -45.734517 52.444200 \n", + "rock_99.mp3 rock -544.70310 75.612130 -49.380943 54.045627 \n", + "\n", + " 0_skew 1_min 1_max 1_mean 1_std ... \\\n", + "filename ... \n", + "classical_1.mp3 -0.468374 0.000000 178.75162 111.332342 24.847562 ... \n", + "classical_10.mp3 -0.772320 0.029056 259.63272 215.094182 18.388131 ... \n", + "classical_100.mp3 -2.587179 0.000000 190.47589 112.471713 27.277553 ... \n", + "classical_11.mp3 -2.402418 0.000000 159.42575 99.853645 21.916948 ... \n", + "classical_12.mp3 -0.366586 0.000000 194.26416 148.226648 19.305008 ... \n", + "... ... ... ... ... ... ... \n", + "rock_95.mp3 -0.201055 -89.948746 201.18045 111.724191 36.463584 ... \n", + "rock_96.mp3 -0.957699 -7.415959 210.49246 125.453699 31.908870 ... \n", + "rock_97.mp3 -0.898026 -58.824410 175.20135 99.288265 25.158417 ... \n", + "rock_98.mp3 -1.705641 0.000000 187.04272 96.440874 24.137702 ... \n", + "rock_99.mp3 -0.863093 -32.930650 191.73538 93.971242 33.410220 ... \n", + "\n", + " 38_max 38_mean 38_std 38_skew 39_min \\\n", + "filename \n", + "classical_1.mp3 47.308060 -3.713503 16.553984 0.230691 -46.794480 \n", + "classical_10.mp3 29.811110 0.484271 8.660648 -0.479016 -28.989979 \n", + "classical_100.mp3 27.610388 -0.333233 8.185075 0.208425 -38.095375 \n", + "classical_11.mp3 31.500881 -3.781627 9.191043 0.260886 -22.667439 \n", + "classical_12.mp3 28.490644 -6.242015 10.546545 0.341848 -25.040886 \n", + "... ... ... ... ... ... \n", + "rock_95.mp3 22.451445 -7.234634 8.471853 0.753855 -24.712723 \n", + "rock_96.mp3 28.087940 -9.704238 8.447620 0.112760 -38.147890 \n", + "rock_97.mp3 26.325895 -5.722825 7.727378 0.207489 -29.497524 \n", + "rock_98.mp3 8.714736 -9.511491 5.551820 -0.025604 -23.020082 \n", + "rock_99.mp3 17.050608 -5.296691 5.894962 0.390705 -20.983192 \n", + "\n", + " 39_max 39_mean 39_std 39_skew train \n", + "filename \n", + "classical_1.mp3 49.352516 -2.282116 15.285639 0.171462 True \n", + "classical_10.mp3 27.533707 0.952658 10.477735 -0.185771 True \n", + "classical_100.mp3 31.397882 -1.494916 10.917299 0.020985 True \n", + "classical_11.mp3 50.992905 1.600777 10.125545 0.595763 True \n", + "classical_12.mp3 46.878204 1.844494 11.160392 0.503120 True \n", + "... ... ... ... ... ... \n", + "rock_95.mp3 23.410387 -4.502398 6.687983 0.238807 True \n", + "rock_96.mp3 21.814400 -8.249507 7.807756 0.071968 True \n", + "rock_97.mp3 25.410656 -3.356614 8.170526 0.160330 True \n", + "rock_98.mp3 13.948639 -2.664985 5.051498 -0.258407 True \n", + "rock_99.mp3 29.312021 -0.321836 6.571660 0.384794 True \n", + "\n", + "[400 rows x 202 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "joined = pd.merge(features, split, on=\"filename\").set_index(\"filename\")\n", "joined" @@ -186,25 +589,428 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "265d042f", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.672941Z", - "iopub.status.busy": "2024-02-19T14:43:38.672660Z", - "iopub.status.idle": "2024-02-19T14:43:38.696894Z", - "shell.execute_reply": "2024-02-19T14:43:38.696151Z" + "iopub.execute_input": "2024-02-19T16:16:04.433633Z", + "iopub.status.busy": "2024-02-19T16:16:04.433363Z", + "iopub.status.idle": "2024-02-19T16:16:04.463505Z", + "shell.execute_reply": "2024-02-19T16:16:04.462616Z" }, "papermill": { - "duration": 0.032355, - "end_time": "2024-02-19T14:43:38.698270", + "duration": 0.039788, + "end_time": "2024-02-19T16:16:04.467046", "exception": false, - "start_time": "2024-02-19T14:43:38.665915", + "start_time": "2024-02-19T16:16:04.427258", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>label</th>\n", + " <th>0_min</th>\n", + " <th>0_max</th>\n", + " <th>0_mean</th>\n", + " <th>0_std</th>\n", + " <th>0_skew</th>\n", + " <th>1_min</th>\n", + " <th>1_max</th>\n", + " <th>1_mean</th>\n", + " <th>1_std</th>\n", + " <th>...</th>\n", + " <th>38_min</th>\n", + " <th>38_max</th>\n", + " <th>38_mean</th>\n", + " <th>38_std</th>\n", + " <th>38_skew</th>\n", + " <th>39_min</th>\n", + " <th>39_max</th>\n", + " <th>39_mean</th>\n", + " <th>39_std</th>\n", + " <th>39_skew</th>\n", + " </tr>\n", + " <tr>\n", + " <th>filename</th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>classical_1.mp3</th>\n", + " <td>classical</td>\n", + " <td>-530.78436</td>\n", + " <td>-163.308350</td>\n", + " <td>-302.203167</td>\n", + " <td>51.142183</td>\n", + " <td>-0.468374</td>\n", + " <td>0.000000</td>\n", + " <td>178.75162</td>\n", + " <td>111.332342</td>\n", + " <td>24.847562</td>\n", + " <td>...</td>\n", + " <td>-44.098070</td>\n", + " <td>47.308060</td>\n", + " <td>-3.713503</td>\n", + " <td>16.553984</td>\n", + " <td>0.230691</td>\n", + " <td>-46.794480</td>\n", + " <td>49.352516</td>\n", + " <td>-2.282116</td>\n", + " <td>15.285639</td>\n", + " <td>0.171462</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_10.mp3</th>\n", + " <td>classical</td>\n", + " <td>-562.85785</td>\n", + " <td>-96.164795</td>\n", + " <td>-219.259016</td>\n", + " <td>53.561839</td>\n", + " <td>-0.772320</td>\n", + " <td>0.029056</td>\n", + " <td>259.63272</td>\n", + " <td>215.094182</td>\n", + " <td>18.388131</td>\n", + " <td>...</td>\n", + " <td>-27.458416</td>\n", + " <td>29.811110</td>\n", + " <td>0.484271</td>\n", + " <td>8.660648</td>\n", + " <td>-0.479016</td>\n", + " <td>-28.989979</td>\n", + " <td>27.533707</td>\n", + " <td>0.952658</td>\n", + " <td>10.477735</td>\n", + " <td>-0.185771</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_100.mp3</th>\n", + " <td>classical</td>\n", + " <td>-536.23737</td>\n", + " <td>-61.608826</td>\n", + " <td>-177.804114</td>\n", + " <td>83.381622</td>\n", + " <td>-2.587179</td>\n", + " <td>0.000000</td>\n", + " <td>190.47589</td>\n", + " <td>112.471713</td>\n", + " <td>27.277553</td>\n", + " <td>...</td>\n", + " <td>-27.335688</td>\n", + " <td>27.610388</td>\n", + " <td>-0.333233</td>\n", + " <td>8.185075</td>\n", + " <td>0.208425</td>\n", + " <td>-38.095375</td>\n", + " <td>31.397882</td>\n", + " <td>-1.494916</td>\n", + " <td>10.917299</td>\n", + " <td>0.020985</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_11.mp3</th>\n", + " <td>classical</td>\n", + " <td>-536.45746</td>\n", + " <td>-120.429665</td>\n", + " <td>-222.126303</td>\n", + " <td>76.246992</td>\n", + " <td>-2.402418</td>\n", + " <td>0.000000</td>\n", + " <td>159.42575</td>\n", + " <td>99.853645</td>\n", + " <td>21.916948</td>\n", + " <td>...</td>\n", + " <td>-31.774948</td>\n", + " <td>31.500881</td>\n", + " <td>-3.781627</td>\n", + " <td>9.191043</td>\n", + " <td>0.260886</td>\n", + " <td>-22.667439</td>\n", + " <td>50.992905</td>\n", + " <td>1.600777</td>\n", + " <td>10.125545</td>\n", + " <td>0.595763</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_12.mp3</th>\n", + " <td>classical</td>\n", + " <td>-562.67523</td>\n", + " <td>-148.133560</td>\n", + " <td>-270.975406</td>\n", + " <td>52.191182</td>\n", + " <td>-0.366586</td>\n", + " <td>0.000000</td>\n", + " <td>194.26416</td>\n", + " <td>148.226648</td>\n", + " <td>19.305008</td>\n", + " <td>...</td>\n", + " <td>-44.843815</td>\n", + " <td>28.490644</td>\n", + " <td>-6.242015</td>\n", + " <td>10.546545</td>\n", + " <td>0.341848</td>\n", + " <td>-25.040886</td>\n", + " <td>46.878204</td>\n", + " <td>1.844494</td>\n", + " <td>11.160392</td>\n", + " <td>0.503120</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_95.mp3</th>\n", + " <td>rock</td>\n", + " <td>-553.11010</td>\n", + " <td>-5.218835</td>\n", + " <td>-193.506047</td>\n", + " <td>76.869437</td>\n", + " <td>-0.201055</td>\n", + " <td>-89.948746</td>\n", + " <td>201.18045</td>\n", + " <td>111.724191</td>\n", + " <td>36.463584</td>\n", + " <td>...</td>\n", + " <td>-27.043941</td>\n", + " <td>22.451445</td>\n", + " <td>-7.234634</td>\n", + " <td>8.471853</td>\n", + " <td>0.753855</td>\n", + " <td>-24.712723</td>\n", + " <td>23.410387</td>\n", + " <td>-4.502398</td>\n", + " <td>6.687983</td>\n", + " <td>0.238807</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_96.mp3</th>\n", + " <td>rock</td>\n", + " <td>-541.23600</td>\n", + " <td>27.163332</td>\n", + " <td>-119.113996</td>\n", + " <td>58.420684</td>\n", + " <td>-0.957699</td>\n", + " <td>-7.415959</td>\n", + " <td>210.49246</td>\n", + " <td>125.453699</td>\n", + " <td>31.908870</td>\n", + " <td>...</td>\n", + " <td>-37.584858</td>\n", + " <td>28.087940</td>\n", + " <td>-9.704238</td>\n", + " <td>8.447620</td>\n", + " <td>0.112760</td>\n", + " <td>-38.147890</td>\n", + " <td>21.814400</td>\n", + " <td>-8.249507</td>\n", + " <td>7.807756</td>\n", + " <td>0.071968</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_97.mp3</th>\n", + " <td>rock</td>\n", + " <td>-518.49500</td>\n", + " <td>58.526745</td>\n", + " <td>-66.267744</td>\n", + " <td>65.635619</td>\n", + " <td>-0.898026</td>\n", + " <td>-58.824410</td>\n", + " <td>175.20135</td>\n", + " <td>99.288265</td>\n", + " <td>25.158417</td>\n", + " <td>...</td>\n", + " <td>-29.620445</td>\n", + " <td>26.325895</td>\n", + " <td>-5.722825</td>\n", + " <td>7.727378</td>\n", + " <td>0.207489</td>\n", + " <td>-29.497524</td>\n", + " <td>25.410656</td>\n", + " <td>-3.356614</td>\n", + " <td>8.170526</td>\n", + " <td>0.160330</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_98.mp3</th>\n", + " <td>rock</td>\n", + " <td>-518.64307</td>\n", + " <td>53.555115</td>\n", + " <td>-45.734517</td>\n", + " <td>52.444200</td>\n", + " <td>-1.705641</td>\n", + " <td>0.000000</td>\n", + " <td>187.04272</td>\n", + " <td>96.440874</td>\n", + " <td>24.137702</td>\n", + " <td>...</td>\n", + " <td>-26.967852</td>\n", + " <td>8.714736</td>\n", + " <td>-9.511491</td>\n", + " <td>5.551820</td>\n", + " <td>-0.025604</td>\n", + " <td>-23.020082</td>\n", + " <td>13.948639</td>\n", + " <td>-2.664985</td>\n", + " <td>5.051498</td>\n", + " <td>-0.258407</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_99.mp3</th>\n", + " <td>rock</td>\n", + " <td>-544.70310</td>\n", + " <td>75.612130</td>\n", + " <td>-49.380943</td>\n", + " <td>54.045627</td>\n", + " <td>-0.863093</td>\n", + " <td>-32.930650</td>\n", + " <td>191.73538</td>\n", + " <td>93.971242</td>\n", + " <td>33.410220</td>\n", + " <td>...</td>\n", + " <td>-21.929403</td>\n", + " <td>17.050608</td>\n", + " <td>-5.296691</td>\n", + " <td>5.894962</td>\n", + " <td>0.390705</td>\n", + " <td>-20.983192</td>\n", + " <td>29.312021</td>\n", + " <td>-0.321836</td>\n", + " <td>6.571660</td>\n", + " <td>0.384794</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>320 rows × 201 columns</p>\n", + "</div>" + ], + "text/plain": [ + " label 0_min 0_max 0_mean 0_std \\\n", + "filename \n", + "classical_1.mp3 classical -530.78436 -163.308350 -302.203167 51.142183 \n", + "classical_10.mp3 classical -562.85785 -96.164795 -219.259016 53.561839 \n", + "classical_100.mp3 classical -536.23737 -61.608826 -177.804114 83.381622 \n", + "classical_11.mp3 classical -536.45746 -120.429665 -222.126303 76.246992 \n", + "classical_12.mp3 classical -562.67523 -148.133560 -270.975406 52.191182 \n", + "... ... ... ... ... ... \n", + "rock_95.mp3 rock -553.11010 -5.218835 -193.506047 76.869437 \n", + "rock_96.mp3 rock -541.23600 27.163332 -119.113996 58.420684 \n", + "rock_97.mp3 rock -518.49500 58.526745 -66.267744 65.635619 \n", + "rock_98.mp3 rock -518.64307 53.555115 -45.734517 52.444200 \n", + "rock_99.mp3 rock -544.70310 75.612130 -49.380943 54.045627 \n", + "\n", + " 0_skew 1_min 1_max 1_mean 1_std ... \\\n", + "filename ... \n", + "classical_1.mp3 -0.468374 0.000000 178.75162 111.332342 24.847562 ... \n", + "classical_10.mp3 -0.772320 0.029056 259.63272 215.094182 18.388131 ... \n", + "classical_100.mp3 -2.587179 0.000000 190.47589 112.471713 27.277553 ... \n", + "classical_11.mp3 -2.402418 0.000000 159.42575 99.853645 21.916948 ... \n", + "classical_12.mp3 -0.366586 0.000000 194.26416 148.226648 19.305008 ... \n", + "... ... ... ... ... ... ... \n", + "rock_95.mp3 -0.201055 -89.948746 201.18045 111.724191 36.463584 ... \n", + "rock_96.mp3 -0.957699 -7.415959 210.49246 125.453699 31.908870 ... \n", + "rock_97.mp3 -0.898026 -58.824410 175.20135 99.288265 25.158417 ... \n", + "rock_98.mp3 -1.705641 0.000000 187.04272 96.440874 24.137702 ... \n", + "rock_99.mp3 -0.863093 -32.930650 191.73538 93.971242 33.410220 ... \n", + "\n", + " 38_min 38_max 38_mean 38_std 38_skew \\\n", + "filename \n", + "classical_1.mp3 -44.098070 47.308060 -3.713503 16.553984 0.230691 \n", + "classical_10.mp3 -27.458416 29.811110 0.484271 8.660648 -0.479016 \n", + "classical_100.mp3 -27.335688 27.610388 -0.333233 8.185075 0.208425 \n", + "classical_11.mp3 -31.774948 31.500881 -3.781627 9.191043 0.260886 \n", + "classical_12.mp3 -44.843815 28.490644 -6.242015 10.546545 0.341848 \n", + "... ... ... ... ... ... \n", + "rock_95.mp3 -27.043941 22.451445 -7.234634 8.471853 0.753855 \n", + "rock_96.mp3 -37.584858 28.087940 -9.704238 8.447620 0.112760 \n", + "rock_97.mp3 -29.620445 26.325895 -5.722825 7.727378 0.207489 \n", + "rock_98.mp3 -26.967852 8.714736 -9.511491 5.551820 -0.025604 \n", + "rock_99.mp3 -21.929403 17.050608 -5.296691 5.894962 0.390705 \n", + "\n", + " 39_min 39_max 39_mean 39_std 39_skew \n", + "filename \n", + "classical_1.mp3 -46.794480 49.352516 -2.282116 15.285639 0.171462 \n", + "classical_10.mp3 -28.989979 27.533707 0.952658 10.477735 -0.185771 \n", + "classical_100.mp3 -38.095375 31.397882 -1.494916 10.917299 0.020985 \n", + "classical_11.mp3 -22.667439 50.992905 1.600777 10.125545 0.595763 \n", + "classical_12.mp3 -25.040886 46.878204 1.844494 11.160392 0.503120 \n", + "... ... ... ... ... ... \n", + "rock_95.mp3 -24.712723 23.410387 -4.502398 6.687983 0.238807 \n", + "rock_96.mp3 -38.147890 21.814400 -8.249507 7.807756 0.071968 \n", + "rock_97.mp3 -29.497524 25.410656 -3.356614 8.170526 0.160330 \n", + "rock_98.mp3 -23.020082 13.948639 -2.664985 5.051498 -0.258407 \n", + "rock_99.mp3 -20.983192 29.312021 -0.321836 6.571660 0.384794 \n", + "\n", + "[320 rows x 201 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "train: DataFrame = joined[joined[\"train\"] == True].drop(\"train\", axis=1)\n", "train" @@ -212,25 +1018,428 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "1649ce52", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.714740Z", - "iopub.status.busy": "2024-02-19T14:43:38.714388Z", - "iopub.status.idle": "2024-02-19T14:43:38.737616Z", - "shell.execute_reply": "2024-02-19T14:43:38.737067Z" + "iopub.execute_input": "2024-02-19T16:16:04.478455Z", + "iopub.status.busy": "2024-02-19T16:16:04.477901Z", + "iopub.status.idle": "2024-02-19T16:16:04.517562Z", + "shell.execute_reply": "2024-02-19T16:16:04.517119Z" }, "papermill": { - "duration": 0.032666, - "end_time": "2024-02-19T14:43:38.739010", + "duration": 0.04979, + "end_time": "2024-02-19T16:16:04.521752", "exception": false, - "start_time": "2024-02-19T14:43:38.706344", + "start_time": "2024-02-19T16:16:04.471962", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>label</th>\n", + " <th>0_min</th>\n", + " <th>0_max</th>\n", + " <th>0_mean</th>\n", + " <th>0_std</th>\n", + " <th>0_skew</th>\n", + " <th>1_min</th>\n", + " <th>1_max</th>\n", + " <th>1_mean</th>\n", + " <th>1_std</th>\n", + " <th>...</th>\n", + " <th>38_min</th>\n", + " <th>38_max</th>\n", + " <th>38_mean</th>\n", + " <th>38_std</th>\n", + " <th>38_skew</th>\n", + " <th>39_min</th>\n", + " <th>39_max</th>\n", + " <th>39_mean</th>\n", + " <th>39_std</th>\n", + " <th>39_skew</th>\n", + " </tr>\n", + " <tr>\n", + " <th>filename</th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>classical_14.mp3</th>\n", + " <td>classical</td>\n", + " <td>-531.04944</td>\n", + " <td>-100.790540</td>\n", + " <td>-188.970758</td>\n", + " <td>58.287371</td>\n", + " <td>-3.246618</td>\n", + " <td>0.000000</td>\n", + " <td>157.94792</td>\n", + " <td>86.563928</td>\n", + " <td>17.911136</td>\n", + " <td>...</td>\n", + " <td>-36.261150</td>\n", + " <td>38.335830</td>\n", + " <td>-5.770759</td>\n", + " <td>12.254058</td>\n", + " <td>0.805707</td>\n", + " <td>-40.597336</td>\n", + " <td>32.816467</td>\n", + " <td>-0.543406</td>\n", + " <td>11.467829</td>\n", + " <td>-0.187037</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_19.mp3</th>\n", + " <td>classical</td>\n", + " <td>-543.64233</td>\n", + " <td>-106.038220</td>\n", + " <td>-216.909956</td>\n", + " <td>61.317534</td>\n", + " <td>-3.473125</td>\n", + " <td>0.000000</td>\n", + " <td>151.94766</td>\n", + " <td>93.405407</td>\n", + " <td>22.029233</td>\n", + " <td>...</td>\n", + " <td>-27.029383</td>\n", + " <td>30.682745</td>\n", + " <td>3.342260</td>\n", + " <td>8.420860</td>\n", + " <td>0.043171</td>\n", + " <td>-25.900253</td>\n", + " <td>36.766388</td>\n", + " <td>2.389575</td>\n", + " <td>10.099726</td>\n", + " <td>0.140336</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_22.mp3</th>\n", + " <td>classical</td>\n", + " <td>-541.93616</td>\n", + " <td>-226.866420</td>\n", + " <td>-335.226585</td>\n", + " <td>50.647623</td>\n", + " <td>-0.545185</td>\n", + " <td>0.000000</td>\n", + " <td>176.14640</td>\n", + " <td>133.592236</td>\n", + " <td>17.983436</td>\n", + " <td>...</td>\n", + " <td>-29.110730</td>\n", + " <td>27.870188</td>\n", + " <td>-0.569063</td>\n", + " <td>8.987627</td>\n", + " <td>0.238096</td>\n", + " <td>-18.535694</td>\n", + " <td>41.965923</td>\n", + " <td>3.331284</td>\n", + " <td>9.619688</td>\n", + " <td>0.652851</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_27.mp3</th>\n", + " <td>classical</td>\n", + " <td>-595.41895</td>\n", + " <td>-78.118810</td>\n", + " <td>-265.344461</td>\n", + " <td>104.892303</td>\n", + " <td>-0.526604</td>\n", + " <td>0.000000</td>\n", + " <td>200.61633</td>\n", + " <td>144.208488</td>\n", + " <td>25.198761</td>\n", + " <td>...</td>\n", + " <td>-28.797083</td>\n", + " <td>20.897749</td>\n", + " <td>-5.761607</td>\n", + " <td>7.108055</td>\n", + " <td>0.360305</td>\n", + " <td>-39.705536</td>\n", + " <td>25.803795</td>\n", + " <td>-2.736776</td>\n", + " <td>10.101577</td>\n", + " <td>-0.463730</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_28.mp3</th>\n", + " <td>classical</td>\n", + " <td>-586.01990</td>\n", + " <td>-129.735810</td>\n", + " <td>-258.647853</td>\n", + " <td>62.885900</td>\n", + " <td>-1.322064</td>\n", + " <td>0.000000</td>\n", + " <td>202.23563</td>\n", + " <td>150.812439</td>\n", + " <td>24.929648</td>\n", + " <td>...</td>\n", + " <td>-29.485440</td>\n", + " <td>37.300680</td>\n", + " <td>1.431254</td>\n", + " <td>10.245150</td>\n", + " <td>0.195290</td>\n", + " <td>-47.261528</td>\n", + " <td>52.326958</td>\n", + " <td>-1.204363</td>\n", + " <td>14.523197</td>\n", + " <td>0.225080</td>\n", + " </tr>\n", + " <tr>\n", + " <th>...</th>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " <td>...</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_73.mp3</th>\n", + " <td>rock</td>\n", + " <td>-592.88617</td>\n", + " <td>41.701897</td>\n", + " <td>-153.154894</td>\n", + " <td>106.421560</td>\n", + " <td>-0.994739</td>\n", + " <td>0.000000</td>\n", + " <td>215.72992</td>\n", + " <td>115.183866</td>\n", + " <td>33.206780</td>\n", + " <td>...</td>\n", + " <td>-24.936195</td>\n", + " <td>24.260921</td>\n", + " <td>-2.783082</td>\n", + " <td>6.734193</td>\n", + " <td>0.418109</td>\n", + " <td>-13.622139</td>\n", + " <td>26.186543</td>\n", + " <td>3.595928</td>\n", + " <td>5.598527</td>\n", + " <td>0.126129</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_77.mp3</th>\n", + " <td>rock</td>\n", + " <td>-539.35850</td>\n", + " <td>35.718674</td>\n", + " <td>-179.586616</td>\n", + " <td>84.650255</td>\n", + " <td>-0.219876</td>\n", + " <td>-38.462660</td>\n", + " <td>223.53780</td>\n", + " <td>127.873801</td>\n", + " <td>40.245428</td>\n", + " <td>...</td>\n", + " <td>-43.137640</td>\n", + " <td>22.787945</td>\n", + " <td>-4.591152</td>\n", + " <td>8.628223</td>\n", + " <td>-0.248479</td>\n", + " <td>-32.774500</td>\n", + " <td>29.059296</td>\n", + " <td>-3.888315</td>\n", + " <td>8.583189</td>\n", + " <td>0.047952</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_79.mp3</th>\n", + " <td>rock</td>\n", + " <td>-546.26685</td>\n", + " <td>40.547977</td>\n", + " <td>-92.666177</td>\n", + " <td>70.381178</td>\n", + " <td>-1.007915</td>\n", + " <td>-28.949915</td>\n", + " <td>209.03094</td>\n", + " <td>103.412762</td>\n", + " <td>35.947907</td>\n", + " <td>...</td>\n", + " <td>-28.984898</td>\n", + " <td>23.744228</td>\n", + " <td>-4.107946</td>\n", + " <td>6.492144</td>\n", + " <td>0.329881</td>\n", + " <td>-47.077300</td>\n", + " <td>24.408516</td>\n", + " <td>-4.148661</td>\n", + " <td>9.912590</td>\n", + " <td>-1.244573</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_8.mp3</th>\n", + " <td>rock</td>\n", + " <td>-497.71323</td>\n", + " <td>23.375930</td>\n", + " <td>-88.147799</td>\n", + " <td>81.523614</td>\n", + " <td>-1.833271</td>\n", + " <td>0.000000</td>\n", + " <td>160.66116</td>\n", + " <td>107.283174</td>\n", + " <td>22.091759</td>\n", + " <td>...</td>\n", + " <td>-19.778900</td>\n", + " <td>7.288054</td>\n", + " <td>-6.099163</td>\n", + " <td>4.362437</td>\n", + " <td>-0.103457</td>\n", + " <td>-24.742710</td>\n", + " <td>15.181401</td>\n", + " <td>-2.608342</td>\n", + " <td>5.046914</td>\n", + " <td>-0.336846</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_91.mp3</th>\n", + " <td>rock</td>\n", + " <td>-533.06120</td>\n", + " <td>25.355713</td>\n", + " <td>-158.489584</td>\n", + " <td>74.151701</td>\n", + " <td>-0.529297</td>\n", + " <td>-29.862532</td>\n", + " <td>204.16524</td>\n", + " <td>107.615339</td>\n", + " <td>39.961011</td>\n", + " <td>...</td>\n", + " <td>-25.712143</td>\n", + " <td>15.506594</td>\n", + " <td>-7.065025</td>\n", + " <td>6.016990</td>\n", + " <td>0.236868</td>\n", + " <td>-28.482529</td>\n", + " <td>20.222202</td>\n", + " <td>-1.086114</td>\n", + " <td>6.034919</td>\n", + " <td>0.097198</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "<p>80 rows × 201 columns</p>\n", + "</div>" + ], + "text/plain": [ + " label 0_min 0_max 0_mean 0_std \\\n", + "filename \n", + "classical_14.mp3 classical -531.04944 -100.790540 -188.970758 58.287371 \n", + "classical_19.mp3 classical -543.64233 -106.038220 -216.909956 61.317534 \n", + "classical_22.mp3 classical -541.93616 -226.866420 -335.226585 50.647623 \n", + "classical_27.mp3 classical -595.41895 -78.118810 -265.344461 104.892303 \n", + "classical_28.mp3 classical -586.01990 -129.735810 -258.647853 62.885900 \n", + "... ... ... ... ... ... \n", + "rock_73.mp3 rock -592.88617 41.701897 -153.154894 106.421560 \n", + "rock_77.mp3 rock -539.35850 35.718674 -179.586616 84.650255 \n", + "rock_79.mp3 rock -546.26685 40.547977 -92.666177 70.381178 \n", + "rock_8.mp3 rock -497.71323 23.375930 -88.147799 81.523614 \n", + "rock_91.mp3 rock -533.06120 25.355713 -158.489584 74.151701 \n", + "\n", + " 0_skew 1_min 1_max 1_mean 1_std ... \\\n", + "filename ... \n", + "classical_14.mp3 -3.246618 0.000000 157.94792 86.563928 17.911136 ... \n", + "classical_19.mp3 -3.473125 0.000000 151.94766 93.405407 22.029233 ... \n", + "classical_22.mp3 -0.545185 0.000000 176.14640 133.592236 17.983436 ... \n", + "classical_27.mp3 -0.526604 0.000000 200.61633 144.208488 25.198761 ... \n", + "classical_28.mp3 -1.322064 0.000000 202.23563 150.812439 24.929648 ... \n", + "... ... ... ... ... ... ... \n", + "rock_73.mp3 -0.994739 0.000000 215.72992 115.183866 33.206780 ... \n", + "rock_77.mp3 -0.219876 -38.462660 223.53780 127.873801 40.245428 ... \n", + "rock_79.mp3 -1.007915 -28.949915 209.03094 103.412762 35.947907 ... \n", + "rock_8.mp3 -1.833271 0.000000 160.66116 107.283174 22.091759 ... \n", + "rock_91.mp3 -0.529297 -29.862532 204.16524 107.615339 39.961011 ... \n", + "\n", + " 38_min 38_max 38_mean 38_std 38_skew \\\n", + "filename \n", + "classical_14.mp3 -36.261150 38.335830 -5.770759 12.254058 0.805707 \n", + "classical_19.mp3 -27.029383 30.682745 3.342260 8.420860 0.043171 \n", + "classical_22.mp3 -29.110730 27.870188 -0.569063 8.987627 0.238096 \n", + "classical_27.mp3 -28.797083 20.897749 -5.761607 7.108055 0.360305 \n", + "classical_28.mp3 -29.485440 37.300680 1.431254 10.245150 0.195290 \n", + "... ... ... ... ... ... \n", + "rock_73.mp3 -24.936195 24.260921 -2.783082 6.734193 0.418109 \n", + "rock_77.mp3 -43.137640 22.787945 -4.591152 8.628223 -0.248479 \n", + "rock_79.mp3 -28.984898 23.744228 -4.107946 6.492144 0.329881 \n", + "rock_8.mp3 -19.778900 7.288054 -6.099163 4.362437 -0.103457 \n", + "rock_91.mp3 -25.712143 15.506594 -7.065025 6.016990 0.236868 \n", + "\n", + " 39_min 39_max 39_mean 39_std 39_skew \n", + "filename \n", + "classical_14.mp3 -40.597336 32.816467 -0.543406 11.467829 -0.187037 \n", + "classical_19.mp3 -25.900253 36.766388 2.389575 10.099726 0.140336 \n", + "classical_22.mp3 -18.535694 41.965923 3.331284 9.619688 0.652851 \n", + "classical_27.mp3 -39.705536 25.803795 -2.736776 10.101577 -0.463730 \n", + "classical_28.mp3 -47.261528 52.326958 -1.204363 14.523197 0.225080 \n", + "... ... ... ... ... ... \n", + "rock_73.mp3 -13.622139 26.186543 3.595928 5.598527 0.126129 \n", + "rock_77.mp3 -32.774500 29.059296 -3.888315 8.583189 0.047952 \n", + "rock_79.mp3 -47.077300 24.408516 -4.148661 9.912590 -1.244573 \n", + "rock_8.mp3 -24.742710 15.181401 -2.608342 5.046914 -0.336846 \n", + "rock_91.mp3 -28.482529 20.222202 -1.086114 6.034919 0.097198 \n", + "\n", + "[80 rows x 201 columns]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "test: DataFrame = joined[joined[\"train\"] == False].drop(\"train\", axis=1)\n", "test" @@ -238,26 +1447,108 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "1c01673464cb048e", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.755297Z", - "iopub.status.busy": "2024-02-19T14:43:38.754955Z", - "iopub.status.idle": "2024-02-19T14:43:38.771236Z", - "shell.execute_reply": "2024-02-19T14:43:38.770370Z" + "iopub.execute_input": "2024-02-19T16:16:04.548254Z", + "iopub.status.busy": "2024-02-19T16:16:04.548009Z", + "iopub.status.idle": "2024-02-19T16:16:04.569346Z", + "shell.execute_reply": "2024-02-19T16:16:04.568500Z" }, "papermill": { - "duration": 0.025115, - "end_time": "2024-02-19T14:43:38.772716", + "duration": 0.033927, + "end_time": "2024-02-19T16:16:04.572679", "exception": false, - "start_time": "2024-02-19T14:43:38.747601", + "start_time": "2024-02-19T16:16:04.538752", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "( 0_min 0_max 0_mean 0_std 0_skew \\\n", + " filename \n", + " classical_1.mp3 -530.78436 -163.308350 -302.203167 51.142183 -0.468374 \n", + " classical_10.mp3 -562.85785 -96.164795 -219.259016 53.561839 -0.772320 \n", + " classical_100.mp3 -536.23737 -61.608826 -177.804114 83.381622 -2.587179 \n", + " classical_11.mp3 -536.45746 -120.429665 -222.126303 76.246992 -2.402418 \n", + " classical_12.mp3 -562.67523 -148.133560 -270.975406 52.191182 -0.366586 \n", + " ... ... ... ... ... ... \n", + " rock_95.mp3 -553.11010 -5.218835 -193.506047 76.869437 -0.201055 \n", + " rock_96.mp3 -541.23600 27.163332 -119.113996 58.420684 -0.957699 \n", + " rock_97.mp3 -518.49500 58.526745 -66.267744 65.635619 -0.898026 \n", + " rock_98.mp3 -518.64307 53.555115 -45.734517 52.444200 -1.705641 \n", + " rock_99.mp3 -544.70310 75.612130 -49.380943 54.045627 -0.863093 \n", + " \n", + " 1_min 1_max 1_mean 1_std 1_skew ... \\\n", + " filename ... \n", + " classical_1.mp3 0.000000 178.75162 111.332342 24.847562 -0.402642 ... \n", + " classical_10.mp3 0.029056 259.63272 215.094182 18.388131 -1.528751 ... \n", + " classical_100.mp3 0.000000 190.47589 112.471713 27.277553 -1.318523 ... \n", + " classical_11.mp3 0.000000 159.42575 99.853645 21.916948 -1.176922 ... \n", + " classical_12.mp3 0.000000 194.26416 148.226648 19.305008 -0.533255 ... \n", + " ... ... ... ... ... ... ... \n", + " rock_95.mp3 -89.948746 201.18045 111.724191 36.463584 -0.443224 ... \n", + " rock_96.mp3 -7.415959 210.49246 125.453699 31.908870 -0.547469 ... \n", + " rock_97.mp3 -58.824410 175.20135 99.288265 25.158417 -0.568057 ... \n", + " rock_98.mp3 0.000000 187.04272 96.440874 24.137702 -0.145217 ... \n", + " rock_99.mp3 -32.930650 191.73538 93.971242 33.410220 0.040113 ... \n", + " \n", + " 38_min 38_max 38_mean 38_std 38_skew \\\n", + " filename \n", + " classical_1.mp3 -44.098070 47.308060 -3.713503 16.553984 0.230691 \n", + " classical_10.mp3 -27.458416 29.811110 0.484271 8.660648 -0.479016 \n", + " classical_100.mp3 -27.335688 27.610388 -0.333233 8.185075 0.208425 \n", + " classical_11.mp3 -31.774948 31.500881 -3.781627 9.191043 0.260886 \n", + " classical_12.mp3 -44.843815 28.490644 -6.242015 10.546545 0.341848 \n", + " ... ... ... ... ... ... \n", + " rock_95.mp3 -27.043941 22.451445 -7.234634 8.471853 0.753855 \n", + " rock_96.mp3 -37.584858 28.087940 -9.704238 8.447620 0.112760 \n", + " rock_97.mp3 -29.620445 26.325895 -5.722825 7.727378 0.207489 \n", + " rock_98.mp3 -26.967852 8.714736 -9.511491 5.551820 -0.025604 \n", + " rock_99.mp3 -21.929403 17.050608 -5.296691 5.894962 0.390705 \n", + " \n", + " 39_min 39_max 39_mean 39_std 39_skew \n", + " filename \n", + " classical_1.mp3 -46.794480 49.352516 -2.282116 15.285639 0.171462 \n", + " classical_10.mp3 -28.989979 27.533707 0.952658 10.477735 -0.185771 \n", + " classical_100.mp3 -38.095375 31.397882 -1.494916 10.917299 0.020985 \n", + " classical_11.mp3 -22.667439 50.992905 1.600777 10.125545 0.595763 \n", + " classical_12.mp3 -25.040886 46.878204 1.844494 11.160392 0.503120 \n", + " ... ... ... ... ... ... \n", + " rock_95.mp3 -24.712723 23.410387 -4.502398 6.687983 0.238807 \n", + " rock_96.mp3 -38.147890 21.814400 -8.249507 7.807756 0.071968 \n", + " rock_97.mp3 -29.497524 25.410656 -3.356614 8.170526 0.160330 \n", + " rock_98.mp3 -23.020082 13.948639 -2.664985 5.051498 -0.258407 \n", + " rock_99.mp3 -20.983192 29.312021 -0.321836 6.571660 0.384794 \n", + " \n", + " [320 rows x 200 columns],\n", + " array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n", + " 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", + " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", + " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", + " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,\n", + " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", + " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", + " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n", + " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]))" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# remove labels\n", "X = train.drop(['label'], axis=1, errors='ignore')\n", @@ -281,26 +1572,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "41ce60fbed0a23bc", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.786997Z", - "iopub.status.busy": "2024-02-19T14:43:38.785821Z", - "iopub.status.idle": "2024-02-19T14:43:38.798214Z", - "shell.execute_reply": "2024-02-19T14:43:38.797313Z" + "iopub.execute_input": "2024-02-19T16:16:04.583723Z", + "iopub.status.busy": "2024-02-19T16:16:04.583264Z", + "iopub.status.idle": "2024-02-19T16:16:04.594085Z", + "shell.execute_reply": "2024-02-19T16:16:04.593066Z" }, "papermill": { - "duration": 0.023428, - "end_time": "2024-02-19T14:43:38.802230", + "duration": 0.019629, + "end_time": "2024-02-19T16:16:04.597077", "exception": false, - "start_time": "2024-02-19T14:43:38.778802", + "start_time": "2024-02-19T16:16:04.577448", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(320, 200)\n", + "(80, 200)\n", + "0.25\n" + ] + }, + { + "data": { + "text/plain": [ + "array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,\n", + " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,\n", + " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,\n", + " 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3])" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "X_test = test.drop(['label'], axis=1, errors='ignore')\n", "\n", @@ -314,26 +1628,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "99dc29024df3d251", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.818158Z", - "iopub.status.busy": "2024-02-19T14:43:38.817887Z", - "iopub.status.idle": "2024-02-19T14:43:38.826644Z", - "shell.execute_reply": "2024-02-19T14:43:38.825871Z" + "iopub.execute_input": "2024-02-19T16:16:04.609156Z", + "iopub.status.busy": "2024-02-19T16:16:04.608169Z", + "iopub.status.idle": "2024-02-19T16:16:04.619390Z", + "shell.execute_reply": "2024-02-19T16:16:04.618907Z" }, "papermill": { - "duration": 0.019206, - "end_time": "2024-02-19T14:43:38.828092", + "duration": 0.020927, + "end_time": "2024-02-19T16:16:04.622667", "exception": false, - "start_time": "2024-02-19T14:43:38.808886", + "start_time": "2024-02-19T16:16:04.601740", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 0.41312239, -1.88148511, -1.37421185, ..., -0.68911518,\n", + " 3.50451928, 0.07520046],\n", + " [-0.42816035, -0.99060625, -0.4404758 , ..., 0.28654076,\n", + " 1.37798856, -0.951984 ],\n", + " [ 0.27009077, -0.5321083 , 0.0261989 , ..., -0.45168394,\n", + " 1.5724073 , -0.35748057],\n", + " ...,\n", + " [ 0.73547043, 1.06188296, 1.2818092 , ..., -1.01319983,\n", + " 0.35751256, 0.04319281],\n", + " [ 0.73158658, 0.99591803, 1.51296008, ..., -0.8045943 ,\n", + " -1.02203015, -1.16083938],\n", + " [ 0.04803597, 1.28857647, 1.47191079, ..., -0.09786551,\n", + " -0.34966422, 0.68861229]])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "# Standardize for PCA\n", "scaler = StandardScaler()\n", @@ -345,26 +1682,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "3f30e11dc4688246", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.862268Z", - "iopub.status.busy": "2024-02-19T14:43:38.861826Z", - "iopub.status.idle": "2024-02-19T14:43:38.905156Z", - "shell.execute_reply": "2024-02-19T14:43:38.904157Z" + "iopub.execute_input": "2024-02-19T16:16:04.642389Z", + "iopub.status.busy": "2024-02-19T16:16:04.642194Z", + "iopub.status.idle": "2024-02-19T16:16:04.672076Z", + "shell.execute_reply": "2024-02-19T16:16:04.671543Z" }, "papermill": { - "duration": 0.065427, - "end_time": "2024-02-19T14:43:38.909651", + "duration": 0.044992, + "end_time": "2024-02-19T16:16:04.675971", "exception": false, - "start_time": "2024-02-19T14:43:38.844224", + "start_time": "2024-02-19T16:16:04.630979", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.7485941930863775\n", + "(320, 30)\n", + "(80, 30)\n", + "(320,)\n" + ] + } + ], "source": [ "# Reduce Dimensions via PCA\n", "pca = PCA(n_components=30).fit(X_standardized)\n", @@ -379,26 +1727,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "21bf974f979ae1f4", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:38.967756Z", - "iopub.status.busy": "2024-02-19T14:43:38.967401Z", - "iopub.status.idle": "2024-02-19T14:43:39.005473Z", - "shell.execute_reply": "2024-02-19T14:43:39.004883Z" + "iopub.execute_input": "2024-02-19T16:16:04.709112Z", + "iopub.status.busy": "2024-02-19T16:16:04.708824Z", + "iopub.status.idle": "2024-02-19T16:16:04.760669Z", + "shell.execute_reply": "2024-02-19T16:16:04.760113Z" }, "papermill": { - "duration": 0.068904, - "end_time": "2024-02-19T14:43:39.006776", + "duration": 0.073483, + "end_time": "2024-02-19T16:16:04.761883", "exception": false, - "start_time": "2024-02-19T14:43:38.937872", + "start_time": "2024-02-19T16:16:04.688400", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.8125\n" + ] + } + ], "source": [ "# Fit SVM:\n", "\n", @@ -412,26 +1768,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "6099c8ae2b4be921", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:39.022652Z", - "iopub.status.busy": "2024-02-19T14:43:39.022268Z", - "iopub.status.idle": "2024-02-19T14:43:42.006558Z", - "shell.execute_reply": "2024-02-19T14:43:42.006078Z" + "iopub.execute_input": "2024-02-19T16:16:04.773211Z", + "iopub.status.busy": "2024-02-19T16:16:04.772824Z", + "iopub.status.idle": "2024-02-19T16:16:07.443318Z", + "shell.execute_reply": "2024-02-19T16:16:07.442443Z" }, "papermill": { - "duration": 2.994462, - "end_time": "2024-02-19T14:43:42.007899", + "duration": 2.677626, + "end_time": "2024-02-19T16:16:07.444714", "exception": false, - "start_time": "2024-02-19T14:43:39.013437", + "start_time": "2024-02-19T16:16:04.767088", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.765625\n", + "{'C': 4, 'gamma': 0.01}\n", + "SVC(C=4, gamma=0.01)\n" + ] + } + ], "source": [ "# grid for C, gamma\n", "C_grid = [0.0001, 0.001, 0.01, 0.1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n", @@ -449,26 +1815,34 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "43a8791efe8809f4", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:42.043179Z", - "iopub.status.busy": "2024-02-19T14:43:42.042950Z", - "iopub.status.idle": "2024-02-19T14:43:42.088754Z", - "shell.execute_reply": "2024-02-19T14:43:42.088214Z" + "iopub.execute_input": "2024-02-19T16:16:07.475204Z", + "iopub.status.busy": "2024-02-19T16:16:07.474527Z", + "iopub.status.idle": "2024-02-19T16:16:07.531157Z", + "shell.execute_reply": "2024-02-19T16:16:07.530110Z" }, "papermill": { - "duration": 0.064209, - "end_time": "2024-02-19T14:43:42.090026", + "duration": 0.075253, + "end_time": "2024-02-19T16:16:07.533749", "exception": false, - "start_time": "2024-02-19T14:43:42.025817", + "start_time": "2024-02-19T16:16:07.458496", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy score: 0.7625\n" + ] + } + ], "source": [ "# Fit entire training sets with optimal model\n", "\n", @@ -481,26 +1855,1565 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "28c779539faeb27c", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:42.127450Z", - "iopub.status.busy": "2024-02-19T14:43:42.127111Z", - "iopub.status.idle": "2024-02-19T14:43:42.160469Z", - "shell.execute_reply": "2024-02-19T14:43:42.159848Z" + "iopub.execute_input": "2024-02-19T16:16:07.560459Z", + "iopub.status.busy": "2024-02-19T16:16:07.560209Z", + "iopub.status.idle": "2024-02-19T16:16:07.592578Z", + "shell.execute_reply": "2024-02-19T16:16:07.591551Z" }, "papermill": { - "duration": 0.053263, - "end_time": "2024-02-19T14:43:42.162096", + "duration": 0.049489, + "end_time": "2024-02-19T16:16:07.596216", "exception": false, - "start_time": "2024-02-19T14:43:42.108833", + "start_time": "2024-02-19T16:16:07.546727", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>label</th>\n", + " <th>pred1</th>\n", + " <th>pred2</th>\n", + " <th>pred3</th>\n", + " <th>pred4</th>\n", + " </tr>\n", + " <tr>\n", + " <th>filename</th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>classical_14.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_19.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_22.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_27.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_28.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_29.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_30.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_35.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_46.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_60.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_66.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_69.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_79.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_83.mp3</th>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_87.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_89.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_9.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_91.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_99.mp3</th>\n", + " <td>classical</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_100.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_13.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_18.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_25.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_31.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_32.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_39.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_49.mp3</th>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_50.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_58.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_61.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_65.mp3</th>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_69.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_7.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_70.mp3</th>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_71.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_72.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_74.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_77.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_80.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_88.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_90.mp3</th>\n", + " <td>electronic</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_12.mp3</th>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_15.mp3</th>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_16.mp3</th>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_19.mp3</th>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_23.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_35.mp3</th>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_37.mp3</th>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_39.mp3</th>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_4.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_47.mp3</th>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_50.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_59.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_68.mp3</th>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_73.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_76.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_77.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_80.mp3</th>\n", + " <td>pop</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_87.mp3</th>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_1.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_13.mp3</th>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>classical</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_22.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_24.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_27.mp3</th>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_35.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_36.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_41.mp3</th>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_51.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_60.mp3</th>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_61.mp3</th>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_62.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_66.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_69.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_7.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_72.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_73.mp3</th>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>rock</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_77.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_79.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_8.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_91.mp3</th>\n", + " <td>rock</td>\n", + " <td>rock</td>\n", + " <td>pop</td>\n", + " <td>electronic</td>\n", + " <td>classical</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " label pred1 pred2 pred3 pred4\n", + "filename \n", + "classical_14.mp3 classical classical electronic pop rock\n", + "classical_19.mp3 classical classical electronic pop rock\n", + "classical_22.mp3 classical classical pop electronic rock\n", + "classical_27.mp3 classical classical electronic pop rock\n", + "classical_28.mp3 classical classical electronic pop rock\n", + "classical_29.mp3 classical classical electronic pop rock\n", + "classical_30.mp3 classical classical electronic pop rock\n", + "classical_35.mp3 classical classical electronic pop rock\n", + "classical_46.mp3 classical classical electronic pop rock\n", + "classical_60.mp3 classical classical electronic pop rock\n", + "classical_66.mp3 classical classical rock electronic pop\n", + "classical_69.mp3 classical classical pop rock electronic\n", + "classical_79.mp3 classical classical electronic pop rock\n", + "classical_83.mp3 classical electronic classical pop rock\n", + "classical_87.mp3 classical classical pop electronic rock\n", + "classical_89.mp3 classical classical electronic rock pop\n", + "classical_9.mp3 classical classical electronic pop rock\n", + "classical_91.mp3 classical classical electronic pop rock\n", + "classical_99.mp3 classical classical electronic pop rock\n", + "electronic_100.mp3 electronic electronic pop classical rock\n", + "electronic_13.mp3 electronic electronic pop rock classical\n", + "electronic_18.mp3 electronic electronic pop rock classical\n", + "electronic_25.mp3 electronic electronic classical pop rock\n", + "electronic_31.mp3 electronic electronic pop rock classical\n", + "electronic_32.mp3 electronic electronic pop classical rock\n", + "electronic_39.mp3 electronic electronic pop rock classical\n", + "electronic_49.mp3 electronic pop rock electronic classical\n", + "electronic_50.mp3 electronic electronic pop rock classical\n", + "electronic_58.mp3 electronic electronic pop rock classical\n", + "electronic_61.mp3 electronic electronic rock pop classical\n", + "electronic_65.mp3 electronic pop classical rock electronic\n", + "electronic_69.mp3 electronic electronic pop rock classical\n", + "electronic_7.mp3 electronic electronic pop rock classical\n", + "electronic_70.mp3 electronic classical electronic pop rock\n", + "electronic_71.mp3 electronic electronic rock pop classical\n", + "electronic_72.mp3 electronic electronic rock pop classical\n", + "electronic_74.mp3 electronic electronic pop rock classical\n", + "electronic_77.mp3 electronic electronic pop rock classical\n", + "electronic_80.mp3 electronic electronic rock pop classical\n", + "electronic_88.mp3 electronic electronic pop rock classical\n", + "electronic_90.mp3 electronic electronic pop rock classical\n", + "pop_12.mp3 pop rock pop electronic classical\n", + "pop_15.mp3 pop rock pop electronic classical\n", + "pop_16.mp3 pop electronic pop rock classical\n", + "pop_19.mp3 pop electronic classical rock pop\n", + "pop_23.mp3 pop pop electronic rock classical\n", + "pop_35.mp3 pop rock pop electronic classical\n", + "pop_37.mp3 pop rock pop electronic classical\n", + "pop_39.mp3 pop electronic pop rock classical\n", + "pop_4.mp3 pop pop rock electronic classical\n", + "pop_47.mp3 pop electronic pop rock classical\n", + "pop_50.mp3 pop pop rock electronic classical\n", + "pop_59.mp3 pop pop rock electronic classical\n", + "pop_68.mp3 pop rock pop electronic classical\n", + "pop_73.mp3 pop pop rock electronic classical\n", + "pop_76.mp3 pop pop rock electronic classical\n", + "pop_77.mp3 pop pop rock electronic classical\n", + "pop_80.mp3 pop pop rock electronic classical\n", + "pop_87.mp3 pop rock pop electronic classical\n", + "rock_1.mp3 rock rock pop electronic classical\n", + "rock_13.mp3 rock pop classical rock electronic\n", + "rock_22.mp3 rock rock pop electronic classical\n", + "rock_24.mp3 rock rock pop electronic classical\n", + "rock_27.mp3 rock pop rock electronic classical\n", + "rock_35.mp3 rock rock pop electronic classical\n", + "rock_36.mp3 rock rock pop electronic classical\n", + "rock_41.mp3 rock electronic pop rock classical\n", + "rock_51.mp3 rock rock pop electronic classical\n", + "rock_60.mp3 rock electronic pop rock classical\n", + "rock_61.mp3 rock electronic pop rock classical\n", + "rock_62.mp3 rock rock pop electronic classical\n", + "rock_66.mp3 rock rock pop electronic classical\n", + "rock_69.mp3 rock rock pop electronic classical\n", + "rock_7.mp3 rock rock pop electronic classical\n", + "rock_72.mp3 rock rock pop electronic classical\n", + "rock_73.mp3 rock pop rock electronic classical\n", + "rock_77.mp3 rock rock pop electronic classical\n", + "rock_79.mp3 rock rock pop electronic classical\n", + "rock_8.mp3 rock rock pop electronic classical\n", + "rock_91.mp3 rock rock pop electronic classical" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<div>\n", + "<style scoped>\n", + " .dataframe tbody tr th:only-of-type {\n", + " vertical-align: middle;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: right;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>label</th>\n", + " <th>classical</th>\n", + " <th>electronic</th>\n", + " <th>pop</th>\n", + " <th>rock</th>\n", + " </tr>\n", + " <tr>\n", + " <th>filename</th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>classical_14.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.921674</td>\n", + " <td>0.068912</td>\n", + " <td>0.007336</td>\n", + " <td>0.002078</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_19.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.999358</td>\n", + " <td>0.000365</td>\n", + " <td>0.000198</td>\n", + " <td>0.000080</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_22.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.928396</td>\n", + " <td>0.021858</td>\n", + " <td>0.045747</td>\n", + " <td>0.003998</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_27.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.986253</td>\n", + " <td>0.005595</td>\n", + " <td>0.005402</td>\n", + " <td>0.002750</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_28.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.990518</td>\n", + " <td>0.004636</td>\n", + " <td>0.004088</td>\n", + " <td>0.000758</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_29.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.931334</td>\n", + " <td>0.059878</td>\n", + " <td>0.005925</td>\n", + " <td>0.002864</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_30.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.936553</td>\n", + " <td>0.046358</td>\n", + " <td>0.012808</td>\n", + " <td>0.004281</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_35.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.989850</td>\n", + " <td>0.007889</td>\n", + " <td>0.001508</td>\n", + " <td>0.000753</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_46.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.993555</td>\n", + " <td>0.004318</td>\n", + " <td>0.001722</td>\n", + " <td>0.000405</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_60.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.984292</td>\n", + " <td>0.012110</td>\n", + " <td>0.002831</td>\n", + " <td>0.000767</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_66.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.964478</td>\n", + " <td>0.011823</td>\n", + " <td>0.010403</td>\n", + " <td>0.013296</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_69.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.826980</td>\n", + " <td>0.027886</td>\n", + " <td>0.115534</td>\n", + " <td>0.029600</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_79.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.995332</td>\n", + " <td>0.003639</td>\n", + " <td>0.000583</td>\n", + " <td>0.000447</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_83.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.320068</td>\n", + " <td>0.402040</td>\n", + " <td>0.258860</td>\n", + " <td>0.019032</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_87.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.975821</td>\n", + " <td>0.005527</td>\n", + " <td>0.016516</td>\n", + " <td>0.002136</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_89.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.986707</td>\n", + " <td>0.010640</td>\n", + " <td>0.001225</td>\n", + " <td>0.001428</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_9.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.986797</td>\n", + " <td>0.009585</td>\n", + " <td>0.003106</td>\n", + " <td>0.000511</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_91.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.953219</td>\n", + " <td>0.033934</td>\n", + " <td>0.007416</td>\n", + " <td>0.005432</td>\n", + " </tr>\n", + " <tr>\n", + " <th>classical_99.mp3</th>\n", + " <td>classical</td>\n", + " <td>0.865022</td>\n", + " <td>0.104135</td>\n", + " <td>0.022582</td>\n", + " <td>0.008262</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_100.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.002658</td>\n", + " <td>0.986310</td>\n", + " <td>0.008939</td>\n", + " <td>0.002093</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_13.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.008863</td>\n", + " <td>0.508337</td>\n", + " <td>0.360265</td>\n", + " <td>0.122535</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_18.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.002329</td>\n", + " <td>0.985105</td>\n", + " <td>0.008063</td>\n", + " <td>0.004503</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_25.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.023294</td>\n", + " <td>0.962466</td>\n", + " <td>0.008125</td>\n", + " <td>0.006115</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_31.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.002193</td>\n", + " <td>0.947923</td>\n", + " <td>0.027770</td>\n", + " <td>0.022114</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_32.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.089548</td>\n", + " <td>0.772897</td>\n", + " <td>0.122321</td>\n", + " <td>0.015235</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_39.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.015633</td>\n", + " <td>0.766686</td>\n", + " <td>0.188438</td>\n", + " <td>0.029243</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_49.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.005457</td>\n", + " <td>0.302567</td>\n", + " <td>0.361852</td>\n", + " <td>0.330123</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_50.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.015705</td>\n", + " <td>0.774128</td>\n", + " <td>0.170500</td>\n", + " <td>0.039667</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_58.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.003406</td>\n", + " <td>0.838128</td>\n", + " <td>0.134477</td>\n", + " <td>0.023989</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_61.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.026550</td>\n", + " <td>0.901144</td>\n", + " <td>0.035709</td>\n", + " <td>0.036596</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_65.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.157156</td>\n", + " <td>0.072902</td>\n", + " <td>0.685742</td>\n", + " <td>0.084200</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_69.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.006274</td>\n", + " <td>0.972103</td>\n", + " <td>0.014529</td>\n", + " <td>0.007095</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_7.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.001522</td>\n", + " <td>0.853106</td>\n", + " <td>0.130605</td>\n", + " <td>0.014767</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_70.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.478082</td>\n", + " <td>0.436844</td>\n", + " <td>0.045692</td>\n", + " <td>0.039381</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_71.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.001081</td>\n", + " <td>0.981327</td>\n", + " <td>0.007406</td>\n", + " <td>0.010187</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_72.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.001446</td>\n", + " <td>0.767982</td>\n", + " <td>0.059233</td>\n", + " <td>0.171339</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_74.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.050170</td>\n", + " <td>0.654224</td>\n", + " <td>0.226397</td>\n", + " <td>0.069210</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_77.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.004146</td>\n", + " <td>0.963531</td>\n", + " <td>0.027614</td>\n", + " <td>0.004708</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_80.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.003960</td>\n", + " <td>0.782450</td>\n", + " <td>0.023841</td>\n", + " <td>0.189748</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_88.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.003236</td>\n", + " <td>0.919114</td>\n", + " <td>0.072983</td>\n", + " <td>0.004667</td>\n", + " </tr>\n", + " <tr>\n", + " <th>electronic_90.mp3</th>\n", + " <td>electronic</td>\n", + " <td>0.069979</td>\n", + " <td>0.719783</td>\n", + " <td>0.127776</td>\n", + " <td>0.082461</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_12.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000843</td>\n", + " <td>0.002633</td>\n", + " <td>0.125854</td>\n", + " <td>0.870670</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_15.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000750</td>\n", + " <td>0.002433</td>\n", + " <td>0.258154</td>\n", + " <td>0.738663</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_16.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.056192</td>\n", + " <td>0.502570</td>\n", + " <td>0.306240</td>\n", + " <td>0.134999</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_19.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.083821</td>\n", + " <td>0.857945</td>\n", + " <td>0.024897</td>\n", + " <td>0.033337</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_23.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.002091</td>\n", + " <td>0.322201</td>\n", + " <td>0.585532</td>\n", + " <td>0.090176</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_35.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.001777</td>\n", + " <td>0.003867</td>\n", + " <td>0.136573</td>\n", + " <td>0.857784</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_37.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000869</td>\n", + " <td>0.002205</td>\n", + " <td>0.123881</td>\n", + " <td>0.873044</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_39.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.001195</td>\n", + " <td>0.711498</td>\n", + " <td>0.199769</td>\n", + " <td>0.087538</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_4.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.012203</td>\n", + " <td>0.154590</td>\n", + " <td>0.575694</td>\n", + " <td>0.257514</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_47.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.003453</td>\n", + " <td>0.488987</td>\n", + " <td>0.414095</td>\n", + " <td>0.093464</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_50.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000638</td>\n", + " <td>0.001966</td>\n", + " <td>0.777746</td>\n", + " <td>0.219650</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_59.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000846</td>\n", + " <td>0.005013</td>\n", + " <td>0.850395</td>\n", + " <td>0.143746</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_68.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000615</td>\n", + " <td>0.002382</td>\n", + " <td>0.213949</td>\n", + " <td>0.783053</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_73.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000830</td>\n", + " <td>0.001924</td>\n", + " <td>0.811793</td>\n", + " <td>0.185452</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_76.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.001918</td>\n", + " <td>0.023343</td>\n", + " <td>0.526646</td>\n", + " <td>0.448093</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_77.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.013218</td>\n", + " <td>0.110178</td>\n", + " <td>0.544342</td>\n", + " <td>0.332262</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_80.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.005074</td>\n", + " <td>0.143892</td>\n", + " <td>0.631332</td>\n", + " <td>0.219702</td>\n", + " </tr>\n", + " <tr>\n", + " <th>pop_87.mp3</th>\n", + " <td>pop</td>\n", + " <td>0.000536</td>\n", + " <td>0.006047</td>\n", + " <td>0.155854</td>\n", + " <td>0.837564</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_1.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000478</td>\n", + " <td>0.008696</td>\n", + " <td>0.203241</td>\n", + " <td>0.787586</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_13.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.215088</td>\n", + " <td>0.030578</td>\n", + " <td>0.708264</td>\n", + " <td>0.046069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_22.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000602</td>\n", + " <td>0.005923</td>\n", + " <td>0.039146</td>\n", + " <td>0.954329</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_24.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000411</td>\n", + " <td>0.004240</td>\n", + " <td>0.111446</td>\n", + " <td>0.883903</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_27.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.001094</td>\n", + " <td>0.029436</td>\n", + " <td>0.587629</td>\n", + " <td>0.381841</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_35.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.010271</td>\n", + " <td>0.110408</td>\n", + " <td>0.320397</td>\n", + " <td>0.558924</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_36.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000854</td>\n", + " <td>0.103157</td>\n", + " <td>0.419263</td>\n", + " <td>0.476726</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_41.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.002649</td>\n", + " <td>0.607097</td>\n", + " <td>0.268681</td>\n", + " <td>0.121573</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_51.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000263</td>\n", + " <td>0.016656</td>\n", + " <td>0.171415</td>\n", + " <td>0.811667</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_60.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.001605</td>\n", + " <td>0.961727</td>\n", + " <td>0.026140</td>\n", + " <td>0.010528</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_61.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.009671</td>\n", + " <td>0.924362</td>\n", + " <td>0.035138</td>\n", + " <td>0.030829</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_62.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000550</td>\n", + " <td>0.001676</td>\n", + " <td>0.263699</td>\n", + " <td>0.734075</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_66.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.001675</td>\n", + " <td>0.005644</td>\n", + " <td>0.212007</td>\n", + " <td>0.780673</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_69.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.005351</td>\n", + " <td>0.053766</td>\n", + " <td>0.225037</td>\n", + " <td>0.715847</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_7.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000174</td>\n", + " <td>0.001957</td>\n", + " <td>0.220532</td>\n", + " <td>0.777337</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_72.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.002589</td>\n", + " <td>0.005355</td>\n", + " <td>0.100820</td>\n", + " <td>0.891237</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_73.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.012032</td>\n", + " <td>0.157970</td>\n", + " <td>0.456768</td>\n", + " <td>0.373229</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_77.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.006500</td>\n", + " <td>0.031559</td>\n", + " <td>0.337983</td>\n", + " <td>0.623959</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_79.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.023408</td>\n", + " <td>0.186283</td>\n", + " <td>0.267846</td>\n", + " <td>0.522464</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_8.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.024845</td>\n", + " <td>0.041634</td>\n", + " <td>0.091401</td>\n", + " <td>0.842120</td>\n", + " </tr>\n", + " <tr>\n", + " <th>rock_91.mp3</th>\n", + " <td>rock</td>\n", + " <td>0.000352</td>\n", + " <td>0.003038</td>\n", + " <td>0.113707</td>\n", + " <td>0.882902</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " label classical electronic pop rock\n", + "filename \n", + "classical_14.mp3 classical 0.921674 0.068912 0.007336 0.002078\n", + "classical_19.mp3 classical 0.999358 0.000365 0.000198 0.000080\n", + "classical_22.mp3 classical 0.928396 0.021858 0.045747 0.003998\n", + "classical_27.mp3 classical 0.986253 0.005595 0.005402 0.002750\n", + "classical_28.mp3 classical 0.990518 0.004636 0.004088 0.000758\n", + "classical_29.mp3 classical 0.931334 0.059878 0.005925 0.002864\n", + "classical_30.mp3 classical 0.936553 0.046358 0.012808 0.004281\n", + "classical_35.mp3 classical 0.989850 0.007889 0.001508 0.000753\n", + "classical_46.mp3 classical 0.993555 0.004318 0.001722 0.000405\n", + "classical_60.mp3 classical 0.984292 0.012110 0.002831 0.000767\n", + "classical_66.mp3 classical 0.964478 0.011823 0.010403 0.013296\n", + "classical_69.mp3 classical 0.826980 0.027886 0.115534 0.029600\n", + "classical_79.mp3 classical 0.995332 0.003639 0.000583 0.000447\n", + "classical_83.mp3 classical 0.320068 0.402040 0.258860 0.019032\n", + "classical_87.mp3 classical 0.975821 0.005527 0.016516 0.002136\n", + "classical_89.mp3 classical 0.986707 0.010640 0.001225 0.001428\n", + "classical_9.mp3 classical 0.986797 0.009585 0.003106 0.000511\n", + "classical_91.mp3 classical 0.953219 0.033934 0.007416 0.005432\n", + "classical_99.mp3 classical 0.865022 0.104135 0.022582 0.008262\n", + "electronic_100.mp3 electronic 0.002658 0.986310 0.008939 0.002093\n", + "electronic_13.mp3 electronic 0.008863 0.508337 0.360265 0.122535\n", + "electronic_18.mp3 electronic 0.002329 0.985105 0.008063 0.004503\n", + "electronic_25.mp3 electronic 0.023294 0.962466 0.008125 0.006115\n", + "electronic_31.mp3 electronic 0.002193 0.947923 0.027770 0.022114\n", + "electronic_32.mp3 electronic 0.089548 0.772897 0.122321 0.015235\n", + "electronic_39.mp3 electronic 0.015633 0.766686 0.188438 0.029243\n", + "electronic_49.mp3 electronic 0.005457 0.302567 0.361852 0.330123\n", + "electronic_50.mp3 electronic 0.015705 0.774128 0.170500 0.039667\n", + "electronic_58.mp3 electronic 0.003406 0.838128 0.134477 0.023989\n", + "electronic_61.mp3 electronic 0.026550 0.901144 0.035709 0.036596\n", + "electronic_65.mp3 electronic 0.157156 0.072902 0.685742 0.084200\n", + "electronic_69.mp3 electronic 0.006274 0.972103 0.014529 0.007095\n", + "electronic_7.mp3 electronic 0.001522 0.853106 0.130605 0.014767\n", + "electronic_70.mp3 electronic 0.478082 0.436844 0.045692 0.039381\n", + "electronic_71.mp3 electronic 0.001081 0.981327 0.007406 0.010187\n", + "electronic_72.mp3 electronic 0.001446 0.767982 0.059233 0.171339\n", + "electronic_74.mp3 electronic 0.050170 0.654224 0.226397 0.069210\n", + "electronic_77.mp3 electronic 0.004146 0.963531 0.027614 0.004708\n", + "electronic_80.mp3 electronic 0.003960 0.782450 0.023841 0.189748\n", + "electronic_88.mp3 electronic 0.003236 0.919114 0.072983 0.004667\n", + "electronic_90.mp3 electronic 0.069979 0.719783 0.127776 0.082461\n", + "pop_12.mp3 pop 0.000843 0.002633 0.125854 0.870670\n", + "pop_15.mp3 pop 0.000750 0.002433 0.258154 0.738663\n", + "pop_16.mp3 pop 0.056192 0.502570 0.306240 0.134999\n", + "pop_19.mp3 pop 0.083821 0.857945 0.024897 0.033337\n", + "pop_23.mp3 pop 0.002091 0.322201 0.585532 0.090176\n", + "pop_35.mp3 pop 0.001777 0.003867 0.136573 0.857784\n", + "pop_37.mp3 pop 0.000869 0.002205 0.123881 0.873044\n", + "pop_39.mp3 pop 0.001195 0.711498 0.199769 0.087538\n", + "pop_4.mp3 pop 0.012203 0.154590 0.575694 0.257514\n", + "pop_47.mp3 pop 0.003453 0.488987 0.414095 0.093464\n", + "pop_50.mp3 pop 0.000638 0.001966 0.777746 0.219650\n", + "pop_59.mp3 pop 0.000846 0.005013 0.850395 0.143746\n", + "pop_68.mp3 pop 0.000615 0.002382 0.213949 0.783053\n", + "pop_73.mp3 pop 0.000830 0.001924 0.811793 0.185452\n", + "pop_76.mp3 pop 0.001918 0.023343 0.526646 0.448093\n", + "pop_77.mp3 pop 0.013218 0.110178 0.544342 0.332262\n", + "pop_80.mp3 pop 0.005074 0.143892 0.631332 0.219702\n", + "pop_87.mp3 pop 0.000536 0.006047 0.155854 0.837564\n", + "rock_1.mp3 rock 0.000478 0.008696 0.203241 0.787586\n", + "rock_13.mp3 rock 0.215088 0.030578 0.708264 0.046069\n", + "rock_22.mp3 rock 0.000602 0.005923 0.039146 0.954329\n", + "rock_24.mp3 rock 0.000411 0.004240 0.111446 0.883903\n", + "rock_27.mp3 rock 0.001094 0.029436 0.587629 0.381841\n", + "rock_35.mp3 rock 0.010271 0.110408 0.320397 0.558924\n", + "rock_36.mp3 rock 0.000854 0.103157 0.419263 0.476726\n", + "rock_41.mp3 rock 0.002649 0.607097 0.268681 0.121573\n", + "rock_51.mp3 rock 0.000263 0.016656 0.171415 0.811667\n", + "rock_60.mp3 rock 0.001605 0.961727 0.026140 0.010528\n", + "rock_61.mp3 rock 0.009671 0.924362 0.035138 0.030829\n", + "rock_62.mp3 rock 0.000550 0.001676 0.263699 0.734075\n", + "rock_66.mp3 rock 0.001675 0.005644 0.212007 0.780673\n", + "rock_69.mp3 rock 0.005351 0.053766 0.225037 0.715847\n", + "rock_7.mp3 rock 0.000174 0.001957 0.220532 0.777337\n", + "rock_72.mp3 rock 0.002589 0.005355 0.100820 0.891237\n", + "rock_73.mp3 rock 0.012032 0.157970 0.456768 0.373229\n", + "rock_77.mp3 rock 0.006500 0.031559 0.337983 0.623959\n", + "rock_79.mp3 rock 0.023408 0.186283 0.267846 0.522464\n", + "rock_8.mp3 rock 0.024845 0.041634 0.091401 0.842120\n", + "rock_91.mp3 rock 0.000352 0.003038 0.113707 0.882902" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Fit the entire training sets\n", "\n", @@ -541,26 +3454,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "a816521f533c6539", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:42.177686Z", - "iopub.status.busy": "2024-02-19T14:43:42.177194Z", - "iopub.status.idle": "2024-02-19T14:43:42.443722Z", - "shell.execute_reply": "2024-02-19T14:43:42.443110Z" + "iopub.execute_input": "2024-02-19T16:16:07.626839Z", + "iopub.status.busy": "2024-02-19T16:16:07.625909Z", + "iopub.status.idle": "2024-02-19T16:16:07.894933Z", + "shell.execute_reply": "2024-02-19T16:16:07.894090Z" }, "papermill": { - "duration": 0.275911, - "end_time": "2024-02-19T14:43:42.445154", + "duration": 0.29087, + "end_time": "2024-02-19T16:16:07.897983", "exception": false, - "start_time": "2024-02-19T14:43:42.169243", + "start_time": "2024-02-19T16:16:07.607113", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[Text(0.5, 47.04444444444444, 'Prediction'),\n", + " Text(101.44444444444443, 0.5, 'Actual')]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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ZC1cuFC33HKLU3NQAEnVqlUrDRw4ULNnz9b8+fO1detWjRw5Um3btrUvjzlx4oTWrVunyZMnKyoqSoZhqF+/fmrXrp3F6QEAAAAABU2VKlVUt25d/fTTT7l+xo8//qjQ0NAsP69UqVKuny1JR48eVY8ePXTmzBn5+vrqueeeU/fu3SVJS5Ys0ccff6wTJ06oR48e+u233/I8X3YogKQxdepURUdHa+XKlYqKitKYMWMyHWemnuncsWNHTZ8+3ZURAQAAAADXMwtOB8jo0aMVFhamsLAwlStXTpGRkapevXqun1e7dm1Vq1Yt/wJe55VXXtGZM2ckSbNmzdK9995r/6xt27Zq3ry5BgwYoNOnT+s///lPvi25yQx7gKRRpEgR/fjjj/r0009VsWJFmaaZ6aty5cr67LPPtGLFChUpUsTq2AAAAACAAuL1119X9+7dPWIpzMmTJzVz5kxJUufOndMVP67p37+/OnfuLEn65ptvMiyTyU90gFzHMAw99dRTevLJJ7Vz507t2LFD0dHRkqTSpUurWbNmaty4sQzDsDgpAAAAAADu64cffpAtdX+W7PbOHD58uH788UfZbDb98MMPGjVqlFPyUADJgmEYatq0qZo2bWp1FAAAAABANkybaXUEZGLDhg326+z2zkz72caNGymAAAAAAADgKaKiohwa58xNPx0xYsQIHThwQNHR0SpWrJhuuukm3XXXXXr00UdVsWLFPD177969kqSQkBCVL18+y3EVKlRQsWLFdPHiRe3bty9Pc2aHAggAAAAAAPmscuXKDo27dsiGVdasWWO/Pnv2rM6ePatff/1VH330kT799FM9/PDDuX72tSKQI0WeypUr688//9TRo0dzPV9OKIAAAAAAADybreCcApNfatSooT59+ui2226zF2v++usvff/995o3b56uXLmiRx55RIZh5HpJSmxsrCQpODg4x7FBQUGSpLi4uFzN5QgKIAAAAAAA5DNndjLkVe/evTVs2LAMh3uEhYVpwIABWrJkifr06aOkpCQ9++yz6tmzZ7ZLWLJy5coVSZKfn1+OY/39/SVJly9fvuF5HMUxuAAAAAAA5LNKlSo59LJCSEhItiebdu/eXaNHj5YkXbp0SVOmTMnVPEWKFJEkJSYm5jg2ISFBkhQQEJCruRxBAQQAAAAA4NlMm/u9PNyoUaPsRZK1a9fm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UgABAAAAACsV0CUwznTHHXfo+++/lyRFRERQAPEmVapU4QQYAAAAAAAkJSQk2K99fHwsTJJ/KICkioyMtDoCAAAAACA3bFYHyCgqKsqhcZUqVXJyktxZu3at/frmm2/O8/PWrVunJk2aKCIiQikpKSpXrpxuueUWDRo0SL169XJJQwIFEAAAAAAA8lnlypUdGmea7rd8Z9euXVq6dKkkqWHDhvlSADl8+HC6ryMjIxUZGak5c+aodevW+u6771SxYsU8z5MdCiAAAAAAAEDS1aUvDz30kFJSUiRJb7/9dp6e5+fnp549e6pTp05q0KCBQkJCFBMTo82bN2vChAk6evSoNm7cqI4dO2rz5s0KCQnJjz9GpiiA5CA5OVnnz5+XJJUoUUK+vvwjAwAAAAB3YrrhJqhHjx61OkKuPPHEE9q+fbskadiwYerRo0eenrd161YVL148w/vt27fXE088oX79+umnn37Svn379Prrr+vjjz/O03zZ4af5TOzbt0/jx4/XypUrdejQIXtLkmEYqlWrljp27KhHHnkk0zOTAQAAAABw1709svPuu+9q8uTJkqSwsDB98cUXeX5mZsWPa4oWLao5c+aoRo0aOnfunCZNmqSxY8fKz88vz/NmppBTnurB/v3vf6tRo0YaP368Dhw4IJvNJtM0ZZqmbDabDhw4oC+++EKNGzfW//3f/1kdFwAAAACAPJs4caL9Z9y6detq2bJlCgoKcvq8ISEhGjhwoCQpPj7e3n3iDHSApPHkk09q/Pjx9o6Pm2++WbfeeqvKly8vSTp58qS2bt2qvXv3KiUlRe+9957i4+P13//+18rYAAAAAFCwueESGE/y7bff6rHHHpMkVa1aVT///LNKly7tsvnTrq44duyY0+ahAJJq48aN+uKLL2QYhurVq6dJkyapVatWmY7dvHmzHnnkEe3evVuff/65BgwYkOVYAAAAAADc1Q8//KChQ4fKZrOpQoUKWrVqlcuX77jiCFyJJTB2EydOlCRVr15dGzduzLagcdttt2ndunWqUaOGJOnLL790SUYAAAAAAPLLqlWr1L9/fyUnJ6tUqVL6+eefVbNmTZfn2Lt3r/06NDTUafNQAEm1fv16GYahf/3rXw4duxMSEqKXX35Zpmlq/fr1LkgIAAAAAMiUzQ1fbm7Tpk3q1auXEhISFBISoh9//FH169d3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AABuQL4WQKpWrZqfj3OpEydOaNCgQUpISFD9+vX14Ycfqk2bNipatGim44sWLaqePXtq9uzZWr58OQUQAAAAALCIjVNg4IBCVgdwF5988oni4+NVtWpVrV+/Xp07d1ZQUFC297Rv316maeq3335zUUoAAAAAAJAbFEBSrVixQoZh6Pnnn1fx4sUduqdu3bqSPH/pDwAAAAAA3i7fN0H1VH///bck6ZZbbnH4nmLFikmS4uLinJIJAAAAAJAzkyUwcIDLCyARERH64YcftGvXLkVHR+vy5cvZnhxjGIZWrVrl9FzJycmSJJvN8fOTLly4IEkKDg52SiYAAAAAAJA/XFYAuXTpkh5//HF98803GQoepmlmOGnl2pjMTmBxhvLlyysyMlJ//fWXWrZs6dA9W7dulSRVqVLFmdEAAAAAAEAeuWQPENM01bt3b82YMUM2m02lSpVS48aN7UWOtm3bql69evLx8bG/V6dOHbVr10633367KyKqbdu2Mk1Tc+fOdWh8YmKiJk6cKMMw1L59e+eGAwAAAABkybQZbvdyltOnT2vJkiUaPXq0unTpotKlS8swDBmGoeHDh9/w866dalqpUiX5+/urUqVK6t27t5YvX56vuS9duqT3339fYWFhKlmypIKCglS3bl09//zz9i0pnM0lHSBz587Vzz//LMMwNGbMGL366qvau3evGjVqJElau3atJCk+Pl5fffWVRo8erXPnzumrr75SmzZtXBFRw4cP14wZM/TDDz/o559/VseOHbMcm5iYqKFDhyoiIkKFChXSyJEjXZIRAAAAAFCwlStXLl+eY7PZNGrUKE2ZMiXd+8eOHdOxY8e0cOFCPfTQQ5o4caIKFcpb70R4eLi6du2qQ4cOpXv/wIEDOnDggCZPnqyZM2eqe/fueZonJy7pAJk1a5Yk6bbbbtOYMWNUqFChTJe2BAUF6ZlnntGqVasUGxurPn366Pjx466IqPbt22vAgAEyTVM9evTQyy+/bF/iIkmRkZHatGmTPvjgA9WvX19z586VYRh65JFHVL9+fZdkBAAAAADgmipVqqhTp065uveVV16xFz+aNm2qb7/9Vlu3btW3336rpk2bSpImT56s//znP3nKGBsbq27dutmLHyNHjtSqVau0adMmvf322woODtbFixc1YMAA7dy5M09z5cQws9uBNJ9UqlRJJ06c0NSpUzVs2DBJ0p9//qmGDRvKMAylpKRkuOf555/XJ598opdeekljx451dkRJUkJCgvr27atly5Zlu/fItX9kffr00XfffScfHx+X5CsTUscl8wCe5HhE/rbmAd6gYb0BVkcA3FJ4jGt+sQZ4kuTEY1ZHyBf7anW1OkIGNx9a5pTnjhkzRmFhYQoLC1O5cuUUGRmp6tWrS5KGDRumadOm5fiMgwcPqn79+kpOTlaLFi20bt06BQQE2D+/dOmS2rVrp+3bt8vX11f79u3TTTfdlKu8o0eP1ptvvilJev/99/Xiiy+m+3zTpk1q166dkpOT1a5dO61ZsyZX8zjCJR0g0dHRkqQaNWrY3ytcuLD9+vLlyxnu6datmyRpyZIlTk73D39/fy1ZskQTJ05UjRo1ZJpmpq9KlSpp/PjxmjdvnsuKHwAAAAAAvP766+revXuelsJ8+umn9pNQx40bl674IUmBgYEaN26cpKsnpn7yySe5micpKUmfffaZJOnmm2/W888/n2FMq1at9OCDD0q6uj3Gtm3bcjWXI1yyB4ivr6+SkpJUtGhR+3tpr0+ePGmvWF0TEhIiSTp69KgrIqYzcuRIjRw5Unv37tX27dt1+vRppaSkqFSpUmratKmaNWvmstNpAAAAAADIL6ZpatGiRZKkunXrZnkKasuWLVWnTh0dOHBAixYt0ueff37DPwevXr1aFy5ckHS1OyWrvUSGDx+uiRMnSpIWLFigsLCwG5rHUS4pgISGhioiIkJnzpyxv1e+fHkFBAToypUr+v333zMUQK6tD7pWlbJCvXr1VK9ePcvmBwAAAADkzJmnrnibw4cP2/fabNeuXbZj27VrpwMHDujYsWPplto4asOGDemelZUWLVooMDBQly5d0saNG29ojhvhkiUwjRs3liTt3r3b/p5hGLr11lslSePHj083PikpSR9//LEkqVatWq6ICAAAAABAvomKinLo5Wp79+61X9etWzfbsWk/37dvn9Pm8vX1te8xkpt5HOWSDpA777xT33//vVasWKHnnnvO/v4DDzygNWvWaM2aNWrfvr3uvfdexcfH69tvv9WuXbtkGIb69+/viogAAAAAAOSbypUrOzTOBeeSpJO26FKpUqVsx6b9M+Rme4prcwUFBal48eI5zvXHH3/ozJkzSkhIkL+//w3PlxOXFEB69+6tJ554QqtXr9Zff/1l3wx1yJAhmjVrllasWKH169dr/fr16e5r0qRJuoIJAAAAAADXs5ksgXFUbGys/To4ODjbsUFBQfbruLi4XM+V0zyZzeWxBZDy5csrKSlJpmlmODVlwYIFeuuttzRlyhSdPHlSklS8eHHdd999evvtt1WkSBFXRAQAAAAAIN9YcaCHI65cuWK/9vPzy3Zs2iJEZqe3OjpXTvPkx1yOcEkBRFKWu736+/vrzTff1Jtvvqlz584pOTlZZcqU4ZQVAAAAAIDHyml5iVXSNhkkJiZmOzYhIcF+ff1RuTcyV07z5MdcjnBZAcQRJUuWtDoCAAAAAMDDmCyBcVjRokXt1zkta4mPj7dfO7KMJau5HFk+k9e5HOGSU2AAAAAAAID10nam5HQKTdplPI5u6prZXPHx8YqJiXForjJlyjhl/w+JAggAAAAAwMOZpvu93FW9evXs1/v37892bNrPb775ZqfNlZycrIiIiFzP4yiXHYObW4ZhaNWqVfmYBgAAAACAgql69eoKDQ3V8ePHtXbt2mzHrlu3TpJUsWJFVatW7YbnatOmjf167dq1atmyZabjtm/fbl8C07p16xuex1EuKYCsWbNGhmFke77x9ZueXhvLZqgAAAAAAOQPwzDUq1cvTZgwQfv379eWLVsyLUxs2bLF3rXRq1evXP1s3r59e4WEhOjChQuaPn26XnrppUyfM23aNPt17969b3geR7mkAHL77bfn+A8rPj5e4eHhiomJkWEYql27tipUqOCKeAAAAAAAD2ZjE9Qb8swzz2jSpElKSUnRk08+qXXr1qU7eeXy5ct68sknJUm+vr565plnMn3O8OHDNX36dEnS6tWr1b59+3Sf+/n56amnntKbb76pffv26cMPP9SLL76YbszmzZs1ZcoUSVK7du0UFhaWT3/KjFzWAeKoZcuW6amnntK5c+c0ZcoUp7a/AAAAAADgSTZs2KDw8HD719HR0fbr8PDwdN0U0tUixfVq166tF198UWPHjtX27dvVunVrvfzyy6pZs6YiIiL03nvvaceOHZKkF198UbVq1cp13hdffFHfffedDh48qJdeeknh4eEaOHCgAgICtHr1ar3zzjtKTk5WQECAPv3001zP4wjDzG5dikVOnjypZs2aKTk5WTt27FDFihWtjuQWyoTUsToC4HaORyy3OgLgdhrWG2B1BMAthccctzoC4HaSE49ZHSFf7Kza0+oIGTT5+wenPDdt14UjsvqR32azaeTIkZo6dWqW9z744IOaNGmSChXK/PyUnDpArgkPD1fXrl116NChTD8vVqyYZs6cqe7du2fzJ8k7tzwFpnz58nr22WcVHR2t999/3+o4AAAAAAA3ZpqG273cXaFChTRlyhQtXbpUvXr1UmhoqPz8/BQaGqpevXpp2bJlmjx5cpbFjxtx0003aceOHXrvvffUokULFS9eXIGBgapTp46effZZ/fHHH04vfkhu2gEiXV0H1Lp1a9WoUSNde09BRgcIkBEdIEBGdIAAmaMDBMjIWzpAdlTpZXWEDJoeWWR1BFzHLTtApKubpUjS8eP8hwoAAAAAAOSNSzZBzY0NGzZIkgIDAy1OAgAAAABwZ+65rgHuxi07QDZv3qw33nhDhmHolltusToOAAAAAADwcC7pAHnjjTdyHGOz2XT+/Hlt375dv/76q2w2mwzD0LPPPuuChAAAAAAAwJu5pADy2muvyTAc3wXXNE35+vrq/fffV8eOHZ2YDAAAAADg6WwecOoKrOeyPUByOmzGMAwVLVpU1atXV7t27TRq1CjVq1fPRekAAAAAAIA3c0kBxGazuWIaAAAAAACATLntKTDI6PzlOKsjAG6nf7OnrY4AuJ03fWpbHQFwS7tCa1kdAYCTmCyBgQPc8hQYAAAAAACA/OSSAkihQoXk6+urvXv3OnxPRESE/T4AAAAAAIC8cJtNUPP7PgAAAABAwcApMHCE2y+BuZHjcwEAAAAAADLjtgWQ6OhoSVJQUJDFSQAAAAAAgKdz6QYbjnZzxMfHa9y4cZKkmjVrOjMSAAAAAMDDsXECHOGUAkiNGjUyfb9Tp04qXLhwtvcmJCTo9OnTstlsMgxDPXr0cEZEAAAAAABQgDilABIZGZnhPdM0dezYsRt6TsuWLfXSSy/lUyoAAAAAAFBQOaUAMmzYsHRfT58+XYZhqGfPnipevHiW9xmGoSJFiqhChQpq1aqV7rzzTjZBBQAAAABki1Ng4AinFEC+/vrrdF9Pnz5dkvT222+rXr16zpgSAAAAAAAgSy7ZBHXMmDGSpLJly7piOgAAAABAAWLSAQIHuLQAAgAAAAAAYIVCVgcAAAAAAABwNpcUQDZt2iQfHx8FBAQ4dBLMsWPHVKRIEfn6+uq3335zQUIAAAAAgKeyueEL7sclBZDZs2fLNE11795dFStWzHF8xYoV1aNHD9lsNs2aNcsFCQEAAAAAgDdzSQFkw4YNMgxDXbp0cfiebt26SZLWrVvnrFgAAAAAAKCAcMkmqBEREZJ0Q0fg1q1bV5IUHh7ulEwAAAAAAO9gilNgkDOXdIBcuXJFklSkSBGH7/H395ckxcfHOyUTAAAAAAAoOFxSAClZsqQk6ciRIw7fExUVJUkqXry4MyIBAAAAAIACxCUFkGtLX3744QeH71m4cKEkqU6dOs6IBAAAAADwEjbT/V5wPy4pgHTt2lWmaWrGjBlav359juPXrVunb775RoZhqHv37i5ICAAAAAAAvJlLCiAPP/ywSpcurZSUFHXt2lWff/65fV+QtK5cuaLPPvtM3bp1U3JyskqUKKFHH33UFREBAAAAAIAXc8kpMMHBwZo1a5a6du2qS5cu6emnn9b//d//qXnz5qpQoYIk6cSJE9q+fbsuXbok0zTl6+urb7/9VsWKFXNFRAAAAACAh7JxCgwc4JICiCTddddd+vHHH3X//ffr+PHjiouL07p169KNMc2rC6UqVqyob775Ru3bt3dVPAAAAAAA4MVcVgCRpDvuuEMRERGaMWOGlixZoh07dig6OlqSVLp0aTVr1kw9evTQkCFD7MfgAgAAAAAA5JVLCyCS5O/vr5EjR2rkyJE5jt2xY4dmzJihTz75xAXJAAAAAACeyGQJDBzgkk1Qb8SJEyf0wQcfqFGjRmrRooU+++wzqyMBAAAAAAAP5/IOkMxcvnxZ8+fP14wZM/TLL7/IZrNJuroniGFQyQMAAAAAAHljaQFk9erVmjFjhubPn6+4uDhJ/2yEWqFCBfXu3Vt9+/a1MiIAAAAAwM3ZrA4Aj+DyAsj+/fs1Y8YMzZw5U1FRUZL+KXpUqlRJffv2Vb9+/dSqVSu6PwAAAAAAQL5wSQHk7Nmz+vbbbzVjxgz99ttvkv4pehQvXlwxMTEyDEMffvih+vfv74pIAAAAAACgAHFaASQpKUmLFy/WjBkztGLFCiUlJdmLHn5+furatauGDBmibt26KSAgwFkxAAAAAABejlNg4Ih8L4Bs2bJFM2bM0Jw5c3T+/HlJ/2xm2rp1aw0ZMkT9+/dXiRIl8ntqAAAAAACATOV7AeTa3h3Xuj3q1KmjIUOG6L777lO1atXyezoAAAAAQAHHJqhwhNOWwBQtWlSfffaZhg0b5qwpAAAAAAAAHFLIGQ81TVNxcXF64IEH1KxZM3388cc6ceKEM6YCAAAAAADIUb4XQNasWaPhw4crODhYpmlq586devHFF1WlShV17NhRM2bMUFxcXH5PCwAAAAAooGxu+IL7yfcCyO23366pU6fq1KlTmjlzpjp37qxChQopJSVFv/zyi0aMGKHy5ctr0KBBWrZsmVJSUvI7AgAAAAAAQDpOWQIjSUWKFNGgQYO0fPlyHT16VO+//74aNmwo0zR16dIlzZkzRz169FCFChWcFQEAAAAAAECSEwsgaZUvX14vvPCCdu7cqR07duiZZ55R2bJlZZqmoqOjZRhXz2x+7rnn9PTTT2v9+vWuiAUAAAAA8AKmDLd7wf24pACSVuPGjfXxxx8rKipKS5YsUf/+/eXv7y/TNHX8+HF9/vnnat++vSpUqKDHHntMq1atcnVEAAAAAADgZVxeALnGx8dHXbt21ezZs3Xy5ElNnDhRbdq0kXT1FJlTp05p4sSJ6ty5s1URAQAAAACAl7CsAJJWsWLFNHLkSK1bt04REREaM2aMatasKdM0ZZqm1fEAAAAAAG7MZrjfC+7HLQogaVWrVk1jxozRoUOHtH79eo0cOdLqSAAAAAAAwMP5Wh0gO61bt1br1q2tjgEAAAAAADycWxdAAAAAAADIiY1TV+AAt1sCAwAAAAAAkN8ogAAAAAAAAK/HEhgAAAAAgEfj7FA4gg4QAAAAAADg9SiAAAAAAAAAr8cSGAAAAACAR7NZHQAegQ4QAAAAAADg9SiAAAAAAAAAr8cSGAAAAACAR7MZhtUR4AHoAAEAAAAAAF6PAggAAAAAAPB6LIEBAAAAAHg00+oA8Ah0gAAAAAAAAK9HBwgAAAAAwKPZrA4Aj0AHCAAAAAAA8HoUQAAAAAAAgNdjCQwAAAAAwKPZDKsTwBPQAQIAAAAAALweBRAAAAAAAOD1WAIDAAAAAPBoNrEGBjmjAwQAAAAAAHg9CiAAAAAAAHiA9u3byzCMG3qtWbPmhud57bXXnPp8q7AEBgAAAADg0UyrA7ipQoUKqVatWlbHcBsUQAAAAAAA8ABff/214uPjsx2zd+9eDRgwQJLUoUMHVaxYMU9z7t69O9vPq1evnqfnuxIFEAAAAAAAPIAjxYZvvvnGfj106NA8z9mgQYM8P8NdUADJxunTp7VmzRrt3r1b586dkySVLFlSDRo0UPv27VWuXDmLEwIAAAAAbBwCI0my2WyaOXOmJCk4OFh9+vSxOJF7oQCSiWPHjun555/XggULlJycnOkYHx8f9e7dWx988IGqVKni4oQAAAAAAKS3atUqHTt2TJLUr18/BQYGWpzIvXAKzHU2bNigBg0aaO7cuUpKSpJpmpm+kpOTNW/ePDVq1EgbNmywOjYAAAAAoICbMWOG/To/lr94GwogaRw/flw9evTQhQsXZJqmunTporlz5+rvv//WlStXdOXKFf3999+aN2+eunbtKtM0dfHiRfXo0UPHjx+3Oj4AAAAAFEg2N3y5WlxcnBYsWCBJqlq1qtq3b58vz+3UqZPKli0rPz8/lS1bVu3bt9fYsWN1/vz5fHm+K7EEJo13331XFy5ckI+Pj77++msNGTIkw5jKlSurcuXK6tOnj2bNmqWhQ4fq4sWLGjt2rD777DMLUgMAAAAA3E1UVJRD4ypVqpQv833//ff2E2KGDBkiw8ifjVF+/vln+/WZM2e0du1arV27Vu+9956mTZumXr165cs8rkABJI1ly5bJMAyNHDky0+LH9QYPHqwNGzboyy+/1NKlSymAAAAAAAAkXf3luSNM08yX+fJ7+UvDhg11zz336JZbblFoaKiSkpJ04MABzZw5Uz/99JNiYmLUt29fLV68WF26dMnzfK5gmPn1T9sLBAQEKDExUStXrtQdd9zh0D2rV69Whw4d5O/vr8uXLzs1n69f3s5vBrxRj/LNrI4AuJ3BScWsjgC4pV3+/LUXuN5bkbOsjpAvvq6Y8y+wXe2B4zMdGpcfP5JHRUWpatWqstlsatmypTZv3pyn58XExKh48eJZfj5x4kQ98sgjkqTQ0FBFRESoSJEieZrTFegASaNEiRI6deqUQkJCHL7n2tgSJUo4KxYAAAAAwMMcPXrUZXP973//k812deeRYcOG5fl52RU/JOnhhx/Wtm3bNGXKFB0/flzff/+97rvvvjzP62wUQNJo0aKFli5dqt27d6tZM8d+q7x79277vfBuVapU1JOPP6guXTuocqVQJSQkKOKvvzVv3mKNnzBNly9fsToiYLn7/z1MfR7tZ//6P/3/rT+37LEwEeB6RmEfVbu3rSr1uFUhN1eWX/FgmckpunzinKK3H9Lhmat1dvshq2MClggJLaXmA9qrzh1NVbxiafkFF9Gls7E6H3VGhzfv1e6lW3T6oGP7JgDuLr/29nDEN998I0ny9/fXgAEDXDLnww8/rClTpkiS1q5dSwHE0zz11FNasmSJ3n//fd177705npl86dIlvffeezIMQ08++aSLUsIK3bt11PRpnykk5J+28qCgQJUsWUJhLZrogQcGq2evoYqIiLQuJGCxavWqq+dD91gdA7BUYKXSavPNCwqpe926b//CKnpTqIreFKrqA9vp0OQftfPVGZk/BPBSLYd1UseXBso/KH2bfEhoKYWEllK1W+rKv2iAlr3xjUUJ4cls+bPfp0favn279u7dK0nq3r27y1Yn1KtXz3597Ngxl8yZVxRA0rjrrrs0ZswYvf7662rfvr0mTZqkJk2aZDp2165dGjVqlA4cOKAxY8aoY8eOrg0Ll2nSpL5mzZygwMAAxcbG6b33P9eaNZsUEFBE/fv31MiHhqhO7Zr6YdEM3dqyi+Li4q2ODLicYRh6bOwT8i3sq5gz51W8DMsCUfAYvj7pih8xf/6tgxOXKzbihHyDi6j0LXVU55Gu8g0qoloPddblU+d14PPFFqcGXKP9E/forhf6S5LORBzX9tmrdeyPCF2JvazA4sGqUL+a6nVuIdPGPi3AjUq7+Wl+LH9xVH6dMuNKFEDSeOONN2QYhlq0aKHt27erefPmatiwocLCwlS2bFkZhqFTp05p27ZtGZa+vPHGG1k+d/To0S7JD+f45KM3FBgYoKSkJHXpOlhbfv3N/tnqNRsVHn5Y7419VXVq19Rzzz6sN9782MK0gDW6PdBDtZrUVtSho9ry42b1e6K/1ZEAlwvt3Nxe/IjedlCr73lDSvPD3Ol1e3T8p9/UYfHrKuTnq7qP99DBCUtlptisigy4RI1W9e3Fjx3fr9OCl7+SLTkl3Zi/Nv2pjV8tlU9hHysiAh4rKSlJs2fPliSVKVPGpaexXOs6ka5uhOoJKICk8dprr9mrWIZhyDRN7d69217sSMs0TRmGoe3bt2v79u3ZPpcCiOcKa9FEbdu2lCRN/Xp2uuLHNR9/MlHDhg1QvZtr68knHtQ7736m5ORkV0cFLFM6tIwGP391zeeX/zdeDVo1tDgRYI3SYbXs1/vH/ZCu+HFNzB+ROr5yhyp1DZNf8SAVrVVRF/e7bpM8wNUMw1DPtx6QJJ3YG6kFL02SLZuiX0pSSpafAdkpqKXk5cuX68yZM5KkwYMHy9fXdT/iT5w40X7drl07l82bF4WsDuBuTNO0v67/2tHPMhsLz9Sr19326+nTv8t0jGma+t//5kmSSpQorjvat3JJNsBdjHrrEQUEB+qXuav0569seIqCq1Dhf/7SGf/36SzHxUee+uceP37bDe920+0NVbpGBUnS+i8XZ1v8AHDj0i5/GTp0qEP3TJs2TYZhyDAMvfbaaxk+3717t8LDw7N9xqRJkzR58mRJUvny5dW7d2/HQ1uIDpA0rh0bBFzTulWYJCkuLl6//f5HluPWrdtiv27VKkw/r1zn9GyAO2jVvY3C7rpFsecvatpbU62OA1gqNuKE/TqoalldPJj5hnBB1cpJkkybTXF/ncp0DOAtGnS9VdLVv2fvX7XD/n5ASJACSxTVpfOxunyB/dOQdwXxJ7nz589ryZIlkqQGDRo4fJJpTn777Tc99NBDuuOOO9SlSxc1bNhQpUqVUnJysvbv36+ZM2fqp59+kiT5+Pho0qRJCgoKype5nY0CCJCNunWvtjOHR0QqJSXrlsz9B/6pkF67B/B2gcWC9OBrIyVJM96drtjzFy1OBFjryMJNavDyvSpcLFB1n+ihE6t2ZlgGU7xBVVXo0OTq+AWblBx32fVBAReq1PTq34tioqKVGH9FjXq20u2P9VT5ulXsY65tirpl+o9KSWQZMeCo7777TgkJCZIc7/5wVEpKilauXKmVK1dmOaZUqVKaMmWKevToka9zOxMFECAL/v7+KlOmlCTpWNSJbMfGxFxQXFy8goODVLmSZ2wABOTVsP8brpJlS2rftr1aOfsnq+MAlks8F6dfn5yglhMeV+lb6uiuFW/q0FcrFBtxUr5B/iodVke1H+kqH//COv/HYe16babVkQGnMgxDZWpe/XvRpXOx6jpmqFqNuDvDuDI1Q9XllftUr3MLffPAB7py8ZKrowIe6Ztvrh4Z7ePjo/vuuy/fntu1a1dNmTJFmzdv1o4dO3Tq1CmdPXtWpmmqZMmSaty4se6++24NHz5cxYoVy7d5XYECCJCFokX/aeOKi8+5NTM+/pKCg4MUFBzozFiAW7j5lnq6a2AnJScl68t/f2F1HMBtnPjpd63s/B/VfqSbqg9qp1s+ezTd51dOx2jP+3N1eOZqpVxOtCgl4Br+RQNVyOfqloPl6lZWpSY1dfHUef34ziwdWL1TyQmJqtS4pjr9a5CqNKulqi3qqPf7o/TtI59aGxweyfS8E1nzbOPGjbm6b/jw4Ro+fHiWn5ctW1YPPPCAHnjggVwmc18UQLJw7tw5ff3111q5cqX27Nmjc+fOSZJKliypBg0a6K677tKIESNUsmTJPM8VFRWV52cg/xUpUsR+nZiYlOP4hISrf5ENSHMf4I18C/vqsXefUKFChbRo0gIdOXjE6kiA2zAK+6jqvW0V2rmZjEIZ95ovUra4qvZtrfgjZ3Tip98tSAi4jl+gv/26cBE/JV66oqmD3lL0X/901kZu3a+pg97SwwteV4V61VT/7ltUqUlNRe2MsCIyAC9HASQTEydO1AsvvKBLl66236U9yeXYsWM6fvy4fvrpJ7322mv66KOPNGrUqDzNV7lyZYfG+RRmaYUrXblyxX7t51c4x/H+/n6SpMtp7gO8Ud8n7lWlWpV1Ouq0vvvkW6vjAG7DJ8BfbWe9pDIt68qWnKL9ny9W5HdrFff3afn4+6lks5qq91xvlbm1rlp//ax2vTFLhyYutzo24DTJCel/gbT9uzXpih9px/38wRwN/folSVLD7rdRAAHgFBRArjN27Fi98sor9qJHSEiImjZtqvLly0uSTp48qR07dujChQuKj4/Xo48+qpiYGL300ktWxoYTxMb+s+wl2IFdjYOCri59iY9j3Sq8V8WaldT3sXslSZPHTFTC5QSLEwHuo/4LfVSmZV1J0vbnvtLfc9fbP0tOuqzT6/bozMa9un32v1S2TX01fnWwTq//Uxf20kUF75QQn36T3/B1WZ+o99emP5WSlCyfwr6q2KiGs6PBCxXEU2Bw4yiApLFnzx69+uqrMk1TFSpU0AcffKB7771XhQun/+1/cnKy5s6dqxdffFHHjx/Xf/7zH3Xr1k3169fP1bxHjx51aFy1Grfm6vnInYSEBEVHn1Pp0iVVsVKFbMcWLx6i4OCrRZKjUcddEQ+wRI+Heqmwf2Gd/PuE/Iv4q02PthnGVKlT1X7dqFVjlShTQpK0beVWCibwatUGtpMkxYYfT1f8SMtMsWnP+/N0Z5v6MnwKqdqA27VrzP9cGRNwmZTEZMVFX1Bw6RBJ0oUTZ7Mcm5yQpEvnY1W0bAkFlfKsTRUBeA4KIGl8/vnnSklJUZkyZbR582ZVqVIl03G+vr4aNGiQ2rRpo7CwMJ05c0aff/65JkyYkKt5K1WqlJfYcKJ9+w6qbduWuqlmNfn4+GR5FG7dOjfZr/fvP+SqeIDLFU5dDla+agU9/0XOnW/9nxlovx7V6kGdiTrttGyAlfzLhMi/ZFFJ0vk9f2c79vwfh+3XRW9ieSu82+lDUfYCyLUNUbNybd8cW3Lmf98CgLzK/n+FCphffvlFhmHo3//+d5bFj7QqV66sl19+WaZpatWqVS5ICFfbuGmbJCk4OEjNmzXKctztt7e0X29KvQcAUHCYaQrkhXx9sh2b9nOTH/Tg5SK37rdfl6hcNstx/sEBCkwtIl48dd7pueB9bG74gvuhAySNY8eOSZJatWrl8D2tW7eWJB0/zrIHb7Ro0Qr96+UnJUnDhg3Q1m07MowxDENDhvSTJJ0/H6PVaza5NCPgSuOe/1Tjnv802zEDnh2kgc8OliT9p/+/9eeWPS5IBlgr8Xy8ki5eUuFigSrV/CYZPoVkpmT+198yt91sv44/csZVEQFL/Ll8q+58uq8kqV7nMO1dkfkviup1bqFCqR0gf6cpmgBAfqIDJA0fn6u/kUlOTnb4nmtLIgplctQdPN+27Tu1fv0WSdIDIwaq5a3NM4x57tmHVe/m2pKkcZ9PuaH//wEAeAnT1ImVOyVJARVK6uan78l0WOGQQDX8zz9Lw06szFhYB7zJqf1HdWD1TklSo56tVKNVxj3zgsuE6K7n+0u6uhfIb3PXujIigAKEDpA0qlSpon379mnVqlUOd4FcW/riyJIZeKZnnx+tdWsWKTAwQMuXzdLY98ZpzZpNCggoov79e2nUyCGSpAMHI/TxJxMtTgsAsMreT+Yr9O5m8g0sovov9lWJRtUUOXe94v8+rUL+hVWq+U2qNbKLgiqVliSdWrdHp9butjg14HzL3pihKs1qKSAkSPdPfVGbpi7XwdU7lXQlUZUa11S7x3opJLSUJGnlx3MVyxIY5IJpdQB4BAogaXTs2FF79+7Vhx9+qHvuuUcNGzbMdvyePXv0wQcfyDAMderUyUUp4Wo7d/6pwfc9qunTPlNISDG9/da/M4w5cDBCPXsNVVxcfCZPAAAUBLHhJ7Rx+MdqOeEJ+ZcqptDOzRXaOWPnoCSdWr9Hm0f918UJAWucPXxS/3vwQw2c8LSKlimudo/1UrvHeqUbY7PZtPbzRdowcYlFKQEUBKzbSOOZZ56Rv7+/4uLi1KZNG3344Yc6ezbjcV1nz57Vhx9+qLZt2yo2Nlb+/v565plnXB8YLrNk6c9q2vwuffrpJB04GKH4+Es6fz5G27bv1L/+/ZZahHVSRESk1TEBABY7vf5PrWj7ov5481ud3rhXV6IvyJaYrOTLCYr7+7SOLtqijcM/1rr+7yrpwiWr4wIu8/f2A/qs40v65dPvdWJvpK5cvKSkK4k6d+S0fpuzRhN6vKJVH8+1OiYAL2eYpkm3UBozZszQiBEj7F8bhqHq1aurbNmyMgxDp06d0uHDh2WapkzTlGEYmjZtmu6//36nZ/P1q+j0OQBP06N8M6sjAG5ncFIxqyMAbmmXP3/tBa73VuQsqyPki/9WGWJ1hAyePvI/qyPgOiyBuc7QoUNVqlQpPfzwwzp+/LhM01RERIT++usvSVLaelFoaKgmTZqkrl27WhUXAAAAAAA4gAJIJrp166bIyEgtWLBAK1eu1J49e3Tu3DlJUsmSJdWgQQPddddduueee1S4cGGL0wIAAAAAgJxQAMmCr6+v7r33Xt17771WRwEAAAAAZMNmdQB4BAogDkhOTtb581eP4ypRooR8ffnHBgAAAACAJ+EUmCzs3btXTz31lOrVq6ciRYqofPnyKl++vIoUKaKbb75ZTz75pPbs2WN1TAAAAAAA4ABaGa5js9n04osv6rPPPpPNZtP1h+SYpqkDBw7o4MGD+vLLL/XEE0/oo48+UqFC1JIAAAAAwAosgYEjKIBcZ/DgwZo7d6698FG/fn3dcsstKleunCTp1KlT2rZtm/bs2aOUlBR99tlnOn78uL777jsrYwMAAAAAgGxQAElj9uzZmjNnjgzDUOPGjTVp0iSFhYVlOnbbtm165JFHtGPHDs2bN0+zZ8/WwIEDXZwYAAAAAAA4gnUbaUyaNEmSVLt2bW3YsCHL4ockhYWFad26dapTp45M09TEiRNdFRMAAAAAkIbphi+4HwogaezatUuGYejll19WUFBQjuODgoL08ssv2+8FAAAAAADuiSUwaSQmJkqSGjVq5PA918YmJSU5JRMAAAAAIHs2w+oE8AR0gKRRtWpVSdKFCxccvufixYvp7gUAAAAAAO6HAkgaffv2lWma+v777x2+Z968eTIMQ71793ZiMgAAAAAAkBcUQNJ47rnnVKNGDU2cOFFz5szJcfy8efM0ceJEVa9eXS+88IILEgIAAAAArmdzwxfcDwWQNEJCQrRy5Uo1a9ZMgwYN0j333KOFCxfq2LFjSkpKUnJyso4dO6aFCxeqd+/eGjBggJo1a6ZVq1YpJCTE6vgAAAAAACALbIKaho+Pj/3aNE0tXrxYixcvznK8aZravn27atSokeUYwzCUnJycrzkBAAAAAMCNoQCShmma2X7tyD0AAAAAANfipzI4ggJIGmPGjLE6AgAAAAAAcAIKIGlQAAEAAAAAwDtRAAEAAAAAeDQbi2DgAE6BAQAAAAAAXo8CCAAAAAAA8HosgQEAAAAAeDSb1QHgEegAAQAAAAAAXo8CCAAAAAAA8HosgQEAAAAAeDTOgIEj6AABAAAAAABejwIIAAAAAADweiyBAQAAAAB4NE6BgSPoAAEAAAAAAF6PAggAAAAAAPB6LIEBAAAAAHg0m2F1AngCOkAAAAAAAIDXowACAAAAAAC8HktgAAAAAAAezSbT6gjwAHSAAAAAAAAAr0cHCAAAAADAo9H/AUfQAQIAAAAAALweBRAAAAAAAOD1WAIDAAAAAPBoNqsDwCPQAQIAAAAAALweBRAAAAAAAOD1WAIDAAAAAPBoNs6BgQPoAAEAAAAAAF6PAggAAAAAAPB6LIEBAAAAAHg0FsDAEXSAAAAAAAAAr0cBBAAAAAAAeD2WwAAAAAAAPJrN6gDwCHSAAAAAAAAAr0cBBAAAAAAAeD2WwAAAAAAAPJqNc2DgADpAAAAAAACA16MAAgAAAAAAvB5LYAAAAAAAHo0FMHAEHSAAAAAAAMDrUQABAAAAAABejyUwAAAAAACPZrM6ADwCHSAAAAAAAMDrUQABAAAAAABejyUwAAAAAACPZnIODBxABwgAAAAAAPB6dIAAAAAAADwam6DCEXSAAAAAAAAAr0cBBAAAAAAAD2EYhkOv9u3b58t83377rTp16qTy5curSJEiqlq1qoYMGaLNmzfny/NdiQIIAAAAAMCj2WS63cvTXb58Wd26ddPgwYP1888/69SpU0pISNCRI0c0c+ZMtWnTRq+//rrVMW8Ie4AAAAAAAOBhHn30UT322GNZfh4UFJSn5z/wwANatmyZJOmOO+7Q008/rdDQUO3evVvvvPOOIiIi9Nprr6lChQoaNWpUnuZyFQogAAAAAAB4mLJly6pBgwZOefYvv/yi2bNnS5J69OihBQsWyMfHR5IUFhamnj17qnnz5jpy5Ihefvll3XvvvSpRooRTsuQnlsAAAAAAADya6YYvT/bhhx9Kknx9fTV+/Hh78eOa0qVL67333pMkxcTEaPLkyS7PmBsUQAAAAAAAgCQpNjZWq1atkiTdddddqlSpUqbj+vTpo2LFikmSFixY4LJ8eUEBBAAAAAAASJK2bdumxMRESVK7du2yHOfn56eWLVva70lKSnJJvrxgDxAAAAAAgEdzx1NXoqKiHBqXVYdFTubOnas5c+YoMjJSPj4+Kl++vFq1aqXhw4frjjvuyNUzJWnv3r3267p162Y7tm7duvrpp5+UnJysQ4cOqV69erme1xUogAAAAAAAkM8qV67s0DjTzF3xJm2hQpLCw8MVHh6uGTNm6J577tG0adMUEhJyw89NW7jJqTiT9s949OhRCiAAAAAAACB/BAYGqmfPnurQoYPq1q2r4OBgnTlzRmvXrtWXX36ps2fPauHCherVq5d+/vlnFS5c+IaeHxsba78ODg7Odmzao3bj4uJu7A9iAQogAAAAAACPZrM6QCaOHj3qlOceO3ZMxYsXz/B+x44d9eSTT6pLly7asWOH1q5dqwkTJuipp566oedfuXLFfu3n55ftWH9/f/v15cuXb2geK1AAAQAAAAAgn+V2b4+cZFb8uKZcuXKaN2+e6tatq6SkJI0bN+6GCyBFihSxX1/bDDUrCQkJ9uuAgIAbmscKnAIDAAAAAICXqFGjhjp27Cjp6r4gx48fv6H7ixYtar/OaVlLfHy8/Tqn5TLugAIIAAAAAMCjmW74f1ZKuxnpsWPHbujetJ0rOZ1kk3aZj6ObvlqJAggAAAAAAF7EMIxc35u2eLJ///5sx1773NfXV7Vq1cr1nK5CAQQAAAAAAC+S9ojc0NDQG7o3LCzMvvnp2rVrsxyXmJioLVu22O+50dNmrEABBAAAAADg0Wxu+LLK4cOH9fPPP0uSatasqYoVK97Q/UWLFlWHDh0kSStXrsxyGcz8+fN18eJFSVLv3r3zkNh1KIAAAAAAAOABFi9erOTk5Cw/P3XqlPr27Ws/veWxxx7LMGbatGkyDEOGYei1117L9DkvvPCCJCk5OVmPP/64UlJS0n0eHR2tl19+WdLVU2keeuih3PxxXI5jcAEAAAAA8ABPPvmkkpKS1LdvX912222qVq2aAgICFB0drTVr1mjixImKjo6WJLVp00aPP/54rua58847NXDgQM2ePVs//PCDOnbsqGeeeUahoaHavXu33n77bR05ckSS9N5776lEiRL59md0JgogADxadMolqyMAbuezQnxfAJn58f8aWR0BgJNYfeqKKx0/flzjxo3TuHHjshzTt29fTZ48Wf7+/rmeZ+rUqbp48aKWLVum1atXa/Xq1ek+L1SokF599VWNGjUq13O4GgUQAAAAAAA8wPTp07V27Vpt3rxZf/31l6Kjo3Xx4kUFBwercuXKatWqlYYNG6bbbrstz3MFBARo6dKlmjVrlqZNm6Zdu3YpJiZG5cqVU9u2bfXEE0/kyzyuZJimWXBKZR7O1+/GNq8BCoLbytS1OgIAwEP8OIYOEOB6gaM+sTpCvhhRra/VETL4OvJ7qyPgOnSAAAAAAAA8mpWnrsBzcAoMAAAAAADwenSAAAAAAAA8mo2dHeAAOkAAAAAAAIDXowACAAAAAAC8HktgAAAAAAAejQUwcAQdIAAAAAAAwOtRAAEAAAAAAF6PJTAAAAAAAI9mYxEMHEAHCAAAAAAA8HoUQAAAAAAAgNdjCQwAAAAAwKOZLIGBA+gAAQAAAAAAXo8CCAAAAAAA8HosgQEAAAAAeDSb1QHgEegAAQAAAAAAXo8CCAAAAAAA8HosgQEAAAAAeDQbp8DAAXSAAAAAAAAAr0cBBAAAAAAAeD2WwAAAAAAAPJrJEhg4gA4QAAAAAADg9SiAAAAAAAAAr8cSGAAAAACAR7NZHQAegQ4QAAAAAADg9SiAAAAAAAAAr8cSGAAAAACARzNNToFBzugAAQAAAAAAXo8OEAAAAACAR7OJDhDkjA4QAAAAAADg9SiAAAAAAAAAr8cSGAAAAACAR7NZHQAegQ4Q4P/bu8/wqKr17+O/SScJvUeQJk16EVCkC0gHaSIKiIAE5CgHRUUU7KCieAB5VJqooCBNCE2QgDQhEISI9CAlgLTQElLX8yL/jAnJJJOeTL4fr7mu7ey117pnsvce5p5VAAAAAAAOjwQIAAAAAABweAyBAQAAAADkaYZVYGAHeoAAAAAAAACHRwIEAAAAAAA4PIbAAAAAAADytFiGwMAO9AABAAAAAAAOjwQIAAAAAABweAyBAQAAAADkacYwBAapowcIAAAAAABweCRAAAAAAACAw2MIDAAAAAAgT4vN6QCQJ9ADBAAAAAAAODwSIAAAAAAAwOExBAYAAAAAkKcZsQoMUkcPEAAAAAAA4PBIgAAAAAAAAIfHEBgAAAAAQJ4WyxAY2IEeIAAAAAAAwOGRAAEAAAAAAA6PITAAAAAAgDzNGIbAIHX0AAEAAAAAAA6PHiAAAAAAgDyNSVBhD3qAAAAAAAAAh0cCBAAAAAAAODyGwAAAAAAA8jTDEBjYgR4gAAAAAADA4ZEAAQAAAAAADo8hMAAAAACAPC3WMAQGqaMHCAAAAAAAcHgkQAAAAAAAgMNjCAwAAAAAIE9jAAzsQQ+QBIKCgtJ97NSpUzMxEgAAAAAAkJlIgCTQsWNHnT59Os3Hvf/++5owYULmBwQAAAAAADIFCZAELly4oMcee0yXLl2y+5i3335bb775ZhZGBQAAAABISaxMrnsg9yEBkkDJkiUVHBysDh06KDQ0NNXyb731lt555x1JUqtWrbI4OgAAAAAAkF4kQBLYsGGDChUqpKCgIHXu3FlhYWE2y06YMEHvv/++jDFq166d/Pz8sjFSAAAAAACQFiRAEqhfv75+/vlneXh46Pfff1evXr0UFRWVpNyrr76qqVOnyhijDh06aPXq1SpQoEAORAwAAAAAyOnhLgyByRtIgNyjRYsWWrJkiZydnbVp0yY99dRTMubfk3fcuHH65JNPZIzR448/rlWrVsnDwyMHIwYAAAAAAKkhAZKMLl26aMGCBZKk5cuXa8SIEZKk//znP5o+fbqMMerSpYtWrlwpd3f3HIwUAAAAAADYwyWnA8itnnrqKYWGhuqFF17QvHnztGfPHgUFBckYo27duumnn36Sq6trTocJAAAAAPlewl77gC30AEnBqFGj9M4778gYY01+9OzZk+QHAAAAAAB5DAmQVEycOFEvvfSSjDHq06ePli5dSvIDAAAAAIA8Jl8OgXF2dk7zMRaLRcuWLZObm5vN/dHR0RkNDQAAAACQRvlp1ZWAgACtXbtW27dv1+HDh3X58mW5urrKx8dHzZs313PPPadHH300w+1MnjxZb7/9tl1lt2zZotatW2e4zayWLxMgjA8DAAAAAOQ1LVu21G+//Zbk+cjISB0/flzHjx/XggULNGjQIH399dc2f8DPr/JlAmTSpEk5HQLyoPvvv09jRj+nTp3bqXw5H0VEROjkqb/100+r9cXsBQoPv5vTIQJZztPbUw+3baoa9aurRt1qKlGmhIoULyx3D3fdvnlbp4/9rd2/7tGaH9bp5vWbOR0ukG24NpAfXQuLUNCFUAVdvKE/L97Q4YuhCr0bJUnqVus+vfN4vVTr+DnonCZtOGhXe293rKvutctlKGY4LpNPeoCEhIRIknx8fNS3b1+1aNFC999/v2JiYrRr1y5NmzZN58+f18KFCxUVFaVFixZlSruHDh1KcX+lSpUypZ2sRgIEsEPXLu31zYL/qXDhQtbnvLw8VaxYUT3UuL6GDn1K3XsM0smTp3MuSCAb1GxQQ5NnT0x2X9ESRVW0RFE1eKS+Bvj207tjPtSerQHZHCGQM7g2kB+1m705p0MA8p0aNWrogw8+UO/evZNM7dCsWTM988wzat68uY4dO6bFixdr5MiRatmyZYbbrV27dobryA3yZQIESIv69Wtp0fez5elZQLdu3dbUj2bK33+nChTwUL9+3TV82NOqXq2Kfl61UE2bddLt23dyOmQgS106f0n7d/6howeP6Z+Qf3T1n2tycrKoZNmSat2lpVp2aqEixYvow/nvakTX0Tp5+FROhwxkC64N5GdlCnqoUjFv7fr7Srrr+KL3Qyrp7WFzf+kU9gH5xZo1a1LcX6JECU2bNk3dunWTJP3000+ZkgBxFCRAgFR8Nu0deXoWUFRUlDp1fkq7f99n3bfFf4dOnAjW1Clvqnq1Kvrv2Of1zruf5mC0QNYK3HFAfZo8ZXP/ltVb1aJjc30w7x25ubvp2bGDNHH45OwLEMghXBvIj0Y0e0C1yhRWrTJFVNzLXSE3wtRljn+666tQ1Es+hT0zL0DkK8zz+K82bdpYt0+ePJmDkeQ+LIObQExMjLZt26Zt27bpxo0bqZYPDQ21lueCc0wPNa6vFi2aSZLmzf8hUfIj3qeffanDfx2TJI154Tm5uJBXhOOKjY1NtcxvG3bo7xNnJEn1mtbJ6pCAXIFrA/mRb/NqalmltIp7ued0KAASiIiIsG6nZwVUR0YCJIGVK1eqdevW6t27t1xdXVMt7+bmpieeeEJt2rSRn59fNkSI7Najx+PW7W+++THZMsYYfffdT5KkokWLqE3rR7IlNiA3C7sdJklyc2fmcSAhrg0AyD/OnTtn1yOzbd261bpds2bNTKmzQ4cOKlWqlNzc3FSqVCm1bt1aU6ZM0fXr1zOl/uxCAiSBFStWSJL69u0rT8/Uu995enqqf//+MsZo2bJlWR0eckDzRx6SJN2+fUf79tueoXzbtt3W7Uf+7xggvypfpZyq1npAkqy/dgPg2gCArBQrk+se5cuXt+uRqe9DbKymTJli/f9+/fplSr2//PKLLl++rKioKF2+fFlbt27V66+/rsqVK2vVqlWZ0kZ2oK9+Anv37pXFYlHbtm3tPqZt27aaPXu2du/enXph5Dk1alSVJJ04eVoxMTE2yx05eiLJMUB+4u7hrpJlS6h5+4c1wLe/XFzjPl6Wzlmew5EBOYtrA7DfpA0HdfraHYWGR8rbzUXli3qp6f3F1bdeBZUqyASogD0+++wz7dmzR5L0xBNPqFGjRhmqr06dOurZs6eaNGkiHx8fRUVF6ejRo/r++++1ceNGhYaGqnfv3lq9erU6deqUGS8hS5EASeDs2bOS0raGccWKFRMdC8fh7u6ukiWLS5LOn7uQYtnQ0Bu6ffuOvL29VL6cT3aEB+S4Tv06asJn423u/27GIv2ygiUSkf9wbQDpE3D2mnU79G6UQi+E6tCFUH27L1gvt35Qferdn4PRAWmX3d8Rt27dqtdee02SVKpUKc2ePTtD9b300kuaPHlykuebNm2qQYMG6csvv9TIkSMVExOjYcOG6eTJk/LwyN3JShIgyUjLhKbxZaOjo7MqHOSQggW9rNu376S+tO2dO2Hy9vaSlzezlyN/OxZ0XB+P/0xH/jia06EAuQrXBpC8coU91bZqadX1Kaoy/9fT41xomDYfv6hNxy4qIjpW728KksUi9a5LEgTJy42LUpQrVy7b2vrzzz/Vq1cvRUdHy8PDQ0uXLlWpUqUyVGeRIkVS3P/8889r7969mjt3rkJCQrRs2TINHDgwQ21mNRIgCZQsWVLnzp3TkSNH1LhxY7uOOXLkiKS49ZbTKysmvkHGJcxeRkZGpVo+IiJSklQgl2c9gczy2/rtGvR/X+TcPdx1XwUftenWSq06t9CkWW9oxuQvtHMTwwOR/3BtAPZrU7W0utW6TxaLJdHztcoUUccaPtp28pLG/bxf0bFGn2z5S62qlFYJVp0BEgkODlaHDh10/fp1OTs764cfflDLli2zpe3nn39ec+fOlRTXA4UESB7y0EMP6ezZs1q4cKGefvppu45ZsGCBLBaLGjZsmO527Z34xtmVoRXZ6e7du9ZtN7fUVwVy/78Z/cMTHAc4sts37+j2zX97Rx3546g2/7xFHXs/pgnTX9UH897R1Jenad2SDTkYJZD9uDYA+xV0T/nfWC2rlNaIh6vqix3HdDc6RisPndWwZg9kU3RA7hcSEqLHHntMISEhslgsmjdvnnr06JFt7T/44IPW7fPnz2dbu+nFKjAJ9OnTR5K0efNmTZs2LdXy06ZN06+//iopbuUYOJZbt/79x6u3l1cKJeN4ecUNfbnzf0scAvnVhmWbtGXNVjk7O+ul98aoYJGCOR0SkCtwbQDp07tuecX3D9l37lqKZZF/5fSKL8k9stqVK1fUvn17nTp1SpI0Y8YMDRo0KMvbTeje3lu5HQmQBPr376969erJGKPx48erT58+2r59e6L5PaKjo/Xbb7+pd+/eGj9+vCwWi2rXrm13j5HknD171q4HsldERISuXIn7kL2vXNkUyxYpUlje3nFJkrPnQrI8NiC3275hpyTJ06uAmrZmaWggHtcGkHbFPN1VuEBcT9t/btPTFpCkGzduqGPHjjp8+LAkacqUKRo9enS2xxHfviT5+OT+EQsMgUnAYrFoxYoVat68uS5cuKAVK1ZoxYoVcnV1VbFixSRJ165dU1RU3HwQxhj5+Pho1apVGcp8ZefkOEibv/46phYtmumBKhXl7OxscyncGtX/7Yp55Mjx7AoPyLVCr96wbpcpVzoHIwFyF64NIH3y1m/MQNYKCwtTly5dtH//fknSG2+8oVdffTVHYvnyyy+t261atcqRGNKCHiD3qFixogIDA9WzZ09JcUmOyMhIXbx4URcvXlRkZKR1huEnnnhC+/fvty6FC8ezY+deSZK3t5caNaxrs1zLls2s2zv/7xggPytZ9t+JocPvhOdgJEDuwrUBpN21sAiFhsdNNl+SCVBhg8mF/2WFyMhI9erVSzt27JAkvfjii3rvvffSXE/8XJYWiyXZpW4PHTqkEydOpFjHV199pTlz5kiSypQpo169eqU5juxGD5BklCpVSsuXL9exY8fk5+enwMBAXblyRVLcai8NGzZUly5dVLVq1RyOFFlt1ar1eu3VMZKkwYP7a8/ewCRlLBaLnn46bv6Y69dDtcV/Z7bGCORGbbr+O/P4ySPBORgJkLtwbQBpt/zgWetXyUbli+doLEBOGzBggDZu3ChJatu2rZ577jkFBQXZLO/m5qZq1aqluZ19+/Zp2LBhatOmjTp16qQ6deqoePHiio6O1pEjR/T9999b43B2dtZXX30lLzvmTcxpJEBSUK1atXSdLHAcewMO6LffdqtFi2Ya+uyT+vbbpdr9+75EZf479nk9WDPuPJkxc26iOWMAR9OpX0dtXvWrIiNsLw3db3hvPdwurldUyN8hOvj7oewKD8gxXBtA2oXcCNPNu1GqUbqwzTLbTl7SV7vjfoX2cHFSj1oMHUf+tnz5cuv2r7/+qrp1bfdSl6QKFSro9OnT6WorJiZGmzZt0qZNm2yWKV68uObOnatu3bqlq43sRgIESMXYcW9pm/8qeXoW0Lq1izRl6gz5++9UgQIe6tevh0YMj5sA9+ixk/r0sy9TqQ3I25797yCNfmuktvpt08G9QQo5HaKwsHB5enmqSs1Kat+rneo2qSNJioyI1EevfqbY2NgcjhrIelwbyI8Cz13T2dB/V7+LH6YiSWevh+nnoHOJynevnTh5EXIzXMOX/K66ZYuoZZVSqlaykIp5xk12ev5GuDYdu6BNxy5ae3+MbVVTpQp6ZM2LQZ4Xa7J+1ZX8pHPnzpo7d6527dqlwMBAXbp0SVevXpUxRsWKFVO9evX0+OOPa8iQISpUqFBOh2s3izGcKSkxxujUqVO6di1uNZBixYqpcuXKObLcj4vbfdneJuJ07dJe3yz4nwoXTv7iPnrspLr3GKSTJ09nb2DQwyVr5HQI+cqS3d+rbPkyqZa7FPKPpvz3EwX8ti/VsoAj4NrIGzZMSvmXUqTNW+v/0Oo/z9tdPnBc50T/H3D2qoYv+T3V4zxcnPVym5rqXff+NMeI1HmO+CynQ8gUtUs3S71QNgu6tDunQ8A96AFiw4YNGzRz5kz5+/srLCws0T5PT0+1adNGL7zwgjp06JBDESI7rfH7RQ0aPab/vDBMnTq3U7n7yioyMlInTp7WsmVrNOuL+QoPZ1k2OL5xA1/VI+2aqXbjWipX6T4VLVFUhYsWUsTdCF2/EqoTh09q56bd+vVnf0XcjcjpcIFsw7UBpF3N0oX1fud6OhgSqsOXbujy7bsKDY9SjDEq5O6iKiUKqsn9xdWrTnkV82TyUwAZRw+Qe0RGRmrIkCH68ccfJUm23p74HiD9+/fXggUL5ObmluWx0QMESIoeIAAAe9EDBEjKUXqA1CrdNKdDSOLPS6n3cEL2ogfIPZ566imtWLFCxhi5uLioffv2atq0qcqUievWevHiRe3Zs0e//PKLoqKi9OOPPyo6OlpLlizJ4cgBAAAAAIAtJEAS8PPz0/Lly2WxWNSmTRvNmzdPFSpUSLbsmTNnNHToUP36669atmyZ1q5dq86dOydbFgAAAAAA5CynnA4gN1mwYIEkqV69elq/fr3N5Ick3X///Vq3bp3q168vSZo/f342RAgAAAAAuFesMbnugdyHBEgCu3fvlsVi0bhx4+Tq6ppqeVdXV7388ssyxmj3bmb4BQAAAAAgt2IITAKXL1+WJD344IN2H1OjRtwEjFeuXMmSmAAAAAAAKTOixwVSRw+QBLy8vCRJV69etfuY69evS4pbGhcAAAAAAOROJEASqF69uiRZl8C1R3zZ+GMBAAAAAEDuQwIkge7du8sYo/nz51snRE3Jt99+q3nz5slisahnz55ZHh8AAAAAIKmcnvCUSVDzBhIgCYwZM0Zly5aVMUbPPfecunbtquXLl+v8+fOKiopSdHS0zp8/r+XLl6tr164aMmSIYmNj5ePjoxdeeCGnwwcAAAAAADYwCWoCXl5eWrNmjdq1a6fQ0FCtW7dO69ats1neGKOiRYtqzZo1zAECAAAAAEAuRg+QezRo0EBBQUHq3bu3nJycZIxJ9uHk5KQ+ffro4MGDqlevXk6HDQAAAAD5lsmF/yH3oQdIAgsXLpQUN6Hp0qVLdeHCBfn7+ysoKEjXrl2TJBUrVky1a9dW69atVbZs2ZwMFwAAAAAA2IkESAJDhgyRxWLR4sWL1bRpU5UtW1YDBgzI6bAAAAAAAEAGkQBJoHDhwrp586aqVq2a06EAAAAAAOzEqiuwB3OAJFCpUiVJ0vXr13M4EgAAAAAAkJlIgCTQq1cvGWO0evXqnA4FAAAAAABkIhIgCbz44ouqUKGCZs+erc2bN+d0OAAAAAAAO+T0ii+sApM3kABJoFChQvrll19Uo0YNPf744xoxYoT8/f117do1GcaUAQAAAACQZzEJagLOzs7WbWOM5s6dq7lz59p1rMViUXR0dFaFBgAAAAAAMoAESAL39vKg1wcAAAAA5H7GxOZ0CMgDSIAkMGnSpJwOAQAAAAAAZAESIAmQAAEAAAAAwDGRAAEAAAAA5GmxrLoCO7AKDAAAAAAAcHgkQAAAAAAAgMNjCAwAAAAAIE9jBU/Ygx4gAAAAAADA4ZEAAQAAAAAADo8hMAAAAACAPI1VYGAPeoAAAAAAAACHRw8QAAAAAECexiSosAc9QAAAAAAAgMMjAQIAAAAAABweQ2AAAAAAAHlaLENgYAd6gAAAAAAAAIdHAgQAAAAAADg8hsAAAAAAAPI0I4bAIHX0AAEAAAAAAA6PBAgAAAAAAHB4DIEBAAAAAORphlVgYAd6gAAAAAAAAIdHAgQAAAAAADg8hsAAAAAAAPK0WFaBgR3oAQIAAAAAABweCRAAAAAAAODwGAIDAAAAAMjTWAUG9qAHCAAAAAAAcHgkQAAAAAAAgMNjCAwAAAAAIE+LZQgM7EAPEAAAAAAA4PBIgAAAAAAAAIfHEBgAAAAAQJ7GKjCwBz1AAAAAAACAwyMBAgAAAAAAHB5DYAAAAAAAeVqsGAKD1NEDBAAAAAAAODx6gAAAAAAA8jQmQYU96AECAAAAAAAcHgkQAAAAAADg8BgCAwAAAADI02IZAgM70AMEAAAAAAA4PBIgAAAAAADA4TEEBgAAAACQpxkxBAapowcIAAAAAABweCRAAAAAAACAw2MIDAAAAAAgT2MVGNiDHiAAAAAAAMDhkQABAAAAAAAOjyEwAAAAAIA8zTAEBnagBwgAAAAAAHB4JEAAAAAAAIDDYwgMAAAAACBPM2IIDFJHDxAAAAAAAODwSIAAAAAAAJAH/f333xo3bpxq1KghLy8vFStWTA899JA+/vhjhYWFZVo769atU69evVSuXDm5u7urXLly6tWrl9atW5dpbWQHi2G63DzDxe2+nA4ByHUeLlkjp0MAAOQRGybVzekQgFzHc8RnOR1CpnBzL5fTISQRGXEuS+tfvXq1nn76ad28eTPZ/dWqVZOfn58eeOCBdLcRGxurESNGaO7cuTbLDBs2TF9++aWcnHJ//4rcHyEAAAAAALAKDAxU//79dfPmTXl7e+v999/Xzp07tXnzZg0fPlySdOzYMXXp0kW3bt1KdztvvPGGNfnRoEEDLV68WHv27NHixYvVoEEDSdKcOXM0ceLEjL+obEAPkDyEHiBAUvQAAQDYix4gQFL0AMk6WdkDpGXLlvrtt9/k4uKibdu26eGHH060/+OPP9b48eMlSZMmTdLkyZPT3MaxY8dUq1YtRUdHq3Hjxtq2bZsKFChg3R8WFqZWrVopICBALi4u+uuvvzLU2yQ70AMEAAAAAJCnGWNy3SOr7NmzR7/99psk6bnnnkuS/JCkcePGqWbNmpKkzz//XFFRUWluZ/r06YqOjpYkzZgxI1HyQ5I8PT01Y8YMSVJ0dLQ++yz3J9NIgAAAAAAAkEesXLnSuv3ss88mW8bJyUmDBg2SJIWGhmrLli1pasMYo1WrVkmSatSooWbNmiVbrlmzZqpevbokadWqVVma+MkMJEAAAAAAAMgjtm/fLkny8vJSo0aNbJZr1aqVdXvHjh1paiM4OFghISFJ6kmpnfPnz+v06dNpaie7ueR0AAAAAAAAZERu7Hdw7px9c4CUK5e2+Uv++usvSdIDDzwgFxfbX+lr1Ph3rrz4Y+x1+PDhZOuxp51KlSqlqa3sRAIEAAAAAIBMVr58ebvKpWXYyN27d3XlyhVJqSdOihYtKi8vL925c0dnz561uw0pcfImtXYSvs60tpPdSIDkIdGR53M6hHzv3Llz1gv87Nmzac7WAo6I6wJIHtcGkBTXBbJKbvyuZLFYMr3OhEvaent7p1o+PgFy+/btLGvHy8vLup3WdrIbCRAAAAAAADJZVvSGuHv3rnXbzc0t1fLu7u6SpPDw8CxrJ76N9LST3UiAAAAAAACQybKih5OHh4d1OzIyMtXyERERkpRkCdvMbCe+jfS0k91YBQYAAAAAgDygYMGC1m17hpvcuXNHkn3DZdLbTnwb6Wknu5EAAQAAAAAgD/Dw8FDx4sUlpb7KzPXr163JCXsnZI2XsPdKau0kHOqT1nayGwkQAAAAAADyiAcffFCSdOLECUVHR9ssd+TIEet2zZo109XGvfVkdjvZjQQIAAAAAAB5xKOPPiopbujJvn37bJbbunWrdbt58+ZpaqNSpUry8fFJUk9ytm3bJkm67777VLFixTS1k91IgAAAAAAAkEf07NnTuj1//vxky8TGxmrhwoWSpCJFiqhNmzZpasNisahHjx6S4np47N69O9lyu3fvtvYA6dGjR5Ys/ZuZSIAAAAAAAJBHNGnSRC1atJAkzZ07V7t27UpSZtq0afrrr78kSS+++KJcXV0T7ff395fFYpHFYtGQIUOSbeell16Ss7OzJGnMmDFJlrgNDw/XmDFjJEkuLi566aWXMvKysgUJEAAAAAAA8pDPP/9cBQoUUHR0tDp06KAPP/xQu3fv1pYtW/T8889r/PjxkqRq1app3Lhx6WqjWrVqeuWVVyRJAQEBat68uX788UcFBAToxx9/VPPmzRUQECBJeuWVV1S1atXMeXFZyGKMMTkdBAAAAAAAsN/q1av19NNP6+bNm8nur1atmvz8/PTAAw8k2efv728dFjN48GAtWLAg2TpiY2M1fPhwzZs3z2Yczz33nL766is5OeX+/hW5P0IAAAAAAJBIt27ddPDgQY0dO1bVqlWTp6enihQposaNG2vq1KkKDAxMNvmRFk5OTpo7d678/PzUo0cP+fj4yM3NTT4+PurRo4fWrl2rOXPm5Inkh0QPEAAAAAAAkA/kjTQNAAAAAABABpAAAQAAAAAADo8ECAAAAAAAcHgkQAAAAAAAgMMjAQIAAAAAABweCRAAAAAAAODwSIAAAAAAAACHRwIEAAAAAAA4PBIgyFVOnz4ti8Uii8WiBQsW5HQ4mWbBggXW13X69OmcDieJ3B5ffsDfIGc56r0HABzR5MmTrfdsAEgLEiAAAAAAAMDhkQABAKSKHioAAADI61xyOgAgPxgyZIiGDBmS02EAsKFixYoyxuR0GAAAAMhC9AABAAAAAAAOjwQIAAAAAABweCRAkOV27NihYcOGqXr16ipUqJDc3NxUrlw5de3aVbNmzVJoaGia6gsKCtJ7772njh07qly5cnJ3d5e3t7eqVq2qwYMHa/fu3anWERISotdee00NGzZU4cKF5erqqtKlS6tOnToaMGCAFixYoJs3byZ77IoVK9SzZ09r2wULFlTlypXVokULvfnmm9qzZ0+SY+ydPyE2NlaLFy9W7969df/996tAgQIqUKCAqlWrpoEDB+qnn35SVFRUlrwnyDxbtmzR4MGDVblyZXl6eqpQoUKqU6eOXnnlFYWEhGSo7piYGH3zzTfq2rWrfHx85O7uruLFi+vRRx/Vp59+qvDw8FTrSMt55u/vL4vFomeffdZ6fKVKlaznc/zD39/fun/IkCGyWCyqWLGiJOnChQt69dVXVatWLRUsWDBJeUm6fPmyJk6cqAYNGqhIkSLy8PBQxYoV9cwzz2j79u0pvp6KFSvKYrFYh5kdPXpUw4cPV8WKFeXu7q7SpUurV69eKV4HaVkFJrPvach5964oERoaqkmTJqlWrVry9vZWsWLF1KZNGy1evDjVuk6fPq2xY8daz3dPT09VrVpVzz//vA4dOpTisfExTJ48WZK0adMmde/eXWXLlpWHh4cqV66sF154QefPn8/wawaSc++1cOPGDb377rvWe/O998jbt29rypQpevjhh1WsWDG5u7urXLly6tOnj9asWWNXm+n9t09qDhw4oNKlS8tisahs2bI6ePBgmusA4IAMkEXCwsLMgAEDjKQUH5MmTbIeExwcbH1+/vz5SercsmVLqvVJMq+99prNuLZt22YKFSqUah2rV69OdFx0dLTp27dvqsc1atQoSZvz58+37g8ODk42ruDgYFO/fv1U69+yZUumvyf2xIfUhYeHmyeffDLFv4OXl5f5+eefkxxrz9/g77//NvXq1Uux/gceeMAcPXrUZoxpPc/sPb8SnpeDBw82kkyFChXMrl27TIkSJVIsv2HDhlSvydGjR5uYmJhkX1OFChWMJDN48GCzfPly4+npmWwdzs7O5ocffrD5vqR07zEmffc05A2TJk2y/v1OnTplqlSpYvPv269fPxMVFZVsPd98841xd3e3eayzs7P54IMPbMaR8ByaPHmyzXoKFy5stm3bllVvB/KxhNfCsWPHTMWKFZOcf/H3yP379xsfH58U74dPPPGECQ8Pt9leev/tkzDO5Gzbts0ULlzYSDIVK1Y0J06cyKy3CEAexySoyBKxsbHq0aOHfvnlF0lS1apVNWrUKDVu3Fienp66cOGCdu7cqSVLlqSp3ujoaHl5ealLly5q27atatSooUKFCumff/7Rn3/+qf/973/6+++/NWXKFFWrVi3Rr9aSFBERoSeffFI3b95UwYIF5evrqzZt2qhUqVKKjIxUcHCwdu7cqRUrViRpe/bs2Vq6dKkk6dFHH9WwYcNUpUoVeXl56erVqzp48KDWr1+vGzdupPn9unTpkpo3b27tHdC2bVsNHjxYNWrUkMViUXBwsH799Vdr+5n5niBzGGPUp08f+fn5SZK6deumfv36qXLlynJyctKePXs0bdo0nTlzRn369NGOHTvUuHFju+u/evWqHn30UZ09e1bu7u4aPny4WrVqpYoVK+r27dvauHGjPv/8c504cUKdOnXS/v37Vbhw4UR1pOc8e+ihh3To0CGtWrVKEydOlCRt2LBBPj4+iequVKlSkphv376t3r176+7du3rjjTfUvn17eXp66tChQypbtqykuF/ounXrpsjISLm6uuqFF15Q9+7d5eXlpcDAQE2ZMkXBwcGaNWuWvLy8NHXqVJvv0aFDh/Tj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", + "text/plain": [ + "<Figure size 1280x960 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "conf_matrix = pd.DataFrame(confusion_matrix(subm['label'], subm['pred1']), columns=genres, index=genres)\n", "\n", @@ -570,26 +3504,54 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "d2d7e5ef892ec807", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:42.467717Z", - "iopub.status.busy": "2024-02-19T14:43:42.467306Z", - "iopub.status.idle": "2024-02-19T14:43:42.680469Z", - "shell.execute_reply": "2024-02-19T14:43:42.679820Z" + "iopub.execute_input": "2024-02-19T16:16:07.933855Z", + "iopub.status.busy": "2024-02-19T16:16:07.933625Z", + "iopub.status.idle": "2024-02-19T16:16:08.139661Z", + "shell.execute_reply": "2024-02-19T16:16:08.138922Z" }, "papermill": { - "duration": 0.225727, - "end_time": "2024-02-19T14:43:42.681847", + "duration": 0.223021, + "end_time": "2024-02-19T16:16:08.142133", "exception": false, - "start_time": "2024-02-19T14:43:42.456120", + "start_time": "2024-02-19T16:16:07.919112", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy for top 2 predictions: 0.9125\n" + ] + }, + { + "data": { + "text/plain": [ + "[Text(0.5, 23.52222222222222, 'Prediction'),\n", + " Text(50.722222222222214, 0.5, 'Actual')]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "subm_top_2 = subm.copy()\n", "subm_top_2[\"top_2\"] = subm.apply(lambda row: row.get(\"pred2\") if row.get(\"label\") == row.get(\"pred2\") else row.get(\"pred1\"), axis=1)\n", @@ -603,26 +3565,46 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "4433589d09bda6e5", "metadata": { "collapsed": false, "execution": { - "iopub.execute_input": "2024-02-19T14:43:42.706159Z", - "iopub.status.busy": "2024-02-19T14:43:42.705690Z", - "iopub.status.idle": "2024-02-19T14:43:42.935380Z", - "shell.execute_reply": "2024-02-19T14:43:42.934852Z" + "iopub.execute_input": "2024-02-19T16:16:08.183313Z", + "iopub.status.busy": "2024-02-19T16:16:08.182909Z", + "iopub.status.idle": "2024-02-19T16:16:08.411307Z", + "shell.execute_reply": "2024-02-19T16:16:08.410710Z" }, "papermill": { - "duration": 0.242337, - "end_time": "2024-02-19T14:43:42.936712", + "duration": 0.250306, + "end_time": "2024-02-19T16:16:08.414237", "exception": false, - "start_time": "2024-02-19T14:43:42.694375", + "start_time": "2024-02-19T16:16:08.163931", "status": "completed" }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[Text(0.5, 1.0, 'Correlation heatmap of prediction probabilities')]" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "<Figure size 640x480 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "display(sns.heatmap(proba_df.corr(numeric_only=True), vmin=-1, vmax=1, annot=True).set(title=\"Correlation heatmap of prediction probabilities\"))" ] @@ -633,10 +3615,10 @@ "metadata": { "collapsed": false, "papermill": { - "duration": 0.010969, - "end_time": "2024-02-19T14:43:42.957610", + "duration": 0.011655, + "end_time": "2024-02-19T16:16:08.441885", "exception": false, - "start_time": "2024-02-19T14:43:42.946641", + "start_time": "2024-02-19T16:16:08.430230", "status": "completed" }, "tags": [] @@ -652,20 +3634,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "bbd99cb8", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:42.978152Z", - "iopub.status.busy": "2024-02-19T14:43:42.977857Z", - "iopub.status.idle": "2024-02-19T14:43:42.982716Z", - "shell.execute_reply": "2024-02-19T14:43:42.981209Z" + "iopub.execute_input": "2024-02-19T16:16:08.483429Z", + "iopub.status.busy": "2024-02-19T16:16:08.482950Z", + "iopub.status.idle": "2024-02-19T16:16:08.487096Z", + "shell.execute_reply": "2024-02-19T16:16:08.486370Z" }, "papermill": { - "duration": 0.017398, - "end_time": "2024-02-19T14:43:42.984269", + "duration": 0.027891, + "end_time": "2024-02-19T16:16:08.489563", "exception": false, - "start_time": "2024-02-19T14:43:42.966871", + "start_time": "2024-02-19T16:16:08.461672", "status": "completed" }, "tags": [] @@ -687,20 +3669,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "4a32007a", "metadata": { "execution": { - "iopub.execute_input": "2024-02-19T14:43:43.005520Z", - "iopub.status.busy": "2024-02-19T14:43:43.004468Z", - "iopub.status.idle": "2024-02-19T14:43:43.016613Z", - "shell.execute_reply": "2024-02-19T14:43:43.015593Z" + "iopub.execute_input": "2024-02-19T16:16:08.513025Z", + "iopub.status.busy": "2024-02-19T16:16:08.512502Z", + "iopub.status.idle": "2024-02-19T16:16:08.528452Z", + "shell.execute_reply": "2024-02-19T16:16:08.527172Z" }, "papermill": { - "duration": 0.025414, - "end_time": "2024-02-19T14:43:43.018135", + "duration": 0.02951, + "end_time": "2024-02-19T16:16:08.531671", "exception": false, - "start_time": "2024-02-19T14:43:42.992721", + "start_time": "2024-02-19T16:16:08.502161", "status": "completed" }, "tags": [] @@ -709,11 +3691,11 @@ "source": [ "# output\n", "Path(OUTPUT_PATHS[\"clf\"]).resolve().parent.mkdir(parents=True, exist_ok=True)\n", - "Path(OUTPUT_PATHS[\"submission\"]).resolve().parent.mkdir(parents=True, exist_ok=True)\n", + "Path(OUTPUT_PATHS[\"prediction_result\"]).resolve().parent.mkdir(parents=True, exist_ok=True)\n", "\n", "with open(OUTPUT_PATHS[\"clf\"], \"wb\") as file:\n", " pickle.dump(clf, file)\n", - "subm.to_csv(OUTPUT_PATHS[\"submission\"], index=False)" + "subm.to_csv(OUTPUT_PATHS[\"prediction_result\"], index=False)" ] } ], @@ -738,8 +3720,8 @@ }, "papermill": { "default_parameters": {}, - "duration": 7.136567, - "end_time": "2024-02-19T14:43:43.546117", + "duration": 6.720562, + "end_time": "2024-02-19T16:16:09.061363", "environment_variables": {}, "exception": null, "input_path": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/5_ml_model.ipynb", @@ -751,13 +3733,13 @@ }, "OUTPUT_PATHS": { "clf": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/5_ml_model/output/ml_model.pickle", - "submission": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/5_ml_model/output/test_result.csv" + "prediction_result": "/home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/5_ml_model/output/test_result.csv" } }, - "start_time": "2024-02-19T14:43:36.409550", + "start_time": "2024-02-19T16:16:02.340801", "version": "2.4.0" } }, "nbformat": 4, "nbformat_minor": 5 -} +} \ No newline at end of file diff --git a/notebooks/main.ipynb b/notebooks/main.ipynb index b281b765f22792253f7394a3eb8cf945e07b2665..c5cad290a6f6f68c0b1324eaaa9f723cb2b93478 100644 --- a/notebooks/main.ipynb +++ b/notebooks/main.ipynb @@ -14,9 +14,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": { - "collapsed": true + "collapsed": true, + "ExecuteTime": { + "end_time": "2024-02-19T15:58:57.418853644Z", + "start_time": "2024-02-19T15:58:57.417822523Z" + } }, "outputs": [], "source": [ @@ -26,9 +30,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-19T15:58:58.611923210Z", + "start_time": "2024-02-19T15:58:57.809394412Z" + } }, "outputs": [], "source": [ @@ -46,10 +54,14 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": { "collapsed": false, - "lines_to_next_cell": 2 + "lines_to_next_cell": 2, + "ExecuteTime": { + "end_time": "2024-02-19T15:58:59.153225280Z", + "start_time": "2024-02-19T15:58:59.025888739Z" + } }, "outputs": [], "source": [ @@ -72,11 +84,48 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-19T16:01:47.984392651Z", + "start_time": "2024-02-19T15:59:01.261113159Z" + } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Input Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/1_audio_files.ipynb\n", + "INFO:papermill:Output Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/1_audio_files.ipynb\n" + ] + }, + { + "data": { + "text/plain": "Executing: 0%| | 0/7 [00:00<?, ?cell/s]", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "d9032ae4297d4b4ea9f7a088e900465a" + } + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Executing notebook with kernel: python3\n", + "INFO:fairnb.api.invenio:Picked up 1 files\n", + "INFO:fairnb.api.invenio:Uploading 1 to https://researchdata.tuwien.ac.at\n", + "INFO:fairnb.api.invenio:Uploading /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/1_audio_files/output/emotifymusic.tar.gz as emotifymusic.tar.gz\n", + "INFO:fairnb.api.invenio:Finished upload of emotifymusic.tar.gz\n", + "INFO:fairnb.entity.entity:Uploaded provenance information for audio_tar with id 1: EntityProvenance(id=1, pi='https://researchdata.tuwien.ac.at/records/bqzj5-bds61', name='audio_tar', description='Raw music files', type='audio_tar', commit='390af83f635fc4292f18499fa679c12e3c59dab6', branch='master', repo_uri='https://gitlab.tuwien.ac.at/martin.weise/fairnb.git', executed_file='notebooks/1_audio_files.ipynb', main_file='notebooks/main.ipynb', started_at=datetime.datetime(2024, 2, 19, 16, 59, 1, 318249), ended_at=datetime.datetime(2024, 2, 19, 16, 59, 18, 449092), repository='https://doi.org/10.17616/R31NJMYD')\n" + ] + } + ], "source": [ "# ------------- Convert Audio Files for TUWRD ----\n", "\n", @@ -104,11 +153,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-19T16:11:24.956387840Z", + "start_time": "2024-02-19T16:03:54.449747034Z" + } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Input Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/2_generate_features.ipynb\n", + "INFO:papermill:Output Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/2_generate_features.ipynb\n" + ] + }, + { + "data": { + "text/plain": "Executing: 0%| | 0/9 [00:00<?, ?cell/s]", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "5e301e8d3e484d62b9d79d034ea917a4" + } + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Executing notebook with kernel: python3\n", + "INFO:fairnb.entity.entity:Uploaded provenance information for raw_features with id 2: EntityProvenance(id=2, pi='https://dbrepo1.ec.tuwien.ac.at/database/23/table/117', name='raw_features', description='Raw MFCC features of audio files.', type='raw_features', commit='390af83f635fc4292f18499fa679c12e3c59dab6', branch='master', repo_uri='https://gitlab.tuwien.ac.at/martin.weise/fairnb.git', executed_file='notebooks/2_generate_features.ipynb', main_file='notebooks/main.ipynb', started_at=datetime.datetime(2024, 2, 19, 17, 3, 55, 91639), ended_at=datetime.datetime(2024, 2, 19, 17, 6, 45, 507481), repository='https://dbrepo1.ec.tuwien.ac.at/')\n", + "WARNING:fairnb.api.dbrepo:Re-authenticating due to (almost) expired token\n" + ] + } + ], "source": [ "# ------------- Raw feature generation -------------\n", "nb_config_generate_features = NbConfig(\n", @@ -135,11 +218,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-19T16:11:54.955405703Z", + "start_time": "2024-02-19T16:11:41.607950720Z" + } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Input Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/3_aggregate_features.ipynb\n", + "INFO:papermill:Output Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/3_aggregate_features.ipynb\n" + ] + }, + { + "data": { + "text/plain": "Executing: 0%| | 0/7 [00:00<?, ?cell/s]", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "3ae69aa89c0d4cc29fab169390a6e5ba" + } + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Executing notebook with kernel: python3\n", + "INFO:fairnb.entity.entity:Uploaded provenance information for aggregated_features with id 3: EntityProvenance(id=3, pi='https://dbrepo1.ec.tuwien.ac.at/database/23/table/118', name='aggregated_features', description='Aggregated features of audio files.', type='aggregated_features', commit='390af83f635fc4292f18499fa679c12e3c59dab6', branch='master', repo_uri='https://gitlab.tuwien.ac.at/martin.weise/fairnb.git', executed_file='notebooks/3_aggregate_features.ipynb', main_file='notebooks/main.ipynb', started_at=datetime.datetime(2024, 2, 19, 17, 11, 42, 323936), ended_at=datetime.datetime(2024, 2, 19, 17, 11, 51, 941246), repository='https://dbrepo1.ec.tuwien.ac.at/')\n" + ] + } + ], "source": [ "# ------------- Feature Aggregation ----------------\n", "if \"raw_features_entity\" not in globals(): # load saved entity if not already in memory\n", @@ -184,11 +300,44 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-19T16:12:07.018302233Z", + "start_time": "2024-02-19T16:12:03.336699399Z" + } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Input Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/4_split.ipynb\n", + "INFO:papermill:Output Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/4_split.ipynb\n" + ] + }, + { + "data": { + "text/plain": "Executing: 0%| | 0/8 [00:00<?, ?cell/s]", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "1b9a05dc7a1e4c2da773c8e9edd0f947" + } + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Executing notebook with kernel: python3\n", + "INFO:fairnb.entity.entity:Uploaded provenance information for test/train split with id 4: EntityProvenance(id=4, pi='https://dbrepo1.ec.tuwien.ac.at/database/23/table/119', name='test/train split', description='Split of aggregated data into testing and training subsets using 11908553 as seed.', type='split', commit='390af83f635fc4292f18499fa679c12e3c59dab6', branch='master', repo_uri='https://gitlab.tuwien.ac.at/martin.weise/fairnb.git', executed_file='notebooks/4_split.ipynb', main_file='notebooks/main.ipynb', started_at=datetime.datetime(2024, 2, 19, 17, 12, 3, 375235), ended_at=datetime.datetime(2024, 2, 19, 17, 12, 4, 913744), repository='https://dbrepo1.ec.tuwien.ac.at/')\n" + ] + } + ], "source": [ "# Load features from disk if not already in memory\n", "if \"features_entity\" not in globals():\n", @@ -235,11 +384,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": { - "collapsed": false + "collapsed": false, + "ExecuteTime": { + "end_time": "2024-02-19T16:16:12.965854451Z", + "start_time": "2024-02-19T16:16:02.259217372Z" + } }, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Input Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/5_ml_model.ipynb\n", + "INFO:papermill:Output Notebook: /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/notebooks/5_ml_model.ipynb\n" + ] + }, + { + "data": { + "text/plain": "Executing: 0%| | 0/22 [00:00<?, ?cell/s]", + "application/vnd.jupyter.widget-view+json": { + "version_major": 2, + "version_minor": 0, + "model_id": "aeaa44cc65334beb984cc182a0693760" + } + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:papermill:Executing notebook with kernel: python3\n", + "INFO:fairnb.api.invenio:Picked up 1 files\n", + "INFO:fairnb.api.invenio:Uploading 1 to https://researchdata.tuwien.ac.at\n", + "INFO:fairnb.api.invenio:Uploading /home/lukas/Programming/uni/bachelorarbeit/dbrepo-ismir/tmp/5_ml_model/output/ml_model.pickle as ml_model.pickle\n", + "INFO:fairnb.api.invenio:Finished upload of ml_model.pickle\n", + "INFO:fairnb.entity.entity:Uploaded provenance information for ml_model with id 5: EntityProvenance(id=5, pi='https://researchdata.tuwien.ac.at/records/ykabw-2p667', name='ml_model', description='An ml model representing the trained clf', type='clf', commit='390af83f635fc4292f18499fa679c12e3c59dab6', branch='master', repo_uri='https://gitlab.tuwien.ac.at/martin.weise/fairnb.git', executed_file='notebooks/5_ml_model.ipynb', main_file='notebooks/main.ipynb', started_at=datetime.datetime(2024, 2, 19, 17, 16, 2, 321031), ended_at=datetime.datetime(2024, 2, 19, 17, 16, 9, 89334), repository='https://doi.org/10.17616/R31NJMYD')\n", + "INFO:fairnb.entity.entity:Uploaded provenance information for prediction_results with id 6: EntityProvenance(id=6, pi='https://dbrepo1.ec.tuwien.ac.at/database/23/table/120', name='prediction_results', description='Result of predictions for ml model', type='prediction_result', commit='390af83f635fc4292f18499fa679c12e3c59dab6', branch='master', repo_uri='https://gitlab.tuwien.ac.at/martin.weise/fairnb.git', executed_file='notebooks/5_ml_model.ipynb', main_file='notebooks/main.ipynb', started_at=datetime.datetime(2024, 2, 19, 17, 16, 2, 321031), ended_at=datetime.datetime(2024, 2, 19, 17, 16, 9, 89334), repository='https://dbrepo1.ec.tuwien.ac.at/')\n" + ] + } + ], "source": [ "# -------------- ML ------------------------------\n", "with open(RESOURCE_PATH / \"5_ml_model\" / \"ml_model_entity_metadata.yml\", \"r\") as file:\n", diff --git a/resource/5_ml_model/ml_model_entity_metadata.yml b/resource/5_ml_model/ml_model_entity_metadata.yml index cb8fef0d7d112a8ba869e0abb763232e58314aa0..603ebc027b6544ac1cc87c2bf67ed5fc7e98b457 100644 --- a/resource/5_ml_model/ml_model_entity_metadata.yml +++ b/resource/5_ml_model/ml_model_entity_metadata.yml @@ -26,8 +26,6 @@ metadata: resource_type: id: software scheme: url - resource_type: - id: software - identifier: https://dbrepo1.ec.tuwien.ac.at/pid/34 relation_type: id: issupplementto @@ -39,4 +37,6 @@ metadata: rights: - id: mit title: SVM model for genre classification + resource_type: + id: software