Memahami data
Memahami Data¶
Ada banyak jenis data dan masing masing jenisnya membutuhkan tools dan teknik yang berbeda beda
Data terbagi menjadi beberapa jenis yaitu
-
Data Terstruktur
-
Data tidak terstruktur
-
Data bahasa alami
-
Machine Generated Data
-
Data audio visual
-
Data Streaming
-
Data berbentuk Graph
Type Data Atribut¶
Atribut Biner¶
termasuk nominal karena hanya kategori 0 dan 1
ada 2 bentuk :
Atribut simetris¶
jika keduanya memiliki nilai yang sama (contoh: Tes Urin, Tes Buta Warna (Positif dan Negatif))
Atribut Asimetris jika hasil dari nilai tidak sama pentingnya (contoh: hasil tes medis)
Atribut Ordinal¶
adalah atribut dengan nilai yang memliki arti urutan atau peringkat tapi besarnya nilai berurutan tersebut tidak diketahui (Contoh: Sangat puas, cukup puas, tidak puas)
Ukuran kecenderungan terpusat dari atribut ordinal dapat diwakili oleh modus dan median (nilai tengah)
Atribut Numerik¶
bersifat kuantitatif terukur dinyatakan dengan bilangan bulat atau nilai riel
Program untuk menampilkan statistik deskriptif dari kumpulan data:
from scipy import stats
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_csv('Tinggi.csv')
df
Tinggi (cm) | Berat Badan (kg) | Panjang Kaki (size) | Umur (tahun) | |
---|---|---|---|---|
0 | 178 | 109 | 45 | 18 |
1 | 163 | 84 | 42 | 20 |
2 | 184 | 79 | 40 | 20 |
3 | 163 | 82 | 42 | 21 |
4 | 168 | 122 | 42 | 18 |
5 | 178 | 83 | 39 | 20 |
6 | 167 | 108 | 43 | 18 |
7 | 177 | 119 | 44 | 18 |
8 | 175 | 71 | 43 | 19 |
9 | 181 | 114 | 37 | 21 |
10 | 183 | 93 | 38 | 18 |
11 | 171 | 71 | 45 | 20 |
12 | 178 | 116 | 42 | 20 |
13 | 176 | 107 | 41 | 21 |
14 | 169 | 88 | 41 | 20 |
15 | 160 | 101 | 37 | 22 |
16 | 172 | 76 | 43 | 20 |
17 | 181 | 87 | 39 | 19 |
18 | 164 | 75 | 44 | 22 |
19 | 171 | 115 | 41 | 20 |
20 | 181 | 107 | 44 | 18 |
21 | 176 | 100 | 45 | 18 |
22 | 167 | 81 | 37 | 19 |
23 | 163 | 116 | 43 | 21 |
24 | 176 | 96 | 45 | 20 |
25 | 179 | 114 | 36 | 20 |
26 | 180 | 72 | 45 | 22 |
27 | 176 | 78 | 42 | 21 |
28 | 178 | 86 | 44 | 20 |
29 | 168 | 107 | 45 | 21 |
... | ... | ... | ... | ... |
70 | 179 | 121 | 45 | 21 |
71 | 166 | 96 | 43 | 19 |
72 | 161 | 88 | 43 | 21 |
73 | 176 | 98 | 36 | 19 |
74 | 176 | 115 | 38 | 21 |
75 | 178 | 114 | 38 | 19 |
76 | 178 | 124 | 41 | 21 |
77 | 173 | 103 | 36 | 18 |
78 | 180 | 124 | 36 | 20 |
79 | 167 | 100 | 40 | 20 |
80 | 168 | 97 | 39 | 18 |
81 | 160 | 108 | 36 | 18 |
82 | 170 | 119 | 43 | 18 |
83 | 162 | 86 | 37 | 20 |
84 | 178 | 95 | 45 | 18 |
85 | 171 | 104 | 44 | 21 |
86 | 170 | 96 | 38 | 18 |
87 | 185 | 98 | 37 | 20 |
88 | 163 | 93 | 39 | 18 |
89 | 178 | 86 | 39 | 19 |
90 | 168 | 71 | 36 | 20 |
91 | 166 | 114 | 38 | 21 |
92 | 179 | 76 | 43 | 20 |
93 | 171 | 124 | 43 | 18 |
94 | 178 | 71 | 42 | 22 |
95 | 174 | 104 | 43 | 21 |
96 | 162 | 92 | 41 | 22 |
97 | 165 | 89 | 39 | 20 |
98 | 163 | 82 | 42 | 22 |
99 | 170 | 88 | 42 | 19 |
100 rows × 4 columns
from IPython.display import HTML, display
import tabulate
table=[
["method"]+[x for x in df.columns],
["describe()"]+['<pre>'+str(df[col].describe())+'</pre>' for col in df.columns],
["count()"]+[df[col].count() for col in df.columns],
["mean()"]+[df[col].mean() for col in df.columns],
["std()"]+["{:.2f}".format(df[col].std()) for col in df.columns],
["min()"]+[df[col].min() for col in df.columns],
["max()"]+[df[col].max() for col in df.columns],
["q1()"]+[df[col].quantile(0.25) for col in df.columns],
["q2()"]+[df[col].quantile(0.50) for col in df.columns],
["q3()"]+[df[col].quantile(0.75) for col in df.columns],
["skew()"]+["{:.2f}".format(df[col].skew()) for col in df.columns],
]
display(HTML(tabulate.tabulate(table, tablefmt='html')))
method | Tinggi (cm) | Berat Badan (kg) | Panjang Kaki (size) | Umur (tahun) |
describe() | count 100.000000 mean 172.040000 std 7.315295 min 160.000000 25% 165.000000 50% 172.000000 75% 178.000000 max 185.000000 Name: Tinggi (cm), dtype: float64 | count 100.000000 mean 96.960000 std 15.966455 min 71.000000 25% 83.750000 50% 97.000000 75% 109.000000 max 124.000000 Name: Berat Badan (kg), dtype: float64 | count 100.000000 mean 40.790000 std 2.857897 min 36.000000 25% 38.000000 50% 41.000000 75% 43.000000 max 45.000000 Name: Panjang Kaki (size), dtype: float64 | count 100.000000 mean 19.860000 std 1.325888 min 18.000000 25% 19.000000 50% 20.000000 75% 21.000000 max 22.000000 Name: Umur (tahun), dtype: float64 |
count() | 100 | 100 | 100 | 100 |
mean() | 172.04 | 96.96 | 40.79 | 19.86 |
std() | 7.32 | 15.97 | 2.86 | 1.33 |
min() | 160 | 71 | 36 | 18 |
max() | 185 | 124 | 45 | 22 |
q1() | 165.0 | 83.75 | 38.0 | 19.0 |
q2() | 172.0 | 97.0 | 41.0 | 20.0 |
q3() | 178.0 | 109.0 | 43.0 | 21.0 |
skew() | -0.02 | -0.03 | -0.25 | -0.11 |
Mean¶
Mean atau yang bisa disebut rata rata adalah jumlah data dibagi dengan banyaknya data
Modus¶
Data yang paling banyak keluar/menonjol dari kumpulan data
Median¶
Nilai tengah dari banyaknya data
Quartil¶
Membagi data menjadi sama banyak yang dibatasi oleh suatu nilai
- Kuartil bawah (Q1)
- Kuartil tengah (Q2)
- Kuartil atas (Q3)
Skewness¶
Suatu ketidakseimbangan dan asimetris mean dari distribusi data, jika data itu normal maka saat didistribusikan menggunakan bell curve,maka kurvanya akan simetris