Data Preprocessing
Data Preprocessing
Data
Preprocessing
Oleh:
Syaiful Anam, S.Si, MT, Ph.D
Lab. Komputer dan Sains Data
Pembersihan Data
Reduksi Data
Occupation=“”
incomplete
noisy Salary=“-10”
Age=“42”
Tidak konsisten Birthday=“03/07/1997”
Peringkat "1,2,3",
sekarang peringkat "A, B,
C”
Copy Right @Syaiful Anam Matematika UB
Contoh data yang tidak lengkap
dataset = pd.DataFrame(data)
dataset.head(10)
◼ Pembersihan Data
❑ Menyelesaikan inkonsistensi
◼ Integrasi Data
◼ Mengintegrasikan multiple databases, data cubes, or
files
◼ Transformasi Data
– Menormalisasi and aggregation
◼ Reduksi Data
– Memperoleh pengurangan representasi volume tetapi
menghasilkan hasil analitik yang sama atau serupa
◼ Diskritisasi Data
– Bagian dari reduksi data tetapi dengan kepentingan
khusus, terutama untuk data numerik
• dataset.dropna(inplace=True)
• dataset.head(20)
• X = dataset.iloc[:, :-1].values
• y = dataset.iloc[:, -1].values
b = dataset #np.zeros(len(dataset))
b=np.sort(b)#sort the array
# create bins
bin=np.zeros([3,4])
# Bin mean
for i in range(0,12,4):
k=int(i/4)
mean=(b[i] + b[i+1] + b[i+2] + b[i+3])/4
print(mean)
for j in range(4):
bin[k,j]=mean
b = dataset #np.zeros(len(dataset))
b=np.sort(b)#sort the array
# create bins
bin=np.zeros([3,4])
# Bin mean
for i in range(0,12,4):
k=int(i/4)
print(b[i+3])
for j in range(4):
if (b[i+j]-b[i]) < (b[i+3]-b[i+j]):
bin[k,j]=b[i]
else:
bin[k,j]=b[i+3]
print("Bin Boundary: \n",bin)
Copy Right @Syaiful Anam Matematika UB
Metode Binning untuk Data
Smoothing
import numpy as np
import math
dataset = [4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34]
b = dataset #np.zeros(len(dataset))
b=np.sort(b)#sort the array
# create bins
bdata=4
bin=np.zeros([3,4])
# Bin mean
for i in range(0,12,4):
k=int(i/bdata)
for j in range(4):
if bdata%2==0:
bin[k,j]=(b[i+(bdata)//2-1]+b[i+bdata//2])/2
else:
bin[k,j]=b[i+(bdata)//2]
Y1
Y1’ y=x+1
X1 x
◼ Normalisasi min-max
v − minA
v' = (new _ maxA − new _ minA) + new _ minA
maxA − minA
◼ Normalisasi z-score
v − meanA
v' =
stand _ devA
◼ Normalisasi dengan penskalaan desimal
v
v'= j dimana j adalah bilangan bulat integer terkecil
10 sedemikian sehingga Max(|v' |)<1
• data=[13, 15, 16, 16, 19, 20, 20, 21, 22, 22, 25, 25, 25,
25, 30, 33, 33, 35,...
• 35, 35, 35, 36, 40, 45, 46, 52, 70]
• Maks=max(data);
• Mins=min(data);
• minnew=input('Minimum Baru =');
• maxnew=input('Maximum Baru =');
• databaru=(35-Mins)/(Maks-Mins)*(maxnew-
minnew)+minnew
• data=[13, 15, 16, 16, 19, 20, 20, 21, 22, 22, 25, 25, 25,
25, 30, 33, 33, 35,...
• 35, 35, 35, 36, 40, 45, 46, 52, 70]
• rata=mean(data);
• STD=std(data);
• databaru=(35-rata)/STD
40
◼ Teknik reduksi data yang
populer 35
◼ Membagi data menjadi
ember dan simpan rata- 30
rata (jumlah) untuk setiap
ember 25
◼ Dapat dibangun secara 20
optimal dalam satu
dimensi menggunakan 15
pemrograman dinamis
10
◼ Terkait dengan masalah
kuantisasi. 5
0
10000 30000 50000 70000 90000
Copy Right @Syaiful Anam Matematika UB
Sampling
Raw Data
Copy Right @Syaiful Anam Matematika UB
Sampling