diff --git "a/Machine_Learning_Problem_Framing_HCK_015.ipynb" "b/Machine_Learning_Problem_Framing_HCK_015.ipynb"
new file mode 100644--- /dev/null
+++ "b/Machine_Learning_Problem_Framing_HCK_015.ipynb"
@@ -0,0 +1,5998 @@
+{
+ "nbformat": 4,
+ "nbformat_minor": 0,
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "kernelspec": {
+ "name": "python3",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python"
+ }
+ },
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "#1. Perkenalan\n",
+ "\n",
+ ">Bab pengenalan harus diisi dengan identitas, gambaran besar dataset yang digunakan, dan objective yang ingin dicapai.\n",
+ "\n",
+ "Nama: Hana\n",
+ "\n",
+ "Batch: 015-HCK\n",
+ "\n",
+ "Objective: Menurut laporan FIFA 2022 (...), jumlah pemain sepakbola pada tahun 2021 kurang lebih sebanyak 100.000 pemain. Namun, dalam dataset ini yang digunakan hanya mencakup 20.000 pemain saja. Project ini bertujuan untuk memprediksi rating pemain FIFA 2023 sehingga semua pemain sepak bola profesional dapat diketahui ratingnya dan tidak menutup kemungkinan akan lahir wonderkid baru. Project ini akan dibuat menggunakan algoritma Linear Regression dan metrics evaluasi yang akan dipakai adalah MAE."
+ ],
+ "metadata": {
+ "id": "y5lsr3ymhTq6"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "#2. Import Libraries\n",
+ "\n",
+ "> Cell pertama pada notebook harus berisi dan hanya berisi semua library yang digunakan dalam project."
+ ],
+ "metadata": {
+ "id": "knpqjaesitZl"
+ }
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "_ZVuHRuNYo8a"
+ },
+ "outputs": [],
+ "source": [
+ "#Import Libraries\n",
+ "\n",
+ "import pandas as pd\n",
+ "import seaborn as sns\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# 3. Data Loading\n",
+ "\n",
+ "> Bagian ini berisi proses penyiapan data sebelum dilakukan eksplorasi data lebih lanjut. Proses Data Loading dapat berupa memberi nama baru untuk setiap kolom, mengecek ukuran dataset, dll.\n",
+ "\n"
+ ],
+ "metadata": {
+ "id": "5wGZa7GFjBOE"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Data loading\n",
+ "\n",
+ "data = pd.read_csv('https://raw.githubusercontent.com/FTDS-learning-materials/phase-1/master/w1/P1W1D1PM%20-%20Machine%20Learning%20Problem%20Framing.csv')\n",
+ "data"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 496
+ },
+ "id": "lmHY3ZcLjO_B",
+ "outputId": "8e34597a-d0d2-4bf2-cea2-f7baa1f49981"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name Age Height Weight ValueEUR AttackingWorkRate \\\n",
+ "0 L. Messi 34 170 72 78000000 Medium \n",
+ "1 R. Lewandowski 32 185 81 119500000 High \n",
+ "2 Cristiano Ronaldo 36 187 83 45000000 High \n",
+ "3 K. Mbappé 22 182 73 194000000 High \n",
+ "4 J. Oblak 28 188 87 112000000 Medium \n",
+ "... ... ... ... ... ... ... \n",
+ "19255 S. Black 19 180 75 100000 Medium \n",
+ "19256 Ma Zhen 23 196 85 50000 Medium \n",
+ "19257 Yang Haoyu 20 183 77 90000 Medium \n",
+ "19258 He Siwei 20 174 69 100000 Medium \n",
+ "19259 Chen Guoliang 22 186 70 70000 Medium \n",
+ "\n",
+ " DefensiveWorkRate PaceTotal ShootingTotal PassingTotal \\\n",
+ "0 Low 85 92 91 \n",
+ "1 Medium 78 92 79 \n",
+ "2 Low 87 94 80 \n",
+ "3 Low 97 88 80 \n",
+ "4 Medium 87 92 78 \n",
+ "... ... ... ... ... \n",
+ "19255 Medium 56 27 29 \n",
+ "19256 Medium 49 47 45 \n",
+ "19257 Medium 57 26 29 \n",
+ "19258 Medium 61 25 32 \n",
+ "19259 Medium 55 27 29 \n",
+ "\n",
+ " DribblingTotal DefendingTotal PhysicalityTotal Overall \n",
+ "0 95 34 65 93 \n",
+ "1 85 44 82 92 \n",
+ "2 87 34 75 91 \n",
+ "3 92 36 77 91 \n",
+ "4 90 52 90 91 \n",
+ "... ... ... ... ... \n",
+ "19255 33 48 53 48 \n",
+ "19256 46 54 44 48 \n",
+ "19257 28 51 56 48 \n",
+ "19258 32 49 51 48 \n",
+ "19259 30 50 54 48 \n",
+ "\n",
+ "[19260 rows x 14 columns]"
+ ],
+ "text/html": [
+ "\n",
+ "
\n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " Age \n",
+ " Height \n",
+ " Weight \n",
+ " ValueEUR \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " PaceTotal \n",
+ " ShootingTotal \n",
+ " PassingTotal \n",
+ " DribblingTotal \n",
+ " DefendingTotal \n",
+ " PhysicalityTotal \n",
+ " Overall \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " L. Messi \n",
+ " 34 \n",
+ " 170 \n",
+ " 72 \n",
+ " 78000000 \n",
+ " Medium \n",
+ " Low \n",
+ " 85 \n",
+ " 92 \n",
+ " 91 \n",
+ " 95 \n",
+ " 34 \n",
+ " 65 \n",
+ " 93 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " R. Lewandowski \n",
+ " 32 \n",
+ " 185 \n",
+ " 81 \n",
+ " 119500000 \n",
+ " High \n",
+ " Medium \n",
+ " 78 \n",
+ " 92 \n",
+ " 79 \n",
+ " 85 \n",
+ " 44 \n",
+ " 82 \n",
+ " 92 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " Cristiano Ronaldo \n",
+ " 36 \n",
+ " 187 \n",
+ " 83 \n",
+ " 45000000 \n",
+ " High \n",
+ " Low \n",
+ " 87 \n",
+ " 94 \n",
+ " 80 \n",
+ " 87 \n",
+ " 34 \n",
+ " 75 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " K. Mbappé \n",
+ " 22 \n",
+ " 182 \n",
+ " 73 \n",
+ " 194000000 \n",
+ " High \n",
+ " Low \n",
+ " 97 \n",
+ " 88 \n",
+ " 80 \n",
+ " 92 \n",
+ " 36 \n",
+ " 77 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " J. Oblak \n",
+ " 28 \n",
+ " 188 \n",
+ " 87 \n",
+ " 112000000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 87 \n",
+ " 92 \n",
+ " 78 \n",
+ " 90 \n",
+ " 52 \n",
+ " 90 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 19255 \n",
+ " S. Black \n",
+ " 19 \n",
+ " 180 \n",
+ " 75 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 56 \n",
+ " 27 \n",
+ " 29 \n",
+ " 33 \n",
+ " 48 \n",
+ " 53 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19256 \n",
+ " Ma Zhen \n",
+ " 23 \n",
+ " 196 \n",
+ " 85 \n",
+ " 50000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 49 \n",
+ " 47 \n",
+ " 45 \n",
+ " 46 \n",
+ " 54 \n",
+ " 44 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19257 \n",
+ " Yang Haoyu \n",
+ " 20 \n",
+ " 183 \n",
+ " 77 \n",
+ " 90000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 57 \n",
+ " 26 \n",
+ " 29 \n",
+ " 28 \n",
+ " 51 \n",
+ " 56 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19258 \n",
+ " He Siwei \n",
+ " 20 \n",
+ " 174 \n",
+ " 69 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 61 \n",
+ " 25 \n",
+ " 32 \n",
+ " 32 \n",
+ " 49 \n",
+ " 51 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19259 \n",
+ " Chen Guoliang \n",
+ " 22 \n",
+ " 186 \n",
+ " 70 \n",
+ " 70000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 55 \n",
+ " 27 \n",
+ " 29 \n",
+ " 30 \n",
+ " 50 \n",
+ " 54 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
19260 rows × 14 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "data",
+ "summary": "{\n \"name\": \"data\",\n \"rows\": 19260,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 18058,\n \"samples\": [\n \"R. Bouallak\",\n \"M. Beier\",\n \"D. Peri\\u0107\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 16,\n \"max\": 54,\n \"num_unique_values\": 29,\n \"samples\": [\n 42,\n 23,\n 20\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 155,\n \"max\": 206,\n \"num_unique_values\": 50,\n \"samples\": [\n 191,\n 161,\n 186\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7,\n \"min\": 49,\n \"max\": 110,\n \"num_unique_values\": 57,\n \"samples\": [\n 72,\n 70,\n 77\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ValueEUR\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7604532,\n \"min\": 0,\n \"max\": 194000000,\n \"num_unique_values\": 252,\n \"samples\": [\n 3700000,\n 129000000,\n 31500000\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PaceTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10,\n \"min\": 28,\n \"max\": 97,\n \"num_unique_values\": 70,\n \"samples\": [\n 79,\n 85,\n 32\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ShootingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 13,\n \"min\": 18,\n \"max\": 94,\n \"num_unique_values\": 76,\n \"samples\": [\n 83,\n 58,\n 89\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PassingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 25,\n \"max\": 93,\n \"num_unique_values\": 67,\n \"samples\": [\n 61,\n 89,\n 93\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DribblingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 26,\n \"max\": 95,\n \"num_unique_values\": 69,\n \"samples\": [\n 68,\n 95,\n 51\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefendingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 16,\n \"min\": 14,\n \"max\": 91,\n \"num_unique_values\": 77,\n \"samples\": [\n 64,\n 78,\n 43\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PhysicalityTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 29,\n \"max\": 92,\n \"num_unique_values\": 62,\n \"samples\": [\n 43,\n 38,\n 65\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Overall\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 48,\n \"max\": 93,\n \"num_unique_values\": 46,\n \"samples\": [\n 54,\n 68,\n 67\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 2
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Duplicate Dataset\n",
+ "data_duplicate = data.copy()"
+ ],
+ "metadata": {
+ "id": "sQroZhBXjmFw"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Rename columns\n",
+ "\n",
+ "data.rename(columns = {'ValueEUR' : 'Price', 'Overall' : 'Rating'}, inplace = True)\n",
+ "data"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 496
+ },
+ "id": "DP_MuhlqjWZ1",
+ "outputId": "a1582996-c9b0-488c-941d-1876485d1268"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name Age Height Weight Price AttackingWorkRate \\\n",
+ "0 L. Messi 34 170 72 78000000 Medium \n",
+ "1 R. Lewandowski 32 185 81 119500000 High \n",
+ "2 Cristiano Ronaldo 36 187 83 45000000 High \n",
+ "3 K. Mbappé 22 182 73 194000000 High \n",
+ "4 J. Oblak 28 188 87 112000000 Medium \n",
+ "... ... ... ... ... ... ... \n",
+ "19255 S. Black 19 180 75 100000 Medium \n",
+ "19256 Ma Zhen 23 196 85 50000 Medium \n",
+ "19257 Yang Haoyu 20 183 77 90000 Medium \n",
+ "19258 He Siwei 20 174 69 100000 Medium \n",
+ "19259 Chen Guoliang 22 186 70 70000 Medium \n",
+ "\n",
+ " DefensiveWorkRate PaceTotal ShootingTotal PassingTotal \\\n",
+ "0 Low 85 92 91 \n",
+ "1 Medium 78 92 79 \n",
+ "2 Low 87 94 80 \n",
+ "3 Low 97 88 80 \n",
+ "4 Medium 87 92 78 \n",
+ "... ... ... ... ... \n",
+ "19255 Medium 56 27 29 \n",
+ "19256 Medium 49 47 45 \n",
+ "19257 Medium 57 26 29 \n",
+ "19258 Medium 61 25 32 \n",
+ "19259 Medium 55 27 29 \n",
+ "\n",
+ " DribblingTotal DefendingTotal PhysicalityTotal Rating \n",
+ "0 95 34 65 93 \n",
+ "1 85 44 82 92 \n",
+ "2 87 34 75 91 \n",
+ "3 92 36 77 91 \n",
+ "4 90 52 90 91 \n",
+ "... ... ... ... ... \n",
+ "19255 33 48 53 48 \n",
+ "19256 46 54 44 48 \n",
+ "19257 28 51 56 48 \n",
+ "19258 32 49 51 48 \n",
+ "19259 30 50 54 48 \n",
+ "\n",
+ "[19260 rows x 14 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " Age \n",
+ " Height \n",
+ " Weight \n",
+ " Price \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " PaceTotal \n",
+ " ShootingTotal \n",
+ " PassingTotal \n",
+ " DribblingTotal \n",
+ " DefendingTotal \n",
+ " PhysicalityTotal \n",
+ " Rating \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " L. Messi \n",
+ " 34 \n",
+ " 170 \n",
+ " 72 \n",
+ " 78000000 \n",
+ " Medium \n",
+ " Low \n",
+ " 85 \n",
+ " 92 \n",
+ " 91 \n",
+ " 95 \n",
+ " 34 \n",
+ " 65 \n",
+ " 93 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " R. Lewandowski \n",
+ " 32 \n",
+ " 185 \n",
+ " 81 \n",
+ " 119500000 \n",
+ " High \n",
+ " Medium \n",
+ " 78 \n",
+ " 92 \n",
+ " 79 \n",
+ " 85 \n",
+ " 44 \n",
+ " 82 \n",
+ " 92 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " Cristiano Ronaldo \n",
+ " 36 \n",
+ " 187 \n",
+ " 83 \n",
+ " 45000000 \n",
+ " High \n",
+ " Low \n",
+ " 87 \n",
+ " 94 \n",
+ " 80 \n",
+ " 87 \n",
+ " 34 \n",
+ " 75 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " K. Mbappé \n",
+ " 22 \n",
+ " 182 \n",
+ " 73 \n",
+ " 194000000 \n",
+ " High \n",
+ " Low \n",
+ " 97 \n",
+ " 88 \n",
+ " 80 \n",
+ " 92 \n",
+ " 36 \n",
+ " 77 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " J. Oblak \n",
+ " 28 \n",
+ " 188 \n",
+ " 87 \n",
+ " 112000000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 87 \n",
+ " 92 \n",
+ " 78 \n",
+ " 90 \n",
+ " 52 \n",
+ " 90 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 19255 \n",
+ " S. Black \n",
+ " 19 \n",
+ " 180 \n",
+ " 75 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 56 \n",
+ " 27 \n",
+ " 29 \n",
+ " 33 \n",
+ " 48 \n",
+ " 53 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19256 \n",
+ " Ma Zhen \n",
+ " 23 \n",
+ " 196 \n",
+ " 85 \n",
+ " 50000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 49 \n",
+ " 47 \n",
+ " 45 \n",
+ " 46 \n",
+ " 54 \n",
+ " 44 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19257 \n",
+ " Yang Haoyu \n",
+ " 20 \n",
+ " 183 \n",
+ " 77 \n",
+ " 90000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 57 \n",
+ " 26 \n",
+ " 29 \n",
+ " 28 \n",
+ " 51 \n",
+ " 56 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19258 \n",
+ " He Siwei \n",
+ " 20 \n",
+ " 174 \n",
+ " 69 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 61 \n",
+ " 25 \n",
+ " 32 \n",
+ " 32 \n",
+ " 49 \n",
+ " 51 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19259 \n",
+ " Chen Guoliang \n",
+ " 22 \n",
+ " 186 \n",
+ " 70 \n",
+ " 70000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 55 \n",
+ " 27 \n",
+ " 29 \n",
+ " 30 \n",
+ " 50 \n",
+ " 54 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
19260 rows × 14 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "data",
+ "summary": "{\n \"name\": \"data\",\n \"rows\": 19260,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 18058,\n \"samples\": [\n \"R. Bouallak\",\n \"M. Beier\",\n \"D. Peri\\u0107\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 16,\n \"max\": 54,\n \"num_unique_values\": 29,\n \"samples\": [\n 42,\n 23,\n 20\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 155,\n \"max\": 206,\n \"num_unique_values\": 50,\n \"samples\": [\n 191,\n 161,\n 186\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7,\n \"min\": 49,\n \"max\": 110,\n \"num_unique_values\": 57,\n \"samples\": [\n 72,\n 70,\n 77\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Price\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7604532,\n \"min\": 0,\n \"max\": 194000000,\n \"num_unique_values\": 252,\n \"samples\": [\n 3700000,\n 129000000,\n 31500000\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PaceTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10,\n \"min\": 28,\n \"max\": 97,\n \"num_unique_values\": 70,\n \"samples\": [\n 79,\n 85,\n 32\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ShootingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 13,\n \"min\": 18,\n \"max\": 94,\n \"num_unique_values\": 76,\n \"samples\": [\n 83,\n 58,\n 89\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PassingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 25,\n \"max\": 93,\n \"num_unique_values\": 67,\n \"samples\": [\n 61,\n 89,\n 93\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DribblingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 26,\n \"max\": 95,\n \"num_unique_values\": 69,\n \"samples\": [\n 68,\n 95,\n 51\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefendingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 16,\n \"min\": 14,\n \"max\": 91,\n \"num_unique_values\": 77,\n \"samples\": [\n 64,\n 78,\n 43\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PhysicalityTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 29,\n \"max\": 92,\n \"num_unique_values\": 62,\n \"samples\": [\n 43,\n 38,\n 65\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Rating\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 48,\n \"max\": 93,\n \"num_unique_values\": 46,\n \"samples\": [\n 54,\n 68,\n 67\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 4
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#cek head&tail\n",
+ "\n",
+ "data.head()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 261
+ },
+ "id": "hDTse1ELkIxv",
+ "outputId": "33da85f6-fb7d-4dbf-cf6c-b6b739507595"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name Age Height Weight Price AttackingWorkRate \\\n",
+ "0 L. Messi 34 170 72 78000000 Medium \n",
+ "1 R. Lewandowski 32 185 81 119500000 High \n",
+ "2 Cristiano Ronaldo 36 187 83 45000000 High \n",
+ "3 K. Mbappé 22 182 73 194000000 High \n",
+ "4 J. Oblak 28 188 87 112000000 Medium \n",
+ "\n",
+ " DefensiveWorkRate PaceTotal ShootingTotal PassingTotal DribblingTotal \\\n",
+ "0 Low 85 92 91 95 \n",
+ "1 Medium 78 92 79 85 \n",
+ "2 Low 87 94 80 87 \n",
+ "3 Low 97 88 80 92 \n",
+ "4 Medium 87 92 78 90 \n",
+ "\n",
+ " DefendingTotal PhysicalityTotal Rating \n",
+ "0 34 65 93 \n",
+ "1 44 82 92 \n",
+ "2 34 75 91 \n",
+ "3 36 77 91 \n",
+ "4 52 90 91 "
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " Age \n",
+ " Height \n",
+ " Weight \n",
+ " Price \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " PaceTotal \n",
+ " ShootingTotal \n",
+ " PassingTotal \n",
+ " DribblingTotal \n",
+ " DefendingTotal \n",
+ " PhysicalityTotal \n",
+ " Rating \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " L. Messi \n",
+ " 34 \n",
+ " 170 \n",
+ " 72 \n",
+ " 78000000 \n",
+ " Medium \n",
+ " Low \n",
+ " 85 \n",
+ " 92 \n",
+ " 91 \n",
+ " 95 \n",
+ " 34 \n",
+ " 65 \n",
+ " 93 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " R. Lewandowski \n",
+ " 32 \n",
+ " 185 \n",
+ " 81 \n",
+ " 119500000 \n",
+ " High \n",
+ " Medium \n",
+ " 78 \n",
+ " 92 \n",
+ " 79 \n",
+ " 85 \n",
+ " 44 \n",
+ " 82 \n",
+ " 92 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " Cristiano Ronaldo \n",
+ " 36 \n",
+ " 187 \n",
+ " 83 \n",
+ " 45000000 \n",
+ " High \n",
+ " Low \n",
+ " 87 \n",
+ " 94 \n",
+ " 80 \n",
+ " 87 \n",
+ " 34 \n",
+ " 75 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " K. Mbappé \n",
+ " 22 \n",
+ " 182 \n",
+ " 73 \n",
+ " 194000000 \n",
+ " High \n",
+ " Low \n",
+ " 97 \n",
+ " 88 \n",
+ " 80 \n",
+ " 92 \n",
+ " 36 \n",
+ " 77 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " J. Oblak \n",
+ " 28 \n",
+ " 188 \n",
+ " 87 \n",
+ " 112000000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 87 \n",
+ " 92 \n",
+ " 78 \n",
+ " 90 \n",
+ " 52 \n",
+ " 90 \n",
+ " 91 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "data",
+ "summary": "{\n \"name\": \"data\",\n \"rows\": 19260,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 18058,\n \"samples\": [\n \"R. Bouallak\",\n \"M. Beier\",\n \"D. Peri\\u0107\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 16,\n \"max\": 54,\n \"num_unique_values\": 29,\n \"samples\": [\n 42,\n 23,\n 20\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 155,\n \"max\": 206,\n \"num_unique_values\": 50,\n \"samples\": [\n 191,\n 161,\n 186\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7,\n \"min\": 49,\n \"max\": 110,\n \"num_unique_values\": 57,\n \"samples\": [\n 72,\n 70,\n 77\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Price\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7604532,\n \"min\": 0,\n \"max\": 194000000,\n \"num_unique_values\": 252,\n \"samples\": [\n 3700000,\n 129000000,\n 31500000\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PaceTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10,\n \"min\": 28,\n \"max\": 97,\n \"num_unique_values\": 70,\n \"samples\": [\n 79,\n 85,\n 32\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ShootingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 13,\n \"min\": 18,\n \"max\": 94,\n \"num_unique_values\": 76,\n \"samples\": [\n 83,\n 58,\n 89\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PassingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 25,\n \"max\": 93,\n \"num_unique_values\": 67,\n \"samples\": [\n 61,\n 89,\n 93\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DribblingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 26,\n \"max\": 95,\n \"num_unique_values\": 69,\n \"samples\": [\n 68,\n 95,\n 51\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefendingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 16,\n \"min\": 14,\n \"max\": 91,\n \"num_unique_values\": 77,\n \"samples\": [\n 64,\n 78,\n 43\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PhysicalityTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 29,\n \"max\": 92,\n \"num_unique_values\": 62,\n \"samples\": [\n 43,\n 38,\n 65\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Rating\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 48,\n \"max\": 93,\n \"num_unique_values\": 46,\n \"samples\": [\n 54,\n 68,\n 67\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 5
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "data.tail()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 261
+ },
+ "id": "pw2njKqXkFGX",
+ "outputId": "264d455f-9640-422e-a5f6-521b20708d45"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name Age Height Weight Price AttackingWorkRate \\\n",
+ "19255 S. Black 19 180 75 100000 Medium \n",
+ "19256 Ma Zhen 23 196 85 50000 Medium \n",
+ "19257 Yang Haoyu 20 183 77 90000 Medium \n",
+ "19258 He Siwei 20 174 69 100000 Medium \n",
+ "19259 Chen Guoliang 22 186 70 70000 Medium \n",
+ "\n",
+ " DefensiveWorkRate PaceTotal ShootingTotal PassingTotal \\\n",
+ "19255 Medium 56 27 29 \n",
+ "19256 Medium 49 47 45 \n",
+ "19257 Medium 57 26 29 \n",
+ "19258 Medium 61 25 32 \n",
+ "19259 Medium 55 27 29 \n",
+ "\n",
+ " DribblingTotal DefendingTotal PhysicalityTotal Rating \n",
+ "19255 33 48 53 48 \n",
+ "19256 46 54 44 48 \n",
+ "19257 28 51 56 48 \n",
+ "19258 32 49 51 48 \n",
+ "19259 30 50 54 48 "
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " Age \n",
+ " Height \n",
+ " Weight \n",
+ " Price \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " PaceTotal \n",
+ " ShootingTotal \n",
+ " PassingTotal \n",
+ " DribblingTotal \n",
+ " DefendingTotal \n",
+ " PhysicalityTotal \n",
+ " Rating \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 19255 \n",
+ " S. Black \n",
+ " 19 \n",
+ " 180 \n",
+ " 75 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 56 \n",
+ " 27 \n",
+ " 29 \n",
+ " 33 \n",
+ " 48 \n",
+ " 53 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19256 \n",
+ " Ma Zhen \n",
+ " 23 \n",
+ " 196 \n",
+ " 85 \n",
+ " 50000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 49 \n",
+ " 47 \n",
+ " 45 \n",
+ " 46 \n",
+ " 54 \n",
+ " 44 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19257 \n",
+ " Yang Haoyu \n",
+ " 20 \n",
+ " 183 \n",
+ " 77 \n",
+ " 90000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 57 \n",
+ " 26 \n",
+ " 29 \n",
+ " 28 \n",
+ " 51 \n",
+ " 56 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19258 \n",
+ " He Siwei \n",
+ " 20 \n",
+ " 174 \n",
+ " 69 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 61 \n",
+ " 25 \n",
+ " 32 \n",
+ " 32 \n",
+ " 49 \n",
+ " 51 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ " 19259 \n",
+ " Chen Guoliang \n",
+ " 22 \n",
+ " 186 \n",
+ " 70 \n",
+ " 70000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 55 \n",
+ " 27 \n",
+ " 29 \n",
+ " 30 \n",
+ " 50 \n",
+ " 54 \n",
+ " 48 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "summary": "{\n \"name\": \"data\",\n \"rows\": 5,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 5,\n \"samples\": [\n \"Ma Zhen\",\n \"Chen Guoliang\",\n \"Yang Haoyu\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 1,\n \"min\": 19,\n \"max\": 23,\n \"num_unique_values\": 4,\n \"samples\": [\n 23,\n 22,\n 19\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 8,\n \"min\": 174,\n \"max\": 196,\n \"num_unique_values\": 5,\n \"samples\": [\n 196,\n 186,\n 183\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 69,\n \"max\": 85,\n \"num_unique_values\": 5,\n \"samples\": [\n 85,\n 70,\n 77\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Price\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 21679,\n \"min\": 50000,\n \"max\": 100000,\n \"num_unique_values\": 4,\n \"samples\": [\n 50000,\n 70000,\n 100000\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Medium\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 1,\n \"samples\": [\n \"Medium\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PaceTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 49,\n \"max\": 61,\n \"num_unique_values\": 5,\n \"samples\": [\n 49\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ShootingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 25,\n \"max\": 47,\n \"num_unique_values\": 4,\n \"samples\": [\n 47\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PassingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 29,\n \"max\": 45,\n \"num_unique_values\": 3,\n \"samples\": [\n 29\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DribblingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7,\n \"min\": 28,\n \"max\": 46,\n \"num_unique_values\": 5,\n \"samples\": [\n 46\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefendingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2,\n \"min\": 48,\n \"max\": 54,\n \"num_unique_values\": 5,\n \"samples\": [\n 54\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PhysicalityTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 44,\n \"max\": 56,\n \"num_unique_values\": 5,\n \"samples\": [\n 44\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Rating\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0,\n \"min\": 48,\n \"max\": 48,\n \"num_unique_values\": 1,\n \"samples\": [\n 48\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 6
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "data.info()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "ulBl25AikfZs",
+ "outputId": "93200c90-f1a4-4540-9d5f-2b318c01d456"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "\n",
+ "RangeIndex: 19260 entries, 0 to 19259\n",
+ "Data columns (total 14 columns):\n",
+ " # Column Non-Null Count Dtype \n",
+ "--- ------ -------------- ----- \n",
+ " 0 Name 19260 non-null object\n",
+ " 1 Age 19260 non-null int64 \n",
+ " 2 Height 19260 non-null int64 \n",
+ " 3 Weight 19260 non-null int64 \n",
+ " 4 Price 19260 non-null int64 \n",
+ " 5 AttackingWorkRate 19260 non-null object\n",
+ " 6 DefensiveWorkRate 19260 non-null object\n",
+ " 7 PaceTotal 19260 non-null int64 \n",
+ " 8 ShootingTotal 19260 non-null int64 \n",
+ " 9 PassingTotal 19260 non-null int64 \n",
+ " 10 DribblingTotal 19260 non-null int64 \n",
+ " 11 DefendingTotal 19260 non-null int64 \n",
+ " 12 PhysicalityTotal 19260 non-null int64 \n",
+ " 13 Rating 19260 non-null int64 \n",
+ "dtypes: int64(11), object(3)\n",
+ "memory usage: 2.1+ MB\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#check dataset\n",
+ "data.describe().T"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 394
+ },
+ "id": "hrA8NszNkh6L",
+ "outputId": "055236e5-54f1-4471-825d-7e8223eb0cca"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " count mean std min 25% \\\n",
+ "Age 19260.0 2.518468e+01 4.737340e+00 16.0 21.0 \n",
+ "Height 19260.0 1.813050e+02 6.866151e+00 155.0 176.0 \n",
+ "Weight 19260.0 7.495078e+01 7.066864e+00 49.0 70.0 \n",
+ "Price 19260.0 2.857652e+06 7.604532e+06 0.0 475000.0 \n",
+ "PaceTotal 19260.0 6.791023e+01 1.065645e+01 28.0 62.0 \n",
+ "ShootingTotal 19260.0 5.353551e+01 1.381348e+01 18.0 44.0 \n",
+ "PassingTotal 19260.0 5.785332e+01 9.835494e+00 25.0 52.0 \n",
+ "DribblingTotal 19260.0 6.302871e+01 9.704853e+00 26.0 58.0 \n",
+ "DefendingTotal 19260.0 5.005810e+01 1.638880e+01 14.0 35.0 \n",
+ "PhysicalityTotal 19260.0 6.467658e+01 9.626269e+00 29.0 58.0 \n",
+ "Rating 19260.0 6.581563e+01 6.817297e+00 48.0 62.0 \n",
+ "\n",
+ " 50% 75% max \n",
+ "Age 25.0 29.0 54.0 \n",
+ "Height 181.0 186.0 206.0 \n",
+ "Weight 75.0 80.0 110.0 \n",
+ "Price 975000.0 2000000.0 194000000.0 \n",
+ "PaceTotal 68.0 75.0 97.0 \n",
+ "ShootingTotal 56.0 64.0 94.0 \n",
+ "PassingTotal 58.0 65.0 93.0 \n",
+ "DribblingTotal 64.0 69.0 95.0 \n",
+ "DefendingTotal 54.0 63.0 91.0 \n",
+ "PhysicalityTotal 66.0 72.0 92.0 \n",
+ "Rating 66.0 70.0 93.0 "
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " count \n",
+ " mean \n",
+ " std \n",
+ " min \n",
+ " 25% \n",
+ " 50% \n",
+ " 75% \n",
+ " max \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " Age \n",
+ " 19260.0 \n",
+ " 2.518468e+01 \n",
+ " 4.737340e+00 \n",
+ " 16.0 \n",
+ " 21.0 \n",
+ " 25.0 \n",
+ " 29.0 \n",
+ " 54.0 \n",
+ " \n",
+ " \n",
+ " Height \n",
+ " 19260.0 \n",
+ " 1.813050e+02 \n",
+ " 6.866151e+00 \n",
+ " 155.0 \n",
+ " 176.0 \n",
+ " 181.0 \n",
+ " 186.0 \n",
+ " 206.0 \n",
+ " \n",
+ " \n",
+ " Weight \n",
+ " 19260.0 \n",
+ " 7.495078e+01 \n",
+ " 7.066864e+00 \n",
+ " 49.0 \n",
+ " 70.0 \n",
+ " 75.0 \n",
+ " 80.0 \n",
+ " 110.0 \n",
+ " \n",
+ " \n",
+ " Price \n",
+ " 19260.0 \n",
+ " 2.857652e+06 \n",
+ " 7.604532e+06 \n",
+ " 0.0 \n",
+ " 475000.0 \n",
+ " 975000.0 \n",
+ " 2000000.0 \n",
+ " 194000000.0 \n",
+ " \n",
+ " \n",
+ " PaceTotal \n",
+ " 19260.0 \n",
+ " 6.791023e+01 \n",
+ " 1.065645e+01 \n",
+ " 28.0 \n",
+ " 62.0 \n",
+ " 68.0 \n",
+ " 75.0 \n",
+ " 97.0 \n",
+ " \n",
+ " \n",
+ " ShootingTotal \n",
+ " 19260.0 \n",
+ " 5.353551e+01 \n",
+ " 1.381348e+01 \n",
+ " 18.0 \n",
+ " 44.0 \n",
+ " 56.0 \n",
+ " 64.0 \n",
+ " 94.0 \n",
+ " \n",
+ " \n",
+ " PassingTotal \n",
+ " 19260.0 \n",
+ " 5.785332e+01 \n",
+ " 9.835494e+00 \n",
+ " 25.0 \n",
+ " 52.0 \n",
+ " 58.0 \n",
+ " 65.0 \n",
+ " 93.0 \n",
+ " \n",
+ " \n",
+ " DribblingTotal \n",
+ " 19260.0 \n",
+ " 6.302871e+01 \n",
+ " 9.704853e+00 \n",
+ " 26.0 \n",
+ " 58.0 \n",
+ " 64.0 \n",
+ " 69.0 \n",
+ " 95.0 \n",
+ " \n",
+ " \n",
+ " DefendingTotal \n",
+ " 19260.0 \n",
+ " 5.005810e+01 \n",
+ " 1.638880e+01 \n",
+ " 14.0 \n",
+ " 35.0 \n",
+ " 54.0 \n",
+ " 63.0 \n",
+ " 91.0 \n",
+ " \n",
+ " \n",
+ " PhysicalityTotal \n",
+ " 19260.0 \n",
+ " 6.467658e+01 \n",
+ " 9.626269e+00 \n",
+ " 29.0 \n",
+ " 58.0 \n",
+ " 66.0 \n",
+ " 72.0 \n",
+ " 92.0 \n",
+ " \n",
+ " \n",
+ " Rating \n",
+ " 19260.0 \n",
+ " 6.581563e+01 \n",
+ " 6.817297e+00 \n",
+ " 48.0 \n",
+ " 62.0 \n",
+ " 66.0 \n",
+ " 70.0 \n",
+ " 93.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "summary": "{\n \"name\": \"data\",\n \"rows\": 11,\n \"fields\": [\n {\n \"column\": \"count\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.0,\n \"min\": 19260.0,\n \"max\": 19260.0,\n \"num_unique_values\": 1,\n \"samples\": [\n 19260.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"mean\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 861593.1275479158,\n \"min\": 25.184683281412255,\n \"max\": 2857651.5549325026,\n \"num_unique_values\": 11,\n \"samples\": [\n 53.535514018691586\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"std\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 2292849.817214946,\n \"min\": 4.737340478154564,\n \"max\": 7604532.0956287095,\n \"num_unique_values\": 11,\n \"samples\": [\n 13.813476196758511\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"min\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 41.59195726448696,\n \"min\": 0.0,\n \"max\": 155.0,\n \"num_unique_values\": 11,\n \"samples\": [\n 18.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"25%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 143198.6578001471,\n \"min\": 21.0,\n \"max\": 475000.0,\n \"num_unique_values\": 9,\n \"samples\": [\n 58.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"50%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 293952.06575964665,\n \"min\": 25.0,\n \"max\": 975000.0,\n \"num_unique_values\": 10,\n \"samples\": [\n 54.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"75%\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 602999.3835594467,\n \"min\": 29.0,\n \"max\": 2000000.0,\n \"num_unique_values\": 11,\n \"samples\": [\n 64.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"max\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 58493169.94318504,\n \"min\": 54.0,\n \"max\": 194000000.0,\n \"num_unique_values\": 10,\n \"samples\": [\n 91.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 8
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "- tinggi rata-rata orang asia adalah 170-175cm, dari statistik sederhana yang dilakukan, dataset ini memiliki rata-rata tinggi badan 181cm, artinya pemain asia pada dataset ini sedikit"
+ ],
+ "metadata": {
+ "id": "HRbLL3sQk1v1"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "#4. Exploratory Data Analysis (EDA)\n",
+ "> Bagian ini berisi eksplorasi data pada dataset diatas dengan menggunakan query, grouping, visualisasi sederhana, dan lain sebagainya."
+ ],
+ "metadata": {
+ "id": "rO_HE-53lgIX"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#create Histogram and Scatter plot\n",
+ "\n",
+ "plt.figure(figsize = (16,5))\n",
+ "plt.subplot(1,2,1)\n",
+ "sns.histplot(data['Rating'], kde = True, bins = 20)\n",
+ "plt.title('Rating Histrogram')\n",
+ "\n",
+ "plt.subplot(1,2,2)\n",
+ "sns.scatterplot(x = 'Weight', y = 'Height', data = data)\n",
+ "plt.title('Height and Weight Proportion')\n",
+ "plt.show()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 331
+ },
+ "id": "rO5N6098kqes",
+ "outputId": "641ffb0f-fbc2-4ba8-a592-228334fffcf3"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "display_data",
+ "data": {
+ "text/plain": [
+ ""
+ ],
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAHWCAYAAAB9rceIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXxTVfo/8E/2pGlSStINWtaWzbaA6ChQCqIjg+gI1I0ZB3AXQb/ugKAjyO4wMw6izoyOzPzcRoWKI+CKiMUdEMoqRaRAS0sLTdo0e/L7o01oaJp7S9KkLZ/369XXDDknz3nuubn19uTe+0i8Xq8XRERERERERERERO2ANNYJEBEREREREREREflwwZKIiIiIiIiIiIjaDS5YEhERERERERERUbvBBUsiIiIiIiIiIiJqN7hgSURERERERERERO0GFyyJiIiIiIiIiIio3eCCJREREREREREREbUbXLAkIiIiIiIiIiKidoMLlkRERERERERERNRucMGSiDqVp59+GhKJJNZpiPLLL79AIpFgzZo1sU6FiIiIKKamT5+OXr16nfd74+PjI5tQlI0ZMwZjxoyJdRoAwjtH9b33T3/6U+QTu8Bs2bIFEokEW7ZsiXUqRDHBBUsialNr1qyBRCLx/8jlcnTv3h3Tp0/HiRMnzitmfX09nn766Xb3H2+hk2WJRIJZs2aFPc4LL7zARU4iIiKKOt953Q8//BC0fcyYMcjOzo5yVuK113NIsQYNGoTBgwc3e72wsBASiQSjR49u1vavf/0LEokEH3/8cTRSbJWNGzfi6aefFt1/zJgxAX9XdO3aFZdeein+9a9/wePxtF2ibYzn9kTByWOdABFdGBYuXIjevXvDZrPhm2++wZo1a1BUVIQ9e/ZArVa3KlZ9fT0WLFgAAM2+iZ4/fz7mzJkTqbTbVM+ePWG1WqFQKFr1vhdeeAFGoxHTp09vm8SIiIiIouyf//xnmy86hTqH7Ajy8vLwyiuvwGQyISEhwf/6tm3bIJfL8f3338PpdAacW27btg0ymQzDhw8XPc75nqO21saNG7F69epWLVqmp6dj6dKlAIBTp07hP//5D+644w789NNPWLZsWRtl2rZaOrfPz8+H1WqFUqmMTWJEMcYrLIkoKsaPH49bb70Vd955J15++WU8+uijOHz4MN5///2IjiOXy1u9ABorEokEarUaMpmszcawWCxtFvtcNputQ3+7TURERLGjUCigUqlinUa7lpeXB4/Hg6+++irg9W3btuGmm26C1WrF9u3bA9qKioqQm5sLnU4nepxonKOer4SEBNx666249dZb8dBDD2Hbtm1IT0/H888/D6fTGfQ9Ho8HNpstypkKq6+vD9kulUqhVqshlXLZhi5M/OQTUUyMGjUKAHD48GH/aw6HA0899RSGDRuGhIQEaLVajBo1Cp9//rm/zy+//IKkpCQAwIIFC/y3hPi+mQ32DEvfrdjvvfcesrOzoVKpcNFFF+HDDz9slteWLVtwySWXQK1Wo2/fvvj73//eZs/FDPZ8oJMnT+K2225Deno6VCoV0tLScP311+OXX34BAPTq1Qt79+7FF1984d923xUCvtu0vvjiC9x3331ITk5Genq6P/YLL7yAiy66CCqVCt26dcPMmTNRU1PTLK/Vq1ejT58+0Gg0+NWvfoUvv/yy2XOVfM/UeeuttzB//nx0794dcXFxMJvNOH36NB599FHk5OQgPj4eer0e48ePx65duwLG8cV4++23sWDBAnTv3h06nQ433HADTCYT7HY7HnzwQSQnJyM+Ph633XYb7HZ7pKafiIiIouS1117DsGHDoNFo0LVrV9xyyy04duxYQJ9gz7Csrq7GH/7wB+j1enTp0gXTpk3Drl27Wny+4okTJzBx4kTEx8cjKSkJjz76KNxuNwDhc8hgzuecZvHixUhPT4darcaVV16JkpKSZnH/8Y9/oG/fvgHnWmLk5eUBaFig9LHZbNixYwcmT56MPn36BLSdOnUKP/30k/99vjm6/fbbkZKS4j8n/te//hUwTkvPsHznnXcwaNAgqNVqZGdno7CwMOSzR33bqVKpcOmll+L777/3t02fPh2rV68GgIDbvFsrLi4Ol19+OSwWC06dOuWPN2vWLLz++uv+c1/fef/OnTsxfvx46PV6xMfH48orr8Q333wTENN3Tr1161bcc889MBgM0Ov1mDp1Ks6cOdMsBzHn2L7HJWzfvh35+fmIi4vDE088EfLcvqVnWL7zzjv+48loNOLWW29t9qgt36OqQh0TRO0dbwknopjwLcAlJib6XzObzXj55ZcxZcoU3HXXXaitrcUrr7yCcePG4bvvvsOQIUOQlJSEF198ETNmzMCkSZMwefJkAEBubm7I8YqKirBu3Trc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4Ha78fzzzyM7Oxs//vhjmFsr7KeffsKVV16Jm266CYMGDYJcLkdhYSEqKipwyy23+PsNGzYML774IhYtWoTMzEwkJyc3+5a1qaSkJMydOxcLFizAb37zG/z2t7/FwYMH8cILL+DSSy/FrbfeCqDheTtPP/007r//fowdOxY33XQTfvnlF6xZswZ9+/YV/e3vtddei4ULF+K2227DiBEjUFxcjNdff130s5mIiIioc+jbty8WLVqEuXPn4pdffsHEiROh0+lw5MgRFBYW4u6778ajjz4a9L0TJ07Er371KzzyyCMoKSnBgAED8P777+P06dMAzu/qvNaeQ0b6nEahUGDRokW45557MHbsWNx88804cuQIXn311VbF9F01+fXXX+Ppp58OaLv88sshkUjwzTff4LrrrguYp2XLluHzzz/HZZddhrvuuguDBg3C6dOnsWPHDnz66af+uQ1myZIluP766zFy5EjcdtttOHPmjP88uel5emsMGzYMAPDAAw9g3LhxkMlkAee8kbZo0SJ88sknyMvLw3333Qe5XI6///3vsNvtWLFiRbP+DofDf27uO3fOy8vDb3/7WwDiz7GFiD23VygUWL58OW677TaMHj0aU6ZMQUVFBZ577jn06tULDz30UHgTRNTO8ApLIoqZyZMno2/fvvjTn/4Et9uN6dOnY8mSJdi1axceeOABfPTRR3jttdeCPtT95ZdfRvfu3fHQQw9hypQpePfdd8POZ9iwYdi0aRMSExPx5JNP4pVXXsHChQtx5ZVXBlTiaysZGRmYMmUKtmzZgrlz52Lu3Lkwm814++23UVBQ4O/31FNP4ZprrsGKFSswZcoULFy4UDD2008/jeeffx6lpaV46KGH8Pbbb+Puu+/Gxx9/HPDA+1mzZuFvf/sbSktL8eijj+LLL7/E+++/jy5duoiegyeeeAKPPPIIPvroI/zf//0fduzYgQ0bNjS7zYaIiIg6vzlz5mDt2rWQSqVYsGABHn30Ubz//vu4+uqr/Qs/wchkMmzYsAE333wz/v3vf2PevHno1q2b/wrL8z03a805ZFuc09x999144YUXUFZWhscee8x/rtWamJdffjnk8oZrj3zPr/TR6/X+BVjfwqZPSkoKvvvuO9x2221Yt24dZs2aheeeew6nT5/G8uXLQ4553XXX4c0334TD4cCcOXOwbt06rFmz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kJ6ejpdffhnjxo2LxSYTERERERERERFRCBKv1+uNdRLtndlsRkJCAkwmE59nSURERB0Sz2c6Pu5DIiKiyDHVO1BV54DZ5oReo4BRq0RCnDLWaXVqrTmXiXmVcCIiIiIiIiIiomgpq7Fi9trd+PJQlf+1/CwjlhXkoluX4AWaKbraXdEdIiIiIiIiIiKitmCqdzRbrASArYeqMGftbpjqHTHKjJrigiUREREREREREV0QquoczRYrfbYeqkJVHRcs2wPeEk5EHVppaSmqqoL/xyaSjEYjevTo0ebjEBERERERUdsx25wh22sF2ik6uGBJRB1WaWkpBgwcCGt9fZuPpYmLw4H9+7loSURERERE1IHp1YqQ7TqBdooOLlgSUYdVVVUFa309fj/7WaT06Ntm41SUHsbryx9DVVUVFyyJiIiIiIg6MGO8EvlZRmwNclt4fpYRxnhWCm8PuGBJRB1eSo++SM+6KNZpEBERERERUTuXEKfEsoJczFm7O2DRMj/LiOUFuUiI44Jle8AFSyIiIiIiIiIiumB066LBqilDUVXnQK3NCZ1aAWO8kouV7QgXLImIiIiIiIiI6IKSEMcFyvZMGusEiIiIiIiIiIiIiHy4YElERERERERERETtBhcsiYiIiIiIiIiIqN3ggiURERERERERERG1Gyy6Q0RERERERETtjqnegao6B8w2J/QaBYxaFkkhulBwwZKIiIiIiIiI2pWyGitmr92NLw9V+V/LzzJiWUEuunXRxDAzIooG3hJORERERERERO2Gqd7RbLESALYeqsKctbthqnfEKDMiihYuWBIRERERERFRu1FV52i2WOmz9VAVquq4YEnU2XHBkoiIiIiIiIjaDbPNGbK9VqCdiDo+LlgSERERERERUbuhVytCtusE2omo4+OCJRERERERERG1G8Z4JfKzjEHb8rOMMMazUjhRZ8cq4URERERERNTpmeodqKpzwGxzQq9RwKhVIiGOC1/tUUKcEssKcjFn7W5sPadK+PKC3At2v4X7GeYxQB0JFyyJiIiIiIioUyursTarOp2fZcSyglx066KJYWbUEgmA8TlpmDaiF+wuD1RyKSpr7bFOK2bC/QzzGKCOhguWRERERERE1GmZ6h3NFmqAhmrTc9buxqopQ3mVWTtjqnfg8SD7DGhYZLvQ9lm4n2EeA9QR8RmWRERERERE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1pzLxPTr3BdffBEvvvgifvnlFwDARRddhKeeegrjx48HELlvqrds2YKHH34Ye/fuRUZGBubPn4/p06dHc1OJiIiIqIP68MMPA/69Zs0aJCcnY/v27cjPz4fJZMIrr7yCN954A2PHjgUAvPrqqxg4cCC++eYbXH755fj444+xb98+fPrpp0hJScGQIUPwzDPPYPbs2Xj66aehVDb/A8lut8Nut/v/bTab23ZDiajTE1Md2bdgkxAXu8UbsVWcNxSfxIbik0H7PfTr/mHnX1XnwKf7K/Hp/soW24XGMFmdghW8hRYsheZDaIwzFgdS9OqI7NMUvTrsq1fb8rPVUT7jJCymRXfS09OxbNkybN++HT/88APGjh2L66+/Hnv37gUAPPTQQ/jf//6Hd955B1988QXKysowefJk//vdbjcmTJgAh8OBr776Cv/+97+xZs0aPPXUU/4+R44cwYQJE3DFFVfgxx9/xIMPPog777wTH330UdS3l4iIiIg6PpPJBADo2rUrAGD79u1wOp246qqr/H0GDBiAHj164OuvvwYAfP3118jJyQn44n3cuHEwm83+c99zLV26FAkJCf6fjIyMttokIrpAdJTqyGLyjE717QhU145Ihe7QfYTGiETF9I6io3zGSVhMFyyvu+46XHPNNcjKykK/fv2wePFixMfH45tvvvF/U/3nP/8ZY8eOxbBhw/Dqq6/iq6++wjfffAMA/m+qX3vtNQwZMgTjx4/HM888g9WrV8PhaPjG5aWXXkLv3r2xcuVKDBw4ELNmzcINN9yAv/zlL7HcdCIiIiLqgDweDx588EGMHDkS2dnZAICTJ09CqVSiS5cuAX1TUlJw8uRJf5+mi5W+dl9bMHPnzoXJZPL/HDt2LMJbQ0QXmo5SHVlMntGpvh2B6toRqdAduo/QGJGomN5RdJTPOAmL6YJlU263G2+99RYsFguGDx8esW+qv/7664AYvj6+GMHY7XaYzeaAHyIiIiKimTNnYs+ePXjrrbfafCyVSgW9Xh/wQ0QUDl915GDaU3VkMXlGY1siMUaCRoG8TEPQtrxMAxIEFhvF5CE0RiQqpncUHeUzTsJivmBZXFyM+Ph4qFQq3HvvvSgsLMSgQYMi9k11S33MZjOsVmvQnHj7DRERERGda9asWfjggw/w+eefIz093f96amoqHA4HampqAvpXVFQgNTXV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\n"
+ },
+ "metadata": {}
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "- Terlihat dari plot histogram, rating terdistribusi normal dengan rata-rata di sekitar 65\n",
+ "- Tinggi dan berat badan pemain cukup proporsional, terlihat dari berat dan tinggi pemain yang seimbang"
+ ],
+ "metadata": {
+ "id": "yQNJ-fXUne6B"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "#5. Feature Engineering\n",
+ "\n",
+ "> Bagian ini berisi proses penyiapan data untuk proses pelatihan model, seperti pembagian data menjadi train-test, transformasi data (normalisasi, encoding, dll.), dan proses-proses lain yang dibutuhkan."
+ ],
+ "metadata": {
+ "id": "g3AFgZprn2_p"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Handling Cardinality\n",
+ "\n",
+ "akan dibahas di hari rabu"
+ ],
+ "metadata": {
+ "id": "XCqzlG_bn894"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Splitting Between Train-set and Test-set"
+ ],
+ "metadata": {
+ "id": "bYEP9M8FoaYV"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Split between X & y\n",
+ "\n",
+ "X = data.drop('Rating', axis = 1)\n",
+ "y = data['Rating']\n",
+ "X"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 496
+ },
+ "id": "U-la1TikojAQ",
+ "outputId": "b82ec5a5-9427-4285-d7bd-8971fbd4218f"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name Age Height Weight Price AttackingWorkRate \\\n",
+ "0 L. Messi 34 170 72 78000000 Medium \n",
+ "1 R. Lewandowski 32 185 81 119500000 High \n",
+ "2 Cristiano Ronaldo 36 187 83 45000000 High \n",
+ "3 K. Mbappé 22 182 73 194000000 High \n",
+ "4 J. Oblak 28 188 87 112000000 Medium \n",
+ "... ... ... ... ... ... ... \n",
+ "19255 S. Black 19 180 75 100000 Medium \n",
+ "19256 Ma Zhen 23 196 85 50000 Medium \n",
+ "19257 Yang Haoyu 20 183 77 90000 Medium \n",
+ "19258 He Siwei 20 174 69 100000 Medium \n",
+ "19259 Chen Guoliang 22 186 70 70000 Medium \n",
+ "\n",
+ " DefensiveWorkRate PaceTotal ShootingTotal PassingTotal \\\n",
+ "0 Low 85 92 91 \n",
+ "1 Medium 78 92 79 \n",
+ "2 Low 87 94 80 \n",
+ "3 Low 97 88 80 \n",
+ "4 Medium 87 92 78 \n",
+ "... ... ... ... ... \n",
+ "19255 Medium 56 27 29 \n",
+ "19256 Medium 49 47 45 \n",
+ "19257 Medium 57 26 29 \n",
+ "19258 Medium 61 25 32 \n",
+ "19259 Medium 55 27 29 \n",
+ "\n",
+ " DribblingTotal DefendingTotal PhysicalityTotal \n",
+ "0 95 34 65 \n",
+ "1 85 44 82 \n",
+ "2 87 34 75 \n",
+ "3 92 36 77 \n",
+ "4 90 52 90 \n",
+ "... ... ... ... \n",
+ "19255 33 48 53 \n",
+ "19256 46 54 44 \n",
+ "19257 28 51 56 \n",
+ "19258 32 49 51 \n",
+ "19259 30 50 54 \n",
+ "\n",
+ "[19260 rows x 13 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " Age \n",
+ " Height \n",
+ " Weight \n",
+ " Price \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " PaceTotal \n",
+ " ShootingTotal \n",
+ " PassingTotal \n",
+ " DribblingTotal \n",
+ " DefendingTotal \n",
+ " PhysicalityTotal \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " L. Messi \n",
+ " 34 \n",
+ " 170 \n",
+ " 72 \n",
+ " 78000000 \n",
+ " Medium \n",
+ " Low \n",
+ " 85 \n",
+ " 92 \n",
+ " 91 \n",
+ " 95 \n",
+ " 34 \n",
+ " 65 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " R. Lewandowski \n",
+ " 32 \n",
+ " 185 \n",
+ " 81 \n",
+ " 119500000 \n",
+ " High \n",
+ " Medium \n",
+ " 78 \n",
+ " 92 \n",
+ " 79 \n",
+ " 85 \n",
+ " 44 \n",
+ " 82 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " Cristiano Ronaldo \n",
+ " 36 \n",
+ " 187 \n",
+ " 83 \n",
+ " 45000000 \n",
+ " High \n",
+ " Low \n",
+ " 87 \n",
+ " 94 \n",
+ " 80 \n",
+ " 87 \n",
+ " 34 \n",
+ " 75 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " K. Mbappé \n",
+ " 22 \n",
+ " 182 \n",
+ " 73 \n",
+ " 194000000 \n",
+ " High \n",
+ " Low \n",
+ " 97 \n",
+ " 88 \n",
+ " 80 \n",
+ " 92 \n",
+ " 36 \n",
+ " 77 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " J. Oblak \n",
+ " 28 \n",
+ " 188 \n",
+ " 87 \n",
+ " 112000000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 87 \n",
+ " 92 \n",
+ " 78 \n",
+ " 90 \n",
+ " 52 \n",
+ " 90 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 19255 \n",
+ " S. Black \n",
+ " 19 \n",
+ " 180 \n",
+ " 75 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 56 \n",
+ " 27 \n",
+ " 29 \n",
+ " 33 \n",
+ " 48 \n",
+ " 53 \n",
+ " \n",
+ " \n",
+ " 19256 \n",
+ " Ma Zhen \n",
+ " 23 \n",
+ " 196 \n",
+ " 85 \n",
+ " 50000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 49 \n",
+ " 47 \n",
+ " 45 \n",
+ " 46 \n",
+ " 54 \n",
+ " 44 \n",
+ " \n",
+ " \n",
+ " 19257 \n",
+ " Yang Haoyu \n",
+ " 20 \n",
+ " 183 \n",
+ " 77 \n",
+ " 90000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 57 \n",
+ " 26 \n",
+ " 29 \n",
+ " 28 \n",
+ " 51 \n",
+ " 56 \n",
+ " \n",
+ " \n",
+ " 19258 \n",
+ " He Siwei \n",
+ " 20 \n",
+ " 174 \n",
+ " 69 \n",
+ " 100000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 61 \n",
+ " 25 \n",
+ " 32 \n",
+ " 32 \n",
+ " 49 \n",
+ " 51 \n",
+ " \n",
+ " \n",
+ " 19259 \n",
+ " Chen Guoliang \n",
+ " 22 \n",
+ " 186 \n",
+ " 70 \n",
+ " 70000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 55 \n",
+ " 27 \n",
+ " 29 \n",
+ " 30 \n",
+ " 50 \n",
+ " 54 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
19260 rows × 13 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "X",
+ "summary": "{\n \"name\": \"X\",\n \"rows\": 19260,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 18058,\n \"samples\": [\n \"R. Bouallak\",\n \"M. Beier\",\n \"D. Peri\\u0107\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 16,\n \"max\": 54,\n \"num_unique_values\": 29,\n \"samples\": [\n 42,\n 23,\n 20\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 155,\n \"max\": 206,\n \"num_unique_values\": 50,\n \"samples\": [\n 191,\n 161,\n 186\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7,\n \"min\": 49,\n \"max\": 110,\n \"num_unique_values\": 57,\n \"samples\": [\n 72,\n 70,\n 77\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Price\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7604532,\n \"min\": 0,\n \"max\": 194000000,\n \"num_unique_values\": 252,\n \"samples\": [\n 3700000,\n 129000000,\n 31500000\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Low\",\n \"Medium\",\n \"High\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PaceTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10,\n \"min\": 28,\n \"max\": 97,\n \"num_unique_values\": 70,\n \"samples\": [\n 79,\n 85,\n 32\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ShootingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 13,\n \"min\": 18,\n \"max\": 94,\n \"num_unique_values\": 76,\n \"samples\": [\n 83,\n 58,\n 89\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PassingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 25,\n \"max\": 93,\n \"num_unique_values\": 67,\n \"samples\": [\n 61,\n 89,\n 93\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DribblingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 26,\n \"max\": 95,\n \"num_unique_values\": 69,\n \"samples\": [\n 68,\n 95,\n 51\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefendingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 16,\n \"min\": 14,\n \"max\": 91,\n \"num_unique_values\": 77,\n \"samples\": [\n 64,\n 78,\n 43\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PhysicalityTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 29,\n \"max\": 92,\n \"num_unique_values\": 62,\n \"samples\": [\n 43,\n 38,\n 65\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 10
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Splitting between train and test\n",
+ "\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 42)\n",
+ "print('Train_size: ' , X_train.shape)\n",
+ "print('Test_size: ', X_test.shape)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "wREuIfJVpYJI",
+ "outputId": "ee066263-8295-405a-d7a9-c2dcb5eec897"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Train_size: (15408, 13)\n",
+ "Test_size: (3852, 13)\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "X_train"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 513
+ },
+ "id": "qpJk6q_psGfQ",
+ "outputId": "e3e6c462-3ed7-4d69-eafe-1ca9e9c97a19"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name Age Height Weight Price AttackingWorkRate \\\n",
+ "3035 C. Robinson 26 178 75 4000000 Medium \n",
+ "3964 Samu 25 173 70 2500000 High \n",
+ "511 Ander Herrera 31 182 71 14500000 High \n",
+ "17897 L. Beckemeyer 21 182 75 250000 Medium \n",
+ "4230 I. Jakobs 21 184 75 4200000 High \n",
+ "... ... ... ... ... ... ... \n",
+ "11284 R. Meißner 21 181 78 1300000 High \n",
+ "11964 J. Leutwiler 32 196 80 300000 Medium \n",
+ "5390 Heitinho Zanon 25 187 79 1500000 Medium \n",
+ "860 E. Eze 23 178 67 16500000 Medium \n",
+ "15795 J. Rodríguez 19 179 62 500000 Medium \n",
+ "\n",
+ " DefensiveWorkRate PaceTotal ShootingTotal PassingTotal \\\n",
+ "3035 Medium 79 73 65 \n",
+ "3964 Medium 77 58 64 \n",
+ "511 High 65 72 77 \n",
+ "17897 Medium 59 57 51 \n",
+ "4230 High 86 58 58 \n",
+ "... ... ... ... ... \n",
+ "11284 Medium 68 65 43 \n",
+ "11964 Medium 63 61 62 \n",
+ "5390 Medium 61 34 47 \n",
+ "860 Medium 77 69 73 \n",
+ "15795 Medium 72 28 40 \n",
+ "\n",
+ " DribblingTotal DefendingTotal PhysicalityTotal \n",
+ "3035 75 32 61 \n",
+ "3964 77 44 56 \n",
+ "511 79 78 75 \n",
+ "17897 58 34 51 \n",
+ "4230 73 61 69 \n",
+ "... ... ... ... \n",
+ "11284 62 22 63 \n",
+ "11964 66 46 65 \n",
+ "5390 39 70 77 \n",
+ "860 81 47 68 \n",
+ "15795 40 59 60 \n",
+ "\n",
+ "[15408 rows x 13 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " Age \n",
+ " Height \n",
+ " Weight \n",
+ " Price \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " PaceTotal \n",
+ " ShootingTotal \n",
+ " PassingTotal \n",
+ " DribblingTotal \n",
+ " DefendingTotal \n",
+ " PhysicalityTotal \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 3035 \n",
+ " C. Robinson \n",
+ " 26 \n",
+ " 178 \n",
+ " 75 \n",
+ " 4000000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 79 \n",
+ " 73 \n",
+ " 65 \n",
+ " 75 \n",
+ " 32 \n",
+ " 61 \n",
+ " \n",
+ " \n",
+ " 3964 \n",
+ " Samu \n",
+ " 25 \n",
+ " 173 \n",
+ " 70 \n",
+ " 2500000 \n",
+ " High \n",
+ " Medium \n",
+ " 77 \n",
+ " 58 \n",
+ " 64 \n",
+ " 77 \n",
+ " 44 \n",
+ " 56 \n",
+ " \n",
+ " \n",
+ " 511 \n",
+ " Ander Herrera \n",
+ " 31 \n",
+ " 182 \n",
+ " 71 \n",
+ " 14500000 \n",
+ " High \n",
+ " High \n",
+ " 65 \n",
+ " 72 \n",
+ " 77 \n",
+ " 79 \n",
+ " 78 \n",
+ " 75 \n",
+ " \n",
+ " \n",
+ " 17897 \n",
+ " L. Beckemeyer \n",
+ " 21 \n",
+ " 182 \n",
+ " 75 \n",
+ " 250000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 59 \n",
+ " 57 \n",
+ " 51 \n",
+ " 58 \n",
+ " 34 \n",
+ " 51 \n",
+ " \n",
+ " \n",
+ " 4230 \n",
+ " I. Jakobs \n",
+ " 21 \n",
+ " 184 \n",
+ " 75 \n",
+ " 4200000 \n",
+ " High \n",
+ " High \n",
+ " 86 \n",
+ " 58 \n",
+ " 58 \n",
+ " 73 \n",
+ " 61 \n",
+ " 69 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 11284 \n",
+ " R. Meißner \n",
+ " 21 \n",
+ " 181 \n",
+ " 78 \n",
+ " 1300000 \n",
+ " High \n",
+ " Medium \n",
+ " 68 \n",
+ " 65 \n",
+ " 43 \n",
+ " 62 \n",
+ " 22 \n",
+ " 63 \n",
+ " \n",
+ " \n",
+ " 11964 \n",
+ " J. Leutwiler \n",
+ " 32 \n",
+ " 196 \n",
+ " 80 \n",
+ " 300000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 63 \n",
+ " 61 \n",
+ " 62 \n",
+ " 66 \n",
+ " 46 \n",
+ " 65 \n",
+ " \n",
+ " \n",
+ " 5390 \n",
+ " Heitinho Zanon \n",
+ " 25 \n",
+ " 187 \n",
+ " 79 \n",
+ " 1500000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 61 \n",
+ " 34 \n",
+ " 47 \n",
+ " 39 \n",
+ " 70 \n",
+ " 77 \n",
+ " \n",
+ " \n",
+ " 860 \n",
+ " E. Eze \n",
+ " 23 \n",
+ " 178 \n",
+ " 67 \n",
+ " 16500000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 77 \n",
+ " 69 \n",
+ " 73 \n",
+ " 81 \n",
+ " 47 \n",
+ " 68 \n",
+ " \n",
+ " \n",
+ " 15795 \n",
+ " J. Rodríguez \n",
+ " 19 \n",
+ " 179 \n",
+ " 62 \n",
+ " 500000 \n",
+ " Medium \n",
+ " Medium \n",
+ " 72 \n",
+ " 28 \n",
+ " 40 \n",
+ " 40 \n",
+ " 59 \n",
+ " 60 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
15408 rows × 13 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "X_train",
+ "summary": "{\n \"name\": \"X_train\",\n \"rows\": 15408,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 14572,\n \"samples\": [\n \"\\u00c1lex Blanco\",\n \"Kwoun Sun Tae\",\n \"Park Joo Ho\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Age\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 4,\n \"min\": 16,\n \"max\": 54,\n \"num_unique_values\": 29,\n \"samples\": [\n 42,\n 30,\n 27\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Height\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 6,\n \"min\": 155,\n \"max\": 206,\n \"num_unique_values\": 49,\n \"samples\": [\n 180,\n 156,\n 160\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Weight\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7,\n \"min\": 49,\n \"max\": 110,\n \"num_unique_values\": 57,\n \"samples\": [\n 75,\n 65,\n 66\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"Price\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 7413730,\n \"min\": 0,\n \"max\": 137500000,\n \"num_unique_values\": 241,\n \"samples\": [\n 240000,\n 325000,\n 63500000\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PaceTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 10,\n \"min\": 28,\n \"max\": 96,\n \"num_unique_values\": 69,\n \"samples\": [\n 81,\n 79,\n 37\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"ShootingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 13,\n \"min\": 18,\n \"max\": 94,\n \"num_unique_values\": 76,\n \"samples\": [\n 42,\n 36,\n 64\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PassingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 25,\n \"max\": 93,\n \"num_unique_values\": 67,\n \"samples\": [\n 81,\n 61,\n 58\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DribblingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 26,\n \"max\": 91,\n \"num_unique_values\": 66,\n \"samples\": [\n 44,\n 34,\n 75\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefendingTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 16,\n \"min\": 14,\n \"max\": 91,\n \"num_unique_values\": 77,\n \"samples\": [\n 61,\n 26,\n 65\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"PhysicalityTotal\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 9,\n \"min\": 29,\n \"max\": 92,\n \"num_unique_values\": 62,\n \"samples\": [\n 36,\n 89,\n 61\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 12
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Handling Outliers\n",
+ "\n",
+ "akan dibahas di hari rabu"
+ ],
+ "metadata": {
+ "id": "o-acJJfPoC8L"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Handling Missing Values\n",
+ "\n",
+ "akan dibahas di hari rabu"
+ ],
+ "metadata": {
+ "id": "Go7do_7QoJkE"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "X_train.isnull().sum()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "1aSmuk55nYMN",
+ "outputId": "45676420-afbb-4166-cf8d-e0f29171cc5d"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "Name 0\n",
+ "Age 0\n",
+ "Height 0\n",
+ "Weight 0\n",
+ "Price 0\n",
+ "AttackingWorkRate 0\n",
+ "DefensiveWorkRate 0\n",
+ "PaceTotal 0\n",
+ "ShootingTotal 0\n",
+ "PassingTotal 0\n",
+ "DribblingTotal 0\n",
+ "DefendingTotal 0\n",
+ "PhysicalityTotal 0\n",
+ "dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 13
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "X_test.isnull().sum()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "Px9-yFJLmrW3",
+ "outputId": "57b21f86-07d2-44c1-8acf-17be599748b3"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "Name 0\n",
+ "Age 0\n",
+ "Height 0\n",
+ "Weight 0\n",
+ "Price 0\n",
+ "AttackingWorkRate 0\n",
+ "DefensiveWorkRate 0\n",
+ "PaceTotal 0\n",
+ "ShootingTotal 0\n",
+ "PassingTotal 0\n",
+ "DribblingTotal 0\n",
+ "DefendingTotal 0\n",
+ "PhysicalityTotal 0\n",
+ "dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 14
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "y_train.isnull().sum()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "mBUWxfdwsm_o",
+ "outputId": "5de58cd4-d744-4b99-d4bc-1fb203b5316f"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "0"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 15
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "y_test.isnull().sum()"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "PQcqfq7EsqP0",
+ "outputId": "23a1ca03-34a7-4796-f22f-074627227e61"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "0"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 16
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Data tidak memiliki missing value, sehingga proses feature engineering bisa dilanjutkan ke tahap selanjutnya"
+ ],
+ "metadata": {
+ "id": "qI7tKMr7st-H"
+ }
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "##Split Between Numeric Columns and Categorical Columns"
+ ],
+ "metadata": {
+ "id": "2h9mNYf4s5Vt"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#get numeric and categorical column\n",
+ "\n",
+ "cat_columns = X_train.select_dtypes(include=['object']).columns.tolist()\n",
+ "num_columns = X_train.select_dtypes(include = np.number).columns.tolist()\n",
+ "\n",
+ "print('Numerical Columns: ', num_columns)\n",
+ "print('Categorical Columns: ', cat_columns)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "psBpffmassT2",
+ "outputId": "736d5465-8d76-446e-c01b-034aa4d505d3"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Numerical Columns: ['Age', 'Height', 'Weight', 'Price', 'PaceTotal', 'ShootingTotal', 'PassingTotal', 'DribblingTotal', 'DefendingTotal', 'PhysicalityTotal']\n",
+ "Categorical Columns: ['Name', 'AttackingWorkRate', 'DefensiveWorkRate']\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Split numerical columns and categorical columns\n",
+ "\n",
+ "X_train_num = X_train[num_columns]\n",
+ "X_train_cat = X_train[cat_columns]\n",
+ "\n",
+ "X_test_num = X_test[num_columns]\n",
+ "X_test_cat = X_test[cat_columns]\n",
+ "\n",
+ "X_train_cat"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 423
+ },
+ "id": "xRiBv0Matoxt",
+ "outputId": "38dba6f4-2020-4167-e068-c18e976519c9"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name AttackingWorkRate DefensiveWorkRate\n",
+ "3035 C. Robinson Medium Medium\n",
+ "3964 Samu High Medium\n",
+ "511 Ander Herrera High High\n",
+ "17897 L. Beckemeyer Medium Medium\n",
+ "4230 I. Jakobs High High\n",
+ "... ... ... ...\n",
+ "11284 R. Meißner High Medium\n",
+ "11964 J. Leutwiler Medium Medium\n",
+ "5390 Heitinho Zanon Medium Medium\n",
+ "860 E. Eze Medium Medium\n",
+ "15795 J. Rodríguez Medium Medium\n",
+ "\n",
+ "[15408 rows x 3 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 3035 \n",
+ " C. Robinson \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 3964 \n",
+ " Samu \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 511 \n",
+ " Ander Herrera \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " 17897 \n",
+ " L. Beckemeyer \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 4230 \n",
+ " I. Jakobs \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 11284 \n",
+ " R. Meißner \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 11964 \n",
+ " J. Leutwiler \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 5390 \n",
+ " Heitinho Zanon \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 860 \n",
+ " E. Eze \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 15795 \n",
+ " J. Rodríguez \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
15408 rows × 3 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "X_train_cat",
+ "summary": "{\n \"name\": \"X_train_cat\",\n \"rows\": 15408,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 14572,\n \"samples\": [\n \"\\u00c1lex Blanco\",\n \"Kwoun Sun Tae\",\n \"Park Joo Ho\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 18
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Feature Selection\n",
+ "\n",
+ "akan dipelajari lebih dalam di hari rabu"
+ ],
+ "metadata": {
+ "id": "v-ICKADJuovy"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "X_train_cat"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 423
+ },
+ "id": "8w-CBYfmuSa9",
+ "outputId": "f7ffec39-ec15-400d-9678-44e1d15ac128"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Name AttackingWorkRate DefensiveWorkRate\n",
+ "3035 C. Robinson Medium Medium\n",
+ "3964 Samu High Medium\n",
+ "511 Ander Herrera High High\n",
+ "17897 L. Beckemeyer Medium Medium\n",
+ "4230 I. Jakobs High High\n",
+ "... ... ... ...\n",
+ "11284 R. Meißner High Medium\n",
+ "11964 J. Leutwiler Medium Medium\n",
+ "5390 Heitinho Zanon Medium Medium\n",
+ "860 E. Eze Medium Medium\n",
+ "15795 J. Rodríguez Medium Medium\n",
+ "\n",
+ "[15408 rows x 3 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Name \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 3035 \n",
+ " C. Robinson \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 3964 \n",
+ " Samu \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 511 \n",
+ " Ander Herrera \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " 17897 \n",
+ " L. Beckemeyer \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 4230 \n",
+ " I. Jakobs \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 11284 \n",
+ " R. Meißner \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 11964 \n",
+ " J. Leutwiler \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 5390 \n",
+ " Heitinho Zanon \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 860 \n",
+ " E. Eze \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 15795 \n",
+ " J. Rodríguez \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
15408 rows × 3 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "X_train_cat",
+ "summary": "{\n \"name\": \"X_train_cat\",\n \"rows\": 15408,\n \"fields\": [\n {\n \"column\": \"Name\",\n \"properties\": {\n \"dtype\": \"string\",\n \"num_unique_values\": 14572,\n \"samples\": [\n \"\\u00c1lex Blanco\",\n \"Kwoun Sun Tae\",\n \"Park Joo Ho\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 19
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "Berdasarkan personal judgement, tidak ada kaitannya nama dengan rating pemain sepak bola. Ini bisa dibuktikan dengan nama Fadhil Ronaldo tidak kaitannya dengan nama sehebat Christiano Ronaldo sehiingga rating nya pun akan berbeda."
+ ],
+ "metadata": {
+ "id": "fM-_zzwsvdhT"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Drop column 'Name'\n",
+ "\n",
+ "X_train_cat.drop('Name', axis = 1, inplace = True)\n",
+ "X_test_cat.drop('Name', axis = 1, inplace = True)\n",
+ "\n",
+ "X_train_cat\n"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 617
+ },
+ "id": "euFZ5eJ0vaQJ",
+ "outputId": "d80faab5-5cfc-44cd-e897-6224ae7c738f"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stderr",
+ "text": [
+ ":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",
+ " X_train_cat.drop('Name', axis = 1, inplace = True)\n",
+ ":4: 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",
+ " X_test_cat.drop('Name', axis = 1, inplace = True)\n"
+ ]
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " AttackingWorkRate DefensiveWorkRate\n",
+ "3035 Medium Medium\n",
+ "3964 High Medium\n",
+ "511 High High\n",
+ "17897 Medium Medium\n",
+ "4230 High High\n",
+ "... ... ...\n",
+ "11284 High Medium\n",
+ "11964 Medium Medium\n",
+ "5390 Medium Medium\n",
+ "860 Medium Medium\n",
+ "15795 Medium Medium\n",
+ "\n",
+ "[15408 rows x 2 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 3035 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 3964 \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 511 \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " 17897 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 4230 \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 11284 \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 11964 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 5390 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 860 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 15795 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
15408 rows × 2 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "X_train_cat",
+ "summary": "{\n \"name\": \"X_train_cat\",\n \"rows\": 15408,\n \"fields\": [\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 20
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "num_columns = X_train_num.columns.tolist()\n",
+ "cat_columns = X_train_cat.columns.tolist()\n",
+ "\n",
+ "print('Num Columns : ', num_columns)\n",
+ "print('Cat Columns : ', cat_columns)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "6saaV_9Wv7v4",
+ "outputId": "c18cf602-27b2-4a49-cda2-9b3baf262b2b"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Num Columns : ['Age', 'Height', 'Weight', 'Price', 'PaceTotal', 'ShootingTotal', 'PassingTotal', 'DribblingTotal', 'DefendingTotal', 'PhysicalityTotal']\n",
+ "Cat Columns : ['AttackingWorkRate', 'DefensiveWorkRate']\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Feature Scaling"
+ ],
+ "metadata": {
+ "id": "HHE-J_SgwlxL"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Feature Scaling using MinMaxScaler\n",
+ "from sklearn.preprocessing import MinMaxScaler\n",
+ "\n",
+ "scaler = MinMaxScaler()\n",
+ "scaler.fit(X_train_num)\n",
+ "\n",
+ "X_train_num_scaled = scaler.transform(X_train_num)\n",
+ "X_test_num_scaled = scaler.transform(X_test_num)\n",
+ "\n",
+ "X_train_num_scaled"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "yzbCbZmnwn6N",
+ "outputId": "7842c55b-6bc9-430c-aac5-947c722758c8"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "array([[0.26315789, 0.45098039, 0.42622951, ..., 0.75384615, 0.23376623,\n",
+ " 0.50793651],\n",
+ " [0.23684211, 0.35294118, 0.3442623 , ..., 0.78461538, 0.38961039,\n",
+ " 0.42857143],\n",
+ " [0.39473684, 0.52941176, 0.36065574, ..., 0.81538462, 0.83116883,\n",
+ " 0.73015873],\n",
+ " ...,\n",
+ " [0.23684211, 0.62745098, 0.49180328, ..., 0.2 , 0.72727273,\n",
+ " 0.76190476],\n",
+ " [0.18421053, 0.45098039, 0.29508197, ..., 0.84615385, 0.42857143,\n",
+ " 0.61904762],\n",
+ " [0.07894737, 0.47058824, 0.21311475, ..., 0.21538462, 0.58441558,\n",
+ " 0.49206349]])"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 22
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Feature Encoding\n",
+ "\n",
+ "Jelaskan alasan pemilihan teknik encoding"
+ ],
+ "metadata": {
+ "id": "Ur7I-vKsxzGf"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "X_train_cat"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 423
+ },
+ "id": "oJS_tXFxx4zR",
+ "outputId": "5276a6ce-249b-450d-82f0-72437221faa6"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " AttackingWorkRate DefensiveWorkRate\n",
+ "3035 Medium Medium\n",
+ "3964 High Medium\n",
+ "511 High High\n",
+ "17897 Medium Medium\n",
+ "4230 High High\n",
+ "... ... ...\n",
+ "11284 High Medium\n",
+ "11964 Medium Medium\n",
+ "5390 Medium Medium\n",
+ "860 Medium Medium\n",
+ "15795 Medium Medium\n",
+ "\n",
+ "[15408 rows x 2 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 3035 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 3964 \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 511 \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " 17897 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 4230 \n",
+ " High \n",
+ " High \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 11284 \n",
+ " High \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 11964 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 5390 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 860 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ " 15795 \n",
+ " Medium \n",
+ " Medium \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
15408 rows × 2 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "X_train_cat",
+ "summary": "{\n \"name\": \"X_train_cat\",\n \"rows\": 15408,\n \"fields\": [\n {\n \"column\": \"AttackingWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"DefensiveWorkRate\",\n \"properties\": {\n \"dtype\": \"category\",\n \"num_unique_values\": 3,\n \"samples\": [\n \"Medium\",\n \"High\",\n \"Low\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 23
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Feature Encoding using Ordinal Encoder\n",
+ "\n",
+ "from sklearn.preprocessing import OrdinalEncoder\n",
+ "\n",
+ "encoder = OrdinalEncoder(categories=[['Low', 'Medium', 'High'],\n",
+ " ['Low', 'Medium', 'High']])\n",
+ "encoder.fit(X_train_cat)"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 92
+ },
+ "id": "qsIbjcLrwaRh",
+ "outputId": "5faf4606-c7cb-437c-e8a3-286d0942c1ee"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "OrdinalEncoder(categories=[['Low', 'Medium', 'High'],\n",
+ " ['Low', 'Medium', 'High']])"
+ ],
+ "text/html": [
+ "OrdinalEncoder(categories=[['Low', 'Medium', 'High'],\n",
+ " ['Low', 'Medium', 'High']]) In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. "
+ ]
+ },
+ "metadata": {},
+ "execution_count": 24
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "X_train_cat_encoded = encoder.transform(X_train_cat)\n",
+ "X_test_cat_encoded = encoder.transform(X_test_cat)\n",
+ "\n",
+ "X_train_cat_encoded"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "kR1vfyTSy3ZO",
+ "outputId": "e90e1976-3383-4dfa-d737-6e1932fda6f4"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "array([[1., 1.],\n",
+ " [2., 1.],\n",
+ " [2., 2.],\n",
+ " ...,\n",
+ " [1., 1.],\n",
+ " [1., 1.],\n",
+ " [1., 1.]])"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 25
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## Concate between Numeric Columns and Categorical Columns"
+ ],
+ "metadata": {
+ "id": "xNoVXJYozb_h"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Concate Columns\n",
+ "\n",
+ "X_train_final = np.concatenate([X_train_num_scaled, X_train_cat_encoded], axis = 1)\n",
+ "X_test_final = np.concatenate([X_test_num_scaled, X_test_cat_encoded], axis = 1)\n",
+ "\n",
+ "X_train_final.shape"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "G4Gc6qlSzg1q",
+ "outputId": "77a930d5-6460-48b4-bdf6-7069ca4e7c89"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "(15408, 12)"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 26
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "X_train_final_datframe = pd.DataFrame(X_train_final, columns = [num_columns + cat_columns])\n",
+ "X_train_final_datframe"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 443
+ },
+ "id": "yiXSdbrdzEOJ",
+ "outputId": "39b6775c-2f41-4b49-f94d-a49823b67734"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " Age Height Weight Price PaceTotal ShootingTotal \\\n",
+ "0 0.263158 0.450980 0.426230 0.029091 0.750000 0.723684 \n",
+ "1 0.236842 0.352941 0.344262 0.018182 0.720588 0.526316 \n",
+ "2 0.394737 0.529412 0.360656 0.105455 0.544118 0.710526 \n",
+ "3 0.131579 0.529412 0.426230 0.001818 0.455882 0.513158 \n",
+ "4 0.131579 0.568627 0.426230 0.030545 0.852941 0.526316 \n",
+ "... ... ... ... ... ... ... \n",
+ "15403 0.131579 0.509804 0.475410 0.009455 0.588235 0.618421 \n",
+ "15404 0.421053 0.803922 0.508197 0.002182 0.514706 0.565789 \n",
+ "15405 0.236842 0.627451 0.491803 0.010909 0.485294 0.210526 \n",
+ "15406 0.184211 0.450980 0.295082 0.120000 0.720588 0.671053 \n",
+ "15407 0.078947 0.470588 0.213115 0.003636 0.647059 0.131579 \n",
+ "\n",
+ " PassingTotal DribblingTotal DefendingTotal PhysicalityTotal \\\n",
+ "0 0.588235 0.753846 0.233766 0.507937 \n",
+ "1 0.573529 0.784615 0.389610 0.428571 \n",
+ "2 0.764706 0.815385 0.831169 0.730159 \n",
+ "3 0.382353 0.492308 0.259740 0.349206 \n",
+ "4 0.485294 0.723077 0.610390 0.634921 \n",
+ "... ... ... ... ... \n",
+ "15403 0.264706 0.553846 0.103896 0.539683 \n",
+ "15404 0.544118 0.615385 0.415584 0.571429 \n",
+ "15405 0.323529 0.200000 0.727273 0.761905 \n",
+ "15406 0.705882 0.846154 0.428571 0.619048 \n",
+ "15407 0.220588 0.215385 0.584416 0.492063 \n",
+ "\n",
+ " AttackingWorkRate DefensiveWorkRate \n",
+ "0 1.0 1.0 \n",
+ "1 2.0 1.0 \n",
+ "2 2.0 2.0 \n",
+ "3 1.0 1.0 \n",
+ "4 2.0 2.0 \n",
+ "... ... ... \n",
+ "15403 2.0 1.0 \n",
+ "15404 1.0 1.0 \n",
+ "15405 1.0 1.0 \n",
+ "15406 1.0 1.0 \n",
+ "15407 1.0 1.0 \n",
+ "\n",
+ "[15408 rows x 12 columns]"
+ ],
+ "text/html": [
+ "\n",
+ " \n",
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " Age \n",
+ " Height \n",
+ " Weight \n",
+ " Price \n",
+ " PaceTotal \n",
+ " ShootingTotal \n",
+ " PassingTotal \n",
+ " DribblingTotal \n",
+ " DefendingTotal \n",
+ " PhysicalityTotal \n",
+ " AttackingWorkRate \n",
+ " DefensiveWorkRate \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 \n",
+ " 0.263158 \n",
+ " 0.450980 \n",
+ " 0.426230 \n",
+ " 0.029091 \n",
+ " 0.750000 \n",
+ " 0.723684 \n",
+ " 0.588235 \n",
+ " 0.753846 \n",
+ " 0.233766 \n",
+ " 0.507937 \n",
+ " 1.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " 1 \n",
+ " 0.236842 \n",
+ " 0.352941 \n",
+ " 0.344262 \n",
+ " 0.018182 \n",
+ " 0.720588 \n",
+ " 0.526316 \n",
+ " 0.573529 \n",
+ " 0.784615 \n",
+ " 0.389610 \n",
+ " 0.428571 \n",
+ " 2.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " 2 \n",
+ " 0.394737 \n",
+ " 0.529412 \n",
+ " 0.360656 \n",
+ " 0.105455 \n",
+ " 0.544118 \n",
+ " 0.710526 \n",
+ " 0.764706 \n",
+ " 0.815385 \n",
+ " 0.831169 \n",
+ " 0.730159 \n",
+ " 2.0 \n",
+ " 2.0 \n",
+ " \n",
+ " \n",
+ " 3 \n",
+ " 0.131579 \n",
+ " 0.529412 \n",
+ " 0.426230 \n",
+ " 0.001818 \n",
+ " 0.455882 \n",
+ " 0.513158 \n",
+ " 0.382353 \n",
+ " 0.492308 \n",
+ " 0.259740 \n",
+ " 0.349206 \n",
+ " 1.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " 4 \n",
+ " 0.131579 \n",
+ " 0.568627 \n",
+ " 0.426230 \n",
+ " 0.030545 \n",
+ " 0.852941 \n",
+ " 0.526316 \n",
+ " 0.485294 \n",
+ " 0.723077 \n",
+ " 0.610390 \n",
+ " 0.634921 \n",
+ " 2.0 \n",
+ " 2.0 \n",
+ " \n",
+ " \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " ... \n",
+ " \n",
+ " \n",
+ " 15403 \n",
+ " 0.131579 \n",
+ " 0.509804 \n",
+ " 0.475410 \n",
+ " 0.009455 \n",
+ " 0.588235 \n",
+ " 0.618421 \n",
+ " 0.264706 \n",
+ " 0.553846 \n",
+ " 0.103896 \n",
+ " 0.539683 \n",
+ " 2.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " 15404 \n",
+ " 0.421053 \n",
+ " 0.803922 \n",
+ " 0.508197 \n",
+ " 0.002182 \n",
+ " 0.514706 \n",
+ " 0.565789 \n",
+ " 0.544118 \n",
+ " 0.615385 \n",
+ " 0.415584 \n",
+ " 0.571429 \n",
+ " 1.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " 15405 \n",
+ " 0.236842 \n",
+ " 0.627451 \n",
+ " 0.491803 \n",
+ " 0.010909 \n",
+ " 0.485294 \n",
+ " 0.210526 \n",
+ " 0.323529 \n",
+ " 0.200000 \n",
+ " 0.727273 \n",
+ " 0.761905 \n",
+ " 1.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " 15406 \n",
+ " 0.184211 \n",
+ " 0.450980 \n",
+ " 0.295082 \n",
+ " 0.120000 \n",
+ " 0.720588 \n",
+ " 0.671053 \n",
+ " 0.705882 \n",
+ " 0.846154 \n",
+ " 0.428571 \n",
+ " 0.619048 \n",
+ " 1.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ " 15407 \n",
+ " 0.078947 \n",
+ " 0.470588 \n",
+ " 0.213115 \n",
+ " 0.003636 \n",
+ " 0.647059 \n",
+ " 0.131579 \n",
+ " 0.220588 \n",
+ " 0.215385 \n",
+ " 0.584416 \n",
+ " 0.492063 \n",
+ " 1.0 \n",
+ " 1.0 \n",
+ " \n",
+ " \n",
+ "
\n",
+ "
15408 rows × 12 columns
\n",
+ "
\n",
+ "
\n",
+ "
\n"
+ ],
+ "application/vnd.google.colaboratory.intrinsic+json": {
+ "type": "dataframe",
+ "variable_name": "X_train_final_datframe",
+ "summary": "{\n \"name\": \"X_train_final_datframe\",\n \"rows\": 15408,\n \"fields\": [\n {\n \"column\": [\n \"Age\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.1250756424264932,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 29,\n \"samples\": [\n 0.6842105263157894,\n 0.368421052631579,\n 0.2894736842105263\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"Height\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.13511683958682044,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 49,\n \"samples\": [\n 0.4901960784313726,\n 0.019607843137254832,\n 0.0980392156862746\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"Weight\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.11630874378986696,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 57,\n \"samples\": [\n 0.42622950819672134,\n 0.2622950819672132,\n 0.278688524590164\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"Price\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.053918041617480414,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 241,\n \"samples\": [\n 0.0017454545454545455,\n 0.0023636363636363638,\n 0.46181818181818185\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"PaceTotal\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.15643674960778606,\n \"min\": 0.0,\n \"max\": 0.9999999999999999,\n \"num_unique_values\": 69,\n \"samples\": [\n 0.7794117647058824,\n 0.7500000000000001,\n 0.13235294117647056\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"ShootingTotal\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.18170763986167868,\n \"min\": 0.0,\n \"max\": 0.9999999999999999,\n \"num_unique_values\": 76,\n \"samples\": [\n 0.3157894736842105,\n 0.23684210526315788,\n 0.6052631578947368\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"PassingTotal\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.144647930074823,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 67,\n \"samples\": [\n 0.8235294117647058,\n 0.5294117647058825,\n 0.4852941176470588\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"DribblingTotal\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.14960200478003224,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 66,\n \"samples\": [\n 0.27692307692307694,\n 0.12307692307692308,\n 0.7538461538461539\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"DefendingTotal\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.2124390247731555,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 77,\n \"samples\": [\n 0.6103896103896105,\n 0.15584415584415584,\n 0.6623376623376624\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"PhysicalityTotal\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.1529038081244891,\n \"min\": 0.0,\n \"max\": 1.0,\n \"num_unique_values\": 62,\n \"samples\": [\n 0.1111111111111111,\n 0.9523809523809523,\n 0.5079365079365079\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"AttackingWorkRate\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5309693277316405,\n \"min\": 0.0,\n \"max\": 2.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.0,\n 2.0,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": [\n \"DefensiveWorkRate\"\n ],\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 0.5053118673079292,\n \"min\": 0.0,\n \"max\": 2.0,\n \"num_unique_values\": 3,\n \"samples\": [\n 1.0,\n 2.0,\n 0.0\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}"
+ }
+ },
+ "metadata": {},
+ "execution_count": 27
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# 6. Model Definition\n",
+ "\n",
+ ">Bagian ini berisi cell untuk mendefinisikan model. Jelaskan alasan menggunakan suatu algoritma/model, hyperparameter yang dipakai, jenis penggunaan metrics yang dipakai, dan hal lain yang terkait dengan model."
+ ],
+ "metadata": {
+ "id": "BshWmfA30T5D"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "# Define algorithm\n",
+ "\n",
+ "from sklearn.linear_model import LinearRegression\n",
+ "\n",
+ "model_lin_reg = LinearRegression()"
+ ],
+ "metadata": {
+ "id": "Iu5abiwA0NO_"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# 7. Model Training\n",
+ "\n",
+ "> Cell pada bagian ini hanya berisi code untuk melatih model dan output yang dihasilkan. Lakukan beberapa kali proses training dengan hyperparameter yang berbeda untuk melihat hasil yang didapatkan. Analisis dan narasikan hasil ini pada bagian Model Evaluation."
+ ],
+ "metadata": {
+ "id": "A-tb4KUY0n8M"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Train the model\n",
+ "\n",
+ "model_lin_reg.fit(X_train_final, y_train)\n"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 75
+ },
+ "id": "K7sYKDBB0waG",
+ "outputId": "895627e1-2928-4af4-b9c6-acf9e323942f"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "LinearRegression()"
+ ],
+ "text/html": [
+ "LinearRegression() In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org. "
+ ]
+ },
+ "metadata": {},
+ "execution_count": 29
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## 8. Model Evaluation\n",
+ "\n",
+ ">Pada bagian ini, dilakukan evaluasi model yang harus menunjukkan bagaimana performa model berdasarkan metrics yang dipilih. Hal ini harus dibuktikan dengan visualisasi tren performa dan/atau tingkat kesalahan model. Lakukan analisis terkait dengan hasil pada model dan tuliskan hasil analisisnya."
+ ],
+ "metadata": {
+ "id": "5bM6ohpx126V"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "y_pred_train = model_lin_reg.predict(X_train_final)\n",
+ "y_pred_test = model_lin_reg.predict(X_test_final)\n",
+ "\n",
+ "y_pred_train"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "KWPueXjF1odE",
+ "outputId": "16f5e2b2-6b54-478e-86ff-d1264127551e"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "array([68.73327461, 67.88839569, 79.77402457, ..., 61.58921355,\n",
+ " 75.46784852, 55.39850764])"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 30
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "#Model Evaluation using MAE\n",
+ "\n",
+ "from sklearn.metrics import mean_absolute_error\n",
+ "\n",
+ "print('Error - train set: ', mean_absolute_error(y_train, y_pred_train))\n",
+ "print('Error - test set: ', mean_absolute_error(y_test, y_pred_test))"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "j5FBuVyB2Y23",
+ "outputId": "b9f2ae68-25ba-45dd-b6bf-2b8859ca8e0b"
+ },
+ "execution_count": null,
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Error - train set: 2.3455452086421467\n",
+ "Error - test set: 2.341414564002488\n"
+ ]
+ }
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "## 9. Model Saving\n",
+ "\n",
+ "> Pada bagian ini, dilakukan proses penyimpanan model dan file-file lain yang terkait dengan hasil proses pembuatan model."
+ ],
+ "metadata": {
+ "id": "xK6aSy_E4i9M"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import pickle\n",
+ "import json\n",
+ "\n",
+ "with open('list_num_cols.txt', 'w') as file_1:\n",
+ " json.dump(num_columns, file_1)\n",
+ "\n",
+ "with open('list_cat_cols.txt', 'w') as file_2:\n",
+ " json.dump(cat_columns, file_2)\n",
+ "\n",
+ "with open('scaler.pkl', 'wb') as file_3:\n",
+ " pickle.dump(scaler, file_3)\n",
+ "\n",
+ "with open('encoder.pkl', 'wb') as file_4:\n",
+ " pickle.dump(encoder, file_4)\n",
+ "\n",
+ "with open('model_lin_reg.pkl', 'wb') as file_5:\n",
+ " pickle.dump(model_lin_reg, file_5)"
+ ],
+ "metadata": {
+ "id": "QuQk0TnK3P0h"
+ },
+ "execution_count": null,
+ "outputs": []
+ },
+ {
+ "cell_type": "markdown",
+ "source": [
+ "# Kesimpulan\n",
+ "\n",
+ ">Pada bagian terakhir ini, harus berisi kesimpulan yang mencerminkan hasil yang didapat dengan objective yang sudah ditulis di bagian pengenalan.\n",
+ "\n",
+ "1. Narasi based on EDA\n",
+ "2. Narasi based on Model Evaluation and Analysis\n",
+ "3. Further Improvement\n",
+ "4. DLL"
+ ],
+ "metadata": {
+ "id": "8G4lz5_-5_4R"
+ }
+ },
+ {
+ "cell_type": "code",
+ "source": [],
+ "metadata": {
+ "id": "DWHji0hn56KY"
+ },
+ "execution_count": null,
+ "outputs": []
+ }
+ ]
+}
\ No newline at end of file