{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Module 1. Dataset Cleaning and Analysis\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이 실습에서는 MovieLens 데이터 세트에서 수집된 데이터를 기반으로, 영화 추천 모델을 작성하는 법을 안내합니다.
Module 1 에서는 MovieLens 데이터 세트를 가져와 각 피처들을 확인하고 데이터 클린징 및 분석 작업을 진행합니다.\n", "\n", "## Notebook 사용법\n", "\n", "코드는 여러 코드 셀들로 구성됩니다. 이 페이지의 상단에 삼각형으로 된 실행 단추를 마우스로 클릭하여 각 셀을 실행하고 다음 셀로 이동할 수 있습니다. 또는 셀에서 키보드 단축키 `Shift + Enter`를 눌러 셀을 실행하고 다음 셀로 이동할 수도 있습니다.\n", "\n", "셀이 실행되면 셀이 실행되는 동안 측면에 줄이 * 표시되어 있거나 셀 내의 모든 코드를 예측한 후 실행이 완료된 마지막 셀을 나타내기 위해 숫자로 업데이트됩니다.\n", "\n", "아래 지침을 따르고 셀을 실행하세요.\n", "\n", "## Library Import \n", "\n", "파이썬에는 광범위한 라이브러리 모음이 포함되어 있으며, 본 LAB을 위해서 핵심 Data Scientist용 Tool 인 boto3 (AWS SDK) 및 Pandas/Numpy와 같은 라이브러리를 가져와야 합니다. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import boto3\n", "import json\n", "import numpy as np\n", "import pandas as pd\n", "import time\n", "import jsonlines\n", "import os\n", "\n", "from datetime import datetime\n", "import sagemaker\n", "import time\n", "import warnings\n", "\n", "import matplotlib.pyplot as plt\n", "from matplotlib.dates import DateFormatter\n", "import matplotlib.dates as mdate\n", "from botocore.exceptions import ClientError" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "다음으로 여러분의 환경이 Amazon Personalize와 성공적으로 통신할 수 있는지 확인해야 합니다." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Configure the SDK to Personalize:\n", "personalize = boto3.client('personalize')\n", "personalize_runtime = boto3.client('personalize-runtime')\n", "s3 = boto3.resource('s3')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "## Please fill the information below \n", "#WORK_DATE=\"\"\n", "#BUCKET_NAME = \"\"\n", "#PREFIX=\"\"\n", "\n", "WORK_DATE=\"20201215\"\n", "data_dir = \"poc-data\"\n", "os.makedirs(data_dir+'/'+WORK_DATE,exist_ok=True)\n", "\n", "account_id = \"870180618679\"\n", "BUCKET_NAME = \"jihys-personalize-ap-northeast-2\"\n", "PREFIX=WORK_DATE\n", "\n", "INTERACTION_FILE=\"interation\"\n", "USER_FILE=\"user\"\n", "ITEM_FILE=\"item\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 파일 다운로드" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "이번 HoL에 사용할 데이터 셋의 압축을 풉니다. 해당 데이터 셋은 [Movie Lense 데이터 셋](http://files.grouplens.org/datasets/movielens/ml-1m.zip) 을 변형한 데이터 입니다." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Archive: ml-1m-modified.zip\n", " creating: data_ml_1m/\n", " inflating: data_ml_1m/users.dat \n", " inflating: data_ml_1m/movies.csv \n", " inflating: data_ml_1m/ratings.csv \n", " inflating: data_ml_1m/README \n" ] } ], "source": [ "!unzip -o ml-1m-modified.zip" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 데이터 확인하기" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Personalize 에서는 3종류의 데이터 셋을 인풋으로 사용 합니다.\n", "\n", "1) **User**: 이 데이터 세트는 사용자에 대한 메타데이터를 저장합니다. 여기에는 맞춤화 시스템에서 중요한 신호가 될 수 있는 연령, 성별 및 충성도 멤버십 등의 정보가 포함될 수 있습니다.\n", "\n", "2) **Item:** 이 데이터 세트는 항목에 대한 메타데이터를 저장합니다. 여기에는 가격, SKU 유형 또는 가용성과 같은 정보가 포함될 수 있습니다.\n", "\n", "3) **Interaction:** 이 데이터 세트는 사용자와 항목 간의 상호 작용에서 나온 과거 및 실시간 데이터를 저장합니다. 이 데이터에는 사용자의 위치 또는 디바이스(모바일, 태블릿, 데스크톱 등)와 같은 사용자의 검색 컨텍스트에 대한 노출 데이터와 컨텍스트 메타데이터가 포함될 수 있습니다. Interaction 데이터셋은 모든 알고리즘에서 필수로 제공 해야하는 데이터 입니다. \n", " \n", "이번 실습에 사용할 파일의 컬럼에 대한 정보는 아래 README 파일을 통해 확인합니다." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SUMMARY\r\n", "================================================================================\r\n", "\r\n", "These files contain 1,000,209 anonymous ratings of approximately 3,900 movies \r\n", "made by 6,040 MovieLens users who joined MovieLens in 2000.\r\n", "\r\n", "USAGE LICENSE\r\n", "================================================================================\r\n", "\r\n", "Neither the University of Minnesota nor any of the researchers\r\n", "involved can guarantee the correctness of the data, its suitability\r\n", "for any particular purpose, or the validity of results based on the\r\n", "use of the data set. The data set may be used for any research\r\n", "purposes under the following conditions:\r\n", "\r\n", " * The user may not state or imply any endorsement from the\r\n", " University of Minnesota or the GroupLens Research Group.\r\n", "\r\n", " * The user must acknowledge the use of the data set in\r\n", " publications resulting from the use of the data set\r\n", " (see below for citation information).\r\n", "\r\n", " * The user may not redistribute the data without separate\r\n", " permission.\r\n", "\r\n", " * The user may not use this information for any commercial or\r\n", " revenue-bearing purposes without first obtaining permission\r\n", " from a faculty member of the GroupLens Research Project at the\r\n", " University of Minnesota.\r\n", "\r\n", "If you have any further questions or comments, please contact GroupLens\r\n", ". \r\n", "\r\n", "CITATION\r\n", "================================================================================\r\n", "\r\n", "To acknowledge use of the dataset in publications, please cite the following\r\n", "paper:\r\n", "\r\n", "F. Maxwell Harper and Joseph A. Konstan. 2015. The MovieLens Datasets: History\r\n", "and Context. ACM Transactions on Interactive Intelligent Systems (TiiS) 5, 4,\r\n", "Article 19 (December 2015), 19 pages. DOI=http://dx.doi.org/10.1145/2827872\r\n", "\r\n", "\r\n", "ACKNOWLEDGEMENTS\r\n", "================================================================================\r\n", "\r\n", "Thanks to Shyong Lam and Jon Herlocker for cleaning up and generating the data\r\n", "set.\r\n", "\r\n", "FURTHER INFORMATION ABOUT THE GROUPLENS RESEARCH PROJECT\r\n", "================================================================================\r\n", "\r\n", "The GroupLens Research Project is a research group in the Department of \r\n", "Computer Science and Engineering at the University of Minnesota. Members of \r\n", "the GroupLens Research Project are involved in many research projects related \r\n", "to the fields of information filtering, collaborative filtering, and \r\n", "recommender systems. The project is lead by professors John Riedl and Joseph \r\n", "Konstan. The project began to explore automated collaborative filtering in \r\n", "1992, but is most well known for its world wide trial of an automated \r\n", "collaborative filtering system for Usenet news in 1996. Since then the project \r\n", "has expanded its scope to research overall information filtering solutions, \r\n", "integrating in content-based methods as well as improving current collaborative \r\n", "filtering technology.\r\n", "\r\n", "Further information on the GroupLens Research project, including research \r\n", "publications, can be found at the following web site:\r\n", " \r\n", " http://www.grouplens.org/\r\n", "\r\n", "GroupLens Research currently operates a movie recommender based on \r\n", "collaborative filtering:\r\n", "\r\n", " http://www.movielens.org/\r\n", "\r\n", "RATINGS FILE DESCRIPTION\r\n", "================================================================================\r\n", "\r\n", "All ratings are contained in the file \"ratings.dat\" and are in the\r\n", "following format:\r\n", "\r\n", "UserID::MovieID::Rating::Timestamp\r\n", "\r\n", "- UserIDs range between 1 and 6040 \r\n", "- MovieIDs range between 1 and 3952\r\n", "- Ratings are made on a 5-star scale (whole-star ratings only)\r\n", "- Timestamp is represented in seconds since the epoch as returned by time(2)\r\n", "- Each user has at least 20 ratings\r\n", "\r\n", "USERS FILE DESCRIPTION\r\n", "================================================================================\r\n", "\r\n", "User information is in the file \"users.dat\" and is in the following\r\n", "format:\r\n", "\r\n", "UserID::Gender::Age::Occupation::Zip-code\r\n", "\r\n", "All demographic information is provided voluntarily by the users and is\r\n", "not checked for accuracy. Only users who have provided some demographic\r\n", "information are included in this data set.\r\n", "\r\n", "- Gender is denoted by a \"M\" for male and \"F\" for female\r\n", "- Age is chosen from the following ranges:\r\n", "\r\n", "\t* 1: \"Under 18\"\r\n", "\t* 18: \"18-24\"\r\n", "\t* 25: \"25-34\"\r\n", "\t* 35: \"35-44\"\r\n", "\t* 45: \"45-49\"\r\n", "\t* 50: \"50-55\"\r\n", "\t* 56: \"56+\"\r\n", "\r\n", "- Occupation is chosen from the following choices:\r\n", "\r\n", "\t* 0: \"other\" or not specified\r\n", "\t* 1: \"academic/educator\"\r\n", "\t* 2: \"artist\"\r\n", "\t* 3: \"clerical/admin\"\r\n", "\t* 4: \"college/grad student\"\r\n", "\t* 5: \"customer service\"\r\n", "\t* 6: \"doctor/health care\"\r\n", "\t* 7: \"executive/managerial\"\r\n", "\t* 8: \"farmer\"\r\n", "\t* 9: \"homemaker\"\r\n", "\t* 10: \"K-12 student\"\r\n", "\t* 11: \"lawyer\"\r\n", "\t* 12: \"programmer\"\r\n", "\t* 13: \"retired\"\r\n", "\t* 14: \"sales/marketing\"\r\n", "\t* 15: \"scientist\"\r\n", "\t* 16: \"self-employed\"\r\n", "\t* 17: \"technician/engineer\"\r\n", "\t* 18: \"tradesman/craftsman\"\r\n", "\t* 19: \"unemployed\"\r\n", "\t* 20: \"writer\"\r\n", "\r\n", "MOVIES FILE DESCRIPTION\r\n", "================================================================================\r\n", "\r\n", "Movie information is in the file \"movies.dat\" and is in the following\r\n", "format:\r\n", "\r\n", "MovieID::Title::Genres\r\n", "\r\n", "- Titles are identical to titles provided by the IMDB (including\r\n", "year of release)\r\n", "- Genres are pipe-separated and are selected from the following genres:\r\n", "\r\n", "\t* Action\r\n", "\t* Adventure\r\n", "\t* Animation\r\n", "\t* Children's\r\n", "\t* Comedy\r\n", "\t* Crime\r\n", "\t* Documentary\r\n", "\t* Drama\r\n", "\t* Fantasy\r\n", "\t* Film-Noir\r\n", "\t* Horror\r\n", "\t* Musical\r\n", "\t* Mystery\r\n", "\t* Romance\r\n", "\t* Sci-Fi\r\n", "\t* Thriller\r\n", "\t* War\r\n", "\t* Western\r\n", "\r\n", "- Some MovieIDs do not correspond to a movie due to accidental duplicate\r\n", "entries and/or test entries\r\n", "- Movies are mostly entered by hand, so errors and inconsistencies may exist\r\n" ] } ], "source": [ "!cat data_ml_1m/README" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
USER_IDITEM_IDEVENT_VALUETIMESTAMPEVENT_TYPE
01111884978220319RATING
1115873978219045RATING
21112653978219815RATING
31127121978220669RATING
41111984978218913RATING
\n", "
" ], "text/plain": [ " USER_ID ITEM_ID EVENT_VALUE TIMESTAMP EVENT_TYPE\n", "0 11 1188 4 978220319 RATING\n", "1 11 587 3 978219045 RATING\n", "2 11 1265 3 978219815 RATING\n", "3 11 2712 1 978220669 RATING\n", "4 11 1198 4 978218913 RATING" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df=pd.read_csv('data_ml_1m/ratings.csv')\n", "df.columns=[\"USER_ID\",\"ITEM_ID\",\"EVENT_VALUE\", \"TIMESTAMP\"]\n", "df['EVENT_TYPE']='RATING'\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ITEM_IDTITLEGENRE
01Toy Story (1995)Animation.Children's.Comedy
12Jumanji (1995)Adventure.Children's.Fantasy
23Grumpier Old Men (1995)Comedy.Romance
34Waiting to Exhale (1995)Comedy.Drama
45Father of the Bride Part II (1995)Comedy
\n", "
" ], "text/plain": [ " ITEM_ID TITLE GENRE\n", "0 1 Toy Story (1995) Animation.Children's.Comedy\n", "1 2 Jumanji (1995) Adventure.Children's.Fantasy\n", "2 3 Grumpier Old Men (1995) Comedy.Romance\n", "3 4 Waiting to Exhale (1995) Comedy.Drama\n", "4 5 Father of the Bride Part II (1995) Comedy" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "item=pd.read_csv('data_ml_1m/movies.csv')\n", "item.columns=['ITEM_ID', 'TITLE', 'GENRE']\n", "item.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/ec2-user/anaconda3/envs/python3/lib/python3.6/site-packages/ipykernel/__main__.py:1: ParserWarning: Falling back to the 'python' engine because the 'c' engine does not support regex separators (separators > 1 char and different from '\\s+' are interpreted as regex); you can avoid this warning by specifying engine='python'.\n", " if __name__ == '__main__':\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
USER_IDGENDERAGEOCCUPATIONZIPCODE
01F11048067
12M561670072
23M251555117
34M45702460
45M252055455
\n", "
" ], "text/plain": [ " USER_ID GENDER AGE OCCUPATION ZIPCODE\n", "0 1 F 1 10 48067\n", "1 2 M 56 16 70072\n", "2 3 M 25 15 55117\n", "3 4 M 45 7 02460\n", "4 5 M 25 20 55455" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user=pd.read_csv('data_ml_1m/users.dat',sep='::',encoding='latin1',names=['USER_ID', 'GENDER','AGE', 'OCCUPATION','ZIPCODE'])\n", "user.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 데이터 클린징\n", "\n", "여기에서는 아래와 같은 데이터 클린징 작업을 합니다.\n", " \n", "- Null/Duplicated 데이터 정리\n", "- 인터렉션 데이터중 메타데이터에 없는 데이터 삭제 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### NULL Data 및 Duplicated Data 확인 및 삭제\n", "인터렉션 데이터를 조사해 보면 많은 중복 데이터가 존재합니다. 특히나 Interaction data 로그에서 이러한 패턴을 많이 보입니다. \n", "여기서는 불필요한 중복 데이터를 삭제합니다. 또한 TIMESTAMP와 USER_ID, ITEM_ID와 같이 필수 데이터가 null 인 데이터를 제거하도록 합니다.\n", "\n", "단 Amazon Personalize에서는 Amazon Personalize 솔루션에서 생성할 때 일부 메타데이터에 한 해 \"null\"을 허용된 메타데이터 값으로 정의할 수 있습니다. 예를 들어 interaction data의 EVENT_TYPE, item 혹은 user data의 메타 데이터 값에서는 \"null\"을 허용합니다. \"null\" 을 허용된 값으로 사용하기 위해서는 스키마 정의시 null 을 허용하도록 세팅 하여야 합니다.\n", "~~~\n", "\n", "{\n", " \"type\": \"record\",\n", " \"name\": \"Items\",\n", " \"namespace\": \"com.amazonaws.personalize.schema\",\n", " \"fields\": [\n", " {\n", " \"name\": \"ITEM_ID\",\n", " \"type\": \"string\"\n", " },\n", " {\n", " \"name\": \"GENRES\",\n", " \"type\": [\n", " \"null\",\n", " \"string\"\n", " ],\n", " \"categorical\": true\n", " },\n", " {\n", " \"name\": \"CREATION_TIMESTAMP\",\n", " \"type\": \"long\"\n", " }\n", " ],\n", " \"version\": \"1.0\"\n", "}\n", "~~~\n", "\n", "Amazon Personalize는 솔루션을 생성하면서 누락된 메타데이터가 있는 필드를 자동으로 인식하고 기계 학습 모델을 훈련할 때 적절하게 처리합니다.자세한 내용은 [여기](https://docs.aws.amazon.com/personalize/latest/dg/how-it-works-dataset-schema.html#dataset-requirements) 를 참고해 주세요. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# of rows of Null TimeStamp : 0\n", "# of rows of Null User ID : 0\n", "# of rows of Null Item ID : 0\n" ] } ], "source": [ "#interactin data null 데이터 확인 \n", "print(\"# of rows of Null TimeStamp : {}\".format(df['TIMESTAMP'].isnull().sum()))\n", "print(\"# of rows of Null User ID : {}\".format(df['USER_ID'].isnull().sum()))\n", "print(\"# of rows of Null Item ID : {}\".format(df['ITEM_ID'].isnull().sum()))\n", "# interaction null 데이터 삭제\n", "df=df.dropna(subset=['TIMESTAMP','USER_ID','ITEM_ID'])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "duplicated rows: 40\n" ] } ], "source": [ "#interaction 중복 데이터 확인 \n", "print(\"duplicated rows:\", len(df[df.duplicated(keep=False)]))\n", "#interaction 중복 데이터 제거\n", "df=df.drop_duplicates()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# of rows of Null Item ID : 0\n", "duplicated rows: 0\n" ] } ], "source": [ "#item에서 ITEM_ID가 null 인 행을 제거 \n", "print(\"# of rows of Null Item ID : {}\".format(item['ITEM_ID'].isnull().sum()))\n", "item=item.dropna(subset=['ITEM_ID'])\n", "#item meta 중복 데이터 확인\n", "print(\"duplicated rows:\", len(item[item.duplicated(keep=False)]))\n", "#item meta 중복 데이터 제거\n", "item=item.drop_duplicates()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "# of rows of Null User ID : 0\n", "duplicated rows: 0\n" ] } ], "source": [ "#user에서 USER_ID가 null 인 행을 제거 \n", "print(\"# of rows of Null User ID : {}\".format(df['USER_ID'].isnull().sum()))\n", "user=user.dropna(subset=['USER_ID'])\n", "#user meta 중복 데이터 확인\n", "print(\"duplicated rows:\", len(user[user.duplicated(keep=False)]))\n", "#user meta 중복 데이터 제거\n", "user=user.drop_duplicates()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 인터렉션 데이터중 메타데이터에 없는 데이터 삭제\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Item Metadata 에 없는 인터렉션 삭제하기 \n", "- Item metadata에 없는 아이템 아이디를 제외한 인터렉션 테이블을 추려냅니다.
(이번 샘플 데이터 셋에는 위같은 데이터가 존재하진 않습니다.)
\n", "`unique_item_from_df=df['ITEM_ID'].unique()`
\n", "`unique_item_from_meta=item['ITEM_ID'].unique()`\n", "\n", "- 아래 코드를 실행하여 Item metadata에 없는 인터렉션 정보를 확인합니다.
\n", "`assert(len(df[- df['ITEM_ID'].isin(unique_item_from_meta)])==0)`\n", "- 해당 인터렉션 라인을 삭제 합니다.
\n", "`df= df[df['ITEM_ID'].isin(unique_item_from_meta)] `\n", "\n", "비슷한 방식으로 User metadata에 없는 사용자를 제거 할수도 있습니다.
\n", "* `unique_user_from_df=df['USER_ID'].unique()`
\n", "* `unique_user_from_meta=user['USER_ID'].unique()`
\n", "* `assert(len(df[- df['USER_ID'].isin(unique_user_from_meta)])==0)`
\n", "* `df= df[df['USER_ID'].isin(unique_user_from_meta)] `

" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Unique items from interaction: 3678\n", "Unique items from item metadata: 3883\n" ] } ], "source": [ "unique_item_from_df=df[\"ITEM_ID\"].unique()\n", "unique_item_from_meta=item['ITEM_ID'].unique()\n", "print(\"Unique items from interaction:\",len(unique_item_from_df))\n", "print(\"Unique items from item metadata:\", len(unique_item_from_meta))\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "assert(len(df[- df['ITEM_ID'].isin(unique_item_from_meta)])==0)\n", "#df=df[df['ITEM_ID'].isin(unique_item_from_meta)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multi-Category 데이터 준비 \n", "영화 장르와 같이 여러 장르로 구분할 수 있는 데이터는 '|'로 구분되어 표기되어야 합니다.
\n", "아래 코드는 '.'으로 구분되어 있는 구분자를 '|'로 대체 할 수 있습니다. \n", "자세한 내용은 [여기](https://docs.aws.amazon.com/ko_kr/personalize/latest/dg/data-prep-formatting.html)를 클릭하여 확인합니다.\n", "![image.png](images/image1.png)\n", "\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/ec2-user/anaconda3/envs/python3/lib/python3.6/site-packages/ipykernel/__main__.py:3: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " app.launch_new_instance()\n" ] }, { "data": { "text/html": [ "

\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ITEM_IDTITLEGENRE
01Toy Story (1995)Animation|Children's|Comedy
12Jumanji (1995)Adventure|Children's|Fantasy
23Grumpier Old Men (1995)Comedy|Romance
34Waiting to Exhale (1995)Comedy|Drama
45Father of the Bride Part II (1995)Comedy
\n", "
" ], "text/plain": [ " ITEM_ID TITLE GENRE\n", "0 1 Toy Story (1995) Animation|Children's|Comedy\n", "1 2 Jumanji (1995) Adventure|Children's|Fantasy\n", "2 3 Grumpier Old Men (1995) Comedy|Romance\n", "3 4 Waiting to Exhale (1995) Comedy|Drama\n", "4 5 Father of the Bride Part II (1995) Comedy" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Multi label \n", "for idx,i in enumerate(item[\"GENRE\"]):\n", " item[\"GENRE\"][idx]=i.replace('.', '|') \n", "item.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## INTERACTION DATA 정보 확인\n", "\n", "Personalize에서 학습을 수행하기 위해서는 다음과 [official limits](https://docs.aws.amazon.com/personalize/latest/dg/limits.html)같은 데이터 요구사항을 맞추어야 합니다. \n", "\n", "* 최소 25명 고유 사용자 \n", "* 최소 100개 고유 아이템 \n", "* 사용자 당 2개 이상의 Interaction(예. 구매,평가 등) 기록\n", "\n", "\n", "하지만 일반적으로 다음과 같은 데이터가 준비 되어 있는것이 좋습니다. \n", "\n", "* 최소 50명 고유 사용자 \n", "* 최소 100개 고유 아이템 \n", "* 사용자 당 24 이상의 Interaction(예. 구매,평가 등) 기록" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 사용자 평점 분포하기\n", "\n", "여기에서는 사용자 평점 분포를 확인합니다. \n", "사용자 평점이 1,2 인 경우 사용자가 선호하는 아이템으로 확인하기 어렵기 때문에 여기 핸즈온에서는 3점 이상인 벨류만 사용하도록 합니다." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Print User Rating Value counts\n", "df.EVENT_VALUE.value_counts().plot(kind='bar')\n", "plt.title(\"EVENT_VALUE: USer Ratings count\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "df=df[df['EVENT_VALUE']>=3]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 인터렉션의 사용자 정보 분석 \n", "\n", "User personalization 계열의 추천 알고리즘에서는 학습에 포함할 Percentile을 조정할 수 있는 파라메터(min_user_history_length_percentile, max_user_history_length_percentile)가 있습니다. \n", "너무 인터렉션이 많은 사용자는 데이터에 노이즈를 포함되는 경우가 있기 때문에 제외하는 것이 좋습니다. 또한 너무 인터렉션이 적은 사용자 또한 제대로된 추천 기록을 받기 어렵기 때문에 제외하는것이 좋습니다. Default로는 min max 값은 0과 0.99로 세팅되어 있습니다.\n", "예를 들어 min_user_history_length_percentile to 0.05 및 max_user_history_length_percentile to 0.95 설정에는 기록 길이가 하위 또는 상위 5%에 해당하는 사용자를 제외한 모든 사용자가 포함됩니다." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Unique User from interaction: 6023\n", "Unique Item from interaction: 3590\n", "Unique User from usermeta 6040\n", "Unique Item from itemmeta: 3883\n" ] } ], "source": [ "## checkout the unique number of users and items in the interaction\n", "unique_user_from_df=df['USER_ID'].unique()\n", "unique_item_from_df=df['ITEM_ID'].unique()\n", "print(\"Unique User from interaction:\", len(unique_user_from_df))\n", "print(\"Unique Item from interaction:\",len(unique_item_from_df))\n", "unique_user_from_meta=user[\"USER_ID\"].unique()\n", "unique_item_from_meta=item[\"ITEM_ID\"].unique()\n", "print(\"Unique User from usermeta\", len(unique_user_from_meta))\n", "print(\"Unique Item from itemmeta:\",len(unique_item_from_meta))\n" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INTERACTION_COUNTS
USER_ID
1134
1221
13100
1418
15166
......
6036708
6037189
603818
6039119
6040253
\n", "

6023 rows × 1 columns

\n", "
" ], "text/plain": [ " INTERACTION_COUNTS\n", "USER_ID \n", "11 34\n", "12 21\n", "13 100\n", "14 18\n", "15 166\n", "... ...\n", "6036 708\n", "6037 189\n", "6038 18\n", "6039 119\n", "6040 253\n", "\n", "[6023 rows x 1 columns]" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user_activity_counts = df.groupby(\"USER_ID\").count().loc[:,[\"EVENT_VALUE\"]].rename(columns={\"EVENT_VALUE\":\"INTERACTION_COUNTS\"})\n", "user_activity_counts" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
INTERACTION_COUNTS
0.01008.0000
0.050018.0000
0.100022.0000
0.200030.0000
0.300041.0000
0.400056.0000
0.500074.0000
0.6000100.0000
0.8000193.0000
0.9000298.0000
0.9500401.9000
0.9900692.5600
0.99901016.6920
0.99991618.8258
1.00001776.0000
\n", "
" ], "text/plain": [ " INTERACTION_COUNTS\n", "0.0100 8.0000\n", "0.0500 18.0000\n", "0.1000 22.0000\n", "0.2000 30.0000\n", "0.3000 41.0000\n", "0.4000 56.0000\n", "0.5000 74.0000\n", "0.6000 100.0000\n", "0.8000 193.0000\n", "0.9000 298.0000\n", "0.9500 401.9000\n", "0.9900 692.5600\n", "0.9990 1016.6920\n", "0.9999 1618.8258\n", "1.0000 1776.0000" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user_activity_counts.quantile([0.01,0.05,.1,.2,.3,.4,.5,.6,.8,.9,.95,.99,.999,.9999,1.0])" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "user_activity_counts=user_activity_counts.reset_index()\n", "activities = user_activity_counts.groupby('INTERACTION_COUNTS').count()\n", "activities.columns=['NUM_USERS']" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "activities['NUM_USERS'].sum()\n", "assert (len(unique_user_from_df)==activities['NUM_USERS'].sum())" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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rW99qy688ELNnDlz2/etekqsf/fqV79aH/nIR7TPPvvoTW9604Dr6m+Z8+bN0/33369rr71W1157rU444QRddtll295B66sZ5Pve9z69//3v17Jly/SrX/1q2/df+cpXdOedd+onP/mJPvvZz+qaa67RV7/61QHTOFg8WQMAAAAwYt797nfroosu0saNG7d9N3fuXK1evXrb51WrVm0XLE2bNk3HHHOMPve5z+lP//RPB1zPQMucPn26XvOa1+j888/XBz/4QV1xxRUDLvP888/Xgw8+qI9//OM67bTTeo17znOeo/e85z265ppr9L3vfW/AZQ0FwRoAAACAETNnzhydcsopuuiii7Z9d9xxx+nSSy/V1q1bJUlf/epXdfzxx2837znnnKPPfOYz294P609/y7z11lu1dOlSSVJPT4/uuOMOHXTQQW2lf9KkSTr77LPV09OjH/3oR9qwYYOuv/76beNvv/32tpc1WDSDBAAAAMa5drraH0nnnHNOry73TzzxRC1cuFDHHHOMJk+erEMPPVRf/OIXt5vvqKOOarsXyP6WuWzZMr3zne/Uli1bJEkvfOELddZZZ22b9/jjj9/Wdf9zn/tcff3rX++1bDPThz/8YZ133nm64oordN555+nMM8/UzJkzNXv27BFpAilJllIakQW3cuyxx6bo0QUAAADAyLj33nt15JFH7uxkTHit9oOZLUwpHdvO/DSDBAAAAIAGohkkAAAAgDHjE5/4hC677LJe373xjW/Uhz70oZ2UopFDsAYAAABgzPjQhz40LgOzVmgGCQAAAIxDo9k3BbY3HPlPsAYAAACMMzNmzNDKlSsJ2HaSlJJWrlypGTNm7NByaAYJAAAAjDPz5s3T4sWLtXz58p2dlAlrxowZmjdv3g4tg2ANAAAAGGemTp2qgw8+eGcnAzuIZpAAAAAA0EAEawAAAADQQARrAAAAANBABGsAAAAA0EAEawAAAADQQARrAAAAANBABGsAAAAA0EAEawAAAADQQARrAAAAANBABGsAAAAA0EAEawAAAADQQOM2WJt/7tU7OwkAAAAAMGTjNlgDAAAAgLGMYA0AAAAAGohgDQAAAAAaiGANAAAAABqIYA0AAAAAGohgDQAAAAAaiGANAAAAABqIYA0AAAAAGohgDQAAAAAaiGANAAAAABqIYA0AAAAAGohgDQAAAAAa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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "activities.plot(kind='bar',figsize=(15,5))\n", "#activities.loc[:,:].plot(kind='bar', figsize=(15,5), ylim=(0,5496))\n", "plt.title(\"activities users group\")\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of Users in Activities counts @Max Frequency of 22: 95\n" ] } ], "source": [ "print(\"Number of Users in Activities counts @Max Frequency of {}:\".format(activities['NUM_USERS'].idxmax()),activities['NUM_USERS'].max())" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5225" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "activities[activities.index > 24].NUM_USERS.sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 인터렉션의 아이템 분석" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " USER_ID ITEM_ID EVENT_VALUE TIMESTAMP EVENT_TYPE\n", "0 11 1188 4 978220319 RATING\n", "1 11 587 3 978219045 RATING\n", "2 11 1265 3 978219815 RATING\n", "4 11 1198 4 978218913 RATING\n", "5 11 593 5 978219607 RATING\n" ] } ], "source": [ "print(df.head())\n", "df.ITEM_ID = df.ITEM_ID.astype(str)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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uZnKykoaGhpSXUq3lZOTQ0VFBZmZmQd9jmFOkiRJ6uYqKyspLCxk8ODBhBBSXU63E2OkurqayspKhgwZctDnOcxSkiRJ6uYaGhro1auXQS5FQgj06tXrkDujhjlJkiRJBrkUO5zP3zAnSZIkSZ2QYU6SJElSh3DfffcRQmDhwoUArFixgnHjxu113A033MC99977utdbsWIFubm5TJgwYdfj9ttv54YbbuCXv/zlbsfef//9XHLJJQCkp6fvds53vvMdAKZOncqkSZN2nTN9+nSmTp3Ko48+uuvYgoICRo4cyYQJE7juuuuor6/n3e9+N+PHj2fcuHGcddZZbNu27bA/o/acAOUQbahrYPbqWqaMKCUnMz3V5UiSJEldxl133cVZZ53F3XffzVe/+tWjcs1hw4Yxa9as3baVlZXxne98hw984AO7tt19991cc801AOTm5u51zk4bNmzgkUce4eKLL9617cILL+TCCy8EEoHv+9///q7Q9+1vf5uysjLmzJkDwKJFiw5pxsoDsTN3iB56pYr33z6dy37yLK1tMdXlSJIkSV3Ctm3beO6557jlllu4++67j+lrnXfeeSxcuJCqqioA6uvreeKJJ7j88stf99xPf/rTfOMb3zjo16qqqqJ///67no8cOZLs7OxDL3of7Mwdone/YRANzW189+8LmbumlpMGFKe6JEmSJOmo+dqD85i/dutRveaYfj34ymVjD3jM/fffz0UXXcQJJ5xASUkJL7/8MiUlJUf82kuXLmXChAm7nv/kJz9hypQpXHHFFdxzzz187GMf44EHHuBNb3oThYWFAOzYsWO3cz7/+c/zzne+E4DTTz+d++67j6eeemrX8Qfy3ve+lwsuuIB7772Xc889l+uvv54RI0Yc8fsCO3OHLCsjjasmVQDwzKsbU1yNJEmS1DXcddddXH311QBcffXV3HXXXUflujuHWe58TJkyBYBrrrlmVwew/RBLeG2Y5c7HziC305e+9KWD7s5NmDCBZcuW8elPf5rNmzdz6qmnsmDBgqPy3uzMHYZeBdmM69+Dfy7ayEfOOTqpWpIkSeoIXq+DdixUV1fzj3/8g7lz5xJCoLW1lRACN9988zF7zTPPPJOqqipmz57N888/f0hDO8855xy+/OUv8+KLLx7U8QUFBVxxxRVcccUVpKWl8fDDDzN69OjDLX0XO3OH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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA20AAAFOCAYAAAAVVfV7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdd3zV1f3H8ffnZpNJIASSMGVvJCIKKCoqYKmzKiqi1qq1dbSOamt/2trW0Var1tZZVxVEFNx1y1LQIHtviEDYgZCEjHt+f9xLDJAJSb4Zr+fjcR/J93zP+d7PvQlwP5zz/RxzzgkAAAAAUD/5vA4AAAAAAFA+kjYAAAAAqMdI2gAAAACgHiNpAwAAAIB6jKQNAAAAAOoxkjYAAAAAqMdI2gAAgCTJzF40sz95HUddMbOrzGym13EAQGVI2gBAkpl9aWa7zSzisPZyP8SamTOzztV4jqvMrNjMcg57pJjZR2b2xzLGnGtmW80sNBhLwWFjFwT7dQjG8/5h4/9rZveZ2eWlxuSZmb/0dYJ9h5rZV2aWbWa7zGyWmZ1Q1ddXkw6+72Y2rFSc+4OvsfTrbxf82eUf1v5u8DrDg2PeOuz6/YLtX1YhlpKfc/C9LDSzfcHHSjP7p5m1qcJ1njGz68po7x38+e8wsyM2TzWzRDObEnz9G8zsssPOXxZs329mU80ssSpjvUpYzKynmWUE/7ztNrNPzaxnqfNmZg+Z2c7g42Ezs1Ln+5vZXDPLDX7tX5Wxpf6MhNbtKwaAY0fSBqDJM7MOkoZJcpJ+XMtP97VzLuawx2ZJL0oaV/rDadA4Sa8654qCxw8fNrbfYf0Hm9mQw5/UOffqwTGSRknaXPo6ZhYn6T1JT0hKlJQq6Q+SDtTYKy9HRR+inXMzSsXdK9icUCr2jcG2Xx72vowpdZntkk42sxal2sZLWnmUIb/unItV4H06X1JrSXOrkLiNlPRBGe2FkiZJ+mk5456UVCApWdLlkv5tZr0kKfj1aQV+T5Il5Ur6V1XGemizpIsUeP9aSnpH0sRS56+TdJ6kfpL6SvqRpOslyczCJb0t6b+Smkt6SdLbwfYKxwJAQ0bSBgDSlZJmK5A4jfcohqkKfIgddrDBzJor8KHz5Wpc52FJR7O8raskOecmOOeKnXN5zrmPnXMLy+ocnHGabGavB2ecvjOzfqXOp5jZm2a23czWmdnNZYz9r5ntlXTVUcRbHQUKvL+XBp8/RNLFkl49los65wqdc0skXaJAYnhbeX3NrK+kPc65zDKus8I597ykJWWMi5Z0oaTfO+dynHMzFUhyxgW7XC7pXefcdOdcjqTfS7rAzGIrGmtmPSQ9Jemk4MzknlJP29zM3g/+XOeY2XHVfW8q4pzb45xb75xzkkxSsaTSM9bjJf3dOZfpnPte0t/1w+/IcEmhkv7hnDvgnHs8eI3TqzB2evDrnuBrPungE5rZ34KzfuvMbFRNvl4AqAkkbQAQSNpeDT7ONrPkug7AOZenwGzLlaWaL5a03Dm3oBqXelJSVzMbUc0QVkoqNrOXzGxUMGGszLmS3lAg2XxN0lQzCzMzn6R3JS1QYMbuDEm3mtnZh42dLClBx5g8VdHL+uG9PVuBBGlzTVzYOVeswOzPsAq6jZb0fgXny9NVUrFzrvSs4AL9MOvYK3h8MJY1CiSpXSsa65xbJukG/TDzm1Cqz1gFZlmbS1ot6c9HEbfKmDU+/PweSfkKzO7+pdSpQ16Tjny9C4MJ30ELVc77cdjYU4JfD87Ufh08PlHSCgVm/R6W9HxlsQNAXSNpA9CkmdlQSe0lTXLOzZW0RtJlFY86JoPNbE+px5pS516S9BMziwoeXxlsK+32w8Yffj5fgQ/Z1Zptc87tlTRUgSWiz0rabmbvVJLAznXOTXbOFUp6RFKkpMGSTpCU5Jz7o3OuwDm3NnjNS0uN/do5N9U55w8mrMfq8cPel/sPe31fSUo0s24KvK/Vmb2sis0KJK/lOUdlL42sTIyk7MPasiXFVuF8ZWPL85Zz7pvgktxXJfUvr6OZXW1mC8wsy8xeMbNTzayVmV0t6ZaKniSYKMZL+qWkeaVOHR53tqSYYCJV3fej9NjybHDOPRtMvl+S1EaB5aQAUG+QtAFo6sZL+tg5tyN4/Jpqd4nkbOdcQqlHydKz4PK17ZLONbNOCiQ/rx02/m+HjS8r1mclJZvZmDLOlcs5t8w5d5VzLk1Sb0kpkv5RwZBNpcb6JWUGx7SXlFI6iZL0Wx36QXiTatbNh70vvy+jzysKJAinSZpSw8+fKmlXWSfMLEFSd0lfHcV1cyTFHdYWJ2lfFc5XNrY8W0t9n6tAIlSecxS4V6+LpFmSHlVgdmu4qjCD6pzbr8AyzZfNrFWw+fC44yTlBGfXqvt+lB5bnpLX65zLDX5b0WsGgDpHBSUATVZwRutiSSFmdvCDW4SkBDPrV81liTXl4DK+bgokk1nVvYBzrtDM/iDpfpVxn1QVr7HczF5UxUUc2h78JrgkMk2BGaciSeucc10qeoqjiesYvaLAcr+XnXO5NbUCLvjax0j6tJwuZ0v6LDiTU10rJYWaWRfn3KpgWz/98HNdEjw+GEsnBX6HV0ryVzK2Jn4GFwcTdimQfD11FNfwSWqmQOK7TT+8pm+C5w9/vbeZmZVKxPoqsCxYlYz14ncOAGoEM20AmrLzFCiC0FOBJWD9JfWQNEOH3lsWYmaRpR7hpc6FH3Yu5BhjelnSCEk/05FLI6vjFQU+vI+sSmcz625mt5lZWvC4rQL3Ns2uYNhAM7sgWP3xVgUqTc5W4APzXjP7jZlFmVmIBcrae7J9wEHOuXWSTpX0u5q4XvD+vR6SJihQQfKRcrpWuDTSAiIlhQePIy249URwJuotSX80s2gLVAY9V4GfrxSYzRpjga0RoiX9UYHljfuqMDZLUtphv8/VUiphqzIzO9PMBgR/L+IUeN92S1oW7PKypF+bWaqZpShQ4OXF4LkvFfgze7OZRZjZL4Ptn1dh7HYFEtlO1Y0ZALxG0gagKRsv6QXn3Ebn3NaDD0n/lHS5/VCK/i5JeaUen5e6xpLDzl1dyXMerNZX+lGSzDjn1iuwjC5agUp/h7vzsLE7yuhzsDjGvar4PqvS9ilQkGGOme1XIPlarAoqIipQfOMSBT5wj5N0QbCiYrECM0/9Ja2TtEPScwrcv1Rb/nnY+zK3rE7OuZkusMXCsbjEAnvb7VHgZ7RT0sCyrhu8l+pMSf+r4HrtFfjdOTgjlKdAYYyDbpQUpcAs1ARJPw9WrVTw6w0KJG/bFLi368aqjFXg93iJpK3l/R7VkoRgLNkK3EPaWdJI51x+8PzTChSyWaTA7+D7wTY55woU+M+WKxV4/6+RdF6wvbKxuQrc7zkruGx3cO2+TACoOVbxMm8AAI5kZvdJ6uycu8LrWOozMxsk6Z/OuUFexwIAaLiYaQMAoHbd63UAAICGjaQNAGqQmT1VxvLHHDM7mgINqAPB+8HK+pnlHOu1g6XzP6yJOAEATRfLIwEAAACgHmOmDQAAAADqMZI2AAAAAKjH6sXm2i1btnQdOnTwOgwAAAAA8MTcuXN3OOeSyjpXL5K2Dh06KCMjw+swAAAAAMATZrahvHMsjwQAAACAeoykDQAAAADqMZI2AAAAAKjH6sU9bQAAAABqX2FhoTIzM5Wfn+91KE1WZGSk0tLSFBYWVuUxJG0AAABAE5GZmanY2Fh16NBBZuZ1OE2Oc047d+5UZmamOnbsWOVxLI8EAAAAmoj8/Hy1aNGChM0jZqYWLVpUe6aTpA0AAABoQkjYvHU07z9JGwAAAADUYyRtAAAAAOrUlClTZGZavny5JGn9+vXq3bv3Ef2uuuoqTZ48udLrrV+/XlFRUerfv3/J4+WXX9ZVV12lp59++pC+U6dO1ejRoyVJISEhh4x58MEHJUnDhw9Xenp6yZiMjAwNHz5cH330UUnfmJgYdevWTf3799eVV16p3NxcXX755erTp4969+6toUOHKicn56jfo9IoRFKONdtztG77fvVMiVNKQpTX4QAAAACNxoQJEzR06FBNnDhR9913X41c87jjjtP8+fMPaUtOTtaDDz6o66+/vqRt4sSJGjt2rCQpKirqiDEHbdu2TR9++KFGjRpV0nb22Wfr7LPPlhRI7P72t7+VJHcPPPCAkpOTtWjRIknSihUrqlUhsiLMtJXj7fmbde3LGfrJU19rb36h1+EAAAAAjUJOTo5mzZql559/XhMnTqzV5xoxYoSWL1+uLVu2SJJyc3P16aef6rzzzqt07B133KE//elPVX6uLVu2KDU1teS4W7duioiIqH7QZWCmrRyXn9hOWdn5ej1jk0Y+Ol0zf3O6fD5u2gQAAEDj8Id3l2jp5r01es2eKXG6d0yvCvtMnTpVI0eOVNeuXZWYmKjvvvtOiYmJx/zca9asUf/+/UuOn3jiCQ0bNkwXXHCBJk2apFtuuUXvvPOOTjvtNMXGxkqS8vLyDhlz991365JLLpEknXTSSZoyZYq++OKLkv4Vueaaa3TWWWdp8uTJOuOMMzR+/Hh16dLlmF+XxExbuZLjIvWHc3vpggGp2pydr06//UDXv5LhdVgAAABAgzZhwgRdeumlkqRLL71UEyZMqJHrHlweefAxbNgwSdLYsWNLZvRKL42UflgeefBxMGE76J577qnybFv//v21du1a3XHHHdq1a5dOOOEELVu2rEZeGzNtFYgMC9GDF/ZV19axmr12pz5emqXRj83QPy7tr67JlWfbAAAAQH1V2YxYbdi5c6c+//xzLV68WGam4uJimZluvPHGWnvOIUOGaMuWLVqwYIG++uqrai3JPP300/X73/9es2fPrlL/mJgYXXDBBbrgggvk8/n0wQcfqEePHkcbeglm2ioRHurTDacep4cu7Kvz+6dq9bYcnf/kLC3+Ptvr0AAAAIAGZfLkybryyiu1YcMGrV+/Xps2bVLHjh2VmZlZa89pZrr44os1fvx4jR49WpGRkdUa/7vf/U4PP/xwpf1mzZql3bt3S5IKCgq0dOlStW/f/qhiPhxJWxUlx0XqkUv667pTOml/QbHufmuRHvrfcn21eofXoQEAAAANwoQJE3T++ecf0nbhhRfqL3/5i1asWKG0tLSSxxtvvCFJuv7660vaTjrppHKvffCetoOPxx9/vOTc2LFjtWDBgpJlmQcdvKft4OOuu+464rqjR49WUlJSpa9tzZo1OvXUU9WnTx8NGDBA6enpuvDCCysdVxXmnKuRCx2L9PR0l5HRcO4X+/vHK/T0tLUq8vvld9LUXwxR/7YJXocFAAAAVGjZsmU1slwPx6asn4OZzXXOpZfVn5m2o3DbWd208s+j9NilAyRJ5z05S6u37fM4KgAAAACNEYVIjsGYfikqKPLrtjcWaMQj0zXjztOU1jxKZmwNAAAAANS0RYsWady4cYe0RUREaM6cOR5FVDdI2o7RBcenan9Bkf7v7SUa9vAX+vWZXXXzGTWzHwMAAACAH/Tp00fz58/3Oow6x/LIY2RmuvKkDnpi7AD1To3TE5+v0qA/f6pPlmZ5HRoAAABwhPpQ06IpO5r3n6Sthozpl6IHzu+rS05oK7+TfjtlkS5++mu9OGud16EBAAAAkqTIyEjt3LmTxM0jzjnt3Lmz2tsOsDyyBvVJi1eftD5Kb5+oid9u1KZdeXrkk5W67MT2Cg8lPwYAAIC30tLSlJmZqe3bt3sdSpMVGRmptLS0ao0haasF5w1I1XkDUvXp0ixd+3KGnpq2hvvcAAAA4LmwsDB17NjR6zBQTSRttWhol5aSpH9/uUY928QpxGdK79BcsZFhHkcGAAAAoKFgzV4tigwL0avXnqi8wmJd+3KGrn7xW/3q9QUqKPJ7HRoAAACABoKkrZYN6dxSn/zqFL39iyEa0SNZny7L0q2vz/M6LAAAAAANhNWHyjHp6ekuIyPD6zBq3fZ9B3TVC99oyea9CvUFNuC+aGCaHrywr8eRAQAAAPCSmc11zqWXdY572upQUmyE/nPVCXp1zkYV+/3KWL9bk+dmatmWvXry8uOV1ryZ1yECAAAAqGeYafPQhp379bePV+q9hZvVOyVevVLidN+PeykyLMTr0AAAAADUIWba6qn2LaL1xNgBat4sTDNX7dDEbzcpr7BYac2jZDKN6Zeibq1jvQ4TAAAAgIeYaasniv1OY56YqZVZ+yRJRX6nNvGR+vKO4YoIZeYNAAAAaMyYaWsAQnymD24ZVnL814+W68kv1ui+d5bqj+f2UlgIhT4BAACApohMoJ667cxuSk2I0oRvNuofn65UYTF7uwEAAABNEUlbPeXzmd644SS1jovUk1+s0ckPfq68gmKvwwIAAABQxypN2sysrZl9YWbLzGyJmd0SbE80s0/MbFXwa/Ngu5nZ42a22swWmtnxtf0iGquUhCi99rMTde3Qjtq+74CmrdzmdUgAAAAA6lhVZtqKJN3mnOshabCkX5hZT0l3SfrMOddF0mfBY0kaJalL8HGdpH/XeNRNSKekGN01qruaNwvTDf/9TjNWbfc6JAAAAAB1qNKkzTm3xTn3XfD7fZKWSUqVdK6kl4LdXpJ0XvD7cyW97AJmS0owszY1HnkTEhri06/P6iZJ+v3UxfrdlEV64INlyi9kuSQAAADQ2FWreqSZdZA0QNIcScnOuS1SILEzs1bBbqmSNpUalhls23KswTZl4wa3l0n6x6er9OHirdq1v0A9U+J0bv9Ur0MDAAAAUIuqXIjEzGIkvSnpVufc3oq6ltF2xGZwZnadmWWYWcb27Sz5q4orBrdXxj0jlPG7EUqOi9C/vlijIqpKAgAAAI1alZI2MwtTIGF71Tn3VrA56+Cyx+DXg1UyMiW1LTU8TdLmw6/pnHvGOZfunEtPSko62vibJJ/PNKp3G63I2qd/fblG9WGDdAAAAAC1oyrVI03S85KWOeceKXXqHUnjg9+Pl/R2qfYrg1UkB0vKPriMEjXnrlHdFRMRqkc+Walnpq/1OhwAAAAAtaQqM21DJI2TdLqZzQ8+Rkt6UNKZZrZK0pnBY0n6QNJaSaslPSvpxpoPG5FhIZpy48mKDg/RAx8u12OfrvI6JAAAAAC1wOrD0rr09HSXkZHhdRgN0qLMbI19draK/H51aBGtfmkJeuiivl6HBQAAAKAazGyucy69rHNVLkSC+qlPWrxevfZEDe/aShGhPr2esUmTvt1U+UAAAAAADQJJWyPQr22Cnho3UM+ODyTmd765UNv25nscFQAAAICaQNLWiLSKjdQTYwdIkp6aRnESAAAAoDEgaWtkxvRL0YgeyXrtmw3KLyz2OhwAAAAAx4ikrRH6Ud82yi/06//eXkziBgAAADRwJG2N0Jh+KeqVEqdJGZnq/vv/6bU5G70OCQAAAMBRouR/I5W5O1cfLNqiCd9s0pbsPCVEhctn0m9Gdde5/VO9Dg8AAABAKRWV/A+t62BQN9KaN9N1pxynPqkJmjrve0nS9FXbdcvE+ZJE4gYAAAA0ECRtjdxJx7XQSce1kCT9b/EW3fDf73T/e8uUsX63wkN9unH4cWoRE+FxlAAAAADKwz1tTcjI3m307JWBGdf3F23R8zPXaSIbcQMAAAD1GjNtTcyZPZN1Zs9kSdIF/5qlt+d/r75p8eqblqD4qDCPowMAAABwOGbamrAx/VK0MitH457/RvdMXex1OAAAAADKwExbEzZucHv1b5ug52eu02fLspRXUKyo8BCvwwIAAABQCjNtTVhoiE8D2jXX2EHtlFtQrAH3f6xJ3OMGAAAA1CskbdBJnVro7lHd1So2Uve/v1Q//udMzd2w2+uwAAAAAIjlkZDk85muP/U4dW8Tp1e+3qDZa3fqzskL1DMlXiEm3TD8OHVvHed1mAAAAECTRNKGEqd2TdKpXZP01LQ1mvTtJi35PluZu/O0YVeuRvRI1uUntlNCs3CvwwQAAACaFHPOeR2D0tPTXUZGhtdhoAwPfLBMT09fK0ka3ClRT49LZ2sAAAAAoIaZ2VznXHpZ57inDRW6e3QPrXtgtIZ0bqHZa3fpD+8u0ZLN2crOK/Q6NAAAAKBJIGlDpcxMz115gk7o0Fxvffe9znl8pq54bo7yC4tVVOz3OjwAAACgUWN5JKps1/4Cfbt+l2at3qGXv94gSWreLExf3D6ce90AAACAY1DR8kgKkaDKEqPDdXav1hrWpaXat4jWtn35enraWt3w37maeN1JXocHAAAANEosj0S1NQsP1U+HdtRdI7urX1q8Zq/dpWte/FZrt+d4HRoAAADQ6DDThqNmZvrXFQN1xxsLNGPVdt0xuVB9UuMV4jP9dGhHpSREeR0iAAAA0OAx04ZjkpoQpdd+NlhjB7XT6m05mjLve/1n1jrdNGGe6sP9kgAAAEBDR9KGGvHHc3trwb1nacG9Z2lo55aau2G3XvpqvXbtL/A6NAAAAKBBI2lDjXt63ECFh/p037tL9cvXvtPW7HzlFhR5HRYAAADQIJG0ocY1Cw/VZ78+VWMHtdVXa3Zq8AOf6ZSHv9SBomKvQwMAAAAaHJI21Iq2ic109+geeviivvr58OO0I+eA+v3hY+1muSQAAABQLSRtqDVxkWG6OL2tbj+rmy5OT1N+oV8X/vsrTcrY5HVoAAAAQINByX/UuhCf6aEL+yo6IlQfLd6qhz5crq9W75Ak/ahvikb0TPY4QgAAAKD+ImlDnTAz3Tuml07pkqT731uqeZv2aGdOgeas26WlW/aqU1K0ftQ3xeswAQAAgHqHpA116rTurXRa91aSpHcXbNYtE+fpkU9Wykw6UOhXZFiITujYXK1iIz2OFAAAAKgfrD5sgJyenu4yMjK8DgMeKPY7rd2eo7P/MV3+4K/isC4t9dvRPZQcF6nE6HBvAwQAAADqgJnNdc6ll3mOpA31weY9eco5UKQXZq3XhG82SpJaxkToq7tOV3go9XIAAADQuFWUtPFpGPVCSkKUuibH6nfn9NDT4wbqljO6aEfOAfW+9yPtzS/0OjwAAADAMyRtqFdiIkJ1dq/Wuun0zrr0hLYqKPbrjL9P0zUvfqv6MCsMAAAA1DUKkaBeCg3x6S/n91FidLgWZmbr8+XbdNmzcxQe6tNlJ7bT2b1aex0iAAAAUCdI2lBv+XymO0d21778Qv3itXnKzivU8q17tSprn1Zs3acbhx+n0BAmiwEAANC4kbSh3ouNDNPL1wySJL09/3vdM2WxHvlkpfYfKNKlg9qpY8tojyMEAAAAag/TFGhQzu2fqrm/P1OtYiP09PS1umXiPH29Zqc27NzvdWgAAABArSBpQ4MTHurT9DtP082nd9bCzGyNfXa2znl8pnILirwODQAAAKhxJG1okCLDQvTL07to0vUn6f7zeivnQJG+XLHd67AAAACAGkfShgYrPNSnQR0TNfaEtmoRHa5bJ87XdS+zSTsAAAAaF5I2NHihIT49fFFfDT6uhT5emqVz/zlT//5yjddhAQAAADWCpA2Nwhk9kvXIxf00sldrZecV6qH/LddzM9Z6HRYAAABwzEja0Gi0jInQU+MG6vGxAyRJf3p/mZ78YrV25BzwODIAAADg6JG0odHpm5agT399qiLDfPrrRyt026QFcs55HRYAAABwVEja0Ch1bhWjxfedrSGdW2jayu16Z8FmZe3N9zosAAAAoNoqTdrM7D9mts3MFpdqu8/Mvjez+cHH6FLn7jaz1Wa2wszOrq3AgcqEhvj0xNjjJUm3TJyvoQ99rszduSr2M+sGAACAhqMqM20vShpZRvujzrn+wccHkmRmPSVdKqlXcMy/zCykpoIFqisxOlzv3TRUD1zQR4XFTkMf+kJd7/lQXyzf5nVoAAAAQJWEVtbBOTfdzDpU8XrnSpronDsgaZ2ZrZY0SNLXRx0hcIx6p8ard2q8IsN8ytyVpxe+Wq+rX/xWT11xvEb2buN1eAAAAECFKk3aKvBLM7tSUoak25xzuyWlSppdqk9msA3w3PkD0iRJHZOi9cvX5uned5ZoUkamYiND9efz+ygm4lj+OAAAAAC142g/pf5b0v2SXPDr3yVdI8nK6FvmDURmdp2k6ySpXbt2RxkGUH0/6psiv5Oenb5WW7Lz9fnyvcovLFaHFtG6YnB7tU1s5nWIAAAAQImjStqcc1kHvzezZyW9FzzMlNS2VNc0SZvLucYzkp6RpPT0dCpDoE79uF+KftwvRc45Xfz015q5aoc+XpqlpVv2anSfNhrYvrm6Jsd6HSYAAABwdEmbmbVxzm0JHp4v6WBlyXckvWZmj0hKkdRF0jfHHCVQS8xMb9xwsiTpzskLNCkjUzNW7VCnpGg9cH4fJcVGqFNSjMdRAgAAoCmzyjYdNrMJkoZLaikpS9K9weP+Cix9XC/p+oNJnJn9ToGlkkWSbnXOfVhZEOnp6S4jI+NoXwNQI4r9Ttv3HdC7Czbrzx8skySFh/j04a3D1DImQvFRYR5HCAAAgMbKzOY659LLPFdZ0lYXSNpQnxQV+zVv0x5l7s7Vr15fUNL+yk8HaViXJA8jAwAAQGNVUdJGuTzgMKEhPp3QIVEndEhUVFiItu87oL9+tELjnv9Gi/9wNlUmAQAAUKeqsrk20GSN7N1G407qoOtO6SRJOvORadqZc8DjqAAAANCUkLQBVfDz4Z01qndrbcnO162vz/c6HAAAADQhrPMCqiDEZ/r3FQM16rEZmrFqhx75eIUiw0MkSYM6JCq9Q6LHEQIAAKCxImkDquHFq0/QGX+fpsc/X31I+wc3D1PPlDiPogIAAEBjRvVIoJqKiv0q8gf+3Hy8NEs3T5inyDCf3rtpqDq1jJHPZx5HCAAAgIamouqR3NMGVFNoiE+RYSGKDAvRmL5tdP+5vZRf6NeIR6brha/Wqz78RwgAAAAaD5I24BiYma4Y3F4vXH2CuiXH6v73luqMR6apqNjvdWgAAABoJLinDThGZqbTurVSUkyEXv56vSZlZOq0v3+pMJ9PaYnN9J/x6QoN4f9HAAAAcHRI2oAa0js1Xvef11uRYSHanVuoPbkFmr5yu8Y9/40GdUzUr87s6nWIAAAAaIBI2oAaFBEaoj+e21uSlF9YrEBnHLQAACAASURBVOtfmas123P09dqdyiss1viTOyg1IcrjKAEAANCQkLQBtSQyLEQvXTNImbtzdd6TX+mZ6Wu1KmufRvZuLUnq3jpO/domeBwlAAAA6juSNqCWpTVvpox7RuhXr8/XlHnf64sV2yVJcZGhev6qE9SpZbRaxER4HCUAAADqK/ZpA+pIUbFf2/YdkCRlbNitmyfMkyT1SY3Xy9cMUnxUGHu8AQAANFEV7dPGTBtQR0JDfEoJ3s82Jj5SKfGR+mDRVv1n1joNuP8T/WRgmv76k34eRwkAAID6hqQN8ICZKb1DonqlxKtzqxh9uHiL3vwuU58uy1JYiE9PjxuoAe2aex0mAAAA6gGWRwL1wKZdufrPrHUq9jtNnpup5s3C1SY+UqEhpv/7US/1TInzOkQAAADUIpZHAvVc28RmundML0lSx5bR+nRZliQpY/1u3f7GAvVOjVOb+CjdOqKLzLjvDQAAoCkhaQPqmauHdNTVQzpKkv760XK99d33+mzZNu3cX6D8omIlx0bqkhPaKjqCP74AAABNAcsjgQYgO69Qw//6hXbnFkqSrjypvU7pkqQ2CZHqlRLvcXQAAAA4VhUtjyRpAxqIwmK/Cov9GvvMbC3IzJYkhYWY3vr5EEVHhCjU51PbxCiWTwIAADRAJG1AI5KdW6iNu3KVuTtXP3/1u0PO/em83rpicHuPIgMAAMDRImkDGqkZq7Zr1/4CSdJjn63S2u37FRHq0ys/PVGDOiZ6HB0AAACqiuqRQCM1rEtSyfftEpvpi+Xb9MKs9Zo8dxNJGwAAQCNB0gY0EgPaNdeAds21aXee3l+4RXtyC9WxZbTuGtWd+9wAAAAaMJI2oJEZd1J7rdq2T8u27tXHS7N0oMiv8Sd3UMeW0V6HBgAAgKPg8zoAADXr+HbN9d5NwzT1xiFqHRepF79ar7vfWqiZq3Z4HRoAAACOAkkb0Ei1iInQ7N+eoatO7qDZa3fpiufn6Ivl27R5T57XoQEAAKAaSNqARu73P+qpt248WWbS1S9+q1GPzSipOAkAAID6j6QNaORCfKbj2zXXu78cqnvO6aHsvEIdf/8nenXOBq9DAwAAQBVQiARoInqnxqtnmzglNAvXk1+s1h/eXapHP1kpM9M95/TQuf1TvQ4RAAAAZSBpA5oQn8900cA0pTWP0rsLNkuSPl++TbdMnC+/czp/QJrHEQIAAOBwJG1AEzS4UwsN7tRCkvS/xVt1w3/n6s/vL9c363Yd0u+igWka2J5NugEAALxE0gY0cSN7t9azV6br/95erM+WbStp35NXqO827NFP0gOzb6kJURrVp41XYQIAADRZ5pzzOgalp6e7jIwMr8MAUMpzM9bqT+8vO6TtH5f0V1JshAZ3aqEQn3kUGQAAQONjZnOdc+llniNpA1Ce/QeK5HdOWXvzNfIfM1TkD/x9cd+Ynhrdt41axUZ6HCEAAEDjQNIG4Jht3Jmr3bkFuvHV7/R9cIPu924aqt6p8R5HBgAA0PCRtAGoMSuz9mnBpj367ZRFKvI7hfpMfz6/jy5Ob+t1aAAAAA1WRUkbhUgAVEvX5Fh1TY5VdESolm7eq3cWbNb97y7VczPWKj4qTM9deYLim4V5HSYAAECj4fM6AAAN0+g+bXT72d10/3m9NbRLS7Vt3kzfrt+ta176Vh8u2uJ1eAAAAI0GM20AjsmpXZN0atckOed088T5mr5yu+57d4kWb86WJLWIjtBVJ3eQj2qTAAAAR4WkDUCNMDM9MXaA/rd4i26ZOF9PT1srJ6nY75RbUKSUhCiZSad2baXE6HCvwwUAAGgwKEQCoNbsP1CkwQ98pn35RSVt5/Rpo7tGdVfbxGYeRgYAAFC/UIgEgCeiI0I1887TtSevQJL0149W6L2FW/TJ0ix9/KtT1CImXD4zRUfwVxEAAEB5mGkDUGey8wr1ydIs3f7GgkPa7z+3l8ad1MGboAAAAOoB9mkDUK+8t3CztmbnS5Jem7NRmXvyFB8VpoSoML1+/Unc8wYAAJoclkcCqFd+1Del5Ps+qfGaOn+zDhQV663vvtdNE77Tq9cO9jA6AACA+oWkDYCnTuzUQid2aiHnnJZv2adZq3fq7rcWKi4qTL8a0VWRYSFehwgAAOApkjYA9YKZ6dnx6brs2dn6aEmWdu0v0L78Ih2XFCNJapfYTGf2TPY4SgAAgLpXadJmZv+R9CNJ25xzvYNtiZJel9RB0npJFzvndpuZSXpM0mhJuZKucs59VzuhA2hsUhOiNO2O0+T3O414ZJpem7PxkPNPXna8oiNC1DctgfveAABAk1FpIRIzO0VSjqSXSyVtD0va5Zx70MzuktTcOfcbMxst6SYFkrYTJT3mnDuxsiAoRALgcIXFfuUWFEuSMnfnaswTM+UP/nU1rEtL/eX8PgoP9Sk5LtLDKAEAAGrGMVePNLMOkt4rlbStkDTcObfFzNpI+tI5183Mng5+P+HwfhVdn6QNQGXWbs/RnrxCTfp2kyZ+u6mk/bkr0zWCZZMAAKCBq43qkckHE7Fg4tYq2J4qaVOpfpnBtgqTNgCoTKfgvW2dW8XoxE6JKvZLD3ywTNe9kqFQn0+SlNAsTB/cMkwtYyK8DBUAAKBG1XQhEiujrcypPDO7TtJ1ktSuXbsaDgNAYxUXGabzB6RJkpJiIzR77U5JUl5BsV78ar3Oe3KWYiICf7X1aBOnRy7up8DttgAAAA3T0SZtWWbWptTyyG3B9kxJbUv1S5O0uawLOOeekfSMFFgeeZRxAGjCTu2apFO7JkmSnHOKDAvR2u05kqRt+w5oyrzvlXOgSOEhPo0d1E5Du7T0MlwAAICjcrRJ2zuSxkt6MPj17VLtvzSziQoUIsmu7H42AKgJZqa7RnUvOd69v0DXvPSt1u3Yr63Z+VqyOVs/7peiiLAQXTOko6LC2f8NAAA0DFUp+T9B0nBJLc0sU9K9CiRrk8zsp5I2SvpJsPsHClSOXK1Ayf+rayFmAKhU8+hwTblxiCRpwjcbdc/UxXr889WSpG178zWgXXN1bBmtfm0TvAwTAACgUlWqHlnbqB4JoC445zTyHzO0ImufJCkyzKfXfjZYYT6fuiTHKDKM2TcAAOCNYy75X9tI2gDUlf0HirRt3wGt2LpXN/z3u5L2nwxM030/7qUQn5G8AQCAOkfSBgBlmLN2p/blF+m1bzbq8+WBekqhPtObPz+ZZZMAAKBO1cY+bQDQ4J3YqYUkqVdqnN5fuEXFfqdHPlmpK56fo5iIUN1+VjddODDN4ygBAEBTR9IGoMlrEx+la4d1khQoYDJ3/W7NXL1Df/5gmd6alylJuurkjjqzZ7KXYQIAgCaK5ZEAUIZPl2bp6elr5Jy0ZnuOmoWH6vTurSRJP+6fohM6JHocIQAAaEy4pw0AjsFb32XqLx8sk99JOflFapsYpXGD20uShnZpqc6tYj2OEAAANHQkbQBQQ17+er3+7+0lJcc92sTp7lHdlZIQpc6tYrwLDAAANGgkbQBQg7JzC+V3Tq/O2aC/fbyypH3WXacrNSHKw8gAAEBDVVHS5qvrYACgoYtvFqbm0eG6/tTjNPUXQ/TwRX0lSUMe/FxbsvM8jg4AADQ2VI8EgKMUFuJT/7YJ6pcWr715hfrT+8t06sNfyhf877C+qQl6/frBMjNvAwUAAA0aSRsAHCMz07XDOikqPEQbd+ZKktbv3K+PlmRp1GMz5AsmbS1jI/T0FQMVFR7iZbgAAKCBIWkDgBpy+YntS77fl1+oqLDFyjlQLEnKKyzS9JXb9bOXM9Q8Olynd0/S+QPYuBsAAFSOpA0AakFsZJj+cemAkuNiv9M1L36rTbtytXhztqav3K71O3KDfUN11ckdFBrCbcYAAOBIJG0AUAdCfKaXrhkkSfpq9Q6Nf+EbPfbZqpLze3IL1bV1YL+3wR0T1Sou0pM4AQBA/UPJfwDwUFGxX0Me+lxZew+UtJ3SNUl3nt1NknRcUgz3wAEA0ARUVPKfmTYA8FBoiE8f33qqtucEkrbnZ67ThG82avrK7ZKkUb1b69FL+gf6+owllAAANEHMtAFAPZJzoEiz1+yU3zm9PX+z3l+0peRcfFSYvrx9uJpHh3sYIQAAqA3MtAFAAxETEaoRPZMlSQPaNVe/tvEq9kt78wv17y/X6MxHpykiNLBcMiLMp2evTNdxSTFehgwAAGoZSRsA1FNJsRG67pTjJEnOOUWE+pS5Oy94LE2d/72uezlDKQlRJf0furCvwlhCCQBAo0LSBgANgJnp1hFdD2lLSYjUrNU7tP9AkfIK/ZqxaocKi51aBJdPRoT59MvTOis2MsyLkAEAQA0haQOABuq2s7rptrMCVSYPFBXr/Ce/Kilg4pzT3vwi7cwpUN+0eEmSz0zn9GnDPXEAADQwFCIBgEbqx/+cqYWZ2Ye0ndc/RWMHtdPA9s2pRAkAQD1CIRIAaILe/PnJ2ptXWHL8mzcXaur8zZo6f7PuOaeHftQ3peRcfFQY+8EBAFBPMdMGAE3E3vxCLd+yT795c6HW7dh/yLnUhChNu2M4s28AAHikopk2kjYAaGJWZu3T3A27S45Xb8vR8zPXKTLMJ5/ZIX1DfaYnLjtep3ZNquswAQBoUlgeCQAo0TU5Vl2TY0uOC4r8iosMU86BwiP6vvnd97pt0ny1iY864twJHRL1f2N61mqsAACApA0AmrzwUJ9uGdGlzHM92sTpvYVbjmjfvCdPL3y1TjtyDujg5FyIz3Tj8M7q3IrNvgEAqEkkbQCAcl1wfJouOD7tiPZNu3L1s5cztDBzT0nb93vytGlXroZ1SVKLmHBdNqid7LDllgAAoPpI2gAA1dY2sZn+d+sph7Td984SvfjVen27PnC/XO6BYrVJiCw5H+ozndI1Sc3C+acHAIDqoBAJAKDGFPudcvKLdPKDn2l/QfER568e0kEXp7eVJDULD1H7FtF1HSIAAPUS1SMBAHVqR84B7d5fcEjbb6csKpmFO2jCzwZrYPvmkgIzcT4fyykBAE0TSRsAwHNZe/M1b2MgaXNO+vWkBcor/GE2Lik2Ql/ePlzRESyfBAA0PZT8BwB4LjkuUiN7tyk5jgoP0ZLNeyUFZuZemLVep/3tS4WH+hTiM907pqdO757sVbgAANQbJG0AAE8M79ZKw7u1kiT5/U6RYSHK2psvSZq2Yrt+N2WxuiZvKOkf6jPdfnY39WgT50m8AAB4haQNAOA5n8/0m5HdS44nz83UK7M3aE/eDxt+L9+yV9tzDpTcAydJ4SE+XTusk5JiI+o0XgAA6hJJGwCg3rloYJouGnjo/nAPfrhcr87ZoHU79pe07csv0sZduRrSueUhfVvFRuisXq3rJFYAAGobhUgAAA3WNS9+q8+Xbyvz3GOX9ler2Eh1SY5Ryxhm4gAA9RvVIwEAjVJRsV+7cg/dWiA7t1CjH5+hwuLAv2/92ybomXEDJUnNo8MVFuKr8zgBAKgMSRsAoElZvS1H2/cd0EdLturFr9aXtJ/UqYUmXDfYu8AAACgHJf8BAE1K51Yx6twqRn3T4tWzTZwK/X7NWbtL7yzYrD73fnRIXzPpj+f21nkDUj2KFgCAijHTBgBoEnbvL9DT09eqoMh/SPtHS7Zqf0GR2ic2K2nz+Uy/G91D6R0S6zpMAEATxfJIAADK8cnSLL06Z8MhbRnrdys5LkL90hIOaY+LCtPdo7srIjSkLkMEADQBLI8EAKAcZ/ZM1pk9kw9pe2b6Gr0ye4O+3bCrpK242Glzdr7yC4vVttSs3JDOLdW/7aHJHQAANYmZNgAAqqCo2K8zH51+yD5xktS+RTPdVWpj8I5J0ereOq6uwwMANHAsjwQAoAb4/U5F/h/+3Xxj7ib9bsriQ/rERoRq0g0nKcRnh7S3b9GMZZUAgHKRtAEAUAv8fqe1O/aryB8obrIoM1t3TF5YZt+L09P0l/P7yMyOSOgAAOCeNgAAaoHPZ+rcKqbkuFtyrJJiI7T/QPEh/SbP3aRJGZmalJGp8BCf3rjhJPXjPjgAQBWRtAEAUEPMTMO7tTqivX+7BE2d972K/U7/+nK1rnrhG8VFhR3SJ9Rn+ttP+mlAu+Z1FS4AoIEgaQMAoJalJkTpF6d1liQlxUZoztqdR/T5eGmWfvX6fHVsGX1Ie4jPdPMZXdQ3jZk5AGiqjilpM7P1kvZJKpZU5JxLN7NESa9L6iBpvaSLnXO7jy1MAAAah7GD2mnsoHZHtD89bY3eX7RFO/cXHNK+MmufNu/J18nHtTikfXCnFhpx2FYFAIDG6ZgKkQSTtnTn3I5SbQ9L2uWce9DM7pLU3Dn3m4quQyESAADK9ugnK/XcjLWHtBUU+xUTEao7R3ZXiJnO7tVa8c3CyrkCAKAhqLXqkeUkbSskDXfObTGzNpK+dM51q+g6JG0AAFTdFyu26eoXvi05vvD4NF2cniafz9QnNV6RYWwtAAANTW0mbesk7ZbkJD3tnHvGzPY45xJK9dntnKvwrmqSNgAAqmfX/gIVFPl191sL9cWK7SXtPx3aUT8fflzJcWKzcPnYYgAA6r3aTNpSnHObzayVpE8k3STpnaokbWZ2naTrJKldu3YDN2zYcNRxAADQVGXnFmrJ5mxJ0j8+W6Vv1u065Pz5A1L16CX9vQgNAFANdbK5tpndJylH0s/E8kgAAOrcpl25+nLFtpLjz5Zv07SV2xUbcWTdMTPTb0d31yUnHFkUBQBQ92olaTOzaEk+59y+4PefSPqjpDMk7SxViCTROXdnRdciaQMAoOZl7s7Vi7PWq8h/5L/1ny/fpuy8QnVK+mGLgTF9U3TN0I51GSIAIKi2krZOkqYED0Mlveac+7OZtZA0SVI7SRsl/cQ5t6ucy0giaQMAoK59uWKb/jNrvQ5+Dli/c7/27C/U2b1bS5JO6ZqkH/dL8TJEAGhS6mR55LEgaQMAwFsZ63fptjcWqKjYaW9eoXw+0/WndjqiX7OwEF12YnuFh/o8iBIAGq+KkrZj2lwbAAA0DukdEjXtjtMkSTNX7dD4F77Rw/9bUWbfbfsOqF/bkppjMkmDOiYqoVl4XYQKAE0OM20AAOAIBUV++cv4jHDmo9O0aVfeEe2j+7TWr8/sWua1oiNC1SY+qsZjBIDGhJk2AABQLeUtf3z7F0O1JfvQpO3fX67Rewu36INFW8scYya9d9NQ9WwTV8Y59pADgMow0wYAAI7JntwCzVy9Q2V9pCjy+3X7GwtVXEYFy/BQn9684WT1SYuvgygBoH5jpg0AANSahGbh+lHf8itNRoaGaEXWvkPanJOemrZG41/4RvFRYUeMMZPuGtldZ/VqXePxAkBDw0wbAADwxH9nb9A368reFeirNTsV6jP1Tv1hSeWYfik6t39qXYUHAHWKmTYAAFDvXDG4va4Y3L7Mc1PmZeq5Geu0JTtfkrQlO1/zN2Vr6ea9R3Y26aLj09QlObY2wwUAzzDTBgAA6r3PlmXplonzVeT3H3HuQJFfx7drrovT02QyndI1Sa3jIz2IEgCOHptrAwCARuvBD5frqWlrSo6HdWmpW87oUm7/sBCf+qTGy+ejciWA+oOkDQAANFp+v1PWvnw5J/3zi9V6bc7GSsf86bzeGt2nTbnnE6LCSOoA1CmSNgAA0CTkFhRp3sY9ZW4MftDdby1S5u4jNwgv7Zw+bfTk5cfXdHgAUC6SNgAAgKDF32dr7obd5Z6fvnK7Pl+xTQllbEVQloRm4Xrz5ycrMTq8pkIE0ASRtAEAAFTRluw8PTt9XZlFTw6XX1isSRmZ6tIqpsz95qRAUvf42P5qFk7RbgDlo+Q/AABAFbWJj9L/jelZpb7OOUWGhWjN9pwyzx8o9OvTZVm68dXv1Co2osw+zaPDdftZ3RQW4jvqmAE0biRtAAAAR8nM9Mdze5d73u93GvefOVqxdZ9WbN13xPnCYqcdOQeUX1CslISokvZhXZLUMyXuiP4AmiaWRwIAAHikoMiv4X/9QpuDm4gf1KVVjO4c2f2I/iZpUKdExUVW7X47AA0H97QBAADUU0XFfhUU/3D/3GtzNupP7y8rt//5A1J10+mdK7xmfFSYWsSUvRwTQP3EPW0AAAD1VGiIT6Gl7me7ekhHDencUsX+I/9j/fHPVmnKvO81Zd73FV4zMsynmb85XS1J3IBGgZk2AACABmJnzgHNXL2jwj679hfoD+8urfI1fSY9dGFf/SS97bGGB+AYMNMGAADQCLSIidC5/VMr7HOwouWWw+6TK8+UeZn647tL9dS0NeX2aRYeqqfHDTykWAqAukPSBgAA0IiYmcYOalfl/se3S9AbczPLPe+c0weLtuq6VzKUEn9k0pYUG6H7ftyLLQuAWkTSBgAA0IQN79ZKw7u1qrDP76cu1rfrd2njrtxD2guK/Pp4aZYOFPmrdP/cKV1a6uTOLY8pXqAp4p42AAAAHJX8wmKNfnyGMnfnVdq3qNiv5LhI/frMrkeci44I1chereXzWW2ECTQIlPwHAACAp95dsFk3TZhX7vn7xvRUn7SESq/TtnmUWsVF1mRoQL1AIRIAAAB4aky/FA3qmKiCIv8h7c5J5/1rlu6rYsXLNvGR+uDmYfJZ+bNyISGmmAg+5qLxYKYNAAAAnlq/Y782HHa/XFnmb9yjRz9dWaVrPnnZ8Tqnb5tjDQ2oMyyPBAAAQINXVOzX5LmZyi0orrDfM9PXak9eQaWzbX3TEvT8+HRZBbN2QF1heSQAAAAavNAQny6twnYGHZOi9enSrAr7bNyVq8+Xb9NFT32tkHKStn5t4/W7c3oeVaxATSJpAwAAQKNyWrdWOq2SbQz25Bbo9jcWav+BojLP78g5oGdnrFN2XqFCqlHVsll4qH59ZldFc08dahC/TQAAAGhyEpqF67nxZa5EkyRt3pOnK56boy9XbK/yNf0ukOxl5xWqW3Jsuf3O6pWs9i2iqxUvmjaSNgAAAOAwKQlR+vz24dUa45zTqMdmaPLczAr7fbI0SzcM71SlaybHRapXSny14kDjQ9IGAAAA1AAz0/s3D1NeYfmFUh7/bJWemb5W37y4q0rXDPWZpv5iiGIjK//Y3iY+SuGhvirHi4aD6pEAAABAHSko8mvF1n3yV+Ez+JbsPN3w3++qfO0x/VL0xNgBxxIePETJfwAAAKABmr5yu3bkHKi034eLt+qTpVnVKppSWv+2CZp8w0lsf+AhSv4DAAAADdApXZOq1O/k41qqZ5s4FfurPyGzdkeOPli0VSMemVZp0hcbGaZnr0xXYnR4tZ8HR4+kDQAAAGjgWsdH6ldndj2qsfvyC9UsPLTc7Q8OKix2+nRZlq596Vu1io08quc6KMRn+uXpndWjTdwxXaepIGkDAAAAmrDYyDD97Sf9Ku3nnNOvJy3Q0s17te7A/mN6znU79ytzT56Gdm5Rpf5RYSG6dlgnRYaFHNPzNlQkbQAAAAAqZWZ69JL+NXKtBz5cpudnrNOS77Mr7eskFfudduQUqE9q9bc/SO/QvMHvi0chEgAAAAD1lnNOIx6ZpjXbj252r2ebOP3lgj4lx6E+U++jSP5qG9UjAQAAADRY+w8UaWdOQbXHvfldph77bNUhbS1jIpRxz4iaCq3GUD0SAAAAQIMVHRGq6Ijqpy6/OK2z0js0V1HxDxNVYSENbwNykjYAAAAAjVJ4qE/DulRt24T6rOGlmQAAAADQhJC0AQAAAEA9RtIGAAAAAPUYSRsAAAAA1GMkbQAAAP/f3p0H21HWaRz/PhAWAyLBAAOGIRgGgVIMEKkSBEOhuNQIsrighQS3QQW3sowzTo2IUzVBBSmrAEUMAxZgMJARMRJxBRTUELKAQSkgShAJq5rBQRKe+aPfkzTXc25yb8Lpc+55PlWnbp+3l/v2r9/7dr/9vt03IqKHpdEWERERERHRw9Joi4iIiIiI6GFptEVERERERPSwNNoiIiIiIiJ6WBptERERERERPUy2m84Dkh4Gftd0PtqYCDzSdCYGVGLfrMS/OYl9cxL75iT2zUnsm5PYN6sX47+n7Z3bzeiJRluvkrTQ9rSm8zGIEvtmJf7NSeybk9g3J7FvTmLfnMS+Wf0W/wyPjIiIiIiI6GFptEVERERERPSwNNqGd1HTGRhgiX2zEv/mJPbNSeybk9g3J7FvTmLfrL6Kf55pi4iIiIiI6GHpaYuIiIiIiOhhA9dokzRb0ipJd9TSviDpLklLJc2TtGNt3gGSbpF0p6RlkrYdsr1r69uK9iRtK+mXkpaUWH62pF8u6TeS7ijHZquSPqEci6VlvZfWtrWjpLnlmC2X9Mqm9qtfSNpD0o9LvO6U9JGSPuKyL2lrSRdJ+m1Z94Sm9qsfdKhzzpT0gKTF5fPGkj5Z0l9r6V+prZO4j1CH2O8k6QZJd5efE4as8wpJayWdWL7vKem2cjzulHRat/ejHw1T58yple8VkhaX9K0lXVLqmiWSpte2dVJJXyrpekkTG9qtvtGu7NfmfUKSW3GUtG+p65+S9Ikhy64osV8saWG38t+vhrnWOUrSohLHmyXtXdJnSHq49jfx3tq21tbSr21qn6J3DNzwSElHAKuBy2y/tKQdDfzI9hpJZwPYnilpHLAIONn2EkkvBJ6wvbasdzxwInBAa1vRniQB29leXRpmNwMfAXYCvlcWuwK40faFkr4ArLb9WUn7AufbPqps61LgJtsXS9oaGG/7ia7vVB+RtBuwm+1Fkp4P3Aa8GZjECMt+OQltafvfJW0B7GS71/7PSc/oUOecSVW+vzhk2cnAde3qk8R95DrE/vPAY7ZnSfoUMMH2zDJvS+AG4P+A2bbnljpGtp+StD1wB3Co7T80sU/9olOdY/vXtWXOAf5k+yxJHwKm2T5V0i5U54VXUN1c/gOwv+1HyvF70vaZ3d6nftKu7Jf0PYCLgX2Bg0tMdwH2pDonPF6vlyStoDouqWs2wjDXOpcBcgUK6wAACDFJREFUx9peLumDwCG2Z0iaQRXf09tsa7Xt7buZ/+htA9fTZvtG4LEhad+3vaZ8vZXqQhbgaGCp7SVluUdrDbbtgY8D/9mVjPc5V1aXr1uVj23PL/MM/JL1sd8f+GFZ9y5gsqRdJe0AHAF8vcz7WxpsG2b7QduLyvRfgOXAi0ZT9oF3A/9V0p/JyXx47eqcUUrcR6hD7I8FLi3Tl1JdqLacAVwNrKpt42+2nypft2EAz5uj0anOac0vF7dvBa4sSfU6fxXwBDANUPlsV9bZgaoRF8MYpt75EvBJwLVlV9n+FfB0l7I3ZnW61imfHUr6C0gZjlHIyefvvZv1PT/7AJa0oHRrf7K23OeAc4Anu53BfiVpyzIUZhVwg+1f1OZtBZwMXF+SlgDHl3mHUN0FnAS8GHgYuETS7ZIulrRdF3ej75XenAOBXwyZtcGyr/XDJz9X0r8ladcuZHssOr0M95qtZw/R26uU7Z9KOhwS981sV9sPQtWwAHYBkPQi4DjgK0NXUDXUbylwP3B2etlGpkOdczjwkO27y/clwLGSxknaCzgY2MP208AHgGWUHjfKTbsYGUnHAA+0bsZtJAPfVzVE+P3PUdbGlA7XOu8F5ktaSXWtM6u2ygnlXDC39IS2bCtpoaRbJdVvLsWASqOtRtKngTXA5SVpHPAq4J3l53FlXPJUYG/b85rJaX+yvdb2VKrG1yGqPacGXEA1NPKm8n0WMKFUfGcAt1Mdm3HAQcCFtg8E/hf4VLf2od+VHuKrgY/a/nMtfaPKfkmfBPzM9kHALcCzhvjFRrkQmAJMBR6kugFEmf7HUrY/DlxRepcT9+feecDMWo/yOrbvt30AsDdwShrMG69TnQOcxPpeNoDZwEpgIdWx+DmwptzQ+wBVo293YCnwr13I+pgiaTzwaeA/RrjqYaXOeQPwoTLsMobR4VrnY8AbbU8CLgHOLYt/B5hc6pcfsH4UAFTngmnAO4DzJE3p2k5ET0qjrZB0CvDPwDu9/kG/lcBPbT9i+0lgPlWD4ZXAwWWs983APpJ+0v1c96cynPEnwOsBJH0G2JnqIrW1zJ9tn1oqvneV+fdRHZOVtV66uVTHJDagXPxcDVxu+5pa+kjK/qNUvcutGxbfIvEfMdsPlRP7M8DXgENK+lO2Hy3TtwH3UPV6Ju6bz0PleavWc1etoZDTgG+Wev1E4IKhd7dLD9udVL1EsQHD1DnjqEZSzGml2V5j+2O2p9o+FtgRuJvqxga27yn101XAoV3cjbFiCrAXsKSU8UnAIkn/MNxKrV7lMmR1HqWuig2rXeu8AXh57bplDqUMl0cPWsOvv0bVw9xavxX7e8t2DuxKxqNnpdEGSHo9MBM4plygtiwADpA0vpxkXg382vaFtne3PZmqF+K3tqd3O9/9RNLOrSFekp4HvAa4S9Wbkl4HnFQuYFvL71heAADVsIIbS0Puj8D9kl5S5h0FrHuwPdorz4J8HVhu+9xa+kjLvqnuDE4vyyX+o9BqNBTHUb3covV3smWZfjHwT8C9iftmdS1wSpk+Bfg2gO29bE8u9fpc4IO2/0fSpFJnUYaxHgb8pvvZ7i+d6pziNcBdtlfWlh/fGuou6bXAGlcvLXkA2F/SzmXR11I9HxcjYHuZ7V1qZXwlcFA5p7YlaTtVL5GhHJujKXVVtNfhWmc58AJJ+5TF1pXhIeeCY2rpEyRtU6YnUtU7qfMH3LimM9Btkq6kuvCZWMYWf4ZqqMU2wA3VeYZbbZ9m+3FJ5wK/ohrXPd/2d5vJed/bDbi0XJBuAVxl+zpJa4DfAbeU2F9j+yxgP+AySWupKqr31LZ1BnB5adTdC5zaxf3oV4dRjaNfVoacAvwb8GVGXvZnAt+QdB7V84WJ/zA61DnTyzBrAyuAfymLHwGcVf4u1gKn2W69TCBxH6EOsZ8FXCXpPcDvgbdsYDP7AedIMtULMb5oe9lzl+sxo22dY3s+8HaePTQSqmcLF0h6hqqhdjJUvQ2q3px6o6Snqc4XM7qQ/77WruzbbvssYOltW0j1ooxnJH2U6tnBicC8cm4YB1xh+/p224h1Ol3rvA+4upTvx6meIQf4cHnWcA3Vi2NmlPT9gK+W5bcAZrn25tUYTAP3yv+IiIiIiIh+kuGRERERERERPSyNtoiIiIiIiB6WRltEREREREQPS6MtIiIiIiKih6XRFhERERER0cPSaIuIiIiIiOhhabRFRETfkrRa0sskLS6fxyTdV6Z/IGmypL/W5i+W9K6y7gpJNw3Z3mJJHf+BsKTpkq4r0zMkPSzpdkl3S1og6dDndo8jImIQDdw/146IiLGl/LPrqQCS/hu4zvbc8n0ycI/tqR1Wf76kPWzfL2m/Ufz6ObZPL7/rSOAaSUfaXj6KbUVERLSVnraIiBhkVwFvK9MnAVeOdkO2fwxcBLx/M+QrIiJinTTaIiJirJsyZHjk4bV5c4Hjy/SbgO9s4u9aBOy7iduIiIh4lgyPjIiIsW644ZGPAY9LejuwHHhyE3+XNnH9iIiIv5OetoiIGHRzgPPZhKGRNQdSNf4iIiI2m/S0RUTEoJsH7AYsAHYf7UYkvZrqebYjN1O+IiIigDTaIiJi7JsiaXHt+2zbX259sf0X4GwAacSjG98m6VXAeOA+4IS8OTIiIjY32W46DxEREREREdFBnmmLiIiIiIjoYRkeGRERMYSk11GGTNbcZ/u4JvITERGDLcMjIyIiIiIieliGR0ZERERERPSwNNoiIiIiIiJ6WBptERERERERPSyNtoiIiIiIiB6WRltEREREREQP+39U5guGK3TUmAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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ZsyYsUmbQY888gg//elPOeqoozYuO+KIIzjiiCOASoD79Kc/vTHEfeITn2C77bbj5ptvBuCOO+4Y14yMY5ny4ewDP/gDf3rymbzLGJd3H/oC/vGI3fMuQ5IkSRpVX18fV199NVdeeSWvf/3rGxbORvLqV7+aU045hYceeojtt9+e1atXc8UVV/CVr3xls23PPPNMPv7xjw8JZ2N56KGH2HnnnTc+3n33xn0vn/Lh7KunzGfd+pR3GTU76WuLWbGqP+8yJEmS1CY+8qNbue3Bpxu6zRfusCUfOuZFY65z6aWXcuSRRzJ37lxmzpzJ73//e2bOnFn3vu+++27mzZu38fEXvvAFDjroIBYsWMBFF13E6aefzg9/+EMOPfRQent7AXjmmWeGtDn77LM5/vjjAdh///255JJLuPLKKzeuP5a/+Zu/4TWveQ2LFi3isMMO4+STT2a33Xar+3WB4Yw9/mLLvEsYl622mE7f2vV5lyFJkiSNaeHChZxxxhkAnHDCCSxcuJB3vetddW93pGGNACeeeCJnnnkmp59+OhdeeCEnnXTSxufGGtYI8C//8i98/OMf55Of/ORm9z9v3jzuueceLr/8cq644gr2228/rr32Wvbcc8+JvaAqUz6ctZtSsZtVhjNJkiTVaHM9XJNhxYoV/OpXv+KWW24hIhgYGCAieOc73zlp+zzggAN46KGHuOmmm7jmmmu48MILa277qle9inPOOYfrrruupvXL5TILFixgwYIFdHV1cdlllzUknDlbY5spTS/Qt8ZwJkmSpNa1aNEiTjrpJO677z6WLVvGAw88wC677MLy5csnbZ8RwZve9CZOPvlkjj76aHp6esbV/p//+Z/51Kc+tdn1rr76ap544gkA+vv7ue2224acg1YPw1mb6e0pOKxRkiRJLW3hwoW88Y1vHLLsuOOO49/+7d+44447mDVr1sbb97//fQBOO+20jcv233//Ubc9eM7Z4O3zn//8xudOPPFEbrrpJk444YQhbQbPORu8nXXWWZts9+ijj2bbbbfd7Gu7++67Ofjgg9l7773Zd999mT9/Pscdd9xm29UiUmreZBjz589P119/fdP214lOv/AGbnzgSX5z5qF5lyJJkqQWtXTp0oYMs1N9RnofImJJSmn+SOvbc9ZmSkWHNUqSJEmdyAlB2kxv0WGNkiRJ6mw333wzb33r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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def draw_long_tails(df, is_in_event_types, groupby_column_name, count_name, range1=100, range2=1000, range3=3000):\n", " filtered_df = df.loc[df[\"EVENT_VALUE\"].isin(is_in_event_types)]\n", " #print(filtered_df.head())\n", " groupby_df = filtered_df.groupby(groupby_column_name).count().loc[:,[\"EVENT_VALUE\"]].rename(columns={\"EVENT_VALUE\":count_name})\n", " #print(groupby_df.head())\n", " sorted_df = groupby_df.sort_values([count_name], ascending=False)\n", " #print(sorted_df.head())\n", " sorted_df.plot(kind='line', figsize=(15,5))\n", " plt.title(count_name + \" per \" + groupby_column_name)\n", " plt.show()\n", " \n", " sorted_df[:range1].plot(kind='line', figsize=(15,5))\n", " plt.title(count_name + \" per \" + groupby_column_name + \"/ 1 ~\" + str(range1) + \"th\")\n", " plt.show()\n", " \n", " sorted_df[range1:range2].plot(kind='line', figsize=(15,5))\n", " plt.title(count_name + \" per \" + groupby_column_name + \" / \" + str(range1) + \"th ~ \"+ str(range2) + \"th\")\n", " plt.show()\n", "\n", " sorted_df[range2:range3].plot(kind='line', figsize=(15,5))\n", " plt.title(count_name + \" per \" + groupby_column_name + \" / \" + str(range2) + \"th ~ \"+ str(range3) + \"th\")\n", " plt.show()\n", " \n", " sorted_df[range3:].plot(kind='line', figsize=(15,5))\n", " plt.title(count_name + \" per \" + groupby_column_name + \" / \" + str(range3) + \"th ~ \")\n", " plt.show()\n", " \n", " \n", " \n", "#draw_long_tails(df, [\"ORDER\",\"VIEW_DETAIL\",\"ADD_CART\"], \"ITEM_ID\", \"ALL_EVENTS\", 100, 1000, 3000) \n", "draw_long_tails(df, [\"5\",\"4\",\"3\"], \"ITEM_ID\", \"ALL_EVENTS\", 100, 1000, 3000) \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 사용자 메타 데이터 분석" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " USER_ID GENDER AGE OCCUPATION ZIPCODE\n", "0 1 F 1 10 48067\n", "1 2 M 56 16 70072\n", "2 3 M 25 15 55117\n", "3 4 M 45 7 02460\n", "4 5 M 25 20 55455\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
USER_IDAGEOCCUPATION
count6040.0000006040.0000006040.000000
mean3020.50000030.6392388.146854
std1743.74214512.8959626.329511
min1.0000001.0000000.000000
25%1510.75000025.0000003.000000
50%3020.50000025.0000007.000000
75%4530.25000035.00000014.000000
max6040.00000056.00000020.000000
\n", "
" ], "text/plain": [ " USER_ID AGE OCCUPATION\n", "count 6040.000000 6040.000000 6040.000000\n", "mean 3020.500000 30.639238 8.146854\n", "std 1743.742145 12.895962 6.329511\n", "min 1.000000 1.000000 0.000000\n", "25% 1510.750000 25.000000 3.000000\n", "50% 3020.500000 25.000000 7.000000\n", "75% 4530.250000 35.000000 14.000000\n", "max 6040.000000 56.000000 20.000000" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print(user.head())\n", "user.describe()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GENDER_COUNTS
GENDER
F1709
M4331
\n", "
" ], "text/plain": [ " GENDER_COUNTS\n", "GENDER \n", "F 1709\n", "M 4331" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user_GENDER_counts = user.groupby('GENDER').count().loc[:,[\"USER_ID\"]].rename(columns={\"USER_ID\":\"GENDER_COUNTS\"})\n", "user_GENDER_counts" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
AGE_COUNTS
AGE
1222
181103
252096
351193
45550
50496
56380
\n", "
" ], "text/plain": [ " AGE_COUNTS\n", "AGE \n", "1 222\n", "18 1103\n", "25 2096\n", "35 1193\n", "45 550\n", "50 496\n", "56 380" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user_AGE_counts = user.groupby('AGE').count().loc[:,[\"USER_ID\"]].rename(columns={\"USER_ID\":\"AGE_COUNTS\"})\n", "user_AGE_counts" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
OCCUPATION_COUNTS
OCCUPATION
0711
1528
2267
3173
4759
5112
6236
7679
817
992
10195
11129
12388
13142
14302
15144
16241
17502
1870
1972
20281
\n", "
" ], "text/plain": [ " OCCUPATION_COUNTS\n", "OCCUPATION \n", "0 711\n", "1 528\n", "2 267\n", "3 173\n", "4 759\n", "5 112\n", "6 236\n", "7 679\n", "8 17\n", "9 92\n", "10 195\n", "11 129\n", "12 388\n", "13 142\n", "14 302\n", "15 144\n", "16 241\n", "17 502\n", "18 70\n", "19 72\n", "20 281" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user_OCCUPATION_counts = user.groupby('OCCUPATION').count().loc[:,[\"USER_ID\"]].rename(columns={\"USER_ID\":\"OCCUPATION_COUNTS\"})\n", "user_OCCUPATION_counts" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ZIPCODE_COUNTS
ZIPCODE
002311
006061
006811
006931
009181
......
997031
997091
998011
998261
999451
\n", "

3439 rows × 1 columns

\n", "
" ], "text/plain": [ " ZIPCODE_COUNTS\n", "ZIPCODE \n", "00231 1\n", "00606 1\n", "00681 1\n", "00693 1\n", "00918 1\n", "... ...\n", "99703 1\n", "99709 1\n", "99801 1\n", "99826 1\n", "99945 1\n", "\n", "[3439 rows x 1 columns]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user_ZIPCODE_counts = user.groupby('ZIPCODE').count().loc[:,[\"USER_ID\"]].rename(columns={\"USER_ID\":\"ZIPCODE_COUNTS\"})\n", "user_ZIPCODE_counts" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "AGE,GENDER,OCCUPATION은 전체 사용자 수 6023명 대비 비교적낮은 캐터고리 개수(Cardinality)가 존배합니다. \n", "하지만 zipcode 경우 3439개로 너무 높습니다. 따라서 이후 학습시에는 사용하지 않도록 합니다. " ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
USER_IDGENDERAGEOCCUPATION
01F110
12M5616
23M2515
34M457
45M2520
\n", "
" ], "text/plain": [ " USER_ID GENDER AGE OCCUPATION\n", "0 1 F 1 10\n", "1 2 M 56 16\n", "2 3 M 25 15\n", "3 4 M 45 7\n", "4 5 M 25 20" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "user=user.drop(['ZIPCODE'],axis=1)\n", "user.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ITEM 메타 데이터 분석" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ITEM_IDTITLEGENRE
01Toy Story (1995)Animation|Children's|Comedy
12Jumanji (1995)Adventure|Children's|Fantasy
23Grumpier Old Men (1995)Comedy|Romance
34Waiting to Exhale (1995)Comedy|Drama
45Father of the Bride Part II (1995)Comedy
\n", "
" ], "text/plain": [ " ITEM_ID TITLE GENRE\n", "0 1 Toy Story (1995) Animation|Children's|Comedy\n", "1 2 Jumanji (1995) Adventure|Children's|Fantasy\n", "2 3 Grumpier Old Men (1995) Comedy|Romance\n", "3 4 Waiting to Exhale (1995) Comedy|Drama\n", "4 5 Father of the Bride Part II (1995) Comedy" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "item.head()" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "item.ITEM_ID = item.ITEM_ID.astype(str)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GENRE_COUNTS
GENRE
Action65
Action|Adventure25
Action|Adventure|Animation1
Action|Adventure|Animation|Children's|Fantasy1
Action|Adventure|Animation|Horror|Sci-Fi1
......
Sci-Fi|Thriller|War1
Sci-Fi|War1
Thriller101
War12
Western33
\n", "

301 rows × 1 columns

\n", "
" ], "text/plain": [ " GENRE_COUNTS\n", "GENRE \n", "Action 65\n", "Action|Adventure 25\n", "Action|Adventure|Animation 1\n", "Action|Adventure|Animation|Children's|Fantasy 1\n", "Action|Adventure|Animation|Horror|Sci-Fi 1\n", "... ...\n", "Sci-Fi|Thriller|War 1\n", "Sci-Fi|War 1\n", "Thriller 101\n", "War 12\n", "Western 33\n", "\n", "[301 rows x 1 columns]" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "item_genre_counts = item.groupby('GENRE').count().loc[:,[\"ITEM_ID\"]].rename(columns={\"ITEM_ID\":\"GENRE_COUNTS\"})\n", "item_genre_counts " ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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Z/NISZIkSepjJm2SJEmS1MdM2iRJkiSpj/VFnzZJkiRJw7vvvvtYsGAB9957b9ehaBJMnz6dmTNnsvLKK495H5M2SZIkqY8tWLCA1VdfnVmzZpGk63C0FKqKW2+9lQULFrDZZpuNeT+bR0qSJEl97N5772Xdddc1YZsCkrDuuuuOu9bUpE2SJEnqcyZsU8dEPkuTNkmSJEnqY/ZpkyRJkgbIrEO+PanH+80RLx11m5tvvpn999+f888/n7XXXptp06Zx8MEHs/baa7PLLrss0j/rIx/5CC960YtIwgEHHMBHP/rRh8rvuusuDjvsMA477DA+97nPMWPGDP7yl7/wvve9jz322AOA17/+9fzwhz9kzTXXBGDVVVflvPPOGzG273znO7zvfe/j7rvvpqrYaaed+MhHPgLAsccey8c+9jEA1lhjDT72sY/xnOc8B4BZs2Yxb9481ltvPQB+8IMf8JGPfITTTz+dL37xi7zhDW/gkksuYYsttgDgaU97GqeffjqvetWr+POf/8xtt93Gn/70JzbaaCMAvvWtb3HOOedw9NFHk4QHH3yQww8/nF122WXsH8YITNokSZIkjaiq2HXXXdlrr734yle+AsB1113Haaedxtprr81zn/tcTj/99Efs95jHPIZvfOMbvOtd73ooMeq1//778853vpOrr76abbbZht122+2hERWPOuoodtttt1Fju/zyy3nLW97Ct7/9bZ785Cdz//33c+yxxwJw+umn89nPfpZzzz2X9dZbj/nz57Prrrvy05/+lMc97nGjHnvmzJkcfvjhnHTSSYuUX3DBBQB88YtfZN68eXzqU58CmgFjDj/8cObPn8+aa67JXXfdxcKFC0c9z1jYPFKSJEnSiM455xymTZvGm970pofKNt10U9761rcucb+VVlqJfffdl6OPPnqJ282ePZtVV12V22+/fdyxHXnkkbznPe/hyU9+8kPnfPOb3wzAhz/8YY466qiHEsatt96avfbai09/+tNjOvZOO+3EFVdcwVVXXTWm7W+55RZWX311VlttNQBWW221cY0QuSRTtqZtsquNl5WxVEdLkiRJXbniiivYeuutR1z/4x//mK222uqh5VNOOYUnPOEJAOy3335sscUWHHzwwSPuP3/+fGbPns3666//UNlBBx3EBz/4QQCe+tSncuKJJw677+WXX86BBx44YtzbbLPNImVz5szh+OOPHzGWXiussAIHH3wwH/rQh8a0z5ZbbskGG2zAZpttxvbbb88rXvEKXvayl43pXKOZskmbJEmSpMm33377ce655zJt2jSOOuqoEZtHQtOP7HWvex2f/OQnWWWVVRZZd/TRR/O5z32Oa6+9ljPPPHORdWNtHjleVfXQ6I3DjeK4eNmee+7J4Ycfzq9//etRj73iiity5plncuGFFzJ37lz2339/LrroIg477LCljtvmkZIkSZJG9NSnPpX58+c/tPzpT3+auXPnjrm/1jve8Q6OO+447r777kXK999/f6666ipOOukkXve614177rKh2C666KJh122++eaPWDd//nw233xzANZdd91FmmTedtttj+h7t9JKK3HggQfy4Q9/eEzxJGHbbbflXe96F1/72tc45ZRTxvN2RmTSJkmSJGlEL3zhC7n33ns55phjHiq75557xrz/Ouuswytf+UqOO+64Yde/4hWvGFezxV4HHXQQH/rQh/jlL38JwIMPPvjQaJEHH3ww//qv/8qtt94KwCWXXMIXv/jFh/q8Pf/5z+fLX/4yAA888AAnnHACL3jBCx5xjte//vWcffbZoyapN9544yLJ7SWXXMKmm2467vc0HJtHSpIkSQPk0R4TIQnf+ta32H///TnyyCOZMWMGj33sYx+qfVq8T9t73/veRzRtPPDAAx8aZXE473//+9lzzz154xvfCCzapw3gpz/9KdOmTXvEfltssQUf//jH2WOPPbjnnntIwktf2lyfnXfemd/+9rc861nPIgmrr746J5xwAhtuuCEA73vf+/iXf/kXttxyS6qKHXbYgde+9rWPOMe0adN429vextvf/vYlXqf77ruPd77zndx4441Mnz6dGTNm8JnPfGaJ+4xVqmpSDrQ05syZU/PmzZvUYzoQiSRJkqaCK6+8kqc85Sldh6FJNNxnmuSiqpoz3PY2j5QkSZKkPmbzSEmSJEl97Qtf+AKf+MQnFil79rOfPeY51wadSZskSZKkvrb33nuz9957dx1GZ8bUPDLJ/kmuSHJ5kq8mmZ5ksyQXJLk6yUlJprXbPqZdvqZdP2tZvgFJkiRpquuHcSg0OSbyWY6atCXZCHgbMKeqngasCLwa+DBwdFXNBm4H9ml32Qe4vaqeCBzdbidJkiRpAqZPn86tt95q4jYFVBW33nor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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "sorted_item = item_genre_counts.sort_values(\"GENRE_COUNTS\", ascending=False)\n", "sorted_item[:10].plot(kind='bar',figsize=(15,5))\n", "plt.title(\"Top 10 frequent movie genres in item data\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "item_file=data_dir+'/'+WORK_DATE+'/'+'item.csv'\n", "user_file=data_dir+'/'+WORK_DATE+'/'+'user.csv'\n", "inter_file=data_dir+'/'+WORK_DATE+'/'+'intercation.csv'\n", "\n", "item.to_csv(item_file,index=False)\n", "user.to_csv(user_file,index=False)\n", "df.to_csv(inter_file,index=False)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Stored 'WORK_DATE' (str)\n", "Stored 'data_dir' (str)\n", "Stored 'account_id' (str)\n", "Stored 'BUCKET_NAME' (str)\n", "Stored 'PREFIX' (str)\n", "Stored 'item_file' (str)\n", "Stored 'user_file' (str)\n", "Stored 'inter_file' (str)\n" ] } ], "source": [ "%store WORK_DATE\n", "%store data_dir\n", "%store account_id \n", "%store BUCKET_NAME \n", "%store PREFIX\n", "%store item_file\n", "%store user_file\n", "%store inter_file" ] } ], "metadata": { "kernelspec": { "display_name": "conda_python3", "language": "python", "name": "conda_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.6.10" } }, "nbformat": 4, "nbformat_minor": 4 }