{ "cells": [ { "cell_type": "code", "execution_count": 9, "id": "bdc74b99-537d-44cc-85e3-61c257b5ee76", "metadata": {}, "outputs": [], "source": [ "# 패키지 로딩하기(Package Loading)\n", "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 5, "id": "d49dde9f-3254-4d9c-a96e-685febd0aa26", "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", "
caratcutcolorclaritydepthtablepricexyz
00.23IdealESI261.555.03263.953.982.43
10.21PremiumESI159.861.03263.893.842.31
20.23GoodEVS156.965.03274.054.072.31
30.29PremiumIVS262.458.03344.204.232.63
40.31GoodJSI263.358.03354.344.352.75
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43\n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31\n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31\n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63\n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 데이터 읽어오기 : xlsx\n", "file_path = 'D:/KMA/diamonds.xlsx'\n", "sheet_name = \"data\"\n", "diamonds = pd.read_excel(io = file_path, \n", " sheet_name = sheet_name, # sheet_name = 0\n", " header = 0)\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 6, "id": "4d156137-0091-4663-8414-67e2922798c1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 53940 entries, 0 to 53939\n", "Data columns (total 10 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 carat 53940 non-null float64\n", " 1 cut 53940 non-null object \n", " 2 color 53940 non-null object \n", " 3 clarity 53940 non-null object \n", " 4 depth 53940 non-null float64\n", " 5 table 53940 non-null float64\n", " 6 price 53940 non-null int64 \n", " 7 x 53940 non-null float64\n", " 8 y 53940 non-null float64\n", " 9 z 53940 non-null float64\n", "dtypes: float64(6), int64(1), object(3)\n", "memory usage: 4.1+ MB\n" ] } ], "source": [ "# 데이터의 정보 보기\n", "diamonds.info()" ] }, { "cell_type": "code", "execution_count": 7, "id": "6a65e808-8faf-44d2-9361-2e02f0d1980d", "metadata": {}, "outputs": [], "source": [ "# 데이터의 종류\n", "# (1) 범주형 데이터(Categorical Data) : 문자, 숫자(숫자의 의미가 없음)\n", "# (2) 수치형 데이터(Numerical Data) : 숫자(숫자의 의미가 있음)" ] }, { "cell_type": "markdown", "id": "030b6598-aceb-4ab4-8175-f1c4326b66fe", "metadata": {}, "source": [ "###
1. 범주형 데이터 분석 : 1개의 열
\n", "- 표 = 빈도표 : 빈도, 백분율\n", "- 데이터 시각화 : 막대그래프, 원그래프(X) " ] }, { "cell_type": "code", "execution_count": 8, "id": "0cd29256-06f9-44ec-b048-f4e55691f398", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "'cut' 열의 빈도:\n", "cut\n", "Ideal 21551\n", "Premium 13791\n", "Very Good 12082\n", "Good 4906\n", "Fair 1610\n", "Name: count, dtype: int64\n", "\n", "'cut' 열의 백분율:\n", "cut\n", "Ideal 39.953652\n", "Premium 25.567297\n", "Very Good 22.398962\n", "Good 9.095291\n", "Fair 2.984798\n", "Name: proportion, dtype: float64\n" ] } ], "source": [ "# (1) 표 = 빈도표(Frequency Table)\n", "# 빈도(Frequency)\n", "# 백분율(Percent) : 0 ~ 100 사이의 값\n", "\n", "cut_counts = diamonds['cut'].value_counts()\n", "cut_percentages = diamonds['cut'].value_counts(normalize = True) * 100\n", "\n", "print(\"\\n'cut' 열의 빈도:\")\n", "print(cut_counts)\n", "print(\"\\n'cut' 열의 백분율:\")\n", "print(cut_percentages)" ] }, { "cell_type": "code", "execution_count": 12, "id": "dd95fa48-7603-4305-8f30-afe978c3b3f7", "metadata": {}, "outputs": [ { "data": { "image/png": "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UFCQevXqpa1bt+Z23wAAAAAgX8tRIAsPD9eECRP0559/avr06YqNjVWdOnX06KOPasKECTpz5kxu9xMAAAAA8p27mtTD2dlZTz/9tL7++muNGTNGhw8f1uDBg1WsWDF16tRJMTExudVPAAAAAMh37iqQbd++Xb1791bRokU1YcIEDR48WIcPH9aaNWv0559/qk2bNrnVTwAA7pmffvpJrVq1UnBwsGw2m5YsWWKuS01N1RtvvKEKFSrIy8tLwcHB6tSpk06dOuXQRnJysvr27St/f395eXmpdevWOnnypEPNgQMH1KZNG/n7+8vHx0e1a9fW2rVrzfW7du3SCy+8oJCQEHl4eCgsLEwfffTRPT12AIC1chTIJkyYoAoVKqhWrVo6deqUvvrqKx07dkwjRoxQyZIlVbt2bU2ZMkU7d+7M7f4CAJDrkpKSVLFiRU2cODHTukuXLmnnzp165513tHPnTi1atEgHDhxQ69atHeoGDBigxYsXa/78+dqwYYMSExPVsmVLpaWlmTUtWrTQ1atXtWbNGu3YsUOVKlVSy5YtFRsbK0nasWOHihQpotmzZ+v333/XW2+9pWHDhmXZLwBA/mAzDMO4043KlCmjrl276uWXX1ZQUFCWNSkpKZo3b546d+581538u7hw4YLsdrsSEhLk4+NjdXdUYuhyq7uAXHZ0dAtL9su5lP9YdS79HdhsNi1evFht27a9ac22bdv0xBNP6NixYypevLgSEhJUpEgRzZo1Sx06dJAknTp1SiEhIVqxYoWaNGmiv/76S0WKFNFPP/2kf/zjH5KkixcvysfHRz/++KMaNGiQ5b769Omjffv2ac2aNbl+rACAeye72cA5J40fPHjwtjWurq4PVBgDADw4EhISZLPZVKhQIUnXRrZSU1PVuHFjsyY4OFjh4eHauHGjmjRposKFCyssLExfffWVqlSpIjc3N02ZMkWBgYGqWrXqLffl5+d3rw8JAGCRHAWy6dOnq2DBgnruueccln/zzTe6dOkSQQwAkG9duXJFQ4cOVceOHc3/8YyNjZWrq6t8fX0dagMDA83LEW02m1atWqU2bdrI29tbBQoUUGBgoKKiosxgd6NNmzbp66+/1vLljFIDQH6Vo3vIRo8eLX9//0zLAwICNHLkyLvuFAAAeVFqaqqef/55paena9KkSbetNwxDNpvN/HPv3r0V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zHL94cOHVadOHT3yyCNat26ddu3apXfeeUfu7u5mzaVLl9S0aVO9+eabN91Px44dFR0draioKEVFRSk6OloRERG5fjz4P85WdwAAAADArTVr1kzNmjW76fq33npLzZs319ixY81lpUqVcqgZMGCAJGndunVZtrFv3z5FRUVp8+bNql69uiTpiy++UM2aNbV//36VK1fu7g4CWWKEDAAAAPgbS09P1/Lly1W2bFk1adJEAQEBql69epaXNd7Kpk2bZLfbzTAmSTVq1JDdbtfGjRtzudfIQCADAAAA/sbi4uKUmJio0aNHq2nTplq5cqWefvpptWvXTuvXr892O7GxsQoICMi0PCAgQLGxsbnZZVyHSxYBAACAv7H09HRJUps2bfTaa69JkipVqqSNGzdq8uTJevLJJ7Pdls1my7TMMIwslyN3MEIGAAAA/I35+/vL2dlZ5cuXd1geFhbmMMvi7QQFBen06dOZlp85c0aBgYF33U9kjUAGAAAA/I25urrq8ccf1/79+x2WHzhwQKGhodlup2bNmkpISNDWrVvNZVu2bFFCQoJq1aqVa/2FIy5ZBAAAAPK4xMREHTp0yHx/5MgRRUdHy8/PT8WLF9frr7+uDh06qG7duqpfv76ioqL03XffOcyoGBsbq9jYWLOd3377Td7e3ipevLj8/PwUFhampk2bqkePHpoyZYokqWfPnmrZsiUzLN5DjJABAAAAedz27dtVuXJlVa5cWZI0cOBAVa5cWf/6178kSU8//bQmT56ssWPHqkKFCvryyy+1cOFC1alTx2xj8uTJqly5snr06CFJqlu3ripXrqylS5eaNXPmzFGFChXUuHFjNW7cWI899phmzZp1H4/0wcMIGQAAAJDH1atXT4Zh3LKma9eu6tq1603XR0ZGKjIy8pZt+Pn5afbs2TnpInKIETIAAAAAsAiBDAAAAAAswiWLAAAAeCCVGLrc6i4glx0d3cLqLtwxRsgAAAAAwCIEMgAAAACwCIEMAAAAACxCIAMAAAAAixDIAAAAAMAiBDIAAAAAsAiBDAAAAAAsQiADAAAAAIsQyAAAAADAIgQyAAAAALAIgQwAAAAALEIgAwAAAACLEMgAAAAAwCIEMgAAAACwCIEMAAAAACxCIAMAAAAAixDIAAAAAMAiBDIAAAAAsAiBDAAAAAAsQiADAAAAAIsQyAAAAADA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4481f/58RUVFad26dWrXrp1WrFihFStWaNasWfr888/13//+9672g2ucnZ3VqVMnzZgxw+GXiG+++UYpKSl68cUX9dtvv6lJkyZq166ddu/erQULFmjDhg2Zwta4ceMUHh6uHTt26J133lH37t01d+5cJScnmzVz5sxRcHCw6tevn2V/5s2bp0aNGqly5cpZrrfZbOafhwwZooULF2rmzJnauXOnGdwyzts///xTzZs31+OPP65du3bps88+09SpUzVixAizjex8b+L+Onv2rFauXKk+ffrIy8sryxqbzSbDMNS2bVudO3dO69ev16pVq3T48GF16NDBrFu8eLH69++vQYMGac+ePerVq5defvllrV27VpKUnp6udu3aycnJSZs3b9bkyZP1xhtv3JfjRN5UoEABffzxx9qzZ49mzpypNWvWaMiQIbfcJqufq7hPDCAP6Ny5s9GmTRvj4sWLhqurqzF//nxz3dmzZw0PDw+jf//+hmEYxqFDhwybzWb8+eefDm00aNDAGDZs2E330bx5c2PQoEHm+yeffNJsE3lPxjmRYcuWLUbhwoWN9u3bG8OHDzdcXFyMuLg4c/3q1asNHx8f48qVKw7tPPzww8aUKVMMwzCM4cOHG56ensaFCxfM9U2aNDFKlChhpKWlmcvKlStnjBo1ynwvyVi8eLFhGIaxdu1aQ5IRHx9vrv/1118NScaRI0cMwzCM6dOnG5KMQ4cOmTW9evUyPD09jYsXLzrsu1evXnf+4SBL+/btMyQZa9asMZfVrVvXeOGFFwzDMIyIiAijZ8+eDtv8/PPPRoECBYzLly8bhmEYoaGhRtu2bR1qrly5Yvj5+RkLFiwwl1WqVMmIjIy8aV/c3d2Nfv36OSxr27at4eXlZXh5eRk1a9Y0DMMwEhMTDRcXF2POnDlmXUpKihEcHGyMHTvWMAzDePPNN41y5coZ6enpZs2nn35qFCxY0EhLS8vW9ybuv82bNxuSjEWLFjksL1y4sHkeDBkyxFi5cqXh5ORkHD9+3Kz5/fffDUnG1q1bDcMwjFq1ahk9evRwaOe5554zmjdvbhiGYfzwww+Gk5OTceLECXP9999/7/Ddhfypc+fOhpOTk3lOeXl5Gc8++2ymuq+//tooXLiw+X769OmG3W4332f1cxX3D/eQIU85fPiwUlJSVLNmTXOZn5+fypUrZ77f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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# (2) 데이터 시각화(Data Visualization) : 막대그래프(Bar Chart)\n", "plt.figure(figsize = (10, 6))\n", "bars = plt.bar(cut_counts.index, cut_counts.values)\n", "plt.xlabel('Cut')\n", "plt.ylabel('Frequency')\n", "plt.title('Frequency of Cut in Diamonds Dataset')\n", "for bar in bars:\n", " plt.text(bar.get_x() + bar.get_width() / 2, \n", " bar.get_height(), \n", " str(bar.get_height()), \n", " ha = 'center', \n", " va = 'bottom')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "8f84e037-5303-495f-a636-06c93d385dc0", "metadata": {}, "source": [ "###
2. 수치형 데이터의 분석 : 1개의 열
\n", "- 표 = 빈도표 : 구간의 빈도, 백분율\n", "- 데이터 시각화 : 히스토그램, 상자그림, 바이올린\n", "- 기술통계량 = 요약통계량" ] }, { "cell_type": "code", "execution_count": 13, "id": "9b7ac9f0-c55f-4c09-a1b0-9bee5024675b", "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", "
caratcutcolorclaritydepthtablepricexyzprice_group
00.23IdealESI261.555.03263.953.982.43Very Cheap
10.21PremiumESI159.861.03263.893.842.31Very Cheap
20.23GoodEVS156.965.03274.054.072.31Very Cheap
30.29PremiumIVS262.458.03344.204.232.63Very Cheap
40.31GoodJSI263.358.03354.344.352.75Very Cheap
\n", "
" ], "text/plain": [ " carat cut color clarity depth table price x y z \\\n", "0 0.23 Ideal E SI2 61.5 55.0 326 3.95 3.98 2.43 \n", "1 0.21 Premium E SI1 59.8 61.0 326 3.89 3.84 2.31 \n", "2 0.23 Good E VS1 56.9 65.0 327 4.05 4.07 2.31 \n", "3 0.29 Premium I VS2 62.4 58.0 334 4.20 4.23 2.63 \n", "4 0.31 Good J SI2 63.3 58.0 335 4.34 4.35 2.75 \n", "\n", " price_group \n", "0 Very Cheap \n", "1 Very Cheap \n", "2 Very Cheap \n", "3 Very Cheap \n", "4 Very Cheap " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# (1) 표 = 빈도표 : 구간의 빈도, 백분율\n", "# 구간의 정보를 가지는 새로운 열을 생성하기 : Feature Engineering\n", "\n", "# price : 수치형 데이터\n", "# price_group : 범주형 데이터 : 구간의 정보를 가지고 있음\n", "\n", "# price price_group\n", "# 0 이상 ~ 5000 미만 Very Cheap\n", "# 5000 이상 ~ 10000 미만 Cheap\n", "# 10000 이상 ~ 15000 미만 Expensive\n", "# 15000 이상 ~ 20000 미만 Very Expensive\n", "\n", "price_bins = [0, 5000, 10000, 15000, 20000]\n", "price_labels = ['Very Cheap', 'Cheap', 'Expensive', 'Very Expensive']\n", "diamonds['price_group'] = pd.cut(diamonds['price'], \n", " bins = price_bins, \n", " labels = price_labels, \n", " right = False)\n", "diamonds.head()" ] }, { "cell_type": "code", "execution_count": 14, "id": "7fd49959-ce85-40de-af57-0c4eae77c34c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "'price_group' 열의 빈도:\n", "price_group\n", "Very Cheap 39213\n", "Cheap 9504\n", "Expensive 3567\n", "Very Expensive 1656\n", "Name: count, dtype: int64\n", "\n", "'price_group' 열의 백분율:\n", "price_group\n", "Very Cheap 72.697442\n", "Cheap 17.619577\n", "Expensive 6.612903\n", "Very Expensive 3.070078\n", "Name: proportion, dtype: float64\n" ] } ], "source": [ "price_group_counts = diamonds['price_group'].value_counts()\n", "price_group_percentages = diamonds['price_group'].value_counts(normalize = True) * 100\n", "\n", "# 빈도와 백분율 출력\n", "print(\"\\n'price_group' 열의 빈도:\")\n", "print(price_group_counts)\n", "print(\"\\n'price_group' 열의 백분율:\")\n", "print(price_group_percentages)" ] }, { "cell_type": "code", "execution_count": 16, "id": "366e5386-25ed-4a2d-9331-233b33a848d1", "metadata": {}, "outputs": [ { "data": { "image/png": "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iO68807df//9On36dLmf/9vf/qYnnnhCQ4YMUWJiohwOh3bu3On0C/KKFSt0991366abbtKyZcvk5+enRYsWqX///vr444/Vt2/fKvdb+qNKMnToUI0ZM0Y//PCDpk2bJkl6/fXX3dpekcGDB+vll1/WF198oZ49e5bbbt++fRo/frxatGghSdq8ebMmTZqk33//XX/729+c2n733XeaNm2apk+fLofDoVmzZmnIkCGaNm2aPv30U82ePVs2m02PPPKIEhIStHfvXgUEBEhy7XqoynkxDEM333yzNm7cqL/97W+66qqr9NVXX2ngwIGljnHkyJHavn27nnrqKbVr104nTpzQ9u3bdezYMfdPsKQbbrhBPj4+ToF23759at++ve68804FBwcrPT1dCxcu1FVXXaUff/xRoaGhuvHGGzV79mw99thjeumll9SpUydJMv9B4Ndff1X37t01duxYORwO7du3T/PmzdO1116rH374QX5+fi4flyvXbWXfWwBqEAMAaqglS5YYkip8tWzZ0ukzLVu2NEaNGmW+T0hIMK688soK9/Pss88akoy9e/c6LU9NTTUkGQ888IDT8q+//tqQZDz22GOGYRjG8ePHDbvdbgwdOtSp3aZNmwxJRq9evcxl69atMyQZPXv2rPT4z58/b+Tn5xt9+/Y1brnlFnP53r17DUnGFVdcYRQUFJjL58+fb0gyBg8e7LSdyZMnG5KM7OzscvdVUFBgREVFGR07dnTa5qlTp4ywsDCjR48epY7hH//4R6XHUNT27bffNvLz840zZ84YX3zxhdGmTRvDx8fH+O677wzDMIyZM2cakoy//e1vpbZRtK7Ib7/9Zvj4+BjDhw8vd7+nT582goODjUGDBpU6ziuuuMK4+uqrK+x30TlesmRJqX7MnTvXqe0DDzxg+Pv7G4WFhRVuc9SoUUZgYGC564uut7/85S/msl69ejldPyUVFBQY+fn5xuOPP26EhIQ49aFly5ZGQECAcfDgQXPZjh07DElGZGSkcfr0aXP5e++9Z0gy3n//fXO7rl4Prp6X//znP4Yk44UXXnBq99RTTxmSjJkzZ5rLGjdubEyePLnc4y5P0XfG1q1by20THh5uxMTElLv+/PnzRk5OjhEYGOjU13/84x+GJGPdunUV9qGwsNDIz8839u/fb0gy/vWvf5nrKjuuqly35X1vAahZGEYIoMZ74403tHXr1lKvkv+yXparr75a3333nR544AF9/PHHOnnypMv7XbdunSSVmt3w6quvVkxMjDmsZ/PmzcrLy9Mdd9zh1K5bt26lZksscuutt5a5/JVXXlGnTp3k7+8vX19f+fn56dNPPy1z5r4bbrhBDRr892s8JiZGkkpN6lC0PC0trZwjlXbv3q1Dhw5p5MiRTtts3Lixbr31Vm3evFlnzpwp9/OVGTp0qPz8/NSoUSP17NlTBQUF+uc//6nLL7/cqV1556W4lJQUFRQUaMKECeW22bhxo44fP65Ro0bp/Pnz5quwsFADBgzQ1q1bK6ycVWTw4MFO7y+//HKdPXv2gma6k1yr1ErSZ599puuvv14Oh0M+Pj7y8/PT3/72Nx07dqxUH6688kpdfPHF5vuiayEuLk6NGjUqtbyoMujO9VDZeSn6+zR8+HCndsOGDSt1jFdffbWWLl2qJ598Ups3b1Z+fr4LZ8Y1Jc9zTk6OHnnkEbVp00a+vr7y9fVV48aNdfr0aZdnzDxy5Ijuv/9+RUdHm39vW7ZsKUlO26jsuKy8bgF4B8MIAdR4MTExTje7F3E4HDpw4ECFn502bZoCAwO1YsUKvfLKK/Lx8VHPnj31zDPPlLnN4oqG9hQN0SkuKirK/MW0qF1ZN9yXdxN+WducN2+eEhMTdf/99+uJJ55QaGiofHx8NGPGjDJ/6QsODnZ637BhwwqXnz17tsy+FD+G8o61sLBQWVlZTr+gV8UzzzyjPn36yMfHR6GhoYqOji6zXVn7L6louGVFk2YcPnxYknTbbbeV2+b48eMKDAysdH8lhYSEOL232+2SpNzc3Cpvq7ii6ykqKqrcNlu2bFF8fLzi4uL06quvqnnz5mrYsKHee+89PfXUU6X64O414s71UNl5OXbsmHx9fUu1i4iIKLWPt99+W08++aRee+01zZgxQ40bN9Ytt9yiuXPnltneVadPn9axY8fUsWNHc9mwYcP06aefasaMGbrqqqvUpEkT2Ww23XDDDS79TAsLCxUfH69Dhw5pxowZ6tixowIDA1VYWKhu3bo5baOy47LyugXgHYQtAHWar6+vpkyZoilTpujEiRNau3atHnvsMfXv318HDhyoMDwU/VKYnp5e6hf7Q4cOmfdrFbUr+kWpuIyMjDKrW2VN+LBixQrFxcVp4cKFTstPnTpV8UF6QPFjLenQoUNq0KCBmjVr5vb2//SnP1UabqWyz0tJRfd5HTx4sNzQVvSzWbBgQbmzCta02eiK7qmraMKRVatWyc/PTx988IH8/f3N5e+9955H+2LF9RASEqLz58/r2LFjToErIyOjVNvQ0FDNnz9f8+fPV1pamt5//309+uijOnLkiJKTk6t4NP/14YcfqqCgwDzH2dnZ+uCDDzRz5kw9+uijZru8vDwdP37cpW3u3LlT3333nZYuXapRo0aZy4vuS6zKcdXG6xZAxRhGCKDeaNq0qW677TZNmDBBx48fN5+XU15lok+fPpL+CEHFbd26VampqeYEC127dpXdbtfbb7/t1G7z5s1OEzZUxmazmX0p8v3331fLM6bat2+viy++WCtXrnQaZnX69Gm9++675ox0NUF8fLx8fHxKhdLirrnmGjVt2lQ//vijunTpUuarqJpTE6SkpOi1115Tjx49KhweW/SIAB8fH3NZbm6uli9f7tH+WHE99O7dW5L05ptvOi1fuXJlhZ9r0aKFJk6cqH79+mn79u1V2mdxaWlpmjp1qhwOh8aPHy/pj/NpGEapv3evvfaaCgoKnJaV9z1R9A8EJbdRfMbDspR1XFW5bj1VUQVgLSpbAOq0QYMGmc/cueiii7R//37Nnz9fLVu2VNu2bSXJHFL0wgsvaNSoUfLz81P79u3Vvn173XfffVqwYIEaNGiggQMHmrMRRkdH669//aukP4ZkTZkyRXPmzFGzZs10yy236ODBg5o1a5YiIyOd7nmpSEJCgp544gnNnDlTvXr10u7du/X444+rdevWZc7G6EkNGjTQ3LlzNXz4cCUkJGj8+PHKy8vTs88+qxMnTujpp5+2dP9V0apVKz322GN64oknlJuba043/uOPPyozM1OzZs1S48aNtWDBAo0aNUrHjx/XbbfdZs74+N133+no0aMVhjWrFBYWms/RysvLU1pamv7zn//onXfeUUxMjN55550KP3/jjTdq3rx5GjZsmO677z4dO3ZM/+///b9Sv+hfKCuuh/j4ePXs2VMPP/ywTp8+rS5duuirr74qFRSzs7PVu3dvDRs2TB06dFBQUJC2bt2q5ORkDRkyxKV97dy507zf6ciRI9qwYYOWLFkiHx8frVmzxqyONmnSRD179tSzzz6r0NBQtWrVSuvXr9fixYvVtGlTp23GxsZKkv7+978rKChI/v7+at26tTp06KBLLrlEjz76qAzDUHBwsP79738rJSWlysdVleu2vO+toKCgqv1gAFiKsAWgTuvdu7feffddvfbaazp58qQiIiLUr18/zZgxw5yOOS4uTtOmTdOyZcv06quvqrCwUOvWrTOH9F1yySVavHixXnrpJTkcDg0YMEBz5sxxGgr11FNPKTAwUK+88oqWLFmiDh06aOHChZo+fXqpX9rKM336dJ05c0aLFy/W3Llzdemll+qVV17RmjVrquX5OcOGDVNgYKDmzJmjoUOHysfHR926ddO6devUo0cPy/dfFY8//rjatm2rBQsWaPjw4fL19VXbtm314IMPmm1GjBihFi1aaO7cuRo/frxOnTqlsLAwXXnllaUmPakuubm56t69uyQpICBAF110ka644gq9+uqrGj58eKXVtj59+uj111/XM888o0GDBuniiy/WuHHjFBYWpjFjxni0r56+Hho0aKD3339fU6ZM0dy5c3Xu3Dldc801+uijj9ShQweznb+/v7p27arly5dr3759ys/PV4sWLfTII4/o4Ycfdmlf99xzj6Q/7kVr2rSpYmJi9Mgjj2js2LGlHjewcuVKPfTQQ3r44Yd1/vx5XXPNNUpJSSk10Uzr1q01f/58vfDCC4qLi1NBQYGWLFmi0aNH69///rceeughjR8/Xr6+vrr++uu1du1ac3r+qhyXq9dtRd9bAGoOm+Hq9EcAgCrZu3evOnTooJkzZ+qxxx7zdncAAEA1I2wBgAd89913euutt9SjRw81adJEu3fv1ty5c3Xy5Ent3LmTm9oBAKiHGEYIAB4QGBiob775RosXL9aJEyfkcDgUFxenp556iqAFAEA9RWULAAAAACzA1O8AAAAAYAHCFgAAAABYgLAFAAAAABZgggwXFRYW6tChQwoKCjKfFg8AAACg/jEMQ6dOnVJUVJQaNCi/fkXYctGhQ4cUHR3t7W4AAAAAqCEOHDig5s2bl7uesOWioKAgSX+c0CZNmni5NwAAAAC85eTJk4qOjjYzQnkIWy4qGjrYpEkTwhYAAACASm8vYoIMAAAAALAAYQsAAAAALEDYAgAAAAALELYAAAAAwAKELQAAAACwAGELAAAAACxA2AIAAAAACxC2AAAAAMAChC0AAAAAsABhCwAAAAAsQNgCAAAAAAsQtgAAAADAAoQt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NTKXDx06VMnJyR7rHAAAAADUVm7ds/XJJ5/o448/VvPmzZ2Wt23bVvv37/dIxwAAAACgNnOrsnX69GmnilaRzMxM2e32C+4UAAAAANR2boWtnj176o033jDf22w2FRYW6tlnn1Xv3r091jkAAAAAqK3cGkb47LPPKi4uTt98843OnTunhx9+WLt27dLx48f11VdfebqPAAAAAFDruFXZuvTSS/X999/r6quvVr9+/XT69GkNGTJE3377rS655BJP9xEAAAAAap0qV7by8/MVHx+vRYsWadasWVb0CQAAAABqvSpXtvz8/LRz507ZbDYr+gMAAAAAdYJbwwjvvvtuLV682NN9AQAAAIA6w60JMs6dO6fXXntNKSkp6tKliwIDA53Wz5s3zyOdAwAAAIDaqkph67ffflOrVq20c+dOderUSZL0888/O7VheCEAAAAAVDFstW3bVunp6Vq3bp0kaejQofqf//kfhYeHW9I5AAAAAKitqnTPlmEYTu//85//6PTp0x7tEAAAAADUBW5NkFGkZPgCAAAAAPyhSmHLZrOVuieLe7QAAAAAoLQq3bNlGIZGjx4tu90uSTp79qzuv//+UrMRrl692nM9BAAAAIBaqEpha9SoUU7vR4wY4dHOAAAAAEBdUaWwtWTJEqv6AQAAAAB1ygVNkAEAAAAAKBthCwAAAAAsQNgCAAAAAAsQtgAAAADAAoQtAAAAALAAYQsAAAAALEDYAgAAAAALELYAAAAAwAKELQAAAACwAGELAAAAACxA2AIAAAAACxC2AAAAAMAChC0AAAAAsABhCwAAAAAsQNgCAAAAAAsQtgAAAADAAoQtAAAAALAAYQsAAAAALEDYAgAAAAALELYAAAAAwAKELQAAAACwAGELAAAAACxA2AIAAAAACxC2AAAAAMAChC0AAAAAsIBXw9YXX3yhQYMGKSoqSjabTe+9957TesMwlJSUpKioKAUEBCguLk67du1yapOXl6dJkyYpNDRUgYGBGjx4sA4ePOjUJisrSyNHjpTD4ZDD4dDIkSN14sQJi48OAAAAQH3m1bB1+vRpXXHFFXrxxRfLXD937lzNmzdPL774orZu3aqIiAj169dPp06dMttMnjxZa9as0apVq/Tll18qJydHCQkJKigoMNsMGzZMO3bsUHJyspKTk7Vjxw6NHDnS8uMDAAAAUH/5enPnAwcO1MCBA8tcZxiG5s+fr+nTp2vIkCGSpGXLlik8PFwrV67U+PHjlZ2drcWLF2v58uW6/vrrJUkrVqxQdHS01q5dq/79+ys1NVXJycnavHmzunbtKkl69dVX1b17d+3evVvt27evnoMFAAAAUK/U2Hu29u7dq4yMDMXHx5vL7Ha7evXqpY0bN0qStm3bpvz8fKc2UVFRio2NNdts2rRJDofDDFqS1K1bNzkcDrNNWfLy8nTy5EmnFwAAAAC4qsaGrYyMDElSeHi40/Lw8HBzXUZGhho2bKhmzZpV2CYsLKzU9sPCwsw2ZZkzZ455j5fD4VB0dPQFHU9dlJqaqu3btystLc3bXQEAAABqHK8OI3SFzWZzem8YRqllJZVsU1b7yrYzbdo0TZkyxXx/8uRJAtf/KsjJkmw2jRgxQpLkH9BIu39KVYsWLaq0nbS0NGVmZprvQ0NDq7wNAAAAoKaqsWErIiJC0h+VqcjISHP5kSNHzGpXRESEzp07p6ysLKfq1pEjR9SjRw+zzeHDh0tt/+jRo6WqZsXZ7XbZ7XaPHEtdU5iXIxmGQhISJUnHPnhOmZmZVQpKaWlpat8hRmdzz5jL3A1tAAAAQE1UY4cRtm7dWhEREUpJSTGXnTt3TuvXrzeDVOfOneXn5+fUJj09XTt37jTbdO/eXdnZ2dqyZYvZ5uuvv1Z2drbZBu7xC4mWX4h71b7MzEydzT2jkIRERYyar5CERJ3NPeNU6QIAAABqM69WtnJycvTLL7+Y7/fu3asdO3YoODhYLVq00OTJkzV79my1bdtWbdu21ezZs9WoUSMNGzZMkuRwODRmzBglJiYqJCREwcHBmjp1qjp27GjOThgTE6MBAwZo3LhxWrRokSTpvvvuU0JCAjMR1gB+IdGyR7TxdjcAAAAAj/Nq2Prmm2/Uu3dv833RPVKjRo3S0qVL9fDDDys3N1cPPPCAsrKy1LVrV33yyScKCgoyP/P888/L19dXd9xxh3Jzc9W3b18tXbpUPj4+Zps333xTDz74oDlr4eDBg8t9thcAAAAAeIJXw1ZcXJwMwyh3vc1mU1JSkpKSkspt4+/vrwULFmjBggXltgkODtaKFSsupKsAAAAAUCU19p4tAAAAAKjNCFsAAAAAYAHCFgAAAABYgLAFAAAAABYgbAEAAACABQhbAAAAAGABwhYAAAAAWICwBQAAAAAWIGwBAAAAgAUIWwAAAABgAV9vdwAoS1pamjIzM833oaGhatGihRd7BAAAAFQNYQs1Tlpamtp3iNHZ3DPmMv+ARtr9UyqBCwAAALUGYQs1TmZmps7mnlFIQqL8QqKVf+yAjn3wnDIzMwlbAAAAqDUIW6ix/EKiZY9o4+1uAAAAAG5hggwAAAAAsACVLdQoqamp3u4CAAAA4BGELdQIBTlZks2mESNGeLsrAAAAgEcwjBA1QmFejmQYCklIlOM6AhcAAABqPypb8Ijiw/8u5JlYfiHRnuoSAAAA4FWELVyQsob/8UwsAAAAgLCFC1R8+B/PxAIAAAD+i7AFj+CZWAAAAIAzJsgAAAAAAAtQ2YIliibMuJDJMgAAAIDajLAFjyo5YQaTZQAAAKC+YhghPKr4hBkhCYk6m3tGmZmZ3u4WAAAAUO2obMESPC8LAAAA9R2VLQAAAACwAGELAAAAACxA2AIAAAAACxC2AAAAAMAChC0AAAAAsABhCwAAAAAsQNgCAAAAAAsQtgAAAADAAoQtAAAAALAAYQsAAAAALEDYAgAAAAALELYAAAAAwAKELQAAAACwgK+3OwC4KjU1VZIUGhqqFi1auPSZtLQ0ZWZmmu+r8lkAAADgQhC2UOMV5GRJNptGjBghSfIPaKTdP6VWGprS0tLUvkOMzuaeMZe5+lkAAADgQjGMEDVeYV6OZBgKSUhUSEKizuaecapWlSczM1Nnc88oJCFREaPmV+mzAAAAwIWisoVqVTSsr2hIYFX4hUS7tU+/kGjZI9q49VkAAADAXYQtVJuyhvV5gzv3fgEAAABVRdhCtSk+rO989mFlb1hRrft3994vAAAAwB3cs4Vq5xcSLV9HeLXv1917vwAAAAB3UNlCvePuvV8AAABAVVDZAgAAAAALELYAAAAAwAKELQAAAACwAGELAAAAACxA2AIAAAAACxC2AAAAAMACTP2OWik1NdX8c2hoKA8mBgAAQI1D2EKtUpCTJdlsGjFihLnMP6CRdv+USuACAABAjULYQq1SmJcjGYZCEhLlFxKt/GMHdOyD55SZmUnYAgAAQI1C2EKt5BcSLXtEG293AwAAACgXE2QAAAAAgAUIWwAAAABgAcIWAAAAAFiAe7ZQJxRNBc808AAAAKgpCFuo1UpOBc808AAAAKgpGEaIWq34VPAhCYk6m3tGmZmZ3u4WAAAAQGULdYNfSLT556IhhUX/BQAAALyBsIU6o+SQwqpKS0szq2Lc+wUAAIALRdhCnVF8SKFfSLRyf/tG2RtWuPTZtLQ0te8Qo7O5ZyRx7xcAAAAuHGELdY5fSLTsEW2Uf+yAy5/JzMzU2dwzCklIlCQd++A5ZWZmmmGreNUrLy9Pdrvd/CxVMAAAAJSFsAUUU/zeryIlq16yNZCMQnM9VTAAAACUhbAFVKJ41et89mFlb1hhDlXMP3agVBUMAAAAkAhbgMuKV72KhioCAAAA5anRz9lKSkqSzWZzekVERJjrDcNQUlKSoqKiFBAQoLi4OO3atctpG3l5eZo0aZJCQ0MVGBiowYMH6+DBg9V9KKihUlNTtX37dqaJBwAAgMfV+MrWZZddprVr15rvfXx8zD/PnTtX8+bN09KlS9WuXTs9+eST6tevn3bv3q2goCBJ0uTJk/Xvf/9bq1atUkhIiBITE5WQkKBt27Y5bQv1iyvTxPO8LgAAAFyIGh+2fH19napZRQzD0Pz58zV9+nQNGTJEkrRs2TKFh4dr5cqVGj9+vLKzs7V48WItX75c119/vSRpxYoVio6O1tq1a9W/f/9qPRbUHBVNE3+hz+sCAAAApBo+jFCS9uzZo6ioKLVu3Vp33nmnfvvtN0nS3r17lZGRofj4eLOt3W5Xr169tHHjRknStm3blJ+f79QmKipKsbGxZpvy5OXl6eTJk04v1D1F9175OsLNZcWDWMSo+XJcV/dCV1pamrZv326+0tLSvN0lAACAOqdGV7a6du2qN954Q+3atdPhw4f15JNPqkePHtq1a5cyMjIkSeHh4U6fCQ8P1/79+yVJGRkZatiwoZo1a1aqTdHnyzNnzhzNmjXLg0eD2sad53XVBqWmslfF09cXf8aYxHPFAAAAXFWjw9bAgQPNP3fs2FHdu3fXJZdcomXLlqlbt26SJJvN5vQZwzBKLSvJlTbTpk3TlClTzPcnT55UdHTpZzABtU3xqewrm76+qsEMAAAA/1XjhxEWFxgYqI4dO2rPnj3mfVwlK1RHjhwxq10RERE6d+6csrKyym1THrvdriZNmji9gLqkqHJX1oOcixQPZhGj5iskIVFnc884VboAAABQtloVtvLy8pSamqrIyEi1bt1aERERSklJMdefO3dO69evV48ePSRJnTt3lp+fn1Ob9PR07dy502wDoHKuBDMAAAA4q9HDCKdOnapBgwapRYsWOnLkiJ588kmdPHlSo0aNks1m0+TJkzV79my1bdtWbdu21ezZs9WoUSMNGzZMkuRwODRmzBglJiYqJCREwcHBmjp1qjp27GjOTgjAWfF7tJj2HgAAwH01OmwdPHhQd911lzIzM3XRRRepW7du2rx5s1q2bClJevjhh5Wbm6sHHnhAWVlZ6tq1qz755BPzGVuS9Pzzz8vX11d33HGHcnNz1bdvXy1dupRnbAFlKOseLQAAALinRoetVatWVbjeZrMpKSlJSUlJ5bbx9/fXggULtGDBAg/3Dqh7Sk6eUfz5YwAAAKiaWnXPFoDqUdbzxwAAAFA1NbqyBdQWRfc21eZnUHF/FgAAgGcRtoALUJCTJdlsGjFihKTa+QyqksdQFTzwGAAAoHyELeACFOblSIahkIRESSr34cA1WfFjOJ992OV7tMqaTMNu99e77/5TkZGRBC8AAFDvEbYAD6gLz5+q6jGUnEzj7MFdOvHZa0pISJBUO6t8AAAAnkTYAixUfJhdXar0FL+/q2gyjfxjB2p9lQ8AAMCTCFuARUoOs6sLlR5X7u+qC1U+AAAAT2Dqd8AixYfZhSQk6mzuGafJJKpbWlqatm/ffkGzDha/v8txXdUn1AAAAKhPqGwBFite6SkedPLy8mS32yVVbYhh8aGJxbdR0XbKmsziQlC9AgAAqBxhC6gGZQ6/szWQjEJJrg8xLBWaim2jou0Ur7JVZcZBqzBlPAAAqA8IW7VU8V9WeRhtzVd8+J1fSLRyf/tG2RtWVHkyibJCU9E2848d0LEPntOGDRsUExNTZoCp7opU8WuzqD9lVdnqwv1sAAAAJRG2aiFPDwmDZxUFjLJCsNPMfSp/iGFllZ7inyvaZsnqWfFnXlV3IC+rklcUqEpOGV8UEpm5EAAA1DWErVqo5C+rRVUSeJcrM/W5+jl3Kj3Fq2cFuSednnlV3UpW8ooHqiJFIREAAKCuImzVYiWrJPCu8oYKVvVzJSs9VR0y6hcSLRV75pU3AzmBCgAA1GeELcDD3A3BZQWTCx0yWtMCOfcXAgCA+oSwBdRgdWXIaFWGWDJTIQAAqCsIW0AtUNMqVFVVfKhkRVPPM1MhAACoSwhbQA1VF4fcVTb1fHkzFVY0nT0AAEBNRdgCahh3ZzWsS8qbzp4qFwAAqE0IW0AN4+qQu7qmrEpe8XMhuf7wZwAAgJqAsAXUUJUNuasrXKnk1ZdzAQAA6pYG3u4AgPqtePXKcV39HToJAADqHipbAGoEqlcAAKCuobIFAAAAABYgbAEAAACABQhbAAAAAGAB7tkCUKsUnyKehxwDAICajLAFoFYoa4p4HnIMAABqMsIWgFqh+BTxfiHRyj92gIccAwCAGo2wBaBW8QuJlj2ijfm+aFhhXl6e7Ha7ubz4+5LrGH4IAACqA2ELQK1UalihrYFkFP63QfH3JdYx/BAAAFQHwhaAWqn4sMLz2YeVvWGFOcQw97dvzPcl1zH8EAAAVBfCFoBazS8k2unP9og2yj92oNx1AAAA1YWwBQDlSEtLU2Zmpvmee70AAEBVELYA1GvlBaq0tDS17xCjs7lnzHXF7/UiiAEAgMoQtgDUS6mpqUpPT9ett92uvLO55vKiQJWZmamzuWfKvNdLUoVBDAAAQCJsoRoUTc1d9F/Am8p6OHLJQLVhwwZzXVn3elUUxAhbAACgCGELlinrl1rA28qaxbAoUFX1mnV10g2GHAIAUD8RtmCZ4r/UFp+OG6gJis9UWKSsIFZSRRXa4uu49wsAABC2YLmS03EDNV1ZQayiqldZ6+x2f7377j914sQJ7v0CAKCeImwBgAsqqnqVrOKePbhLJz57TQkJCWYb7v0CAKD+IWwBQBWUVfUqvs6s4lYyHLGszwEAgLqFsAUAFqkomDE7JwAAdR9hCwCqkadm6WRiDQAAaj7CFgBUI1dmPKxMZTMcAgCAmoGwBQBe4MoQw/KqVeVNrLFhwwbFxMRQ5QIAoIYgbAFADVFyiGFl1aryHsZMlQsAgJqBsAUANUTxIYaSnKpVUvmVrrI+V3z6+OL3d+Xl5clut5ufLf6eihgAAJ5F2AKAGsYvJLrMiTSKKlYVfa6kUvd32RpIRuF/GxR7T0UMAADPImwBQA1U8kHJxe/LckXRfV+pqanm/V1FE3IUbTP3t2/M91LFFTGqXgAAVB1hCwBqsPLuyypPee2KV72cHr5cYl1RSEtPT9ett92uvLO5kqh6AQDgDsIWANQCrk4ZX7IiVlS9qkx5Ia28qhcAAKgcYQsAapGKpowv2a549aoy5YW08vZX0aQbnhpy6OowRh7wDACoqQhbAABTRSGtvCGGJSfd8MSQw5ITe9jt/nr33X8qMjJS0n8DXqm+eGj/AAB4AmELAFChioYYlpx0o2gijwsdclj8wc0FuSd14rPXlJCQ8N8GJQKeOw94piIGALAaYQsAUCFXhhgWVcRKutBA4xcSLR07UOb+i4e9qj7gudSU+BW0re8IpQDgPsIWAMAlVbkPLDU1tcwhfsWHA1b1Xq+KZlEs4uqDoYtXzlypyFkxDX5tmFqfUAoAF4awBQDwmLKGHBYFmrMHdzkPBywxFLB4ECu6P8xdrj4YumRFrmi/xcNPycBhxT1pNTXAVDWUAgCcEbYAAB5T1hT1ThWpEuvKDWIe7ktlD4YuGcxKBr+iwCF55uHPxUNMWdusSFWG9XmqelbeMFEAQMUIWwAAj6toivpyH7DsxvPBXO1LZQ+GLh7MypyQQ649/Lm8WRNL/rno865M5V88MFVl9sULqZ4V7fNCK4wAUN8RtgAANUZVnw9WFa48GLqiCTmkimdmrHTWxBLDJksqHmyKqlBl3TNVtL/KhvVVVj0rr+pV3j6riok1AICwBQCoZy7kwdAVzszowqyJrga4ogrZiRMnnO6ZKr6/su41q6x65kpFrviwyfJCaZGSgcrd55/VhslCAMAdhC0AAKqoogpcRbMmuhLgyrp/rbz9lQpq5VTPqlyRU+WhtMwKWCXPPyurAueJ4Y6SqjS7JVU3ANWFsAUAQA1Q0UQi5SlraGRZ1TN3KnIVKaqQlVV1K2tylIqUNdyxrOn6SyoV9iqY3bKyYZIVPZKgvPvuKurbhaioykcFsOoI1vA2whYAADWQq8MdS7atStXN1XVFyqqQufL8syKVDXesaLr+onvYin5xLmu4Y3nVweLbKDmdfWWPJKjovrvy+lbyGF0NaRVV+WrL4wJqEp4Th5qAsAUAAFziyiQjZXF1uGNF0/U3bdq01H1gUuWzW0rO1bLi4a6yRxJUdN9dpX1zMaQVV1GVr7JHELiqKqGwOip5FfXtQvfnyefEeaqq6IntUK2rXQhbAACgSqpSdZNcH+5YfPvlTddfleGO5VXLKjsmV+67c6VvlYW0mJiYKlX5SvalrBkspfJ/Ga/0PruKqnqqeLilq7/wV6Vv5Q0FrSpXHl5eWZ89UVWsynaqcp6qu1rHcNaqIWwBAIBq4epwxyKVPiTbBeXdr3ahXOmbSyHNxSqfqzNYSipVZatsdsvKqnquDLesKBgV/XJe1iyV5fWt5P4qeoZdefsr+Zy4ih5eXnKbJUOwq/cVVlQ5dPUB6VU5TxdSrXNHZYGRew5LI2wBAIAaraqVtPK2YcUz3KqrylfVGSyrMrtlZVW9yoZbVhSMygoOLvetogeNFwt7le2vrPPmznPxyqs4VhR0y9tOkfIex+DqeSq5HXcneKkoJBZvV9FQ14oeKVHZA+DrcvgibAEAAFSzqlb5yttGeUHIndktL6jfFYUYye2+VfYMO1f2V9VtVmVmz4qCbsnqoKsPSK/Keaq0UlpBgHQ1JJZ8Dl/ROXTnkRLlrauoQlbd9w56GmELAACgDqioyuaJ6qBL+y8nxHiib2VW5NzYX6XbLGdduZ9zYThplR6QXkFfS3KlUupKNVIqOySWF5oqPYaKfi4l1pW8j7FUlc/FCWZqqgbe7kB1evnll9W6dWv5+/urc+fO2rBhg7e7BAAAUOcUBQxfR3id3F9Z+3dn357qd/H9l9xmWet8ApqYgcdx3YhyP1e8XcSo+WZbV4/BlXUN7I3NClnnzp2VkJCgvLO5/+2bUWjuPyQhUWdzzzgNeazp6k3YevvttzV58mRNnz5d3377ra677joNHDhQaWlp3u4aAAAAUO1cDYlWhtniFbLiga6skFgdFVpPqzdha968eRozZozGjh2rmJgYzZ8/X9HR0Vq4cKG3uwYAAADUa96uTlqlXtyzde7cOW3btk2PPvqo0/L4+Hht3LixzM/k5eUpLy/PfJ+dnS1JOnnypHUddVFOTo4kKS/jFxWeO2uOAc7L+EUFJ4+wrox13t5/XVjn7f3XlnXe3n9dWOft/deWdd7ef11Y5+3915Z13t5/XVjn7f3XlnWVtj1+UNIfvwt7+3fyov0bhlFhO5tRWYs64NChQ7r44ov11VdfqUePHuby2bNna9myZdq9e3epzyQlJWnWrFnV2U0AAAAAtciBAwfUvHnzctfXi8pWEZvN5vTeMIxSy4pMmzZNU6ZMMd8XFhbq+PHjCgkJKfcz7jp58qSio6N14MABNWnSxKPbRsU4997Dufcezr33cO69i/PvPZx77+HcW8MwDJ06dUpRUVEVtqsXYSs0NFQ+Pj7KyMhwWn7kyBGFh5c9LtRutzvN6S9JTZs2taqLkqQmTZrwl8BLOPfew7n3Hs6993DuvYvz7z2ce+/h3Huew+GotE29mCCjYcOG6ty5s1JSUpyWp6SkOA0rBAAAAABPqReVLUmaMmWKRo4cqS5duqh79+76+9//rrS0NN1///3e7hoAAACAOqjehK2hQ4fq2LFjevzxx5Wenq7Y2Fh99NFHatmypbe7JrvdrpkzZ5Yatgjrce69h3PvPZx77+Hcexfn33s4997DufeuejEbIQAAAABUt3pxzxYAAAAAVDfCFgAAAABYgLAFAAAAABYgbAEAAACABQhbXvbyyy+rdevW8vf3V+fOnbVhwwZvd6lWmTNnjq666ioFBQUpLCxMN998s3bv3u3UZvTo0bLZbE6vbt26ObXJy8vTpEmTFBoaqsDAQA0ePFgHDx50apOVlaWRI0fK4XDI4XBo5MiROnHihNWHWGMlJSWVOq8RERHmesMwlJSUpKioKAUEBCguLk67du1y2gbn3X2tWrUqdf5tNpsmTJggievek7744gsNGjRIUVFRstlseu+995zWV+e1npaWpkGDBikwMFChoaF68MEHde7cOSsOu0ao6Nzn5+frkUceUceOHRUYGKioqCjdfffdOnTokNM24uLiSv1duPPOO53acO5Lq+y6r87vmPp27qXKz39Z3/82m03PPvus2YZrv2YgbHnR22+/rcmTJ2v69On69ttvdd1112ngwIFKS0vzdtdqjfXr12vChAnavHmzUlJSdP78ecXHx+v06dNO7QYMGKD09HTz9dFHHzmtnzx5stasWaNVq1bpyy+/VE5OjhISElRQUGC2GTZsmHbs2KHk5GQlJydrx44dGjlyZLUcZ0112WWXOZ3XH374wVw3d+5czZs3Ty+++KK2bt2qiIgI9evXT6dOnTLbcN7dt3XrVqdzX/TQ9ttvv91sw3XvGadPn9YVV1yhF198scz11XWtFxQU6MYbb9Tp06f15ZdfatWqVXr33XeVmJho3cF7WUXn/syZM9q+fbtmzJih7du3a/Xq1fr55581ePDgUm3HjRvn9Hdh0aJFTus596VVdt1L1fMdUx/PvVT5+S9+3tPT0/X666/LZrPp1ltvdWrHtV8DGPCaq6++2rj//vudlnXo0MF49NFHvdSj2u/IkSOGJGP9+vXmslGjRhk33XRTuZ85ceKE4efnZ6xatcpc9vvvvxsNGjQwkpOTDcMwjB9//NGQZGzevNlss2nTJkOS8dNPP3n+QGqBmTNnGldccUWZ6woLC42IiAjj6aefNpedPXvWcDgcxiuvvGIY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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# (2) 데이터 시각화 : 히스토그램(Histogram)\n", "plt.figure(figsize = (10, 6))\n", "plt.hist(diamonds['price'], bins = 200, edgecolor = 'black')\n", "plt.xlabel('Price')\n", "plt.ylabel('Frequency')\n", "plt.title('Histogram of Price in Diamonds Dataset')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "id": "26316832-7cca-4481-b9ec-807927362d83", "metadata": {}, "outputs": [ { "data": { "image/png": "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g3K5XNq1a5defvll3Xjjjfrmm29qhf8hQ4bovvvu08iRI5WTk6OXXnpJVVVVWrlypUaNGqWsrCy9/fbbeuKJJ3T11Vdr8ODBkur3fjB9XebNm6ff/va3+s1vfqNp06bJ7XZr4sSJqqio0CWX/N/fXhctWqRRo0Zp9OjRmjp1qi655BLt2LFDW7Zs+dmvryT5+fmpX79+WrRokfbu3avLL79cFRUVOnTokLKysnTZZZepsrJSK1eu1ODBgzV37lzdf//9kqTc3FzddNNN6tOnj/7whz9IkgIDAyX99AcWSXrmmWcUFhamsrIyLV26VL1799ann35qh636jKs+79uf8/MN4AJiAcB5bO7cuZakWpvT6bRef/11j9o33njDkmS99957Hu1//vOfLUnWihUr7LZ3333XkmT95S9/sf74xz9al1xyicd+y7KsoUOHWpKs//zP//Rof/HFFy1J1po1a+y2qKgoa+jQofbjJ5980pJkrV+/3uPYhx9+2HI4HNa2bdssy7KsAwcOWJKsZ555pl6vR33PW9OnAQMG1Ou8UVFR1i233GJVVVVZVVVV1s6dO+3x//73v7csy7J27txpSbKuuuoqq7Ky0uP4mn1z586122666Sbr0ksvtfbv33/G5x05cqTVqlUra/fu3R7tU6dOtSRZ33777Vn73atXL6tXr161+tG5c2frxIkTdvuGDRssSdY777xz1vN9/vnnliTr/fffP2NNYmKi5efnZz+ueY/u3LmzzvqTJ09aVVVV1u7duy1J1gcffGDve+aZZyxJ1rRp0zyOue666yxJ1pIlS+y2qqoqq23bttbgwYPttvq+H+r7ulRXV1sRERFWfHy8dfLkSbtu165dlo+PjxUVFWW3Pfroo9all156xtfpbCRZjzzyyBn3P/HEE3WOq8aJEyesqqoqa/jw4VbXrl099vn7+3v8LJ5JzTn69u1r3XbbbXZ7fcZV3/et6c83gAsHl/MBuCDMnz9fGzdu1MaNG/WPf/xDQ4cO1SOPPKLp06fbNZ999pn8/f11xx13eBxbc/nMp59+arcNGTJEDz/8sH7/+9/rhRde0FNPPaWbb765zue+9957PR7XzH59/vnnZ+zvZ599pk6dOumGG26o1RfLsvTZZ5+de9C/4nkl6ZNPPpGPj498fHwUHR2t9957T6NHj9YLL7zgUTdo0KBaMymnO3r0qL744gsNGTLkrH95//jjj9WnTx9FREToxIkT9paamipJ+uKLL37WWAYMGOAxo3jttddKUp2r65myLOucNfv379dDDz2kyMhIeXt7y8fHR1FRUZKkrVu31qpPS0vzeBwbGyuHw2G/DpLk7e2tq6++2mMMpu+Hc70u27Zt048//qj09HQ5HA67LioqSj169PA41w033KDDhw/rnnvu0QcffFDrUsVfoq7X+P3331fPnj3VqlUr+zWdPXt2na/nmbzxxhuKj49XixYt7HN8+umnHueoz7ga630L4MJBiAJwQYiNjVW3bt3UrVs3paSkaObMmUpOTtbjjz+uw4cPS5IOHjyosLAwj1/+JCkkJETe3t46ePCgR/sDDzygqqoqeXt7a8yYMXU+r7e3t9q0aePRFhYWZj/fmRw8eLDOy+ciIiLOeezZNNZ5JenGG2/Uxo0btWnTJm3ZskWHDx/Wq6++Kl9fX4+6+lwWWFJSourqal1++eVnrdu3b58++ugjO7zVbNdcc40k/exfzE//njmdTknSsWPHftb5TlVYWGi/3nU5efKkkpOTtWTJEj3++OP69NNPtWHDBvveo7r6EBQU5PHY19dXLVu2VIsWLWq1Hz9+3H5s+n441+tSU1/zHj/V6W0ZGRmaM2eOdu/erdtvv10hISFKTExUTk5OrWNN1YS6mnEsWbJEQ4YM0WWXXaYFCxYoNzdXGzdu1AMPPODxepxNzQIpiYmJWrx4sdatW6eNGzcqJSXF43tSn3E11vsWwIWDe6IAXLCuvfZa/fOf/9T333+vG264QW3atNH69etlWZZHkNq/f79OnDih4OBgu628vFwZGRnq0KGD9u3bpwcffLDWTeqSdOLECR08eNDjl8/i4mJJtX8hPVWbNm1UVFRUq/3HH3+UJI++mGis80qSy+XyWAHxTE4PqXUJCgqSl5eX9u7de9a64OBgXXvttXrxxRfr3H+2sNIUNmzYoOLiYg0fPvyMNQUFBfrqq680b948DR061G7fsWNHg/enod8PNe/pmvf4qepq++1vf6vf/va3Ki8v1+rVq/XMM88oLS1N33//vT3zZurYsWNauXKlrrrqKjuEL1iwQNHR0Xr33Xc93n+nLlByLgsWLFDv3r1rLdl/5MgR43FdaO9bAA2PmSgAF6z8/HxJ/3ejdt++fVVWVlbrM2JqVhbr27ev3fbQQw+psLBQS5Ys0ezZs/Xhhx96rLh2qtM/F+jtt9+WpLN+yGvfvn21ZcsWbd68uVZfHA6H+vTpI8l8hqS+521qfn5+6tWrl95///2z/lU+LS1NBQUFuuqqq+yZxlO38+mX0UOHDumhhx6Sj4/PWT9zq+aX/JrvbY2ZM2c2eJ8a+v0QExOj8PBwvfPOOx6X1O3evVtr164943H+/v5KTU3V008/rcrKSn377bdmA/lf1dXVevTRR3Xw4EE98cQTdnvNBx+fGqCKi4vr/MOH0+ms8+fJ4XDU+p58/fXXys3NPWN/zjSu+r5vG3IGFMD5hZkoABeEgoICe+nggwcPasmSJcrJydFtt92m6OhoSdL999+vv/71rxo6dKh27dqlzp07a82aNZo0aZJuueUW9evXT5L097//XQsWLNDcuXN1zTXX6JprrtGjjz6qJ554Qj179vS4v8TX11fTpk1TWVmZrr/+ent1vtTUVN14441n7O9jjz2m+fPna8CAAXruuecUFRWl5cuX6/XXX9fDDz+sDh06SJICAgIUFRWlDz74QH379lVQUJCCg4PVrl27X3Te80HNanSJiYl68skndfXVV2vfvn368MMPNXPmTAUEBOi5555TTk6OevTooTFjxigmJkbHjx/Xrl279Mknn+iNN9445yWBjWH79u1at26dTp48qYMHD2r9+vWaPXu2SktLNX/+fPuyrbp07NhRV111lZ588klZlqWgoCB99NFHDXKZ2+ka+v1wySWX6Pnnn9eDDz6o2267TZmZmTp8+LAmTpxY63K+zMxM+fn5qWfPngoPD1dxcbEmT54sl8ul66+//pzPtW/fPq1bt06WZenIkSMqKCjQ/Pnz9dVXX+mxxx5TZmamXZuWlqYlS5Zo1KhRuuOOO7Rnzx49//zzCg8P1/bt2z3O27lzZ61atUofffSRwsPDFRAQoJiYGKWlpen555/XM888o169emnbtm167rnnFB0d7bGcfn3GVd/3renPN4ALSJMtaQEA9VDX6nwul8u67rrrrJdfftk6fvy4R/3Bgwethx56yAoPD7e8vb2tqKgoa8KECXbd119/bfn5+dVavev48eNWQkKC1a5dO6ukpMSyrJ9W5/P397e+/vprq3fv3pafn58VFBRkPfzww1ZZWZnH8aevzmdZlrV7924rPT3datOmjeXj42PFxMRY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TZkyRYcOHVJWVpYyMzOZYQIAAADQaIxnojZt2qSuXbuqa9eukqRx48apa9eu+uMf/2jXLFq0SJZl6Z577ql1vK+vrz799FP1799fMTExGjNmjJKTk7Vy5Up5eXnZdQsXLlTnzp2VnJys5ORkXXvttXrrrbfs/V5eXlq+fLlatGihnj17asiQIbr11ls1depU0yEBAAAAQL05LMuymroTTaW0tFQul0tut5vZKwBoRs60AFFdmvF/kwDQrJhkg0b9nCgAAAAAuNgQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAACEKAAAAAAwQogAAAADAgHGIWr16tQYOHKiIiAg5HA4tW7bMY/+wYcPkcDg8tu7du3vUVFRUaPTo0QoODpa/v78GDRqkvXv3etSUlJQoIyNDLpdLLpdLGRkZOnz4sEdNYWGhBg4cKH9/fwUHB2vMmDGqrKw0HRIAAAAA1JtxiCovL1eXLl00ffr0M9akpKSoqKjI3j755BOP/WPHjtXSpUu1aNEirVmzRmVlZUpLS1N1dbVdk56ervz8fGVnZys7O1v5+fnKyMiw91dXV2vAgAEqLy/XmjVrtGjRIi1evFjjx483HRIAAAAA1Ju36QGpqalKTU09a43T6VRYWFid+9xut2bPnq233npL/fr1kyQtWLBAkZGRWrlypfr376+tW7cqOztb69atU2JioiRp1qxZSkpK0rZt2xQTE6MVK1Zoy5Yt2rNnjyIiIiRJ06ZN07Bhw/Tiiy8qMDDQdGgAAAAAcE6Nck/UqlWrFBISog4dOigzM1P79++3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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# (2) 데이터 시각화 : 상자그림(Boxplot)\n", "plt.figure(figsize = (10, 6))\n", "plt.boxplot(diamonds['price'])\n", "plt.xlabel('Price')\n", "plt.title('Boxplot of Price in Diamonds Dataset')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "175c3f5c-4e10-4d4b-83a1-4ead40d0e02f", "metadata": {}, "outputs": [], "source": [ "# 참고\n", "# 이상치(Outlier) 유무를 파악\n", "\n", "# Q. 입력 오류인가? 센서가 고장이 났나?\n", "\n", "# 입력오류나 고장이 아니라면\n", "# (1) 그냥 사용한다.\n", "# (2) 삭제한다.\n", "# (3) 변환한다 : 로그 변환, 루트 변환, 역수 변환 : Box-Cox Transformation\n", "# (4) 대체(imputation)한다 : 평균, 절사평균, 중위수, 최빈수, Hot-Dec, ..." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.7" } }, "nbformat": 4, "nbformat_minor": 5 }