Update utils/preprocessing.py
Browse files- utils/preprocessing.py +6 -6
utils/preprocessing.py
CHANGED
|
@@ -2,13 +2,13 @@ import pandas as pd
|
|
| 2 |
from sklearn.ensemble import IsolationForest
|
| 3 |
|
| 4 |
def clean_data(file):
|
|
|
|
| 5 |
df = pd.read_csv(file)
|
| 6 |
-
|
| 7 |
-
# Konversi tanggal
|
| 8 |
df['tanggal'] = pd.to_datetime(df['tanggal'])
|
|
|
|
| 9 |
|
| 10 |
-
# Deteksi
|
| 11 |
-
clf = IsolationForest(contamination=0.05)
|
| 12 |
-
df['
|
| 13 |
|
| 14 |
-
return df[df['
|
|
|
|
| 2 |
from sklearn.ensemble import IsolationForest
|
| 3 |
|
| 4 |
def clean_data(file):
|
| 5 |
+
# Baca dan format data
|
| 6 |
df = pd.read_csv(file)
|
|
|
|
|
|
|
| 7 |
df['tanggal'] = pd.to_datetime(df['tanggal'])
|
| 8 |
+
df = df.sort_values('tanggal').reset_index(drop=True)
|
| 9 |
|
| 10 |
+
# Deteksi anomali
|
| 11 |
+
clf = IsolationForest(contamination=0.05, random_state=42)
|
| 12 |
+
df['anomali'] = clf.fit_predict(df[['demand', 'supply']])
|
| 13 |
|
| 14 |
+
return df[df['anomali'] == 1].drop('anomali', axis=1)
|