{"nbformat": 4, "cells": [{"cell_type": "markdown", "metadata": {}, "source": ["This kernel explores the training set and the membership table."]}, {"cell_type": "code", "outputs": [], "metadata": {"_uuid": "db580126819f936185b71f8d324973c04df458ff", "_cell_guid": "6f1bb9c8-a86a-4e71-be4a-08c114c1d986"}, "execution_count": null, "source": ["import pandas as pd \n", "import numpy as np\n", "train = pd.read_csv('../input/train.csv')\n", "members = pd.read_csv('../input/members.csv')\n", "\n", "print(train.shape)\n", "print(members.shape)"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["import functools\n", "dfs = [train,members]\n", "trainBIG = functools.reduce(lambda left,right: pd.merge(left,right,on='msno', how='inner'), dfs)\n", "trainBIG.head()"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["churn = pd.crosstab(trainBIG['gender'],trainBIG['is_churn'])\n", "print(churn)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["# Gender"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["churn_rate = churn.div(churn.sum(1).astype(float),\n", "                             axis=0) # normalize the value\n", "\n", "churn_rate.plot(kind='barh', stacked=True)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["# Registration Source"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["churn2 = pd.crosstab(trainBIG['registered_via'],trainBIG['is_churn'])\n", "print(churn2)"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["churn_rate2 = churn2.div(churn2.sum(1).astype(float),\n", "                             axis=0) # normalize the value\n", "\n", "churn_rate2.plot(kind='barh', stacked=True)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["# City"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["churn3 = pd.crosstab(trainBIG['city'],trainBIG['is_churn'])\n", "print(churn3)"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["churn_rate3 = churn3.div(churn3.sum(1).astype(float),\n", "                             axis=0) # normalize the value\n", "\n", "churn_rate3.plot(kind='barh', stacked=True)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["# Age"]}, {"cell_type": "code", "outputs": [], "metadata": {}, "execution_count": null, "source": ["#eliminating extreme outliers\n", "trainBIG = trainBIG[trainBIG['bd'] >= 1]\n", "trainBIG = trainBIG[trainBIG['bd'] <= 100]\n", "\n", "import seaborn as sns\n", "sns.boxplot(x=trainBIG[\"is_churn\"],y=trainBIG[\"bd\"],data=trainBIG)"]}], "metadata": {"kernelspec": {"language": "python", "name": "python3", "display_name": "Python 3"}, "language_info": {"file_extension": ".py", "codemirror_mode": {"name": "ipython", "version": 3}, "pygments_lexer": "ipython3", "version": "3.6.1", "name": "python", "nbconvert_exporter": "python", "mimetype": "text/x-python"}}, "nbformat_minor": 1}