Skip to content

Instantly share code, notes, and snippets.

@dienhoa
Created February 4, 2022 21:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dienhoa/9dd6e224b8d28167d49e571364343a91 to your computer and use it in GitHub Desktop.
Save dienhoa/9dd6e224b8d28167d49e571364343a91 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 5,
"id": "86f0ffb1",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"from fastai.tabular.all import *\n",
"from sklearn.experimental import enable_iterative_imputer # noqa\n",
"from sklearn.impute import IterativeImputer"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "cdfd0115",
"metadata": {},
"outputs": [],
"source": [
"train = pd.read_csv('/home/hoa/Downloads/train.csv')\n",
"test = pd.read_csv('/home/hoa/Downloads/test.csv')\n",
"tt = pd.concat([train, test]).reset_index(drop=True).copy()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "1becd173",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"id 0\n",
"song_duration_ms 4101\n",
"acousticness 3992\n",
"danceability 4026\n",
"energy 3975\n",
"instrumentalness 3985\n",
"key 4065\n",
"liveness 4086\n",
"loudness 3957\n",
"audio_mode 0\n",
"speechiness 0\n",
"tempo 0\n",
"time_signature 0\n",
"audio_valence 0\n",
"song_popularity 0\n",
"dtype: int64"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train.isna().sum()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "7911bb80",
"metadata": {},
"outputs": [],
"source": [
"class FillMissingIter(TabularProc):\n",
" def __init__(self, add_col=True):\n",
" store_attr()\n",
" \n",
" def setups(self, to):\n",
" self.it_imputer = IterativeImputer(max_iter=10)\n",
" self.it_imputer.fit(to.items.drop(to.y_names, axis=1))\n",
" \n",
" def encodes(self, to):\n",
" _input = to.items.drop(to.y_names, axis=1)\n",
" features = _input.columns.values\n",
" \n",
" filled_tab = self.it_imputer.transform(to[features])\n",
" filled_df = pd.DataFrame(filled_tab, columns=features)\n",
" to.items[features] = filled_df"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "34347489",
"metadata": {},
"outputs": [],
"source": [
"cont_names, cat_names = cont_cat_split(train)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "2bae35b1",
"metadata": {},
"outputs": [],
"source": [
"to = TabularPandas(train, procs=[FillMissing], cat_names=cat_names, cont_names=cont_names)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "07734113",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"to.items.song_duration_ms.hist(bins=100).plot();"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "2f97f2dd",
"metadata": {},
"outputs": [],
"source": [
"to2 = TabularPandas(train, procs=[FillMissingIter], cat_names=cat_names, cont_names=cont_names)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "cd162538",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"to2.items.song_duration_ms.hist(bins=100).plot();"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment