import pandas as pd
# Membuat DataFrame contoh
data = pd.DataFrame({
'nama': ['Mahasiswa A', 'Mahasiswa B', 'Mahasiswa C', 'Mahasiswa D', 'Mahasiswa E'],
'waktu_lulus': [2019, 2020, None, 2018, 2022] # Ubah None dengan nilai yang sesuai dengan data Anda
})
# Mendefinisikan batas atas dan batas bawah untuk outlier
# Misalnya, jika kita menganggap lulus dalam waktu kurang dari 3 tahun sebagai outlier
lower_bound = data['waktu_lulus'].min()
upper_bound = data['waktu_lulus'].mean() - 3 * data['waktu_lulus'].std()
# Mencari outlier
outliers = data[(data['waktu_lulus'].isnull()) | (data['waktu_lulus'] < lower_bound) | (data['waktu_lulus'] > upper_bound)]
# Menentukan apakah "waktu lulus" yang kosong atau sangat cepat adalah noise atau outlier
if len(outliers) > 0:
print("Ada outlier dalam data.")
print(outliers)
else:
print("Tidak ada outlier dalam data. Mungkin ada beberapa noise.")
Berdasarkan data yang telah di analisa, ini merupkan noise karena terlihat banyaknya lulusan yang menyelesaikan studi lebih cepat daripada mahasiswa pindahan. Namun, setelah di analisa lebih dalam ternyata ada masalah dengan data, yaitu dikarenakan beberapa mahasiswa baru memiliki data lahiran yang lebih lama dari mahasiswa baru lainnya, yang mungkin disebabkan oleh kesalahan pengukuran atau pencatatan. Selain itu, terdapat juga data semester mahasiswa dengan nilai 0, yang kemungkinan merupakan hasil dari kesalahan atau faktor acak.