Skip to content

Instantly share code, notes, and snippets.

@lightondust
Created September 22, 2018 07:48
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save lightondust/40adcdd174992c5c0035f8597e58f86c to your computer and use it in GitHub Desktop.
Save lightondust/40adcdd174992c5c0035f8597e58f86c to your computer and use it in GitHub Desktop.
src/kaggle/Untitled.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import pandas as pd\nfrom pandas.io.json import json_normalize\nimport os\nimport numpy as np\nimport matplotlib.pyplot as plt",
"execution_count": 105,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "base_pathにデータフォルダを入れる"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# base_path = '../input'\nbase_path = '/Users/choumori/project/play_network/data/google/'",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train = pd.read_csv(base_path + 'train.csv')",
"execution_count": 3,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": "/Users/choumori/project/env/ml/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2785: DtypeWarning: Columns (3) have mixed types. Specify dtype option on import or set low_memory=False.\n interactivity=interactivity, compiler=compiler, result=result)\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train.head()",
"execution_count": 4,
"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>channelGrouping</th>\n <th>date</th>\n <th>device</th>\n <th>fullVisitorId</th>\n <th>geoNetwork</th>\n <th>sessionId</th>\n <th>socialEngagementType</th>\n <th>totals</th>\n <th>trafficSource</th>\n <th>visitId</th>\n <th>visitNumber</th>\n <th>visitStartTime</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>{\"browser\": \"Chrome\", \"browserVersion\": \"not a...</td>\n <td>1131660440785968503</td>\n <td>{\"continent\": \"Asia\", \"subContinent\": \"Western...</td>\n <td>1131660440785968503_1472830385</td>\n <td>Not Socially Engaged</td>\n <td>{\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",...</td>\n <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n <td>1472830385</td>\n <td>1</td>\n <td>1472830385</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>{\"browser\": \"Firefox\", \"browserVersion\": \"not ...</td>\n <td>377306020877927890</td>\n <td>{\"continent\": \"Oceania\", \"subContinent\": \"Aust...</td>\n <td>377306020877927890_1472880147</td>\n <td>Not Socially Engaged</td>\n <td>{\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",...</td>\n <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n <td>1472880147</td>\n <td>1</td>\n <td>1472880147</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>{\"browser\": \"Chrome\", \"browserVersion\": \"not a...</td>\n <td>3895546263509774583</td>\n <td>{\"continent\": \"Europe\", \"subContinent\": \"South...</td>\n <td>3895546263509774583_1472865386</td>\n <td>Not Socially Engaged</td>\n <td>{\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",...</td>\n <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n <td>1472865386</td>\n <td>1</td>\n <td>1472865386</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>{\"browser\": \"UC Browser\", \"browserVersion\": \"n...</td>\n <td>4763447161404445595</td>\n <td>{\"continent\": \"Asia\", \"subContinent\": \"Southea...</td>\n <td>4763447161404445595_1472881213</td>\n <td>Not Socially Engaged</td>\n <td>{\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",...</td>\n <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n <td>1472881213</td>\n <td>1</td>\n <td>1472881213</td>\n </tr>\n <tr>\n <th>4</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>{\"browser\": \"Chrome\", \"browserVersion\": \"not a...</td>\n <td>27294437909732085</td>\n <td>{\"continent\": \"Europe\", \"subContinent\": \"North...</td>\n <td>27294437909732085_1472822600</td>\n <td>Not Socially Engaged</td>\n <td>{\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",...</td>\n <td>{\"campaign\": \"(not set)\", \"source\": \"google\", ...</td>\n <td>1472822600</td>\n <td>2</td>\n <td>1472822600</td>\n </tr>\n </tbody>\n</table>\n</div>",
"text/plain": " channelGrouping date \\\n0 Organic Search 20160902 \n1 Organic Search 20160902 \n2 Organic Search 20160902 \n3 Organic Search 20160902 \n4 Organic Search 20160902 \n\n device fullVisitorId \\\n0 {\"browser\": \"Chrome\", \"browserVersion\": \"not a... 1131660440785968503 \n1 {\"browser\": \"Firefox\", \"browserVersion\": \"not ... 377306020877927890 \n2 {\"browser\": \"Chrome\", \"browserVersion\": \"not a... 3895546263509774583 \n3 {\"browser\": \"UC Browser\", \"browserVersion\": \"n... 4763447161404445595 \n4 {\"browser\": \"Chrome\", \"browserVersion\": \"not a... 27294437909732085 \n\n geoNetwork \\\n0 {\"continent\": \"Asia\", \"subContinent\": \"Western... \n1 {\"continent\": \"Oceania\", \"subContinent\": \"Aust... \n2 {\"continent\": \"Europe\", \"subContinent\": \"South... \n3 {\"continent\": \"Asia\", \"subContinent\": \"Southea... \n4 {\"continent\": \"Europe\", \"subContinent\": \"North... \n\n sessionId socialEngagementType \\\n0 1131660440785968503_1472830385 Not Socially Engaged \n1 377306020877927890_1472880147 Not Socially Engaged \n2 3895546263509774583_1472865386 Not Socially Engaged \n3 4763447161404445595_1472881213 Not Socially Engaged \n4 27294437909732085_1472822600 Not Socially Engaged \n\n totals \\\n0 {\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",... \n1 {\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",... \n2 {\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",... \n3 {\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",... \n4 {\"visits\": \"1\", \"hits\": \"1\", \"pageviews\": \"1\",... \n\n trafficSource visitId visitNumber \\\n0 {\"campaign\": \"(not set)\", \"source\": \"google\", ... 1472830385 1 \n1 {\"campaign\": \"(not set)\", \"source\": \"google\", ... 1472880147 1 \n2 {\"campaign\": \"(not set)\", \"source\": \"google\", ... 1472865386 1 \n3 {\"campaign\": \"(not set)\", \"source\": \"google\", ... 1472881213 1 \n4 {\"campaign\": \"(not set)\", \"source\": \"google\", ... 1472822600 2 \n\n visitStartTime \n0 1472830385 \n1 1472880147 \n2 1472865386 \n3 1472881213 \n4 1472822600 "
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# Jsonの処理"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## Totals 行を調べる"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_total = train['totals']",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import json",
"execution_count": 6,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "適当に値を見てみる"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "json.loads(train_total[0])",
"execution_count": 9,
"outputs": [
{
"data": {
"text/plain": "{'visits': '1',\n 'hits': '1',\n 'pageviews': '1',\n 'bounces': '1',\n 'newVisits': '1'}"
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "total行に入っているjsonのkeyを洗い出して、'transactionRevenue'が入っているrecordの数をcountしてみる"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "keys = set()\ncount = 0\n\nfor data in train_total:\n data_parsed = json.loads(data)\n [keys.add(key) for key in data_parsed.keys()]\n if 'transactionRevenue' in data_parsed.keys():\n count += 1",
"execution_count": 11,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "count, keys",
"execution_count": 20,
"outputs": [
{
"data": {
"text/plain": "(11515,\n {'bounces', 'hits', 'newVisits', 'pageviews', 'transactionRevenue', 'visits'})"
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "## jsonを分解してcolumnに変換"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "参考:\nhttps://www.kaggle.com/sudalairajkumar/simple-exploration-baseline-ga-customer-revenue"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train.shape, train.columns",
"execution_count": 19,
"outputs": [
{
"data": {
"text/plain": "((903653, 12),\n Index(['channelGrouping', 'date', 'device', 'fullVisitorId', 'geoNetwork',\n 'sessionId', 'socialEngagementType', 'totals', 'trafficSource',\n 'visitId', 'visitNumber', 'visitStartTime'],\n dtype='object'))"
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "def load_df(csv_path=base_path+'train.csv', nrows=None):\n JSON_COLUMNS = ['device', 'geoNetwork', 'totals', 'trafficSource']\n \n df = pd.read_csv(csv_path, \n converters={column: json.loads for column in JSON_COLUMNS}, \n dtype={'fullVisitorId': 'str'}, # Important!!\n nrows=nrows)\n \n for column in JSON_COLUMNS:\n column_as_df = json_normalize(df[column])\n column_as_df.columns = [f\"{column}.{subcolumn}\" for subcolumn in column_as_df.columns]\n df = df.drop(column, axis=1).merge(column_as_df, right_index=True, left_index=True)\n print(f\"Loaded {os.path.basename(csv_path)}. Shape: {df.shape}\")\n return df",
"execution_count": 15,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%%time\ntrain_df = load_df()\ntest_df = load_df(base_path+'test.csv')",
"execution_count": 16,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": "Loaded train.csv. Shape: (903653, 55)\nLoaded test.csv. Shape: (804684, 53)\nCPU times: user 4min 33s, sys: 16.3 s, total: 4min 49s\nWall time: 5min 5s\n"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df.shape",
"execution_count": 17,
"outputs": [
{
"data": {
"text/plain": "(903653, 55)"
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df.columns",
"execution_count": 66,
"outputs": [
{
"data": {
"text/plain": "Index(['channelGrouping', 'date', 'fullVisitorId', 'sessionId',\n 'socialEngagementType', 'visitId', 'visitNumber', 'visitStartTime',\n 'device.browser', 'device.browserSize', 'device.browserVersion',\n 'device.deviceCategory', 'device.flashVersion', 'device.isMobile',\n 'device.language', 'device.mobileDeviceBranding',\n 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName',\n 'device.mobileDeviceModel', 'device.mobileInputSelector',\n 'device.operatingSystem', 'device.operatingSystemVersion',\n 'device.screenColors', 'device.screenResolution', 'geoNetwork.city',\n 'geoNetwork.cityId', 'geoNetwork.continent', 'geoNetwork.country',\n 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.metro',\n 'geoNetwork.networkDomain', 'geoNetwork.networkLocation',\n 'geoNetwork.region', 'geoNetwork.subContinent', 'totals.bounces',\n 'totals.hits', 'totals.newVisits', 'totals.pageviews',\n 'totals.transactionRevenue', 'totals.visits', 'trafficSource.adContent',\n 'trafficSource.adwordsClickInfo.adNetworkType',\n 'trafficSource.adwordsClickInfo.criteriaParameters',\n 'trafficSource.adwordsClickInfo.gclId',\n 'trafficSource.adwordsClickInfo.isVideoAd',\n 'trafficSource.adwordsClickInfo.page',\n 'trafficSource.adwordsClickInfo.slot', 'trafficSource.campaign',\n 'trafficSource.campaignCode', 'trafficSource.isTrueDirect',\n 'trafficSource.keyword', 'trafficSource.medium',\n 'trafficSource.referralPath', 'trafficSource.source'],\n dtype='object')"
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df[0:4]",
"execution_count": 67,
"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>channelGrouping</th>\n <th>date</th>\n <th>fullVisitorId</th>\n <th>sessionId</th>\n <th>socialEngagementType</th>\n <th>visitId</th>\n <th>visitNumber</th>\n <th>visitStartTime</th>\n <th>device.browser</th>\n <th>device.browserSize</th>\n <th>...</th>\n <th>trafficSource.adwordsClickInfo.isVideoAd</th>\n <th>trafficSource.adwordsClickInfo.page</th>\n <th>trafficSource.adwordsClickInfo.slot</th>\n <th>trafficSource.campaign</th>\n <th>trafficSource.campaignCode</th>\n <th>trafficSource.isTrueDirect</th>\n <th>trafficSource.keyword</th>\n <th>trafficSource.medium</th>\n <th>trafficSource.referralPath</th>\n <th>trafficSource.source</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>1131660440785968503</td>\n <td>1131660440785968503_1472830385</td>\n <td>Not Socially Engaged</td>\n <td>1472830385</td>\n <td>1</td>\n <td>1472830385</td>\n <td>Chrome</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not provided)</td>\n <td>organic</td>\n <td>NaN</td>\n <td>google</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>377306020877927890</td>\n <td>377306020877927890_1472880147</td>\n <td>Not Socially Engaged</td>\n <td>1472880147</td>\n <td>1</td>\n <td>1472880147</td>\n <td>Firefox</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not provided)</td>\n <td>organic</td>\n <td>NaN</td>\n <td>google</td>\n </tr>\n <tr>\n <th>2</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>3895546263509774583</td>\n <td>3895546263509774583_1472865386</td>\n <td>Not Socially Engaged</td>\n <td>1472865386</td>\n <td>1</td>\n <td>1472865386</td>\n <td>Chrome</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not provided)</td>\n <td>organic</td>\n <td>NaN</td>\n <td>google</td>\n </tr>\n <tr>\n <th>3</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>4763447161404445595</td>\n <td>4763447161404445595_1472881213</td>\n <td>Not Socially Engaged</td>\n <td>1472881213</td>\n <td>1</td>\n <td>1472881213</td>\n <td>UC Browser</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>google + online</td>\n <td>organic</td>\n <td>NaN</td>\n <td>google</td>\n </tr>\n </tbody>\n</table>\n<p>4 rows × 55 columns</p>\n</div>",
"text/plain": " channelGrouping date fullVisitorId \\\n0 Organic Search 20160902 1131660440785968503 \n1 Organic Search 20160902 377306020877927890 \n2 Organic Search 20160902 3895546263509774583 \n3 Organic Search 20160902 4763447161404445595 \n\n sessionId socialEngagementType visitId \\\n0 1131660440785968503_1472830385 Not Socially Engaged 1472830385 \n1 377306020877927890_1472880147 Not Socially Engaged 1472880147 \n2 3895546263509774583_1472865386 Not Socially Engaged 1472865386 \n3 4763447161404445595_1472881213 Not Socially Engaged 1472881213 \n\n visitNumber visitStartTime device.browser device.browserSize \\\n0 1 1472830385 Chrome not available in demo dataset \n1 1 1472880147 Firefox not available in demo dataset \n2 1 1472865386 Chrome not available in demo dataset \n3 1 1472881213 UC Browser not available in demo dataset \n\n ... trafficSource.adwordsClickInfo.isVideoAd \\\n0 ... NaN \n1 ... NaN \n2 ... NaN \n3 ... NaN \n\n trafficSource.adwordsClickInfo.page trafficSource.adwordsClickInfo.slot \\\n0 NaN NaN \n1 NaN NaN \n2 NaN NaN \n3 NaN NaN \n\n trafficSource.campaign trafficSource.campaignCode \\\n0 (not set) NaN \n1 (not set) NaN \n2 (not set) NaN \n3 (not set) NaN \n\n trafficSource.isTrueDirect trafficSource.keyword trafficSource.medium \\\n0 NaN (not provided) organic \n1 NaN (not provided) organic \n2 NaN (not provided) organic \n3 NaN google + online organic \n\n trafficSource.referralPath trafficSource.source \n0 NaN google \n1 NaN google \n2 NaN google \n3 NaN google \n\n[4 rows x 55 columns]"
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df[train_df['totals.transactionRevenue'].notnull()].shape",
"execution_count": 21,
"outputs": [
{
"data": {
"text/plain": "(11515, 55)"
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df[train_df['totals.transactionRevenue'].notnull()].head()",
"execution_count": 22,
"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>channelGrouping</th>\n <th>date</th>\n <th>fullVisitorId</th>\n <th>sessionId</th>\n <th>socialEngagementType</th>\n <th>visitId</th>\n <th>visitNumber</th>\n <th>visitStartTime</th>\n <th>device.browser</th>\n <th>device.browserSize</th>\n <th>...</th>\n <th>trafficSource.adwordsClickInfo.isVideoAd</th>\n <th>trafficSource.adwordsClickInfo.page</th>\n <th>trafficSource.adwordsClickInfo.slot</th>\n <th>trafficSource.campaign</th>\n <th>trafficSource.campaignCode</th>\n <th>trafficSource.isTrueDirect</th>\n <th>trafficSource.keyword</th>\n <th>trafficSource.medium</th>\n <th>trafficSource.referralPath</th>\n <th>trafficSource.source</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>752</th>\n <td>Direct</td>\n <td>20160902</td>\n <td>6194193421514403509</td>\n <td>6194193421514403509_1472843572</td>\n <td>Not Socially Engaged</td>\n <td>1472843572</td>\n <td>1</td>\n <td>1472843572</td>\n <td>Chrome</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>True</td>\n <td>NaN</td>\n <td>(none)</td>\n <td>NaN</td>\n <td>(direct)</td>\n </tr>\n <tr>\n <th>753</th>\n <td>Organic Search</td>\n <td>20160902</td>\n <td>5327166854580374902</td>\n <td>5327166854580374902_1472844906</td>\n <td>Not Socially Engaged</td>\n <td>1472844906</td>\n <td>3</td>\n <td>1472844906</td>\n <td>Chrome</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>True</td>\n <td>(not provided)</td>\n <td>organic</td>\n <td>NaN</td>\n <td>google</td>\n </tr>\n <tr>\n <th>799</th>\n <td>Referral</td>\n <td>20160902</td>\n <td>8885051388942907862</td>\n <td>8885051388942907862_1472827393</td>\n <td>Not Socially Engaged</td>\n <td>1472827393</td>\n <td>7</td>\n <td>1472827393</td>\n <td>Chrome</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>True</td>\n <td>NaN</td>\n <td>referral</td>\n <td>/</td>\n <td>mall.googleplex.com</td>\n </tr>\n <tr>\n <th>802</th>\n <td>Referral</td>\n <td>20160902</td>\n <td>0185467632009737931</td>\n <td>0185467632009737931_1472846398</td>\n <td>Not Socially Engaged</td>\n <td>1472846398</td>\n <td>6</td>\n <td>1472846398</td>\n <td>Chrome</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>True</td>\n <td>NaN</td>\n <td>referral</td>\n <td>/</td>\n <td>mall.googleplex.com</td>\n </tr>\n <tr>\n <th>859</th>\n <td>Referral</td>\n <td>20160902</td>\n <td>3244885836845029978</td>\n <td>3244885836845029978_1472824817</td>\n <td>Not Socially Engaged</td>\n <td>1472824817</td>\n <td>4</td>\n <td>1472824817</td>\n <td>Chrome</td>\n <td>not available in demo dataset</td>\n <td>...</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>NaN</td>\n <td>(not set)</td>\n <td>NaN</td>\n <td>True</td>\n <td>NaN</td>\n <td>referral</td>\n <td>/</td>\n <td>mall.googleplex.com</td>\n </tr>\n </tbody>\n</table>\n<p>5 rows × 55 columns</p>\n</div>",
"text/plain": " channelGrouping date fullVisitorId \\\n752 Direct 20160902 6194193421514403509 \n753 Organic Search 20160902 5327166854580374902 \n799 Referral 20160902 8885051388942907862 \n802 Referral 20160902 0185467632009737931 \n859 Referral 20160902 3244885836845029978 \n\n sessionId socialEngagementType visitId \\\n752 6194193421514403509_1472843572 Not Socially Engaged 1472843572 \n753 5327166854580374902_1472844906 Not Socially Engaged 1472844906 \n799 8885051388942907862_1472827393 Not Socially Engaged 1472827393 \n802 0185467632009737931_1472846398 Not Socially Engaged 1472846398 \n859 3244885836845029978_1472824817 Not Socially Engaged 1472824817 \n\n visitNumber visitStartTime device.browser \\\n752 1 1472843572 Chrome \n753 3 1472844906 Chrome \n799 7 1472827393 Chrome \n802 6 1472846398 Chrome \n859 4 1472824817 Chrome \n\n device.browserSize ... \\\n752 not available in demo dataset ... \n753 not available in demo dataset ... \n799 not available in demo dataset ... \n802 not available in demo dataset ... \n859 not available in demo dataset ... \n\n trafficSource.adwordsClickInfo.isVideoAd \\\n752 NaN \n753 NaN \n799 NaN \n802 NaN \n859 NaN \n\n trafficSource.adwordsClickInfo.page trafficSource.adwordsClickInfo.slot \\\n752 NaN NaN \n753 NaN NaN \n799 NaN NaN \n802 NaN NaN \n859 NaN NaN \n\n trafficSource.campaign trafficSource.campaignCode \\\n752 (not set) NaN \n753 (not set) NaN \n799 (not set) NaN \n802 (not set) NaN \n859 (not set) NaN \n\n trafficSource.isTrueDirect trafficSource.keyword trafficSource.medium \\\n752 True NaN (none) \n753 True (not provided) organic \n799 True NaN referral \n802 True NaN referral \n859 True NaN referral \n\n trafficSource.referralPath trafficSource.source \n752 NaN (direct) \n753 NaN google \n799 / mall.googleplex.com \n802 / mall.googleplex.com \n859 / mall.googleplex.com \n\n[5 rows x 55 columns]"
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "# dataを眺める"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "https://www.kaggle.com/ogakulov/feature-engineering-step-by-step"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train.columns",
"execution_count": 23,
"outputs": [
{
"data": {
"text/plain": "Index(['channelGrouping', 'date', 'device', 'fullVisitorId', 'geoNetwork',\n 'sessionId', 'socialEngagementType', 'totals', 'trafficSource',\n 'visitId', 'visitNumber', 'visitStartTime'],\n dtype='object')"
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df.columns",
"execution_count": 24,
"outputs": [
{
"data": {
"text/plain": "Index(['channelGrouping', 'date', 'fullVisitorId', 'sessionId',\n 'socialEngagementType', 'visitId', 'visitNumber', 'visitStartTime',\n 'device.browser', 'device.browserSize', 'device.browserVersion',\n 'device.deviceCategory', 'device.flashVersion', 'device.isMobile',\n 'device.language', 'device.mobileDeviceBranding',\n 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName',\n 'device.mobileDeviceModel', 'device.mobileInputSelector',\n 'device.operatingSystem', 'device.operatingSystemVersion',\n 'device.screenColors', 'device.screenResolution', 'geoNetwork.city',\n 'geoNetwork.cityId', 'geoNetwork.continent', 'geoNetwork.country',\n 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.metro',\n 'geoNetwork.networkDomain', 'geoNetwork.networkLocation',\n 'geoNetwork.region', 'geoNetwork.subContinent', 'totals.bounces',\n 'totals.hits', 'totals.newVisits', 'totals.pageviews',\n 'totals.transactionRevenue', 'totals.visits', 'trafficSource.adContent',\n 'trafficSource.adwordsClickInfo.adNetworkType',\n 'trafficSource.adwordsClickInfo.criteriaParameters',\n 'trafficSource.adwordsClickInfo.gclId',\n 'trafficSource.adwordsClickInfo.isVideoAd',\n 'trafficSource.adwordsClickInfo.page',\n 'trafficSource.adwordsClickInfo.slot', 'trafficSource.campaign',\n 'trafficSource.campaignCode', 'trafficSource.isTrueDirect',\n 'trafficSource.keyword', 'trafficSource.medium',\n 'trafficSource.referralPath', 'trafficSource.source'],\n dtype='object')"
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df.columns[train_df.columns.str.contains('.')]",
"execution_count": 28,
"outputs": [
{
"data": {
"text/plain": "Index(['channelGrouping', 'date', 'fullVisitorId', 'sessionId',\n 'socialEngagementType', 'visitId', 'visitNumber', 'visitStartTime',\n 'device.browser', 'device.browserSize', 'device.browserVersion',\n 'device.deviceCategory', 'device.flashVersion', 'device.isMobile',\n 'device.language', 'device.mobileDeviceBranding',\n 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName',\n 'device.mobileDeviceModel', 'device.mobileInputSelector',\n 'device.operatingSystem', 'device.operatingSystemVersion',\n 'device.screenColors', 'device.screenResolution', 'geoNetwork.city',\n 'geoNetwork.cityId', 'geoNetwork.continent', 'geoNetwork.country',\n 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.metro',\n 'geoNetwork.networkDomain', 'geoNetwork.networkLocation',\n 'geoNetwork.region', 'geoNetwork.subContinent', 'totals.bounces',\n 'totals.hits', 'totals.newVisits', 'totals.pageviews',\n 'totals.transactionRevenue', 'totals.visits', 'trafficSource.adContent',\n 'trafficSource.adwordsClickInfo.adNetworkType',\n 'trafficSource.adwordsClickInfo.criteriaParameters',\n 'trafficSource.adwordsClickInfo.gclId',\n 'trafficSource.adwordsClickInfo.isVideoAd',\n 'trafficSource.adwordsClickInfo.page',\n 'trafficSource.adwordsClickInfo.slot', 'trafficSource.campaign',\n 'trafficSource.campaignCode', 'trafficSource.isTrueDirect',\n 'trafficSource.keyword', 'trafficSource.medium',\n 'trafficSource.referralPath', 'trafficSource.source'],\n dtype='object')"
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### channelGrouping"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df.channelGrouping.value_counts()",
"execution_count": 25,
"outputs": [
{
"data": {
"text/plain": "Organic Search 381561\nSocial 226117\nDirect 143026\nReferral 104838\nPaid Search 25326\nAffiliates 16403\nDisplay 6262\n(Other) 120\nName: channelGrouping, dtype: int64"
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"heading_collapsed": true
},
"cell_type": "markdown",
"source": "### date"
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "train_df.date.min(), train_df.date.max()",
"execution_count": 36,
"outputs": [
{
"data": {
"text/plain": "(20160801, 20170801)"
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"collapsed": true,
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "train_df.date.value_counts()",
"execution_count": 42,
"outputs": [
{
"data": {
"text/plain": "20161128 4807\n20161115 4685\n20161114 4466\n20161130 4435\n20161026 4375\n20161129 4337\n20161116 4334\n20161004 4322\n20161205 4265\n20170426 4224\n20161201 4200\n20161027 4162\n20161121 4143\n20161117 4074\n20161024 4063\n20161110 4055\n20161103 4014\n20161102 3960\n20161122 3942\n20161108 3899\n20161025 3842\n20161107 3832\n20161031 3827\n20161123 3805\n20161028 3791\n20161005 3770\n20161124 3770\n20161125 3759\n20161020 3755\n20161109 3752\n ... \n20160813 1596\n20170430 1594\n20161001 1589\n20161226 1586\n20170115 1576\n20170429 1566\n20170611 1555\n20170204 1549\n20170423 1548\n20170610 1545\n20170604 1534\n20170114 1526\n20170205 1522\n20170624 1510\n20170416 1507\n20170415 1506\n20170527 1502\n20170528 1463\n20170618 1432\n20170507 1400\n20170603 1399\n20170617 1391\n20161225 1386\n20170506 1383\n20170101 1364\n20170514 1290\n20170513 1251\n20161230 1232\n20161224 1231\n20161231 1211\nName: date, Length: 366, dtype: int64"
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "mx = train_df.date.max()",
"execution_count": 51,
"outputs": []
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "type(mx)",
"execution_count": 53,
"outputs": [
{
"data": {
"text/plain": "numpy.int64"
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "train_df[train_df.date == 20160801].shape",
"execution_count": 56,
"outputs": [
{
"data": {
"text/plain": "(1711, 55)"
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "train_df[train_df.date == 20170801].shape",
"execution_count": 57,
"outputs": [
{
"data": {
"text/plain": "(2556, 55)"
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "train_df.shape[0]/366",
"execution_count": 59,
"outputs": [
{
"data": {
"text/plain": "2468.997267759563"
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"heading_collapsed": true
},
"cell_type": "markdown",
"source": "### fullVisitorId"
},
{
"metadata": {
"hidden": true
},
"cell_type": "markdown",
"source": "ユーザID別のレコード数"
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "counts = train_df.fullVisitorId.value_counts()",
"execution_count": 71,
"outputs": []
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "counts.head()",
"execution_count": 72,
"outputs": [
{
"data": {
"text/plain": "1957458976293878100 278\n0824839726118485274 255\n3608475193341679870 201\n1856749147915772585 199\n3269834865385146569 155\nName: fullVisitorId, dtype: int64"
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true
},
"cell_type": "markdown",
"source": "2回以上アクセスしたユーザ数"
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "np.sum(counts > 1)",
"execution_count": 73,
"outputs": [
{
"data": {
"text/plain": "93492"
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "counts_freq = counts.value_counts()",
"execution_count": 74,
"outputs": []
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "counts_freq.shape, counts_freq.index",
"execution_count": 104,
"outputs": [
{
"data": {
"text/plain": "((94,),\n Int64Index([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n 14, 15, 16, 17, 18, 19, 21, 22, 20, 24, 25, 23, 29,\n 26, 28, 27, 30, 33, 39, 34, 36, 31, 32, 35, 44, 42,\n 37, 65, 57, 45, 38, 50, 40, 51, 48, 46, 53, 70, 43,\n 63, 41, 71, 278, 255, 128, 104, 107, 110, 111, 112, 115, 117,\n 129, 55, 135, 138, 148, 153, 155, 199, 201, 99, 94, 90, 89,\n 58, 59, 60, 61, 62, 67, 68, 69, 72, 74, 75, 76, 81,\n 83, 86, 47],\n dtype='int64'))"
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "%matplotlib inline",
"execution_count": 80,
"outputs": []
},
{
"metadata": {
"hidden": true,
"trusted": true
},
"cell_type": "code",
"source": "plt.figure(figsize=(14,9))\nplt.scatter(counts_freq.index, np.log(counts_freq.values))",
"execution_count": 109,
"outputs": [
{
"data": {
"text/plain": "<matplotlib.collections.PathCollection at 0x2fa878fd0>"
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": "<Figure size 1008x648 with 1 Axes>"
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
]
},
{
"metadata": {
"heading_collapsed": true
},
"cell_type": "markdown",
"source": "### sessionId"
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "counts = train_df.sessionId.value_counts()",
"execution_count": 99,
"outputs": []
},
{
"metadata": {
"trusted": true,
"hidden": true
},
"cell_type": "code",
"source": "counts.value_counts()",
"execution_count": 102,
"outputs": [
{
"data": {
"text/plain": "1 901857\n2 898\nName: sessionId, dtype: int64"
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"hidden": true
},
"cell_type": "markdown",
"source": "このコラムは意味なさそう"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### socialEngagementType"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df['socialEngagementType'].unique()",
"execution_count": 126,
"outputs": [
{
"data": {
"text/plain": "array(['Not Socially Engaged'], dtype=object)"
},
"execution_count": 126,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "すべて同じ値なので落とす"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df.drop(['socialEngagementType'], axis=1, inplace = True)",
"execution_count": 128,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df.columns",
"execution_count": 129,
"outputs": [
{
"data": {
"text/plain": "Index(['channelGrouping', 'date', 'fullVisitorId', 'sessionId', 'visitId',\n 'visitNumber', 'visitStartTime', 'device.browser', 'device.browserSize',\n 'device.browserVersion', 'device.deviceCategory', 'device.flashVersion',\n 'device.isMobile', 'device.language', 'device.mobileDeviceBranding',\n 'device.mobileDeviceInfo', 'device.mobileDeviceMarketingName',\n 'device.mobileDeviceModel', 'device.mobileInputSelector',\n 'device.operatingSystem', 'device.operatingSystemVersion',\n 'device.screenColors', 'device.screenResolution', 'geoNetwork.city',\n 'geoNetwork.cityId', 'geoNetwork.continent', 'geoNetwork.country',\n 'geoNetwork.latitude', 'geoNetwork.longitude', 'geoNetwork.metro',\n 'geoNetwork.networkDomain', 'geoNetwork.networkLocation',\n 'geoNetwork.region', 'geoNetwork.subContinent', 'totals.bounces',\n 'totals.hits', 'totals.newVisits', 'totals.pageviews',\n 'totals.transactionRevenue', 'totals.visits', 'trafficSource.adContent',\n 'trafficSource.adwordsClickInfo.adNetworkType',\n 'trafficSource.adwordsClickInfo.criteriaParameters',\n 'trafficSource.adwordsClickInfo.gclId',\n 'trafficSource.adwordsClickInfo.isVideoAd',\n 'trafficSource.adwordsClickInfo.page',\n 'trafficSource.adwordsClickInfo.slot', 'trafficSource.campaign',\n 'trafficSource.campaignCode', 'trafficSource.isTrueDirect',\n 'trafficSource.keyword', 'trafficSource.medium',\n 'trafficSource.referralPath', 'trafficSource.source'],\n dtype='object')"
},
"execution_count": 129,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### transactionRevenue"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df['totals.transactionRevenue'].count()",
"execution_count": 116,
"outputs": [
{
"data": {
"text/plain": "11515"
},
"execution_count": 116,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "train_df['device.browser'].unique()",
"execution_count": 125,
"outputs": [
{
"data": {
"text/plain": "array(['Chrome', 'Firefox', 'UC Browser', 'Internet Explorer', 'Safari',\n 'Edge', 'Opera Mini', 'Opera', 'BlackBerry', 'Safari (in-app)',\n 'Coc Coc', 'Mozilla Compatible Agent', 'ADM', 'MRCHROME',\n 'Amazon Silk', 'YaBrowser', 'Android Webview', 'Puffin',\n 'Nokia Browser', 'Maxthon', 'Nintendo Browser', 'Android Browser',\n 'Lunascape', 'IE with Chrome Frame', 'ThumbSniper',\n 'LYF_LS_4002_12', 'Mozilla', 'osee2unifiedRelease', 'NokiaE52-1',\n 'Iron', '[Use default User-agent string] LIVRENPOCHE', '(not set)',\n 'LYF_LS_4002_11', 'M5', 'Android Runtime', 'Apple-iPhone7C2',\n 'SeaMonkey', 'Konqueror', 'Seznam', 'Changa 99695759', 'no-ua',\n 'MQQBrowser', 'Nichrome', 'HTC802t_TD', 'DASH_JR_3G', 'DoCoMo',\n 'subjectAgent: NoticiasBoom', 'YE', 'User Agent', '0',\n 'Hisense M20-M_LTE', 'Reddit', 'TCL P500M', 'CSM Click'],\n dtype=object)"
},
"execution_count": 125,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"gist": {
"id": "",
"data": {
"description": "src/kaggle/Untitled.ipynb",
"public": true
}
},
"kernelspec": {
"name": "ml",
"display_name": "ml",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.4",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"toc": {
"nav_menu": {},
"number_sections": true,
"sideBar": false,
"skip_h1_title": false,
"toc_cell": false,
"toc_position": {
"height": "346px",
"left": "1184px",
"right": "20px",
"top": "180px",
"width": "212px"
},
"toc_section_display": "block",
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 2
}
@kyokicchi
Copy link

先生さすがです!
このノートを見せてもらっただけでもすごく勉強になります!
自分でもいろいろColumnの分析とかしてみて何かinsightがあったら報告します!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment