{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "aE2_G4OSoiA1"
},
"source": [
"## 1. Objective\n",
"\n",
"\n",
"Objective : Menurut laporan FIFA 2022 (link artikel), jumlah pemain sepak bola pada tahun 2021 kurang lebih sebanyak 130.000 pemain. namun dalam dataset ini hanya tersedia 20.000 pemain saja. Project kali ini bertujuan untuk memprediksi rating pemain FIFA 2022 sehingga semua pemain sepak bola profesional dapat diketahui ratingnya dan tidak menutup kempungkinan akan muncul talenta/wonderkid baru.\n",
"\n",
"Akan model machine learning menggunakan linear regression dan dinilai performansinya menggunakan metriks akurasi.\n",
"\n",
"buat sedetail mungkin"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "lu9d9JLkp2Cb"
},
"source": [
"## 2. Import Libraries\n"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"id": "g_nS2IBZOq2g"
},
"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\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "BNsOy-lMqV4z"
},
"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"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 496
},
"id": "pJTvArF3qlbf",
"outputId": "46aa94d8-7bcc-4e37-eb33-60b72126bf4e"
},
"outputs": [
{
"data": {
"text/html": [
"
\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",
"
"
],
"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]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Data Loading\n",
"\n",
"data = pd.read_csv('https://raw.githubusercontent.com/ardhiraka/FSDS_Guidelines/master/p1/v3/w1/P1W1D1PM%20-%20Machine%20Learning%20Problem%20Framing.csv')\n",
"data"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"id": "iLbVn5VjqudY"
},
"outputs": [],
"source": [
"#Duplicate dataset\n",
"\n",
"data_duplicate = data.copy()"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 496
},
"id": "4irQngKBrI4U",
"outputId": "0901a060-95a9-428c-fc94-adb4b9afc938"
},
"outputs": [
{
"data": {
"text/html": [
"\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",
"
"
],
"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]"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Rename column\n",
"\n",
"data.rename(columns = {'ValueEUR' : 'Price', 'Overall' : 'Rating'}, inplace = True)\n",
"data"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "EPLmiZ24rjFO",
"outputId": "683f05b2-e4f7-4539-8187-f18f95f7760b"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"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"
]
}
],
"source": [
"#check dataset\n",
"\n",
"data.info()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "0PDhnKHQr7f-"
},
"source": [
"kasih statement ....\n",
"\n",
"- Pada dataset ini terdapat 14 kolom dengan masing-masing tipe data terdiri object (3 kolom) dan integer (11 kolom)\n",
"\n",
"- Terlihat tidak terdapat missing value karena jumlah entri data lengkap"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 320
},
"id": "SV-F4kf2rvo0",
"outputId": "7aff89e7-29a1-4a41-e552-a4b023677aab"
},
"outputs": [
{
"data": {
"text/html": [
"\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",
" Rating \n",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 19260.000000 \n",
" 19260.000000 \n",
" 19260.000000 \n",
" 1.926000e+04 \n",
" 19260.000000 \n",
" 19260.000000 \n",
" 19260.000000 \n",
" 19260.000000 \n",
" 19260.0000 \n",
" 19260.000000 \n",
" 19260.000000 \n",
" \n",
" \n",
" mean \n",
" 25.184683 \n",
" 181.305036 \n",
" 74.950779 \n",
" 2.857652e+06 \n",
" 67.910228 \n",
" 53.535514 \n",
" 57.853323 \n",
" 63.028712 \n",
" 50.0581 \n",
" 64.676584 \n",
" 65.815628 \n",
" \n",
" \n",
" std \n",
" 4.737340 \n",
" 6.866151 \n",
" 7.066864 \n",
" 7.604532e+06 \n",
" 10.656453 \n",
" 13.813476 \n",
" 9.835494 \n",
" 9.704853 \n",
" 16.3888 \n",
" 9.626269 \n",
" 6.817297 \n",
" \n",
" \n",
" min \n",
" 16.000000 \n",
" 155.000000 \n",
" 49.000000 \n",
" 0.000000e+00 \n",
" 28.000000 \n",
" 18.000000 \n",
" 25.000000 \n",
" 26.000000 \n",
" 14.0000 \n",
" 29.000000 \n",
" 48.000000 \n",
" \n",
" \n",
" 25% \n",
" 21.000000 \n",
" 176.000000 \n",
" 70.000000 \n",
" 4.750000e+05 \n",
" 62.000000 \n",
" 44.000000 \n",
" 52.000000 \n",
" 58.000000 \n",
" 35.0000 \n",
" 58.000000 \n",
" 62.000000 \n",
" \n",
" \n",
" 50% \n",
" 25.000000 \n",
" 181.000000 \n",
" 75.000000 \n",
" 9.750000e+05 \n",
" 68.000000 \n",
" 56.000000 \n",
" 58.000000 \n",
" 64.000000 \n",
" 54.0000 \n",
" 66.000000 \n",
" 66.000000 \n",
" \n",
" \n",
" 75% \n",
" 29.000000 \n",
" 186.000000 \n",
" 80.000000 \n",
" 2.000000e+06 \n",
" 75.000000 \n",
" 64.000000 \n",
" 65.000000 \n",
" 69.000000 \n",
" 63.0000 \n",
" 72.000000 \n",
" 70.000000 \n",
" \n",
" \n",
" max \n",
" 54.000000 \n",
" 206.000000 \n",
" 110.000000 \n",
" 1.940000e+08 \n",
" 97.000000 \n",
" 94.000000 \n",
" 93.000000 \n",
" 95.000000 \n",
" 91.0000 \n",
" 92.000000 \n",
" 93.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age Height Weight Price PaceTotal \\\n",
"count 19260.000000 19260.000000 19260.000000 1.926000e+04 19260.000000 \n",
"mean 25.184683 181.305036 74.950779 2.857652e+06 67.910228 \n",
"std 4.737340 6.866151 7.066864 7.604532e+06 10.656453 \n",
"min 16.000000 155.000000 49.000000 0.000000e+00 28.000000 \n",
"25% 21.000000 176.000000 70.000000 4.750000e+05 62.000000 \n",
"50% 25.000000 181.000000 75.000000 9.750000e+05 68.000000 \n",
"75% 29.000000 186.000000 80.000000 2.000000e+06 75.000000 \n",
"max 54.000000 206.000000 110.000000 1.940000e+08 97.000000 \n",
"\n",
" ShootingTotal PassingTotal DribblingTotal DefendingTotal \\\n",
"count 19260.000000 19260.000000 19260.000000 19260.0000 \n",
"mean 53.535514 57.853323 63.028712 50.0581 \n",
"std 13.813476 9.835494 9.704853 16.3888 \n",
"min 18.000000 25.000000 26.000000 14.0000 \n",
"25% 44.000000 52.000000 58.000000 35.0000 \n",
"50% 56.000000 58.000000 64.000000 54.0000 \n",
"75% 64.000000 65.000000 69.000000 63.0000 \n",
"max 94.000000 93.000000 95.000000 91.0000 \n",
"\n",
" PhysicalityTotal Rating \n",
"count 19260.000000 19260.000000 \n",
"mean 64.676584 65.815628 \n",
"std 9.626269 6.817297 \n",
"min 29.000000 48.000000 \n",
"25% 58.000000 62.000000 \n",
"50% 66.000000 66.000000 \n",
"75% 72.000000 70.000000 \n",
"max 92.000000 93.000000 "
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# cek basic statistic\n",
"\n",
"data.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "o6jT_kSSsx9l"
},
"source": [
"- kasih statement jugaa"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "XeaY9FeztNi1"
},
"source": [
"## 4. Exploratary Data Analysis (EDA)\n",
"\n",
">Bagian ini berisi eksplorasi data pada dataset diatas dengan menggunakan query, grouping, visualisasi sederhana, dan lain sebagainya.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "onIvIpOItrkj"
},
"source": [
"Akan dilihat persebaran rating pada dataset ini dan juga proporsi antara tinggi dan berat badan pemain"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 444
},
"id": "2wCGTVcEsjGw",
"outputId": "c839badb-9d3b-4183-a4ce-f410e3dd771f"
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAHWCAYAAAB9rceIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde3yT9dk/8E/OSdMkLQ1tKeXcclBaQNQprfW0R4Zuk1pF2ebA6fbMAT6KB05uE+WsuAPD7beT+uzxOKHqBJ0oIod5xEOLgFIEORQKLTRp0pyT3x9pQkPSfO82IU3bz/v14rXR753re93fO3cMV+/7vmSBQCAAIiIiIiIiIiIiojQg7+4EiIiIiIiIiIiIiEJYsCQiIiIiIiIiIqK0wYIlERERERERERERpQ0WLImIiIiIiIiIiChtsGBJREREREREREREaYMFSyIiIiIiIiIiIkobLFgSERERERERERFR2mDBkoiIiIiIiIiIiNIGC5ZERERERERERESUNliwJKJuMXToUMycObO70+j1Hn30UQwfPhwKhQLjx4/v7nTCrrjiClxxxRXdnQYRERHROTdz5kwMHTq0y6/NzMxMbkI9HNeTqG9gwZKIEvbUU09BJpPh448/jjl+xRVXYOzYsQnPs3HjRjz00EMJx+kr3nzzTTzwwAMoKyvDk08+iWXLlnW47cyZMyGTycJ/NBoNRo4ciV/96ldwOp1dmn/37t146KGHcPDgwS7uAREREdG58eKLL0Imk6G6ujpqbNy4cZDJZHjnnXeixgYPHoxJkyalIsVOaW1txUMPPYQtW7Z0dyoAUvfvg3Ml3daTqC9SdncCRNQ3ffnll5DLO/c7k40bN2Lt2rUsWkq0efNmyOVy/O1vf4NarRZur9Fo8Ne//hUAYLFY8Morr+CRRx7B/v378cwzz3R6/t27d2Px4sW44ooron4L/uabb3Y6HhEREVGylJeXAwC2b9+OysrK8M+tVit27doFpVKJHTt24MorrwyPHT58GIcPH8Ytt9zSqbn+8pe/wO/3JyfxDrS2tmLx4sUA0OvvYuF6EvUNLFgSUbfQaDTdnUKn2e126PX67k5DshMnTkCn00kqVgKAUqnEj370o/Dff/GLX2DSpEl47rnn8PjjjyMvLy9puUnNiYiIiOhcKCgowLBhw7B9+/aIn7/33nsIBAK46aabosZCfw8VO6VSqVSJJUsRuJ5EfQNvCSeibnH2Myw9Hg8WL16M4uJiaLVa5OTkoLy8HJs2bQIQvGV57dq1ABBx63KI3W7Hvffei0GDBkGj0WDUqFF47LHHEAgEIuZ1OBy46667YDabYTAY8P3vfx9Hjx6FTCaLuHLzoYcegkwmw+7du/GDH/wA2dnZ4S+nNTU1mDlzJoYPHw6tVov8/Hz85Cc/QVNTU8RcoRhfffUVfvSjH8FkMqF///745S9/iUAggMOHD+P666+H0WhEfn4+Vq9eLWntvF4vHnnkEYwYMQIajQZDhw7FwoUL4XK5wtvIZDI8+eSTsNvt4bV66qmnJMVvH6O8vByBQABff/11+OfffPMNfvGLX2DUqFHQ6XTIycnBTTfdFHHr91NPPYWbbroJAHDllVeGcwjdVnP2Myy3bNkCmUyGF198EUuXLkVhYSG0Wi2uvvpq1NXVReW2du1aDB8+HDqdDhdffDG2bdvG52ISERFRp5SXl+PTTz+Fw+EI/2zHjh04//zzMWXKFLz//vsRV/Lt2LEDMpkMZWVl4Z/93//9HyZOnAidTod+/frhlltuweHDhyPmifXMxaamJtx6660wGo3IysrCjBkz8Pnnn3f4ne3o0aOYOnUqMjMz0b9/f9x3333w+XwAgIMHD6J///4AgMWLF4e/d3V0V9LHH38MmUyGp59+Omrs3//+N2QyGV577TUAQEtLC+6++24MHToUGo0Gubm5+K//+i988sknHS9sAnriehLRucErLIkoaSwWCxobG6N+7vF4hK996KGHsHz5ctxxxx24+OKLYbVa8fHHH+OTTz7Bf/3Xf+G///u/UV9fj02bNuEf//hHxGsDgQC+//3v45133sHtt9+O8ePH49///jfuv/9+HD16FL/5zW/C286cORMvvvgibr31VlxyySV49913cd1113WY10033YTi4mIsW7YsXPzctGkTvv76a9x2223Iz8/HF198gT//+c/44osv8P7770cUUgHg5ptvxpgxY7BixQps2LABS5YsQb9+/fD//t//w1VXXYWVK1fimWeewX333YeLLroIFRUVcdfqjjvuwNNPP40bb7wR9957Lz744AMsX74ce/bsCT+H6R//+Af+/Oc/48MPPwzf5t2V5y2FipDZ2dnhn3300Uf4z3/+g1tuuQWFhYU4ePAg/vjHP+KKK67A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PvkEf/vb3zB27FjcdNNN3Z0eERERkdCcOXPgcDhw6aWXwuVyYf369fjPf/6DZcuWQafTdXd6PQ7Xk6j34S3hRNSnbNq0CYsXL8bu3bths9kwePBg3HrrrVi0aBGUSv4Opyc4ePAg7rrrLnz44Yc4deoU+vXrh2uvvRYrVqxIqKEPERERUao8++yzWL16Nerq6uB0OlFUVIQ777wzouEkScf1JOp9WLAkIiIiIiIiIiKitMFnWBIREREREREREVHaYMGSiIiIiIiIiIiI0gYf2CaB3+9HfX09DAYDZDJZd6dDRERE1GmBQAAtLS0oKCiAXM7fWfdE/E5KREREPVlnvo+yYClBfX09uwcTERFRr3D48GEUFhZ2dxrUBfxOSkRERL2BlO+jLFhKYDAYAAQX1Gg0dnM2RERERJ1ntVoxaNCg8Pca6nn4nZSIiIh6ss58H2XBUoLQLTdGo5FfDomIiKhH463EPRe/kxIREVFvIOX7KB9gRERERERERERERGmDBUsiIiIiIiIiIiJKGyxYEhERERERERERUdpgwZKIiIiIiIiIiIjSBguWRERERERERERElDZYsCQiIiIiIiIiIqK0wYIlERERERERERERpQ0WLImIiIiIiIiIiChtsGBJREREREREREREaYMFSyIiIiIiIiIiIkobyu5OgIiIiIiIiIiIKJUsrW402tywOj0w6lQw69UwZai7Oy1qw4IlERERERERERH1GfXNDsxbV4Nt+xrDP6soNmNFVSkKsnTdmBmF8JZwIiIiIiIiIiLqEyyt7qhiJQBs3deI+etqYGl1d1Nm1B4LlkRERERERERE1Cc02txRxcqQrfsa0WhjwTId8JZwIurRDh06hMbG2P+xkcpsNmPw4MFJyoiIiIiIiIjSldXpiTveIhin1GDBkoh6rEOHDmH0mDFwtLYmFEeXkYG9e/awaElERERERNTLGbWquOMGwTilBguWRNQl6XBlY2NjIxytrfjhvEeRN3hEl2I0HNqPZ1bej8bGRhYsiYiIiIiIejlzphoVxWZsjXFbeEWxGeZMdgpPByxYElGnpduVjXmDR6Cw+PyEYhAREREREVHvZ8pQY0VVKeavq4koWlYUm7GyqhSmDBYs0wELlkTUabyykYiIiIiIiHqqgiwd1kyfgEabGy1ODwxaFcyZahYr0wgLlkTUZbyykYiIiIiIiHoiUwYLlOlM3t0JEBEREREREREREYWwYElERERERERERERpgwVLIiIiIiIiIiIiShssWBIREREREREREVHaYNMdIiIiIiIiIko7llY3Gm1uWJ0eGHUqmPVskkLUV7BgSURERERERERppb7ZgXnrarBtX2P4ZxXFZqyoKkVBlq4bMyOiVOAt4URERERERESUNiyt7qhiJQBs3deI+etqYGl1d1NmRJQqLFgSERERERERUdpotLmjipUhW/c1otHGgiVRb8eCJRERERERERGlDavTE3e8RTBORD0fC5ZERERERERElDaMWlXccYNgnIh6PhYsiYiIiIiIiChtmDPVqCg2xxyrKDbDnMlO4US9HbuEExERERERUa9naXWj0eaG1emBUaeCWa+GKYOFr3RkylBjRVUp5q+rwdazuoSvrCrts8ct0fcwzwHqSViwJCIiIiIiol6tvtkR1XW6otiMFVWlKMjSdWNm1BEZgCklAzBj0lC4vH5olHKcaHF1d1rdJtH3MM8B6mlYsCQiIiIiIqJey9LqjirUAMFu0/PX1WDN9Am8yizNWFrdeCDGMQOCRba+dswSfQ/zHKCeiM+wJCIiIiIiol6r0eaOWfgCggWbRps7xRmRCI9ZpETXg+tJPRELlkRERERERNRrWZ2euOMtgnFKPR6zSImuB9eTeiIWLImIiIiIiKjXMmpVcccNgnFKPR6zSImuB9eTeiIWLImIiIiIiKjXMmeqUVFsjjlWUWyGOZPP7ks3PGaREl0Prif1RCxYEhERERERUa9lylBjRVVpVMGmotiMlVWlbDbSAUurG/tP2PDpodPYf9IGS2vnn3PY1RidOWYNVif2HrPiwwOnsPe4FQ1WZ6fzFEnGWiSSZ6LvYZ4D1BOxSzgRERERERH1agVZOqyZPgGNNjdanB4YtCqYM9Us1HSgvtkR1VW6otiMFVWlKMjSpSSGlGN2qMmOBdW12FHXFP5ZeVEOllWWYHCOXlKe53o/kpVnou9hngPU0/AKSyIiIiIiIur1TBlqjMjNxPjB2RiRm8lCTQcsre6oAh0Q7CY9f12NpKsLkxEDiH/MGqzOqCIgAGyva8LC6tqkXGmZjP1IZp6Jvod5DlBPwoIlEREREREREQEAGm3uqAJdyNZ9jWi0iYt0yYghctrujioChmyva8Jpe+JzJGM/UpEnUW/EgiURERER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+aqsrFRQUJBmzJih1tZWN0aO/1ddXe20F/fu3StJmjdvniT240Cxbt06bd68WZs2bdInn3yidevWaf369dq4caPjGPaj51u8eLH27t2rbdu26d///rfuvfdepaen68yZM5JYQ+BayCtdh/zOtcizXIt8x/XIPXrv0qVLSkxM1Kuvvtptf0/mLjMzUx999JH27t2rgoICHTx4UI8//viNOgWP8k3zeenSJU2bNk3r1q275hhuu6Ya3DRWr15tEhMTu+1rbGw0vr6+5u2333a0ffLJJ0aSqaiouEERoidWrlxppk2bds1+u91urFarefHFFx1tjY2Nxt/f37z11ls3IkT0wvLly83o0aON3W5nPw4g9913n1m0aJFT2wMPPGAyMzONMezHgeDy5cvG29vbFBQUOLVPmDDBPPvss6whcA3kla5Ffte/yLP6hnzHtcg9XEeS+fOf/+z4uydz9/HHHxtJprq62nFMYWGhsVgs5syZMzcsdk909Xz+v9raWiPJ1NTUOLW785rKHZY3mRMnTigiIkIxMTHKzMxUXV2dJOnDDz/UlStXlJ6e7jg2Li5OUVFRqqiocFe46MZf//pXTZo0SfPmzdPw4cOVlJSk119/3dFfW1urs2fPOq1lSEiIkpOTWUsP1d7eru3bt2vRokWyWCzsxwFkypQp2r9/v44fPy5J+uc//6mysjLNmjVLEvtxIOjo6FBnZ6cGDRrk1B4QEKCysjLWEPga5JWuQ37Xf8iz+o58x7XIPfpPT+auoqJCoaGhmjRpkuOY9PR0eXl5qbKy8obHPNC585pKwfImkpycrK1bt2rPnj3avHmzamtr9d3vfldNTU06e/as/Pz8FBoa6vScsLAwnT171j0Bo1unTp3S5s2bNWbMGBUVFelHP/qRnnzySb355puS5FivsLAwp+exlp5r165damxs1MKFCyWJ/TiA/OQnP9HDDz+suLg4+fr6KikpSdnZ2crMzJTEfhwIBg8erJSUFK1Zs0aff/65Ojs7tX37dlVUVKi+vp41BK6BvNK1yO/6D3lW35HvuBa5R//pydydPXtWw4cPd+r38fHRbbfdxvz2gjuvqT79OjpuqK/eAZOkb3/720pOTtbIkSO1c+dOBQQEuDEyXA+73a5Jkybp+eeflyQlJSXp6NGjys/PV1ZWlpujQ2+88cYbmjVrliIiItwdCq7T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",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#create hidtogram and scatter plot\n",
"\n",
"plt.figure(figsize=(16,5))\n",
"plt.subplot(1,2,1)\n",
"sns.histplot(data['Rating'], kde=True, bins = 30)\n",
"plt.title('Histogram of Rating')\n",
"\n",
"plt.subplot(1,2,2)\n",
"sns.scatterplot(x = 'Weight', y = 'Height', data = data)\n",
"plt.title('Weight vs Height')\n",
"plt.show"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "W74BFAJmuoRW"
},
"source": [
"statement??\n",
"\n",
"- Terlihat dari plot rating dari histogram, rating terdistribusi normal dengan rata-rata 65\n",
"- Proporsi antara berat dan tinggi seimbang"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "3UkScDKSvI-W"
},
"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.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eCXtlTinzx_a"
},
"source": [
"###Cardinality Analysis"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "pK9tEtLy-XYZ",
"outputId": "180d3430-6fa4-4b82-80ad-0be2108630a4"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of categories in the variable Name : 18058\n",
"Number of categories in the variable AttackingWorkRate : 3\n",
"Number of categories in the variable DefensiveWorkRate : 3\n"
]
}
],
"source": [
"print('Number of categories in the variable Name : {}'.format(len(data.Name.unique())))\n",
"print('Number of categories in the variable AttackingWorkRate : {}'.format(len(data.AttackingWorkRate.unique())))\n",
"print('Number of categories in the variable DefensiveWorkRate : {}'.format(len(data.DefensiveWorkRate.unique())))"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "PuBdPhufvi1Y"
},
"source": [
"### Split between X (features) and y (Target)"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 496
},
"id": "mw3Y_6udufaD",
"outputId": "f0fc2306-3482-4168-94c1-de8acd63329a"
},
"outputs": [
{
"data": {
"text/html": [
"\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",
"
"
],
"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]"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"##Splitting between X and y\n",
"\n",
"X = data.drop(['Rating'], axis = 1)\n",
"y = data['Rating']\n",
"X"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "0LtmAYsUwQPU"
},
"source": [
"### Split between Train-set and Test-set\n"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 548
},
"id": "83FTnHgmv6vn",
"outputId": "9c4fee61-2330-441d-fef2-ef5dc6eee136"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train size : (15408, 13)\n",
"Test size : (3852, 13)\n"
]
},
{
"data": {
"text/html": [
"\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",
" 946 \n",
" Petros \n",
" 32 \n",
" 181 \n",
" 77 \n",
" 8500000 \n",
" High \n",
" High \n",
" 68 \n",
" 68 \n",
" 72 \n",
" 75 \n",
" 73 \n",
" 83 \n",
" \n",
" \n",
" 5988 \n",
" Janio Bikel \n",
" 26 \n",
" 174 \n",
" 70 \n",
" 1700000 \n",
" Low \n",
" High \n",
" 70 \n",
" 43 \n",
" 56 \n",
" 69 \n",
" 66 \n",
" 73 \n",
" \n",
" \n",
" 13232 \n",
" J. Powell \n",
" 27 \n",
" 177 \n",
" 62 \n",
" 550000 \n",
" Medium \n",
" Medium \n",
" 62 \n",
" 57 \n",
" 63 \n",
" 64 \n",
" 54 \n",
" 66 \n",
" \n",
" \n",
" 1042 \n",
" M. Faraoni \n",
" 29 \n",
" 180 \n",
" 71 \n",
" 9500000 \n",
" High \n",
" High \n",
" 74 \n",
" 71 \n",
" 73 \n",
" 74 \n",
" 71 \n",
" 76 \n",
" \n",
" \n",
" 10193 \n",
" N. Hagglund \n",
" 28 \n",
" 185 \n",
" 87 \n",
" 625000 \n",
" Medium \n",
" High \n",
" 50 \n",
" 29 \n",
" 56 \n",
" 52 \n",
" 63 \n",
" 67 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 9529 \n",
" S. López \n",
" 32 \n",
" 178 \n",
" 72 \n",
" 675000 \n",
" High \n",
" Medium \n",
" 67 \n",
" 61 \n",
" 67 \n",
" 68 \n",
" 50 \n",
" 60 \n",
" \n",
" \n",
" 406 \n",
" Everton \n",
" 25 \n",
" 174 \n",
" 72 \n",
" 28000000 \n",
" High \n",
" Low \n",
" 86 \n",
" 75 \n",
" 73 \n",
" 86 \n",
" 32 \n",
" 62 \n",
" \n",
" \n",
" 13702 \n",
" S. Guibert \n",
" 32 \n",
" 188 \n",
" 82 \n",
" 250000 \n",
" Medium \n",
" Medium \n",
" 41 \n",
" 47 \n",
" 51 \n",
" 53 \n",
" 61 \n",
" 70 \n",
" \n",
" \n",
" 2191 \n",
" Beto \n",
" 23 \n",
" 194 \n",
" 88 \n",
" 8500000 \n",
" High \n",
" Medium \n",
" 71 \n",
" 74 \n",
" 54 \n",
" 68 \n",
" 24 \n",
" 78 \n",
" \n",
" \n",
" 10863 \n",
" T. Vecino \n",
" 22 \n",
" 183 \n",
" 78 \n",
" 1600000 \n",
" Medium \n",
" Medium \n",
" 63 \n",
" 66 \n",
" 53 \n",
" 63 \n",
" 27 \n",
" 56 \n",
" \n",
" \n",
"
\n",
"
15408 rows × 13 columns
\n",
"
"
],
"text/plain": [
" Name Age Height Weight Price AttackingWorkRate \\\n",
"946 Petros 32 181 77 8500000 High \n",
"5988 Janio Bikel 26 174 70 1700000 Low \n",
"13232 J. Powell 27 177 62 550000 Medium \n",
"1042 M. Faraoni 29 180 71 9500000 High \n",
"10193 N. Hagglund 28 185 87 625000 Medium \n",
"... ... ... ... ... ... ... \n",
"9529 S. López 32 178 72 675000 High \n",
"406 Everton 25 174 72 28000000 High \n",
"13702 S. Guibert 32 188 82 250000 Medium \n",
"2191 Beto 23 194 88 8500000 High \n",
"10863 T. Vecino 22 183 78 1600000 Medium \n",
"\n",
" DefensiveWorkRate PaceTotal ShootingTotal PassingTotal \\\n",
"946 High 68 68 72 \n",
"5988 High 70 43 56 \n",
"13232 Medium 62 57 63 \n",
"1042 High 74 71 73 \n",
"10193 High 50 29 56 \n",
"... ... ... ... ... \n",
"9529 Medium 67 61 67 \n",
"406 Low 86 75 73 \n",
"13702 Medium 41 47 51 \n",
"2191 Medium 71 74 54 \n",
"10863 Medium 63 66 53 \n",
"\n",
" DribblingTotal DefendingTotal PhysicalityTotal \n",
"946 75 73 83 \n",
"5988 69 66 73 \n",
"13232 64 54 66 \n",
"1042 74 71 76 \n",
"10193 52 63 67 \n",
"... ... ... ... \n",
"9529 68 50 60 \n",
"406 86 32 62 \n",
"13702 53 61 70 \n",
"2191 68 24 78 \n",
"10863 63 27 56 \n",
"\n",
"[15408 rows x 13 columns]"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Splitting between train set and test set\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 = 17)\n",
"#70: 30\n",
"#80: 20\n",
"\n",
"print('Train size : ', X_train.shape)\n",
"print('Test size : ', X_test.shape)\n",
"X_train\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "PIMHLSc2ycE0"
},
"source": [
"### Handle Outlier\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "5nVfASIFyjAz"
},
"source": [
"### Handle Missing Value\n"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 492
},
"id": "jcFbvWAdxzCS",
"outputId": "890f0ecd-c831-41c8-c267-08b972572b8b"
},
"outputs": [
{
"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"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Check Mising value on X_train\n",
"\n",
"X_train.isnull().sum()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "FMm4WfxRy4uu"
},
"source": [
"Tidak terdapat misisng value di data train"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 492
},
"id": "yDZSUhrJy3eo",
"outputId": "67ac3a66-250b-408d-9848-1c4de9cf8c0d"
},
"outputs": [
{
"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"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Check misisng value on X_test\n",
"\n",
"X_test.isnull().sum()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "LzYE3GWxzA6F"
},
"source": [
"Tidak terdapat missing value di test set"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "wkhM97ruy_51",
"outputId": "dbe5ba14-9064-4afa-ef0a-1a3d823813a2"
},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Check missing values on y train\n",
"\n",
"y_train.isnull().sum()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "69Bj6rzjzMY6"
},
"source": [
"Tidak terdapat missing value data target train"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "osU7N0_RzLii",
"outputId": "87e14ad5-4410-48a6-d920-41c18f616508"
},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#check missing value on y_test\n",
"\n",
"y_test.isnull().sum()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "J8S1MyprzXA2"
},
"source": [
"Tidak terdapat missing value di y test"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "qVOU1Pi2zaLE"
},
"source": [
"Tidak terdapat missing value di dataset ini"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "jzMeEyN1zhtc"
},
"source": [
"###Feature Selection\n",
"\n",
"\n",
"- pearson, spearman, anova, chi square"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 513
},
"id": "DipFpICVzxkF",
"outputId": "60adb4c2-7a75-42f1-874d-31cbae56a365"
},
"outputs": [
{
"data": {
"text/html": [
"\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",
" 946 \n",
" Petros \n",
" 32 \n",
" 181 \n",
" 77 \n",
" 8500000 \n",
" High \n",
" High \n",
" 68 \n",
" 68 \n",
" 72 \n",
" 75 \n",
" 73 \n",
" 83 \n",
" \n",
" \n",
" 5988 \n",
" Janio Bikel \n",
" 26 \n",
" 174 \n",
" 70 \n",
" 1700000 \n",
" Low \n",
" High \n",
" 70 \n",
" 43 \n",
" 56 \n",
" 69 \n",
" 66 \n",
" 73 \n",
" \n",
" \n",
" 13232 \n",
" J. Powell \n",
" 27 \n",
" 177 \n",
" 62 \n",
" 550000 \n",
" Medium \n",
" Medium \n",
" 62 \n",
" 57 \n",
" 63 \n",
" 64 \n",
" 54 \n",
" 66 \n",
" \n",
" \n",
" 1042 \n",
" M. Faraoni \n",
" 29 \n",
" 180 \n",
" 71 \n",
" 9500000 \n",
" High \n",
" High \n",
" 74 \n",
" 71 \n",
" 73 \n",
" 74 \n",
" 71 \n",
" 76 \n",
" \n",
" \n",
" 10193 \n",
" N. Hagglund \n",
" 28 \n",
" 185 \n",
" 87 \n",
" 625000 \n",
" Medium \n",
" High \n",
" 50 \n",
" 29 \n",
" 56 \n",
" 52 \n",
" 63 \n",
" 67 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 9529 \n",
" S. López \n",
" 32 \n",
" 178 \n",
" 72 \n",
" 675000 \n",
" High \n",
" Medium \n",
" 67 \n",
" 61 \n",
" 67 \n",
" 68 \n",
" 50 \n",
" 60 \n",
" \n",
" \n",
" 406 \n",
" Everton \n",
" 25 \n",
" 174 \n",
" 72 \n",
" 28000000 \n",
" High \n",
" Low \n",
" 86 \n",
" 75 \n",
" 73 \n",
" 86 \n",
" 32 \n",
" 62 \n",
" \n",
" \n",
" 13702 \n",
" S. Guibert \n",
" 32 \n",
" 188 \n",
" 82 \n",
" 250000 \n",
" Medium \n",
" Medium \n",
" 41 \n",
" 47 \n",
" 51 \n",
" 53 \n",
" 61 \n",
" 70 \n",
" \n",
" \n",
" 2191 \n",
" Beto \n",
" 23 \n",
" 194 \n",
" 88 \n",
" 8500000 \n",
" High \n",
" Medium \n",
" 71 \n",
" 74 \n",
" 54 \n",
" 68 \n",
" 24 \n",
" 78 \n",
" \n",
" \n",
" 10863 \n",
" T. Vecino \n",
" 22 \n",
" 183 \n",
" 78 \n",
" 1600000 \n",
" Medium \n",
" Medium \n",
" 63 \n",
" 66 \n",
" 53 \n",
" 63 \n",
" 27 \n",
" 56 \n",
" \n",
" \n",
"
\n",
"
15408 rows × 13 columns
\n",
"
"
],
"text/plain": [
" Name Age Height Weight Price AttackingWorkRate \\\n",
"946 Petros 32 181 77 8500000 High \n",
"5988 Janio Bikel 26 174 70 1700000 Low \n",
"13232 J. Powell 27 177 62 550000 Medium \n",
"1042 M. Faraoni 29 180 71 9500000 High \n",
"10193 N. Hagglund 28 185 87 625000 Medium \n",
"... ... ... ... ... ... ... \n",
"9529 S. López 32 178 72 675000 High \n",
"406 Everton 25 174 72 28000000 High \n",
"13702 S. Guibert 32 188 82 250000 Medium \n",
"2191 Beto 23 194 88 8500000 High \n",
"10863 T. Vecino 22 183 78 1600000 Medium \n",
"\n",
" DefensiveWorkRate PaceTotal ShootingTotal PassingTotal \\\n",
"946 High 68 68 72 \n",
"5988 High 70 43 56 \n",
"13232 Medium 62 57 63 \n",
"1042 High 74 71 73 \n",
"10193 High 50 29 56 \n",
"... ... ... ... ... \n",
"9529 Medium 67 61 67 \n",
"406 Low 86 75 73 \n",
"13702 Medium 41 47 51 \n",
"2191 Medium 71 74 54 \n",
"10863 Medium 63 66 53 \n",
"\n",
" DribblingTotal DefendingTotal PhysicalityTotal \n",
"946 75 73 83 \n",
"5988 69 66 73 \n",
"13232 64 54 66 \n",
"1042 74 71 76 \n",
"10193 52 63 67 \n",
"... ... ... ... \n",
"9529 68 50 60 \n",
"406 86 32 62 \n",
"13702 53 61 70 \n",
"2191 68 24 78 \n",
"10863 63 27 56 \n",
"\n",
"[15408 rows x 13 columns]"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "9P9AgaC5zwhC"
},
"source": [
"Berdasarkan personal judgement, tidak ada kaitannya anatara column `Name` dengan column `rating`. Hal ini dibuktikan dengan nama `Theo Ronaldo` tidak ada kaitannya dengan nama sehebat `Christiano ronaldo` sehingga rating pun tidak akan berbeda"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 443
},
"id": "u9EOXT1w06Ud",
"outputId": "c5edd7f4-3c7a-4b00-ea4e-080c6b2c74e4"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \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",
" 946 \n",
" 32 \n",
" 181 \n",
" 77 \n",
" 8500000 \n",
" High \n",
" High \n",
" 68 \n",
" 68 \n",
" 72 \n",
" 75 \n",
" 73 \n",
" 83 \n",
" \n",
" \n",
" 5988 \n",
" 26 \n",
" 174 \n",
" 70 \n",
" 1700000 \n",
" Low \n",
" High \n",
" 70 \n",
" 43 \n",
" 56 \n",
" 69 \n",
" 66 \n",
" 73 \n",
" \n",
" \n",
" 13232 \n",
" 27 \n",
" 177 \n",
" 62 \n",
" 550000 \n",
" Medium \n",
" Medium \n",
" 62 \n",
" 57 \n",
" 63 \n",
" 64 \n",
" 54 \n",
" 66 \n",
" \n",
" \n",
" 1042 \n",
" 29 \n",
" 180 \n",
" 71 \n",
" 9500000 \n",
" High \n",
" High \n",
" 74 \n",
" 71 \n",
" 73 \n",
" 74 \n",
" 71 \n",
" 76 \n",
" \n",
" \n",
" 10193 \n",
" 28 \n",
" 185 \n",
" 87 \n",
" 625000 \n",
" Medium \n",
" High \n",
" 50 \n",
" 29 \n",
" 56 \n",
" 52 \n",
" 63 \n",
" 67 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 9529 \n",
" 32 \n",
" 178 \n",
" 72 \n",
" 675000 \n",
" High \n",
" Medium \n",
" 67 \n",
" 61 \n",
" 67 \n",
" 68 \n",
" 50 \n",
" 60 \n",
" \n",
" \n",
" 406 \n",
" 25 \n",
" 174 \n",
" 72 \n",
" 28000000 \n",
" High \n",
" Low \n",
" 86 \n",
" 75 \n",
" 73 \n",
" 86 \n",
" 32 \n",
" 62 \n",
" \n",
" \n",
" 13702 \n",
" 32 \n",
" 188 \n",
" 82 \n",
" 250000 \n",
" Medium \n",
" Medium \n",
" 41 \n",
" 47 \n",
" 51 \n",
" 53 \n",
" 61 \n",
" 70 \n",
" \n",
" \n",
" 2191 \n",
" 23 \n",
" 194 \n",
" 88 \n",
" 8500000 \n",
" High \n",
" Medium \n",
" 71 \n",
" 74 \n",
" 54 \n",
" 68 \n",
" 24 \n",
" 78 \n",
" \n",
" \n",
" 10863 \n",
" 22 \n",
" 183 \n",
" 78 \n",
" 1600000 \n",
" Medium \n",
" Medium \n",
" 63 \n",
" 66 \n",
" 53 \n",
" 63 \n",
" 27 \n",
" 56 \n",
" \n",
" \n",
"
\n",
"
15408 rows × 12 columns
\n",
"
"
],
"text/plain": [
" Age Height Weight Price AttackingWorkRate DefensiveWorkRate \\\n",
"946 32 181 77 8500000 High High \n",
"5988 26 174 70 1700000 Low High \n",
"13232 27 177 62 550000 Medium Medium \n",
"1042 29 180 71 9500000 High High \n",
"10193 28 185 87 625000 Medium High \n",
"... ... ... ... ... ... ... \n",
"9529 32 178 72 675000 High Medium \n",
"406 25 174 72 28000000 High Low \n",
"13702 32 188 82 250000 Medium Medium \n",
"2191 23 194 88 8500000 High Medium \n",
"10863 22 183 78 1600000 Medium Medium \n",
"\n",
" PaceTotal ShootingTotal PassingTotal DribblingTotal DefendingTotal \\\n",
"946 68 68 72 75 73 \n",
"5988 70 43 56 69 66 \n",
"13232 62 57 63 64 54 \n",
"1042 74 71 73 74 71 \n",
"10193 50 29 56 52 63 \n",
"... ... ... ... ... ... \n",
"9529 67 61 67 68 50 \n",
"406 86 75 73 86 32 \n",
"13702 41 47 51 53 61 \n",
"2191 71 74 54 68 24 \n",
"10863 63 66 53 63 27 \n",
"\n",
" PhysicalityTotal \n",
"946 83 \n",
"5988 73 \n",
"13232 66 \n",
"1042 76 \n",
"10193 67 \n",
"... ... \n",
"9529 60 \n",
"406 62 \n",
"13702 70 \n",
"2191 78 \n",
"10863 56 \n",
"\n",
"[15408 rows x 12 columns]"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Drop column `Name`\n",
"\n",
"X_train.drop('Name', axis = 1, inplace = True)\n",
"X_test.drop('Name', axis = 1, inplace = True)\n",
"X_train"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JonP97Ah05ze"
},
"source": [
"Pada feature selection ini, akan dipakai kolom-kolom sebagai berikut:\n",
"- Age\n",
"- Height"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "0C4V33hc17Jr"
},
"source": [
"### Split between Numeric Columns and Category Columns"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "C-RpNqsX15l2",
"outputId": "be759e17-b666-4f26-9121-48eff3b8e884"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Num Columns : ['Age', 'Height', 'Weight', 'Price', 'PaceTotal', 'ShootingTotal', 'PassingTotal', 'DribblingTotal', 'DefendingTotal', 'PhysicalityTotal']\n",
"Cat Columns : ['AttackingWorkRate', 'DefensiveWorkRate']\n"
]
}
],
"source": [
"#get numeric columns and categorical columns\n",
"\n",
"num_columns = X_train.select_dtypes(include = np.number).columns.tolist()\n",
"cat_columns = X_train.select_dtypes(include = ['object']).columns.tolist()\n",
"\n",
"print('Num Columns : ', num_columns)\n",
"print('Cat Columns : ', cat_columns)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "aZXqjaBI4aUw"
},
"source": [
"Kolom yang merupakan numerical adalah kolom age, height, wigh\n",
"\n",
"kolom yang merupakan categorical adalah\n",
"\n",
"kolom numerical akan selnajutnya dilakukan scaling dan categorical akan dilakukan encoding"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 443
},
"id": "7A_5Zj_G30Aj",
"outputId": "0fb925a4-9282-40d2-91ab-d40527a4a2f9"
},
"outputs": [
{
"data": {
"text/html": [
"\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",
" \n",
" \n",
" \n",
" \n",
" 946 \n",
" 32 \n",
" 181 \n",
" 77 \n",
" 8500000 \n",
" 68 \n",
" 68 \n",
" 72 \n",
" 75 \n",
" 73 \n",
" 83 \n",
" \n",
" \n",
" 5988 \n",
" 26 \n",
" 174 \n",
" 70 \n",
" 1700000 \n",
" 70 \n",
" 43 \n",
" 56 \n",
" 69 \n",
" 66 \n",
" 73 \n",
" \n",
" \n",
" 13232 \n",
" 27 \n",
" 177 \n",
" 62 \n",
" 550000 \n",
" 62 \n",
" 57 \n",
" 63 \n",
" 64 \n",
" 54 \n",
" 66 \n",
" \n",
" \n",
" 1042 \n",
" 29 \n",
" 180 \n",
" 71 \n",
" 9500000 \n",
" 74 \n",
" 71 \n",
" 73 \n",
" 74 \n",
" 71 \n",
" 76 \n",
" \n",
" \n",
" 10193 \n",
" 28 \n",
" 185 \n",
" 87 \n",
" 625000 \n",
" 50 \n",
" 29 \n",
" 56 \n",
" 52 \n",
" 63 \n",
" 67 \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 9529 \n",
" 32 \n",
" 178 \n",
" 72 \n",
" 675000 \n",
" 67 \n",
" 61 \n",
" 67 \n",
" 68 \n",
" 50 \n",
" 60 \n",
" \n",
" \n",
" 406 \n",
" 25 \n",
" 174 \n",
" 72 \n",
" 28000000 \n",
" 86 \n",
" 75 \n",
" 73 \n",
" 86 \n",
" 32 \n",
" 62 \n",
" \n",
" \n",
" 13702 \n",
" 32 \n",
" 188 \n",
" 82 \n",
" 250000 \n",
" 41 \n",
" 47 \n",
" 51 \n",
" 53 \n",
" 61 \n",
" 70 \n",
" \n",
" \n",
" 2191 \n",
" 23 \n",
" 194 \n",
" 88 \n",
" 8500000 \n",
" 71 \n",
" 74 \n",
" 54 \n",
" 68 \n",
" 24 \n",
" 78 \n",
" \n",
" \n",
" 10863 \n",
" 22 \n",
" 183 \n",
" 78 \n",
" 1600000 \n",
" 63 \n",
" 66 \n",
" 53 \n",
" 63 \n",
" 27 \n",
" 56 \n",
" \n",
" \n",
"
\n",
"
15408 rows × 10 columns
\n",
"
"
],
"text/plain": [
" Age Height Weight Price PaceTotal ShootingTotal PassingTotal \\\n",
"946 32 181 77 8500000 68 68 72 \n",
"5988 26 174 70 1700000 70 43 56 \n",
"13232 27 177 62 550000 62 57 63 \n",
"1042 29 180 71 9500000 74 71 73 \n",
"10193 28 185 87 625000 50 29 56 \n",
"... ... ... ... ... ... ... ... \n",
"9529 32 178 72 675000 67 61 67 \n",
"406 25 174 72 28000000 86 75 73 \n",
"13702 32 188 82 250000 41 47 51 \n",
"2191 23 194 88 8500000 71 74 54 \n",
"10863 22 183 78 1600000 63 66 53 \n",
"\n",
" DribblingTotal DefendingTotal PhysicalityTotal \n",
"946 75 73 83 \n",
"5988 69 66 73 \n",
"13232 64 54 66 \n",
"1042 74 71 76 \n",
"10193 52 63 67 \n",
"... ... ... ... \n",
"9529 68 50 60 \n",
"406 86 32 62 \n",
"13702 53 61 70 \n",
"2191 68 24 78 \n",
"10863 63 27 56 \n",
"\n",
"[15408 rows x 10 columns]"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Split train set and test set based on column types\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_num"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "a7bU5edY5DK1"
},
"source": [
"### Feature Scaling\n",
"\n",
"\n",
"\n",
"---\n",
"\n",
"Akan di scaling menggunakan min max scaler karena bla bla"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 320
},
"id": "JAZb8PXP43iT",
"outputId": "4a53843b-1c79-4f71-c0e8-d02c51da43c5"
},
"outputs": [
{
"data": {
"text/html": [
"\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",
" \n",
" \n",
" \n",
" \n",
" count \n",
" 15408.000000 \n",
" 15408.000000 \n",
" 15408.000000 \n",
" 1.540800e+04 \n",
" 15408.000000 \n",
" 15408.000000 \n",
" 15408.000000 \n",
" 15408.000000 \n",
" 15408.000000 \n",
" 15408.000000 \n",
" \n",
" \n",
" mean \n",
" 25.201648 \n",
" 181.311721 \n",
" 74.975532 \n",
" 2.863765e+06 \n",
" 67.921989 \n",
" 53.634151 \n",
" 57.890057 \n",
" 63.078855 \n",
" 50.017458 \n",
" 64.690550 \n",
" \n",
" \n",
" std \n",
" 4.722922 \n",
" 6.882654 \n",
" 7.091461 \n",
" 7.535592e+06 \n",
" 10.651541 \n",
" 13.798000 \n",
" 9.794095 \n",
" 9.662102 \n",
" 16.423356 \n",
" 9.633306 \n",
" \n",
" \n",
" min \n",
" 16.000000 \n",
" 155.000000 \n",
" 49.000000 \n",
" 0.000000e+00 \n",
" 28.000000 \n",
" 18.000000 \n",
" 25.000000 \n",
" 26.000000 \n",
" 14.000000 \n",
" 29.000000 \n",
" \n",
" \n",
" 25% \n",
" 21.000000 \n",
" 176.000000 \n",
" 70.000000 \n",
" 4.750000e+05 \n",
" 62.000000 \n",
" 44.000000 \n",
" 52.000000 \n",
" 58.000000 \n",
" 35.000000 \n",
" 58.000000 \n",
" \n",
" \n",
" 50% \n",
" 25.000000 \n",
" 181.000000 \n",
" 75.000000 \n",
" 9.750000e+05 \n",
" 68.000000 \n",
" 56.000000 \n",
" 58.000000 \n",
" 64.000000 \n",
" 54.000000 \n",
" 66.000000 \n",
" \n",
" \n",
" 75% \n",
" 29.000000 \n",
" 186.000000 \n",
" 80.000000 \n",
" 2.000000e+06 \n",
" 75.000000 \n",
" 64.000000 \n",
" 65.000000 \n",
" 69.000000 \n",
" 63.000000 \n",
" 72.000000 \n",
" \n",
" \n",
" max \n",
" 54.000000 \n",
" 206.000000 \n",
" 110.000000 \n",
" 1.940000e+08 \n",
" 97.000000 \n",
" 94.000000 \n",
" 93.000000 \n",
" 92.000000 \n",
" 91.000000 \n",
" 92.000000 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Age Height Weight Price PaceTotal \\\n",
"count 15408.000000 15408.000000 15408.000000 1.540800e+04 15408.000000 \n",
"mean 25.201648 181.311721 74.975532 2.863765e+06 67.921989 \n",
"std 4.722922 6.882654 7.091461 7.535592e+06 10.651541 \n",
"min 16.000000 155.000000 49.000000 0.000000e+00 28.000000 \n",
"25% 21.000000 176.000000 70.000000 4.750000e+05 62.000000 \n",
"50% 25.000000 181.000000 75.000000 9.750000e+05 68.000000 \n",
"75% 29.000000 186.000000 80.000000 2.000000e+06 75.000000 \n",
"max 54.000000 206.000000 110.000000 1.940000e+08 97.000000 \n",
"\n",
" ShootingTotal PassingTotal DribblingTotal DefendingTotal \\\n",
"count 15408.000000 15408.000000 15408.000000 15408.000000 \n",
"mean 53.634151 57.890057 63.078855 50.017458 \n",
"std 13.798000 9.794095 9.662102 16.423356 \n",
"min 18.000000 25.000000 26.000000 14.000000 \n",
"25% 44.000000 52.000000 58.000000 35.000000 \n",
"50% 56.000000 58.000000 64.000000 54.000000 \n",
"75% 64.000000 65.000000 69.000000 63.000000 \n",
"max 94.000000 93.000000 92.000000 91.000000 \n",
"\n",
" PhysicalityTotal \n",
"count 15408.000000 \n",
"mean 64.690550 \n",
"std 9.633306 \n",
"min 29.000000 \n",
"25% 58.000000 \n",
"50% 66.000000 \n",
"75% 72.000000 \n",
"max 92.000000 "
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train_num.describe()"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "rMyr--B25lr2",
"outputId": "b47d2462-e656-495e-8a17-b71daa926d62"
},
"outputs": [
{
"data": {
"text/plain": [
"array([[0.42105263, 0.50980392, 0.45901639, ..., 0.74242424, 0.76623377,\n",
" 0.85714286],\n",
" [0.26315789, 0.37254902, 0.3442623 , ..., 0.65151515, 0.67532468,\n",
" 0.6984127 ],\n",
" [0.28947368, 0.43137255, 0.21311475, ..., 0.57575758, 0.51948052,\n",
" 0.58730159],\n",
" ...,\n",
" [0.42105263, 0.64705882, 0.54098361, ..., 0.40909091, 0.61038961,\n",
" 0.65079365],\n",
" [0.18421053, 0.76470588, 0.63934426, ..., 0.63636364, 0.12987013,\n",
" 0.77777778],\n",
" [0.15789474, 0.54901961, 0.47540984, ..., 0.56060606, 0.16883117,\n",
" 0.42857143]])"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Feature scaling using MinmaxScaler\n",
"\n",
"from sklearn.preprocessing import MinMaxScaler\n",
"\n",
"scaler = MinMaxScaler()\n",
"scaler.fit(X_train_num)\n",
"X_train_num_scaled = scaler.transform(X_train_num)\n",
"X_test_num_scaled = scaler.transform(X_test_num)\n",
"X_train_num_scaled"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CiupNwOr7QWP"
},
"source": [
"### Feature Encoding\n",
"\n",
"jelaskan kenapa pilih teknik encoding tersebut\n",
"\n",
"akan digunakan ordinal encoder karena data yang kita punya berbentuk ordinal"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 423
},
"id": "Sw8mj5p87L3U",
"outputId": "bf988c36-cb99-4273-c8d7-280418634b8a"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" AttackingWorkRate \n",
" DefensiveWorkRate \n",
" \n",
" \n",
" \n",
" \n",
" 946 \n",
" High \n",
" High \n",
" \n",
" \n",
" 5988 \n",
" Low \n",
" High \n",
" \n",
" \n",
" 13232 \n",
" Medium \n",
" Medium \n",
" \n",
" \n",
" 1042 \n",
" High \n",
" High \n",
" \n",
" \n",
" 10193 \n",
" Medium \n",
" High \n",
" \n",
" \n",
" ... \n",
" ... \n",
" ... \n",
" \n",
" \n",
" 9529 \n",
" High \n",
" Medium \n",
" \n",
" \n",
" 406 \n",
" High \n",
" Low \n",
" \n",
" \n",
" 13702 \n",
" Medium \n",
" Medium \n",
" \n",
" \n",
" 2191 \n",
" High \n",
" Medium \n",
" \n",
" \n",
" 10863 \n",
" Medium \n",
" Medium \n",
" \n",
" \n",
"
\n",
"
15408 rows × 2 columns
\n",
"
"
],
"text/plain": [
" AttackingWorkRate DefensiveWorkRate\n",
"946 High High\n",
"5988 Low High\n",
"13232 Medium Medium\n",
"1042 High High\n",
"10193 Medium High\n",
"... ... ...\n",
"9529 High Medium\n",
"406 High Low\n",
"13702 Medium Medium\n",
"2191 High Medium\n",
"10863 Medium Medium\n",
"\n",
"[15408 rows x 2 columns]"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X_train_cat"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "WMfPyZLH8SkW",
"outputId": "49fc65e3-114f-4b9e-8d03-263e8a330b6b"
},
"outputs": [
{
"data": {
"text/plain": [
"array([[2., 2.],\n",
" [0., 2.],\n",
" [1., 1.],\n",
" ...,\n",
" [1., 1.],\n",
" [2., 1.],\n",
" [1., 1.]])"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"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)\n",
"\n",
"X_train_cat_encoded = encoder.transform(X_train_cat)\n",
"X_test_cat_encoded = encoder.transform(X_test_cat)\n",
"X_train_cat_encoded"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KZDtU_6i92Md"
},
"source": [
"### Concate Between Numeric Columns and Categorical Columns"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "MxpMWHoO9HuH",
"outputId": "eceb2ba9-77b4-442b-abfc-230e15c0fc52"
},
"outputs": [
{
"data": {
"text/plain": [
"array([[0.42105263, 0.50980392, 0.45901639, ..., 0.85714286, 2. ,\n",
" 2. ],\n",
" [0.26315789, 0.37254902, 0.3442623 , ..., 0.6984127 , 0. ,\n",
" 2. ],\n",
" [0.28947368, 0.43137255, 0.21311475, ..., 0.58730159, 1. ,\n",
" 1. ],\n",
" ...,\n",
" [0.42105263, 0.64705882, 0.54098361, ..., 0.65079365, 1. ,\n",
" 1. ],\n",
" [0.18421053, 0.76470588, 0.63934426, ..., 0.77777778, 2. ,\n",
" 1. ],\n",
" [0.15789474, 0.54901961, 0.47540984, ..., 0.42857143, 1. ,\n",
" 1. ]])"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"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",
"X_train_final"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 443
},
"id": "gAVWwKJ6-V_v",
"outputId": "63f8bbc4-468a-4111-d595-1b7b72b4c449"
},
"outputs": [
{
"data": {
"text/html": [
"\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.421053 \n",
" 0.509804 \n",
" 0.459016 \n",
" 0.043814 \n",
" 0.579710 \n",
" 0.657895 \n",
" 0.691176 \n",
" 0.742424 \n",
" 0.766234 \n",
" 0.857143 \n",
" 2.0 \n",
" 2.0 \n",
" \n",
" \n",
" 1 \n",
" 0.263158 \n",
" 0.372549 \n",
" 0.344262 \n",
" 0.008763 \n",
" 0.608696 \n",
" 0.328947 \n",
" 0.455882 \n",
" 0.651515 \n",
" 0.675325 \n",
" 0.698413 \n",
" 0.0 \n",
" 2.0 \n",
" \n",
" \n",
" 2 \n",
" 0.289474 \n",
" 0.431373 \n",
" 0.213115 \n",
" 0.002835 \n",
" 0.492754 \n",
" 0.513158 \n",
" 0.558824 \n",
" 0.575758 \n",
" 0.519481 \n",
" 0.587302 \n",
" 1.0 \n",
" 1.0 \n",
" \n",
" \n",
" 3 \n",
" 0.342105 \n",
" 0.490196 \n",
" 0.360656 \n",
" 0.048969 \n",
" 0.666667 \n",
" 0.697368 \n",
" 0.705882 \n",
" 0.727273 \n",
" 0.740260 \n",
" 0.746032 \n",
" 2.0 \n",
" 2.0 \n",
" \n",
" \n",
" 4 \n",
" 0.315789 \n",
" 0.588235 \n",
" 0.622951 \n",
" 0.003222 \n",
" 0.318841 \n",
" 0.144737 \n",
" 0.455882 \n",
" 0.393939 \n",
" 0.636364 \n",
" 0.603175 \n",
" 1.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.421053 \n",
" 0.450980 \n",
" 0.377049 \n",
" 0.003479 \n",
" 0.565217 \n",
" 0.565789 \n",
" 0.617647 \n",
" 0.636364 \n",
" 0.467532 \n",
" 0.492063 \n",
" 2.0 \n",
" 1.0 \n",
" \n",
" \n",
" 15404 \n",
" 0.236842 \n",
" 0.372549 \n",
" 0.377049 \n",
" 0.144330 \n",
" 0.840580 \n",
" 0.750000 \n",
" 0.705882 \n",
" 0.909091 \n",
" 0.233766 \n",
" 0.523810 \n",
" 2.0 \n",
" 0.0 \n",
" \n",
" \n",
" 15405 \n",
" 0.421053 \n",
" 0.647059 \n",
" 0.540984 \n",
" 0.001289 \n",
" 0.188406 \n",
" 0.381579 \n",
" 0.382353 \n",
" 0.409091 \n",
" 0.610390 \n",
" 0.650794 \n",
" 1.0 \n",
" 1.0 \n",
" \n",
" \n",
" 15406 \n",
" 0.184211 \n",
" 0.764706 \n",
" 0.639344 \n",
" 0.043814 \n",
" 0.623188 \n",
" 0.736842 \n",
" 0.426471 \n",
" 0.636364 \n",
" 0.129870 \n",
" 0.777778 \n",
" 2.0 \n",
" 1.0 \n",
" \n",
" \n",
" 15407 \n",
" 0.157895 \n",
" 0.549020 \n",
" 0.475410 \n",
" 0.008247 \n",
" 0.507246 \n",
" 0.631579 \n",
" 0.411765 \n",
" 0.560606 \n",
" 0.168831 \n",
" 0.428571 \n",
" 1.0 \n",
" 1.0 \n",
" \n",
" \n",
"
\n",
"
15408 rows × 12 columns
\n",
"
"
],
"text/plain": [
" Age Height Weight Price PaceTotal ShootingTotal \\\n",
"0 0.421053 0.509804 0.459016 0.043814 0.579710 0.657895 \n",
"1 0.263158 0.372549 0.344262 0.008763 0.608696 0.328947 \n",
"2 0.289474 0.431373 0.213115 0.002835 0.492754 0.513158 \n",
"3 0.342105 0.490196 0.360656 0.048969 0.666667 0.697368 \n",
"4 0.315789 0.588235 0.622951 0.003222 0.318841 0.144737 \n",
"... ... ... ... ... ... ... \n",
"15403 0.421053 0.450980 0.377049 0.003479 0.565217 0.565789 \n",
"15404 0.236842 0.372549 0.377049 0.144330 0.840580 0.750000 \n",
"15405 0.421053 0.647059 0.540984 0.001289 0.188406 0.381579 \n",
"15406 0.184211 0.764706 0.639344 0.043814 0.623188 0.736842 \n",
"15407 0.157895 0.549020 0.475410 0.008247 0.507246 0.631579 \n",
"\n",
" PassingTotal DribblingTotal DefendingTotal PhysicalityTotal \\\n",
"0 0.691176 0.742424 0.766234 0.857143 \n",
"1 0.455882 0.651515 0.675325 0.698413 \n",
"2 0.558824 0.575758 0.519481 0.587302 \n",
"3 0.705882 0.727273 0.740260 0.746032 \n",
"4 0.455882 0.393939 0.636364 0.603175 \n",
"... ... ... ... ... \n",
"15403 0.617647 0.636364 0.467532 0.492063 \n",
"15404 0.705882 0.909091 0.233766 0.523810 \n",
"15405 0.382353 0.409091 0.610390 0.650794 \n",
"15406 0.426471 0.636364 0.129870 0.777778 \n",
"15407 0.411765 0.560606 0.168831 0.428571 \n",
"\n",
" AttackingWorkRate DefensiveWorkRate \n",
"0 2.0 2.0 \n",
"1 0.0 2.0 \n",
"2 1.0 1.0 \n",
"3 2.0 2.0 \n",
"4 1.0 2.0 \n",
"... ... ... \n",
"15403 2.0 1.0 \n",
"15404 2.0 0.0 \n",
"15405 1.0 1.0 \n",
"15406 2.0 1.0 \n",
"15407 1.0 1.0 \n",
"\n",
"[15408 rows x 12 columns]"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Create dataframe of X_train_final\n",
"\n",
"X_train_final_df = pd.DataFrame(X_train_final, columns = [num_columns + cat_columns])\n",
"X_train_final_df"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2BWQO5Cb-160"
},
"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.\n",
"\n",
"\n",
"- algoritma yang dipakai adalah linear regression karen akita metrics akan diguunakan adalah MAE karena abla bla"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"id": "Zt3jl-X1-w1c"
},
"outputs": [],
"source": [
"##Trainig using Linear Regression\n",
"\n",
"from sklearn.linear_model import LinearRegression\n",
"\n",
"model_lin_reg = LinearRegression()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "x0Qu7qXz_bP7"
},
"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.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 74
},
"id": "giPWpTpI_X5Z",
"outputId": "9236aef2-8343-4e79-9fde-d83a50f67862"
},
"outputs": [
{
"data": {
"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. "
],
"text/plain": [
"LinearRegression()"
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Train the model\n",
"\n",
"model_lin_reg.fit(X_train_final, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6x60pyPA_2G5"
},
"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.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "vsYJpMyK_wjB",
"outputId": "f88467e5-846e-4c38-f19a-43774b6b6213"
},
"outputs": [
{
"data": {
"text/plain": [
"array([78.48517659, 70.19837718, 66.49324846, ..., 64.6377822 ,\n",
" 69.25657897, 61.10791967])"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Predict Train-set and Test-set\n",
"\n",
"y_pred_train = model_lin_reg.predict(X_train_final)\n",
"y_pred_test = model_lin_reg.predict(X_test_final)\n",
"y_pred_train"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 458
},
"id": "FqodXbO1ATmC",
"outputId": "e03ebc74-8aa3-49ea-a62e-aa7205fceba7"
},
"outputs": [
{
"data": {
"text/plain": [
"946 77\n",
"5988 69\n",
"13232 63\n",
"1042 77\n",
"10193 65\n",
" ..\n",
"9529 66\n",
"406 80\n",
"13702 62\n",
"2191 74\n",
"10863 65\n",
"Name: Rating, Length: 15408, dtype: int64"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Display y_train\n",
"\n",
"y_train"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "uSxtAn5ZAWSv",
"outputId": "46ff2283-eefe-4516-cc92-72c2dd0df9e5"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Error - Train set : 2.3498944451545714\n",
"Error - Test set : 2.347734298549614\n"
]
}
],
"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))"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "UGp_J6ozE8up",
"outputId": "9e1050e2-e1aa-4cd4-f2af-7264c81f8e3e"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"intercept: 36.460542369540086\n",
"Slope: [ 7.62700168 1.76181701 1.07307663 39.30567451 2.84944366 2.80426066\n",
" 2.27636604 20.52853652 8.00514593 12.62413257 -0.31671274 -0.46585899]\n"
]
}
],
"source": [
"###melihat rule\n",
"\n",
"#linear regression : y = ax + b\n",
"# a: slope, b : intercept\n",
"\n",
"print('intercept: ', model_lin_reg.intercept_)\n",
"print('Slope: ', model_lin_reg.coef_)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "PrXfXt3RFdDl"
},
"source": [
"Dilihat intercept dan juga slope kita bisa melihat rule yang ada yaitu\n",
"\n",
"```\n",
"rating = 36.4 + 7.64 * age + 1.7*height +....\n",
"```\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "oDSzdX2vBy8o"
},
"source": [
"Statement??\n",
"\n",
"1. nyatakan apakah model tergolong goodfit, overfit, underfit\n",
"2. narasikan hasl bisnis\n",
"- jika messi mempunyai ratning 93 maka model akan memprediksi kisaran 91.5 - 95.5, menurut bisnis kira2\n",
"3. eksplorasi data aktual dengan data prediksi"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "7cg7FCoUCZ2P"
},
"source": [
"## 9. Model Saving\n",
"\n",
">Pada bagian ini, dilakukan proses penyimpanan model dan file-file lain yang terkait dengan hasil proses pembuatan model.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"id": "lgUEOWJkCpXt"
},
"outputs": [],
"source": [
"#Save the files\n",
"\n",
"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('model_scaler.pkl', 'wb') as file_3:\n",
" pickle.dump(scaler, file_3)\n",
"\n",
"with open('model_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)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "S2AAynH5EUMC"
},
"source": [
"## 10. kesimpulan\n",
">Pada bagian terakhir ini, harus berisi kesimpulan yang mencerminkan hasil yang didapat dengan objective yang sudah ditulis di bagian pengenalan.\n",
"\n",
"EDA, model evaluation, model analysis, further improvement\n",
"\n",
"buat kesimpulan dalam paragraf yang concise dan compact"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"id": "EZETLv2UGw8q"
},
"outputs": [],
"source": [
"from sklearn.metrics import mean_absolute_error"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "RNnmniFlG4-c"
},
"outputs": [],
"source": []
}
],
"metadata": {
"colab": {
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.4"
}
},
"nbformat": 4,
"nbformat_minor": 0
}