Update model.py
Browse files
model.py
CHANGED
@@ -1,38 +1,39 @@
|
|
1 |
-
import pandas as pd
|
2 |
-
import
|
3 |
-
from keras.api.models import Sequential
|
4 |
-
from keras.api.layers import Dense, Dropout, BatchNormalization
|
5 |
-
from sklearn.preprocessing import StandardScaler
|
6 |
-
|
7 |
-
# Veriyi yükle
|
8 |
-
data = pd.read_csv("diabetes.csv")
|
9 |
-
data = data[data.BMI >= 5]
|
10 |
-
|
11 |
-
X = data.drop("Outcome", axis=1)
|
12 |
-
y = data["Outcome"]
|
13 |
-
|
14 |
-
# Ön işleme adımı
|
15 |
-
sc = StandardScaler()
|
16 |
-
X = sc.fit_transform(X)
|
17 |
-
|
18 |
-
# Modeli oluşturma
|
19 |
-
model = Sequential()
|
20 |
-
model.add(Dense(120, activation="relu", input_shape=(X.shape[1],))) # input_shape belirtin
|
21 |
-
model.add(BatchNormalization())
|
22 |
-
model.add(Dropout(0.3)) # Dropout oranı
|
23 |
-
model.add(Dense(64, activation="relu"))
|
24 |
-
model.add(BatchNormalization())
|
25 |
-
model.add(Dropout(0.3)) # Dropout oranı
|
26 |
-
model.add(Dense(1, activation="sigmoid")) # Son katmanın çıkış boyutu 1 olmalı
|
27 |
-
model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"])
|
28 |
-
|
29 |
-
# Modeli eğitin
|
30 |
-
model.fit(X, y,
|
31 |
-
epochs=10,
|
32 |
-
batch_size=32,
|
33 |
-
validation_split=0.2,
|
34 |
-
verbose=1)
|
35 |
-
|
36 |
-
# Modeli kaydetme
|
37 |
-
model.save("
|
38 |
-
|
|
|
|
1 |
+
import pandas as pd
|
2 |
+
import pickle
|
3 |
+
from keras.api.models import Sequential
|
4 |
+
from keras.api.layers import Dense, Dropout, BatchNormalization
|
5 |
+
from sklearn.preprocessing import StandardScaler
|
6 |
+
|
7 |
+
# Veriyi yükle
|
8 |
+
data = pd.read_csv("diabetes.csv")
|
9 |
+
data = data[data.BMI >= 5]
|
10 |
+
|
11 |
+
X = data.drop("Outcome", axis=1)
|
12 |
+
y = data["Outcome"]
|
13 |
+
|
14 |
+
# Ön işleme adımı
|
15 |
+
sc = StandardScaler()
|
16 |
+
X = sc.fit_transform(X)
|
17 |
+
|
18 |
+
# Modeli oluşturma
|
19 |
+
model = Sequential()
|
20 |
+
model.add(Dense(120, activation="relu", input_shape=(X.shape[1],))) # input_shape belirtin
|
21 |
+
model.add(BatchNormalization())
|
22 |
+
model.add(Dropout(0.3)) # Dropout oranı
|
23 |
+
model.add(Dense(64, activation="relu"))
|
24 |
+
model.add(BatchNormalization())
|
25 |
+
model.add(Dropout(0.3)) # Dropout oranı
|
26 |
+
model.add(Dense(1, activation="sigmoid")) # Son katmanın çıkış boyutu 1 olmalı
|
27 |
+
model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"])
|
28 |
+
|
29 |
+
# Modeli eğitin
|
30 |
+
model.fit(X, y,
|
31 |
+
epochs=10,
|
32 |
+
batch_size=32,
|
33 |
+
validation_split=0.2,
|
34 |
+
verbose=1)
|
35 |
+
|
36 |
+
# Modeli kaydetme
|
37 |
+
model.save("model.keras")
|
38 |
+
with open("dscaler.pkl", "wb") as scaler_file:
|
39 |
+
pickle.dump(scaler, scaler_file)
|