Dersler

View on GitHub

Yakıt Verimliliği Çalışması

Bu çalışmada yakıt verimliliği ile aşağıdaki sayfada verilen eğitim üzerine çalışmalar yapılmıştır.

https://www.tensorflow.org/tutorials/keras/regression

Veri setini indirmek için tıklayınız.

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd # pip install pandas
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
column_names = ['MPG', 'Cylinders', 'Displacement', 'Horsepower', 'Weight',
                'Acceleration', 'Model Year', 'Origin']
dataset=pd.read_csv("04_auto-mpg.data", names=column_names, na_values='?',
                   comment='\t', sep=' ', skipinitialspace=True)
dataset
MPG Cylinders Displacement Horsepower Weight Acceleration Model Year Origin
0 18.0 8 307.0 130.0 3504.0 12.0 70 1
1 15.0 8 350.0 165.0 3693.0 11.5 70 1
2 18.0 8 318.0 150.0 3436.0 11.0 70 1
3 16.0 8 304.0 150.0 3433.0 12.0 70 1
4 17.0 8 302.0 140.0 3449.0 10.5 70 1
... ... ... ... ... ... ... ... ...
393 27.0 4 140.0 86.0 2790.0 15.6 82 1
394 44.0 4 97.0 52.0 2130.0 24.6 82 2
395 32.0 4 135.0 84.0 2295.0 11.6 82 1
396 28.0 4 120.0 79.0 2625.0 18.6 82 1
397 31.0 4 119.0 82.0 2720.0 19.4 82 1

398 rows × 8 columns

dataset.isna().sum()
MPG             0
Cylinders       0
Displacement    0
Horsepower      6
Weight          0
Acceleration    0
Model Year      0
Origin          0
dtype: int64
# clean data
dataset = dataset.dropna()
dataset
MPG Cylinders Displacement Horsepower Weight Acceleration Model Year Origin
0 18.0 8 307.0 130.0 3504.0 12.0 70 1
1 15.0 8 350.0 165.0 3693.0 11.5 70 1
2 18.0 8 318.0 150.0 3436.0 11.0 70 1
3 16.0 8 304.0 150.0 3433.0 12.0 70 1
4 17.0 8 302.0 140.0 3449.0 10.5 70 1
... ... ... ... ... ... ... ... ...
393 27.0 4 140.0 86.0 2790.0 15.6 82 1
394 44.0 4 97.0 52.0 2130.0 24.6 82 2
395 32.0 4 135.0 84.0 2295.0 11.6 82 1
396 28.0 4 120.0 79.0 2625.0 18.6 82 1
397 31.0 4 119.0 82.0 2720.0 19.4 82 1

392 rows × 8 columns

dataset_np= dataset.to_numpy()
dataset_np
    array([[ 18. ,   8. , 307. , ...,  12. ,  70. ,   1. ],
           [ 15. ,   8. , 350. , ...,  11.5,  70. ,   1. ],
           [ 18. ,   8. , 318. , ...,  11. ,  70. ,   1. ],
           ...,
           [ 32. ,   4. , 135. , ...,  11.6,  82. ,   1. ],
           [ 28. ,   4. , 120. , ...,  18.6,  82. ,   1. ],
           [ 31. ,   4. , 119. , ...,  19.4,  82. ,   1. ]])
from sklearn.preprocessing import OneHotEncoder
 # Son sütunu seç (kategori sütunu)
categorical_column = dataset_np[:, -1].reshape(-1, 1)

# One-hot encoder oluştur ve uygula
encoder = OneHotEncoder(sparse_output=False)
encoded_column = encoder.fit_transform(categorical_column)

# Sonucu orijinal veriyle birleştir
dataset_encoded = np.hstack((dataset_np[:, :-1], encoded_column))

print(dataset_encoded)
    [[ 18.   8. 307. ...   1.   0.   0.]
     [ 15.   8. 350. ...   1.   0.   0.]
     [ 18.   8. 318. ...   1.   0.   0.]
     ...
     [ 32.   4. 135. ...   1.   0.   0.]
     [ 28.   4. 120. ...   1.   0.   0.]
     [ 31.   4. 119. ...   1.   0.   0.]]
print(dataset_encoded[-5:,:])
[[2.700e+01 4.000e+00 1.400e+02 8.600e+01 2.790e+03 1.560e+01 8.200e+01
  1.000e+00 0.000e+00 0.000e+00]
 [4.400e+01 4.000e+00 9.700e+01 5.200e+01 2.130e+03 2.460e+01 8.200e+01
  0.000e+00 1.000e+00 0.000e+00]
 [3.200e+01 4.000e+00 1.350e+02 8.400e+01 2.295e+03 1.160e+01 8.200e+01
  1.000e+00 0.000e+00 0.000e+00]
 [2.800e+01 4.000e+00 1.200e+02 7.900e+01 2.625e+03 1.860e+01 8.200e+01
  1.000e+00 0.000e+00 0.000e+00]
 [3.100e+01 4.000e+00 1.190e+02 8.200e+01 2.720e+03 1.940e+01 8.200e+01
  1.000e+00 0.000e+00 0.000e+00]]
# Horsepower
hp = dataset_encoded[:,3]
mpg = dataset_encoded[:,0]
plt.scatter(hp, mpg, marker="+", color="red")
plt.xlabel("hp")
plt.ylabel('mpg')
plt.show()

png

# Horsepower
weight = dataset_encoded[:,4]
mpg = dataset_encoded[:,0]
plt.scatter(weight, mpg, marker="+", color="blue")
plt.xlabel("weight")
plt.ylabel('mpg')
plt.show()

png

Tek katman, tek nöron

# input ve output
y = mpg  # İlk sütun (çıktı)
X = hp  # Geri kalan sütunlar (girdi)
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
from sklearn.preprocessing import MinMaxScaler

# X_train için Min-Max ölçekleme
scaler_X = MinMaxScaler()
# hp
X_train_scaled = scaler_X.fit_transform(X_train.reshape((-1,1)))

# X_test'i aynı scaler ile dönüştür
X_test_scaled = scaler_X.transform(X_test.reshape((-1,1)))

# y_train için Min-Max ölçekleme
scaler_y = MinMaxScaler()
y_train_scaled = scaler_y.fit_transform(y_train.reshape(-1, 1))  # y vektör olduğu için reshape gerekli

# y_test'i aynı scaler ile dönüştür
y_test_scaled = scaler_y.transform(y_test.reshape(-1, 1))

X_train_scaled.shape
    (313, 1)
model = keras.models.Sequential([
    layers.Dense(units=1, input_shape=(1,)) # Linear Model
])
model.summary()
    Model: "sequential_10"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     dense_12 (Dense)            (None, 1)                 2         
                                                                     
    =================================================================
    Total params: 2
    Trainable params: 2
    Non-trainable params: 0
    _________________________________________________________________
model.compile(optimizer='adam', loss='mse')
history=model.fit(X_train_scaled, y_train_scaled, epochs=100, validation_data=(X_test_scaled, y_test_scaled))
    Epoch 1/100
    10/10 [==============================] - 1s 23ms/step - loss: 0.1432 - val_loss: 0.1209
    Epoch 2/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.1381 - val_loss: 0.1165
    Epoch 3/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1334 - val_loss: 0.1124
    Epoch 4/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.1291 - val_loss: 0.1088
    Epoch 5/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1252 - val_loss: 0.1054
    Epoch 6/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1215 - val_loss: 0.1025
    Epoch 7/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.1183 - val_loss: 0.0998
    Epoch 8/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.1154 - val_loss: 0.0972
    Epoch 9/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1127 - val_loss: 0.0949
    Epoch 10/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1102 - val_loss: 0.0927
    Epoch 11/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1078 - val_loss: 0.0907
    Epoch 12/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1056 - val_loss: 0.0888
    Epoch 13/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1035 - val_loss: 0.0870
    Epoch 14/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.1014 - val_loss: 0.0852
    Epoch 15/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0995 - val_loss: 0.0835
    Epoch 16/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0977 - val_loss: 0.0819
    Epoch 17/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0958 - val_loss: 0.0803
    Epoch 18/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0941 - val_loss: 0.0788
    Epoch 19/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0925 - val_loss: 0.0773
    Epoch 20/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0908 - val_loss: 0.0759
    Epoch 21/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0892 - val_loss: 0.0745
    Epoch 22/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0876 - val_loss: 0.0731
    Epoch 23/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0862 - val_loss: 0.0717
    Epoch 24/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0847 - val_loss: 0.0704
    Epoch 25/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0832 - val_loss: 0.0692
    Epoch 26/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0818 - val_loss: 0.0679
    Epoch 27/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0805 - val_loss: 0.0667
    Epoch 28/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0791 - val_loss: 0.0655
    Epoch 29/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0779 - val_loss: 0.0644
    Epoch 30/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0766 - val_loss: 0.0633
    Epoch 31/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0754 - val_loss: 0.0621
    Epoch 32/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0742 - val_loss: 0.0611
    Epoch 33/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0730 - val_loss: 0.0600
    Epoch 34/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0718 - val_loss: 0.0590
    Epoch 35/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0707 - val_loss: 0.0580
    Epoch 36/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0696 - val_loss: 0.0570
    Epoch 37/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0685 - val_loss: 0.0560
    Epoch 38/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0674 - val_loss: 0.0551
    Epoch 39/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0664 - val_loss: 0.0542
    Epoch 40/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0654 - val_loss: 0.0532
    Epoch 41/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0644 - val_loss: 0.0523
    Epoch 42/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0634 - val_loss: 0.0514
    Epoch 43/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0624 - val_loss: 0.0506
    Epoch 44/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0615 - val_loss: 0.0498
    Epoch 45/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0605 - val_loss: 0.0490
    Epoch 46/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0596 - val_loss: 0.0481
    Epoch 47/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0588 - val_loss: 0.0473
    Epoch 48/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0579 - val_loss: 0.0466
    Epoch 49/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0570 - val_loss: 0.0458
    Epoch 50/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0562 - val_loss: 0.0451
    Epoch 51/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0554 - val_loss: 0.0444
    Epoch 52/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0546 - val_loss: 0.0437
    Epoch 53/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0538 - val_loss: 0.0430
    Epoch 54/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0530 - val_loss: 0.0423
    Epoch 55/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0523 - val_loss: 0.0416
    Epoch 56/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0515 - val_loss: 0.0409
    Epoch 57/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0508 - val_loss: 0.0403
    Epoch 58/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0501 - val_loss: 0.0397
    Epoch 59/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0493 - val_loss: 0.0390
    Epoch 60/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0486 - val_loss: 0.0384
    Epoch 61/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0480 - val_loss: 0.0379
    Epoch 62/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0473 - val_loss: 0.0373
    Epoch 63/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0467 - val_loss: 0.0367
    Epoch 64/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0460 - val_loss: 0.0361
    Epoch 65/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0454 - val_loss: 0.0356
    Epoch 66/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0448 - val_loss: 0.0351
    Epoch 67/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0442 - val_loss: 0.0346
    Epoch 68/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0436 - val_loss: 0.0341
    Epoch 69/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0430 - val_loss: 0.0336
    Epoch 70/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0424 - val_loss: 0.0331
    Epoch 71/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0419 - val_loss: 0.0326
    Epoch 72/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0413 - val_loss: 0.0321
    Epoch 73/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0408 - val_loss: 0.0317
    Epoch 74/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0403 - val_loss: 0.0312
    Epoch 75/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0397 - val_loss: 0.0308
    Epoch 76/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0393 - val_loss: 0.0303
    Epoch 77/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0387 - val_loss: 0.0299
    Epoch 78/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0383 - val_loss: 0.0295
    Epoch 79/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0378 - val_loss: 0.0291
    Epoch 80/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0373 - val_loss: 0.0287
    Epoch 81/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0368 - val_loss: 0.0283
    Epoch 82/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0364 - val_loss: 0.0279
    Epoch 83/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0359 - val_loss: 0.0276
    Epoch 84/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0355 - val_loss: 0.0272
    Epoch 85/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0351 - val_loss: 0.0268
    Epoch 86/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0347 - val_loss: 0.0265
    Epoch 87/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0343 - val_loss: 0.0261
    Epoch 88/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0338 - val_loss: 0.0258
    Epoch 89/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0334 - val_loss: 0.0255
    Epoch 90/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0331 - val_loss: 0.0252
    Epoch 91/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0327 - val_loss: 0.0249
    Epoch 92/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0323 - val_loss: 0.0246
    Epoch 93/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0319 - val_loss: 0.0243
    Epoch 94/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0316 - val_loss: 0.0240
    Epoch 95/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0312 - val_loss: 0.0237
    Epoch 96/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0309 - val_loss: 0.0234
    Epoch 97/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0306 - val_loss: 0.0232
    Epoch 98/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0302 - val_loss: 0.0229
    Epoch 99/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0299 - val_loss: 0.0226
    Epoch 100/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0296 - val_loss: 0.0224
  
plt.plot(history.history['loss'], label='loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epoch')
plt.ylabel('Error [MPG]')
plt.legend()
plt.grid(True)
plt.show()

png

y_test_predict_scaled=model.predict(X_test_scaled)
    3/3 [==============================] - 0s 3ms/step
y_pred = scaler_y.inverse_transform(y_test_predict_scaled)
y_test[:10]
    array([26. , 21.6, 36.1, 26. , 27. , 28. , 13. , 26. , 19. , 29. ])
y_pred[:10]
    array([[24.879032],
           [22.3061  ],
           [25.382433],
           [24.8231  ],
           [23.928167],
           [24.543432],
           [19.229767],
           [24.543432],
           [23.424765],
           [25.997698]], dtype=float32)
X_fake = np.linspace(50, 230, 200).reshape((-1,1))
X_fake_scaled = scaler_X.transform(X_fake)

y_fake_pred_scaled = model.predict(X_fake_scaled)

y_fake_pred=scaler_y.inverse_transform(y_fake_pred_scaled)
    7/7 [==============================] - 0s 3ms/step
plt.plot(X_fake, y_fake_pred)
plt.scatter(hp, mpg, marker="+", color="red")
plt.show()

png

Aktivasyonsuz büyük model

# DNN
model = keras.Sequential([
    layers.Dense(64,  input_shape=(1,)),
    layers.Dense(64),
    layers.Dense(1)
])
model.compile(loss="mse", optimizer="adam")

model.summary()
    Model: "sequential_11"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     dense_13 (Dense)            (None, 64)                128       
                                                                     
     dense_14 (Dense)            (None, 64)                4160      
                                                                     
     dense_15 (Dense)            (None, 1)                 65        
                                                                     
    =================================================================
    Total params: 4,353
    Trainable params: 4,353
    Non-trainable params: 0
    _________________________________________________________________
history=model.fit(X_train_scaled, y_train_scaled, epochs=100, validation_data=(X_test_scaled, y_test_scaled))
    Epoch 1/100
    10/10 [==============================] - 1s 21ms/step - loss: 0.1110 - val_loss: 0.0613
    Epoch 2/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0525 - val_loss: 0.0222
    Epoch 3/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0214 - val_loss: 0.0166
    Epoch 4/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0191 - val_loss: 0.0210
    Epoch 5/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0196 - val_loss: 0.0173
    Epoch 6/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0194 - val_loss: 0.0171
    Epoch 7/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0174 - val_loss: 0.0152
    Epoch 8/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0176 - val_loss: 0.0160
    Epoch 9/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0174 - val_loss: 0.0158
    Epoch 10/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0161
    Epoch 11/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0185 - val_loss: 0.0182
    Epoch 12/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0187 - val_loss: 0.0153
    Epoch 13/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0191 - val_loss: 0.0154
    Epoch 14/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0181 - val_loss: 0.0158
    Epoch 15/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0189 - val_loss: 0.0186
    Epoch 16/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0186 - val_loss: 0.0163
    Epoch 17/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0182 - val_loss: 0.0153
    Epoch 18/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0181 - val_loss: 0.0156
    Epoch 19/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0163
    Epoch 20/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0183 - val_loss: 0.0162
    Epoch 21/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0156
    Epoch 22/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0184 - val_loss: 0.0160
    Epoch 23/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0185 - val_loss: 0.0169
    Epoch 24/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0155
    Epoch 25/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0174 - val_loss: 0.0158
    Epoch 26/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0174 - val_loss: 0.0156
    Epoch 27/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0182 - val_loss: 0.0176
    Epoch 28/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0158
    Epoch 29/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0157
    Epoch 30/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0156
    Epoch 31/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0174 - val_loss: 0.0155
    Epoch 32/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0184 - val_loss: 0.0155
    Epoch 33/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0181 - val_loss: 0.0158
    Epoch 34/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0163
    Epoch 35/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0181 - val_loss: 0.0175
    Epoch 36/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0188 - val_loss: 0.0162
    Epoch 37/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0194 - val_loss: 0.0156
    Epoch 38/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0175 - val_loss: 0.0162
    Epoch 39/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0179 - val_loss: 0.0158
    Epoch 40/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0190 - val_loss: 0.0159
    Epoch 41/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0188 - val_loss: 0.0159
    Epoch 42/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0163
    Epoch 43/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0154
    Epoch 44/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0179 - val_loss: 0.0166
    Epoch 45/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0158
    Epoch 46/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0174 - val_loss: 0.0158
    Epoch 47/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0176 - val_loss: 0.0167
    Epoch 48/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0179 - val_loss: 0.0153
    Epoch 49/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0153
    Epoch 50/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0159
    Epoch 51/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0167
    Epoch 52/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0178 - val_loss: 0.0155
    Epoch 53/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0176 - val_loss: 0.0161
    Epoch 54/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0177 - val_loss: 0.0167
    Epoch 55/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0182 - val_loss: 0.0163
    Epoch 56/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0176 - val_loss: 0.0154
    Epoch 57/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0155
    Epoch 58/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0176 - val_loss: 0.0155
    Epoch 59/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0163
    Epoch 60/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0181 - val_loss: 0.0159
    Epoch 61/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0180 - val_loss: 0.0156
    Epoch 62/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0176 - val_loss: 0.0174
    Epoch 63/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0155
    Epoch 64/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0176 - val_loss: 0.0160
    Epoch 65/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0155
    Epoch 66/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0175 - val_loss: 0.0161
    Epoch 67/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0176 - val_loss: 0.0167
    Epoch 68/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0182 - val_loss: 0.0159
    Epoch 69/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0186 - val_loss: 0.0155
    Epoch 70/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0183 - val_loss: 0.0154
    Epoch 71/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0164
    Epoch 72/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0180 - val_loss: 0.0159
    Epoch 73/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0174 - val_loss: 0.0158
    Epoch 74/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0174 - val_loss: 0.0157
    Epoch 75/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0177 - val_loss: 0.0158
    Epoch 76/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0176 - val_loss: 0.0161
    Epoch 77/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0176 - val_loss: 0.0156
    Epoch 78/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0176 - val_loss: 0.0156
    Epoch 79/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0176 - val_loss: 0.0166
    Epoch 80/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0155
    Epoch 81/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0175 - val_loss: 0.0163
    Epoch 82/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0179 - val_loss: 0.0158
    Epoch 83/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0160
    Epoch 84/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0175 - val_loss: 0.0153
    Epoch 85/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0161
    Epoch 86/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0180 - val_loss: 0.0178
    Epoch 87/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0179 - val_loss: 0.0153
    Epoch 88/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0177 - val_loss: 0.0158
    Epoch 89/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0176 - val_loss: 0.0160
    Epoch 90/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0177 - val_loss: 0.0161
    Epoch 91/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0156
    Epoch 92/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0181 - val_loss: 0.0161
    Epoch 93/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0172
    Epoch 94/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0180 - val_loss: 0.0150
    Epoch 95/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0178 - val_loss: 0.0156
    Epoch 96/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0176 - val_loss: 0.0165
    Epoch 97/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0177 - val_loss: 0.0165
    Epoch 98/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0181 - val_loss: 0.0156
    Epoch 99/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0179 - val_loss: 0.0153
    Epoch 100/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0182 - val_loss: 0.0156
plt.plot(history.history['loss'], label='loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epoch')
plt.ylabel('Error [MPG]')
plt.legend()
plt.grid(True)
plt.show()

png

y_test_predict_scaled=model.predict(X_test_scaled)
    3/3 [==============================] - 0s 3ms/step
y_pred = scaler_y.inverse_transform(y_test_predict_scaled)
y_test[:10]
    array([26. , 21.6, 36.1, 26. , 27. , 28. , 13. , 26. , 19. , 29. ])
y_pred[:10]
    array([[29.274797],
           [22.273424],
           [30.642967],
           [29.121162],
           [26.68683 ],
           [28.362114],
           [13.90795 ],
           [28.362114],
           [25.316181],
           [32.31797 ]], dtype=float32)
X_fake = np.linspace(50, 230, 200).reshape((-1,1))
X_fake_scaled = scaler_X.transform(X_fake)

y_fake_pred_scaled = model.predict(X_fake_scaled)

y_fake_pred=scaler_y.inverse_transform(y_fake_pred_scaled)
    7/7 [==============================] - 0s 2ms/step
plt.plot(X_fake, y_fake_pred)
plt.scatter(hp, mpg, marker="+", color="red")
plt.show()

png

Aktivasyonlu büyük model

# DNN
model = keras.Sequential([
    layers.Dense(64, activation='relu', input_shape=(1,)),
    layers.Dense(64, activation='relu'),
    layers.Dense(1)
])
model.compile(loss="mse", optimizer="adam")

model.summary()
    Model: "sequential_12"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     dense_16 (Dense)            (None, 64)                128       
                                                                     
     dense_17 (Dense)            (None, 64)                4160      
                                                                     
     dense_18 (Dense)            (None, 1)                 65        
                                                                     
    =================================================================
    Total params: 4,353
    Trainable params: 4,353
    Non-trainable params: 0
    _________________________________________________________________
history=model.fit(X_train_scaled, y_train_scaled, epochs=100, validation_data=(X_test_scaled, y_test_scaled))
    Epoch 1/100
    10/10 [==============================] - 1s 22ms/step - loss: 0.1405 - val_loss: 0.0941
    Epoch 2/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.1041 - val_loss: 0.0799
    Epoch 3/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0858 - val_loss: 0.0634
    Epoch 4/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0697 - val_loss: 0.0500
    Epoch 5/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0562 - val_loss: 0.0383
    Epoch 6/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0436 - val_loss: 0.0288
    Epoch 7/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0330 - val_loss: 0.0211
    Epoch 8/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0251 - val_loss: 0.0164
    Epoch 9/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0200 - val_loss: 0.0147
    Epoch 10/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0179 - val_loss: 0.0143
    Epoch 11/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0168 - val_loss: 0.0144
    Epoch 12/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0165 - val_loss: 0.0144
    Epoch 13/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0161 - val_loss: 0.0134
    Epoch 14/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0160 - val_loss: 0.0138
    Epoch 15/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0155 - val_loss: 0.0129
    Epoch 16/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0152 - val_loss: 0.0133
    Epoch 17/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0151 - val_loss: 0.0131
    Epoch 18/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0151 - val_loss: 0.0135
    Epoch 19/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0148 - val_loss: 0.0128
    Epoch 20/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0146 - val_loss: 0.0129
    Epoch 21/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0144 - val_loss: 0.0133
    Epoch 22/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0143 - val_loss: 0.0130
    Epoch 23/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0143 - val_loss: 0.0134
    Epoch 24/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0143 - val_loss: 0.0127
    Epoch 25/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0142 - val_loss: 0.0141
    Epoch 26/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0145 - val_loss: 0.0127
    Epoch 27/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0143 - val_loss: 0.0136
    Epoch 28/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0140 - val_loss: 0.0126
    Epoch 29/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0142 - val_loss: 0.0141
    Epoch 30/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0140 - val_loss: 0.0126
    Epoch 31/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0139 - val_loss: 0.0133
    Epoch 32/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0139 - val_loss: 0.0126
    Epoch 33/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0138 - val_loss: 0.0132
    Epoch 34/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0138 - val_loss: 0.0129
    Epoch 35/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0141 - val_loss: 0.0124
    Epoch 36/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0138 - val_loss: 0.0136
    Epoch 37/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0137 - val_loss: 0.0125
    Epoch 38/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0137 - val_loss: 0.0128
    Epoch 39/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0136 - val_loss: 0.0131
    Epoch 40/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0136 - val_loss: 0.0126
    Epoch 41/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0138 - val_loss: 0.0132
    Epoch 42/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0135 - val_loss: 0.0126
    Epoch 43/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0136 - val_loss: 0.0133
    Epoch 44/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0134 - val_loss: 0.0125
    Epoch 45/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0135 - val_loss: 0.0125
    Epoch 46/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0134 - val_loss: 0.0133
    Epoch 47/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0135 - val_loss: 0.0126
    Epoch 48/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0134 - val_loss: 0.0128
    Epoch 49/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0134 - val_loss: 0.0127
    Epoch 50/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0135 - val_loss: 0.0126
    Epoch 51/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0135 - val_loss: 0.0131
    Epoch 52/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0135 - val_loss: 0.0123
    Epoch 53/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0134 - val_loss: 0.0130
    Epoch 54/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0133 - val_loss: 0.0125
    Epoch 55/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0128
    Epoch 56/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0135 - val_loss: 0.0131
    Epoch 57/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0141 - val_loss: 0.0134
    Epoch 58/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0133 - val_loss: 0.0122
    Epoch 59/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0134 - val_loss: 0.0128
    Epoch 60/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0128
    Epoch 61/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0133 - val_loss: 0.0129
    Epoch 62/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0132 - val_loss: 0.0128
    Epoch 63/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0132
    Epoch 64/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0134 - val_loss: 0.0126
    Epoch 65/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0125
    Epoch 66/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0132 - val_loss: 0.0127
    Epoch 67/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0132 - val_loss: 0.0129
    Epoch 68/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0135 - val_loss: 0.0125
    Epoch 69/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0134 - val_loss: 0.0129
    Epoch 70/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0123
    Epoch 71/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0132
    Epoch 72/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0124
    Epoch 73/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0133 - val_loss: 0.0126
    Epoch 74/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0134 - val_loss: 0.0125
    Epoch 75/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0129
    Epoch 76/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0136 - val_loss: 0.0133
    Epoch 77/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0135 - val_loss: 0.0126
    Epoch 78/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0130
    Epoch 79/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0131 - val_loss: 0.0123
    Epoch 80/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0134 - val_loss: 0.0134
    Epoch 81/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0132 - val_loss: 0.0126
    Epoch 82/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0133 - val_loss: 0.0130
    Epoch 83/100
    10/10 [==============================] - 0s 12ms/step - loss: 0.0132 - val_loss: 0.0126
    Epoch 84/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0132 - val_loss: 0.0127
    Epoch 85/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0132 - val_loss: 0.0128
    Epoch 86/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0133 - val_loss: 0.0128
    Epoch 87/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0127
    Epoch 88/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0132 - val_loss: 0.0127
    Epoch 89/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0133 - val_loss: 0.0125
    Epoch 90/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0134 - val_loss: 0.0135
    Epoch 91/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0137 - val_loss: 0.0124
    Epoch 92/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0133 - val_loss: 0.0131
    Epoch 93/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0133 - val_loss: 0.0127
    Epoch 94/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0132 - val_loss: 0.0129
    Epoch 95/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0132 - val_loss: 0.0125
    Epoch 96/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0132 - val_loss: 0.0128
    Epoch 97/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0133 - val_loss: 0.0135
    Epoch 98/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0134 - val_loss: 0.0125
    Epoch 99/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0132 - val_loss: 0.0134
    Epoch 100/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0133 - val_loss: 0.0129
 
plt.plot(history.history['loss'], label='loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epoch')
plt.ylabel('Error [MPG]')
plt.legend()
plt.grid(True)
plt.show()

png

y_test_predict_scaled=model.predict(X_test_scaled)
    3/3 [==============================] - 0s 3ms/step
y_pred = scaler_y.inverse_transform(y_test_predict_scaled)
y_test[:10]
    array([26. , 21.6, 36.1, 26. , 27. , 28. , 13. , 26. , 19. , 29. ])
y_pred[:10]
    array([[32.31129 ],
           [19.190641],
           [34.19633 ],
           [31.933548],
           [25.983114],
           [30.077898],
           [14.251822],
           [30.077898],
           [22.63136 ],
           [35.136513]], dtype=float32)
X_fake = np.linspace(50, 230, 200).reshape((-1,1))
X_fake_scaled = scaler_X.transform(X_fake)

y_fake_pred_scaled = model.predict(X_fake_scaled)

y_fake_pred=scaler_y.inverse_transform(y_fake_pred_scaled)
    7/7 [==============================] - 0s 3ms/step
plt.plot(X_fake, y_fake_pred)
plt.scatter(hp, mpg, marker="+", color="red")
plt.show()

png

Çoklu veri

X = dataset_encoded[:,1:]
y = dataset_encoded[:,0]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
from sklearn.preprocessing import MinMaxScaler

# X_train için Min-Max ölçekleme
scaler_X = MinMaxScaler()
# hp
X_train_scaled = scaler_X.fit_transform(X_train)

# X_test'i aynı scaler ile dönüştür
X_test_scaled = scaler_X.transform(X_test)

# y_train için Min-Max ölçekleme
scaler_y = MinMaxScaler()
y_train_scaled = scaler_y.fit_transform(y_train.reshape(-1, 1))  # y vektör olduğu için reshape gerekli

# y_test'i aynı scaler ile dönüştür
y_test_scaled = scaler_y.transform(y_test.reshape(-1, 1))

X_train_scaled.shape, X_test_scaled.shape, y_train.shape
    ((313, 9), (79, 9), (313,))

Aktivasyon fonksiyonu olmayan model

model = keras.models.Sequential([
    layers.Dense(units=32, input_shape=(9,)), # Linear Model
    layers.Dense(1)
])
model.summary()
    Model: "sequential_13"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     dense_19 (Dense)            (None, 32)                320       
                                                                     
     dense_20 (Dense)            (None, 1)                 33        
                                                                     
    =================================================================
    Total params: 353
    Trainable params: 353
    Non-trainable params: 0
    _________________________________________________________________
model.compile(optimizer='adam', loss='mse')
history=model.fit(X_train_scaled, y_train_scaled, epochs=100, validation_data=(X_test_scaled, y_test_scaled))
    Epoch 1/100
    10/10 [==============================] - 1s 25ms/step - loss: 0.1336 - val_loss: 0.0811
    Epoch 2/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0663 - val_loss: 0.0381
    Epoch 3/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0298 - val_loss: 0.0159
    Epoch 4/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0153 - val_loss: 0.0110
    Epoch 5/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0115 - val_loss: 0.0114
    Epoch 6/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0115 - val_loss: 0.0119
    Epoch 7/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0112 - val_loss: 0.0113
    Epoch 8/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0109 - val_loss: 0.0106
    Epoch 9/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0108 - val_loss: 0.0101
    Epoch 10/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0104 - val_loss: 0.0099
    Epoch 11/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0103 - val_loss: 0.0098
    Epoch 12/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0102 - val_loss: 0.0098
    Epoch 13/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0100 - val_loss: 0.0097
    Epoch 14/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0098 - val_loss: 0.0095
    Epoch 15/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0097 - val_loss: 0.0094
    Epoch 16/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0096 - val_loss: 0.0093
    Epoch 17/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0095 - val_loss: 0.0091
    Epoch 18/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0093 - val_loss: 0.0093
    Epoch 19/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0092 - val_loss: 0.0093
    Epoch 20/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0092 - val_loss: 0.0092
    Epoch 21/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0090 - val_loss: 0.0088
    Epoch 22/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0090 - val_loss: 0.0089
    Epoch 23/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0089 - val_loss: 0.0088
    Epoch 24/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0089 - val_loss: 0.0088
    Epoch 25/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0088 - val_loss: 0.0087
    Epoch 26/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0087 - val_loss: 0.0086
    Epoch 27/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0086 - val_loss: 0.0087
    Epoch 28/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0085 - val_loss: 0.0086
    Epoch 29/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0084 - val_loss: 0.0085
    Epoch 30/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0085 - val_loss: 0.0086
    Epoch 31/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0084 - val_loss: 0.0086
    Epoch 32/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0084 - val_loss: 0.0083
    Epoch 33/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0083 - val_loss: 0.0085
    Epoch 34/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0083 - val_loss: 0.0083
    Epoch 35/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0084 - val_loss: 0.0082
    Epoch 36/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0083 - val_loss: 0.0085
    Epoch 37/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0084 - val_loss: 0.0084
    Epoch 38/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0083 - val_loss: 0.0084
    Epoch 39/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0082 - val_loss: 0.0084
    Epoch 40/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0082 - val_loss: 0.0082
    Epoch 41/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0082 - val_loss: 0.0083
    Epoch 42/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0081 - val_loss: 0.0080
    Epoch 43/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0085 - val_loss: 0.0081
    Epoch 44/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0083 - val_loss: 0.0086
    Epoch 45/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0082 - val_loss: 0.0085
    Epoch 46/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0080 - val_loss: 0.0081
    Epoch 47/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0081 - val_loss: 0.0079
    Epoch 48/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0081 - val_loss: 0.0083
    Epoch 49/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0081 - val_loss: 0.0081
    Epoch 50/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0081 - val_loss: 0.0081
    Epoch 51/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0081 - val_loss: 0.0081
    Epoch 52/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0080 - val_loss: 0.0081
    Epoch 53/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0080 - val_loss: 0.0083
    Epoch 54/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0080 - val_loss: 0.0076
    Epoch 55/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0082
    Epoch 56/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0081
    Epoch 57/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0081 - val_loss: 0.0080
    Epoch 58/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0079 - val_loss: 0.0080
    Epoch 59/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0080 - val_loss: 0.0079
    Epoch 60/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0080 - val_loss: 0.0079
    Epoch 61/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0080
    Epoch 62/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0079 - val_loss: 0.0081
    Epoch 63/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0079 - val_loss: 0.0081
    Epoch 64/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0080 - val_loss: 0.0080
    Epoch 65/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0081 - val_loss: 0.0082
    Epoch 66/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0084 - val_loss: 0.0083
    Epoch 67/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0082 - val_loss: 0.0087
    Epoch 68/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0081
    Epoch 69/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0080
    Epoch 70/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0080 - val_loss: 0.0076
    Epoch 71/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0081 - val_loss: 0.0082
    Epoch 72/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0081
    Epoch 73/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0078 - val_loss: 0.0080
    Epoch 74/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0078 - val_loss: 0.0079
    Epoch 75/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0077 - val_loss: 0.0078
    Epoch 76/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0078 - val_loss: 0.0077
    Epoch 77/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0078 - val_loss: 0.0079
    Epoch 78/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0079 - val_loss: 0.0081
    Epoch 79/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0078 - val_loss: 0.0077
    Epoch 80/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0078 - val_loss: 0.0078
    Epoch 81/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0079 - val_loss: 0.0083
    Epoch 82/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0081 - val_loss: 0.0081
    Epoch 83/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0081 - val_loss: 0.0081
    Epoch 84/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0079 - val_loss: 0.0075
    Epoch 85/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0079 - val_loss: 0.0080
    Epoch 86/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0078 - val_loss: 0.0077
    Epoch 87/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0078 - val_loss: 0.0082
    Epoch 88/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0075
    Epoch 89/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0078 - val_loss: 0.0080
    Epoch 90/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0079 - val_loss: 0.0080
    Epoch 91/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0082 - val_loss: 0.0081
    Epoch 92/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0081 - val_loss: 0.0079
    Epoch 93/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0078 - val_loss: 0.0076
    Epoch 94/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0078 - val_loss: 0.0078
    Epoch 95/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0078 - val_loss: 0.0080
    Epoch 96/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0079 - val_loss: 0.0082
    Epoch 97/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0079 - val_loss: 0.0077
    Epoch 98/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0080 - val_loss: 0.0078
    Epoch 99/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0079 - val_loss: 0.0079
    Epoch 100/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0080 - val_loss: 0.0079
 
plt.plot(history.history['loss'], label='loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epoch')
plt.ylabel('Error [MPG]')
plt.legend()
plt.grid(True)
plt.show()

png

Aktivasyonlu tek katman model

model = keras.models.Sequential([
    layers.Dense(units=32, input_shape=(9,), activation='relu'),
    layers.Dense(1)
])
model.summary()
    Model: "sequential_15"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     dense_23 (Dense)            (None, 32)                320       
                                                                     
     dense_24 (Dense)            (None, 1)                 33        
                                                                     
    =================================================================
    Total params: 353
    Trainable params: 353
    Non-trainable params: 0
    _________________________________________________________________
model.compile(optimizer='adam', loss='mse')
history=model.fit(X_train_scaled, y_train_scaled, epochs=100, validation_data=(X_test_scaled, y_test_scaled))
    Epoch 1/100
    10/10 [==============================] - 1s 21ms/step - loss: 0.0943 - val_loss: 0.0820
    Epoch 2/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0606 - val_loss: 0.0554
    Epoch 3/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0393 - val_loss: 0.0382
    Epoch 4/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0266 - val_loss: 0.0273
    Epoch 5/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0193 - val_loss: 0.0207
    Epoch 6/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0151 - val_loss: 0.0166
    Epoch 7/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0126 - val_loss: 0.0141
    Epoch 8/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0114 - val_loss: 0.0127
    Epoch 9/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0106 - val_loss: 0.0120
    Epoch 10/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0103 - val_loss: 0.0115
    Epoch 11/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0100 - val_loss: 0.0113
    Epoch 12/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0097 - val_loss: 0.0111
    Epoch 13/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0095 - val_loss: 0.0108
    Epoch 14/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0093 - val_loss: 0.0107
    Epoch 15/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0092 - val_loss: 0.0103
    Epoch 16/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0089 - val_loss: 0.0102
    Epoch 17/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0088 - val_loss: 0.0100
    Epoch 18/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0086 - val_loss: 0.0101
    Epoch 19/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0085 - val_loss: 0.0097
    Epoch 20/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0083 - val_loss: 0.0096
    Epoch 21/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0081 - val_loss: 0.0094
    Epoch 22/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0081 - val_loss: 0.0092
    Epoch 23/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0080 - val_loss: 0.0092
    Epoch 24/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0078 - val_loss: 0.0089
    Epoch 25/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0077 - val_loss: 0.0090
    Epoch 26/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0076 - val_loss: 0.0087
    Epoch 27/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0074 - val_loss: 0.0085
    Epoch 28/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0074 - val_loss: 0.0084
    Epoch 29/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0073 - val_loss: 0.0081
    Epoch 30/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0070 - val_loss: 0.0082
    Epoch 31/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0070 - val_loss: 0.0080
    Epoch 32/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0069 - val_loss: 0.0079
    Epoch 33/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0067 - val_loss: 0.0078
    Epoch 34/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0067 - val_loss: 0.0076
    Epoch 35/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0066 - val_loss: 0.0076
    Epoch 36/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0066 - val_loss: 0.0075
    Epoch 37/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0064 - val_loss: 0.0073
    Epoch 38/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0063 - val_loss: 0.0072
    Epoch 39/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0063 - val_loss: 0.0070
    Epoch 40/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0062 - val_loss: 0.0070
    Epoch 41/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0061 - val_loss: 0.0070
    Epoch 42/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0061 - val_loss: 0.0070
    Epoch 43/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0060 - val_loss: 0.0067
    Epoch 44/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0059 - val_loss: 0.0068
    Epoch 45/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0060 - val_loss: 0.0069
    Epoch 46/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0059 - val_loss: 0.0067
    Epoch 47/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0058 - val_loss: 0.0066
    Epoch 48/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0057 - val_loss: 0.0064
    Epoch 49/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0057 - val_loss: 0.0064
    Epoch 50/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0057 - val_loss: 0.0065
    Epoch 51/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0056 - val_loss: 0.0062
    Epoch 52/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0056 - val_loss: 0.0062
    Epoch 53/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0055 - val_loss: 0.0062
    Epoch 54/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0055 - val_loss: 0.0061
    Epoch 55/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0055 - val_loss: 0.0060
    Epoch 56/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0054 - val_loss: 0.0061
    Epoch 57/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0054 - val_loss: 0.0060
    Epoch 58/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0053 - val_loss: 0.0060
    Epoch 59/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0053 - val_loss: 0.0059
    Epoch 60/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0053 - val_loss: 0.0058
    Epoch 61/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0052 - val_loss: 0.0058
    Epoch 62/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0052 - val_loss: 0.0058
    Epoch 63/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0053 - val_loss: 0.0058
    Epoch 64/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0052 - val_loss: 0.0057
    Epoch 65/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0052 - val_loss: 0.0058
    Epoch 66/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0052 - val_loss: 0.0057
    Epoch 67/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0051 - val_loss: 0.0057
    Epoch 68/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0051 - val_loss: 0.0055
    Epoch 69/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0051 - val_loss: 0.0057
    Epoch 70/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0051 - val_loss: 0.0057
    Epoch 71/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0051 - val_loss: 0.0056
    Epoch 72/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0051 - val_loss: 0.0055
    Epoch 73/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0056
    Epoch 74/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0056
    Epoch 75/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0051 - val_loss: 0.0054
    Epoch 76/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0051 - val_loss: 0.0055
    Epoch 77/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0051 - val_loss: 0.0055
    Epoch 78/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0054
    Epoch 79/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0055
    Epoch 80/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0050 - val_loss: 0.0055
    Epoch 81/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0054
    Epoch 82/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0049 - val_loss: 0.0054
    Epoch 83/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0049 - val_loss: 0.0053
    Epoch 84/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0050 - val_loss: 0.0055
    Epoch 85/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0054
    Epoch 86/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0053
    Epoch 87/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0050 - val_loss: 0.0054
    Epoch 88/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0054
    Epoch 89/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0049 - val_loss: 0.0054
    Epoch 90/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0053
    Epoch 91/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0053
    Epoch 92/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0050 - val_loss: 0.0053
    Epoch 93/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0049 - val_loss: 0.0053
    Epoch 94/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0049 - val_loss: 0.0055
    Epoch 95/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0049 - val_loss: 0.0053
    Epoch 96/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0048 - val_loss: 0.0052
    Epoch 97/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0048 - val_loss: 0.0052
    Epoch 98/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0048 - val_loss: 0.0052
    Epoch 99/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0048 - val_loss: 0.0052
    Epoch 100/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0048 - val_loss: 0.0052
plt.plot(history.history['loss'], label='loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epoch')
plt.ylabel('Error [MPG]')
plt.legend()
plt.grid(True)
plt.show()

png

Aktivasyonlu büyük model

model = keras.models.Sequential([
    layers.Dense(units=64, input_shape=(9,), activation='relu'),
    layers.Dense(units=64, input_shape=(9,), activation='relu'),
    layers.Dense(1)
])
model.summary()
    Model: "sequential_16"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     dense_25 (Dense)            (None, 64)                640       
                                                                     
     dense_26 (Dense)            (None, 64)                4160      
                                                                     
     dense_27 (Dense)            (None, 1)                 65        
                                                                     
    =================================================================
    Total params: 4,865
    Trainable params: 4,865
    Non-trainable params: 0
    _________________________________________________________________
model.compile(optimizer='adam', loss='mse')
history=model.fit(X_train_scaled, y_train_scaled, epochs=100, validation_data=(X_test_scaled, y_test_scaled))
    Epoch 1/100
    10/10 [==============================] - 1s 22ms/step - loss: 0.1527 - val_loss: 0.0731
    Epoch 2/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0637 - val_loss: 0.0294
    Epoch 3/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0233 - val_loss: 0.0108
    Epoch 4/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0116 - val_loss: 0.0123
    Epoch 5/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0097 - val_loss: 0.0094
    Epoch 6/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0081 - val_loss: 0.0078
    Epoch 7/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0074 - val_loss: 0.0071
    Epoch 8/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0070 - val_loss: 0.0071
    Epoch 9/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0067 - val_loss: 0.0063
    Epoch 10/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0064 - val_loss: 0.0063
    Epoch 11/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0061 - val_loss: 0.0058
    Epoch 12/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0059 - val_loss: 0.0057
    Epoch 13/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0057 - val_loss: 0.0057
    Epoch 14/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0055 - val_loss: 0.0057
    Epoch 15/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0053 - val_loss: 0.0057
    Epoch 16/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0053 - val_loss: 0.0055
    Epoch 17/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0052 - val_loss: 0.0051
    Epoch 18/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0051 - val_loss: 0.0057
    Epoch 19/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0050 - val_loss: 0.0050
    Epoch 20/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0051 - val_loss: 0.0052
    Epoch 21/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0049 - val_loss: 0.0048
    Epoch 22/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0048 - val_loss: 0.0055
    Epoch 23/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0047 - val_loss: 0.0051
    Epoch 24/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0046 - val_loss: 0.0049
    Epoch 25/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0047 - val_loss: 0.0048
    Epoch 26/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0046 - val_loss: 0.0050
    Epoch 27/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0046 - val_loss: 0.0049
    Epoch 28/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0048 - val_loss: 0.0051
    Epoch 29/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0045 - val_loss: 0.0046
    Epoch 30/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0046 - val_loss: 0.0051
    Epoch 31/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0046 - val_loss: 0.0048
    Epoch 32/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0045 - val_loss: 0.0048
    Epoch 33/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0045 - val_loss: 0.0051
    Epoch 34/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0044 - val_loss: 0.0048
    Epoch 35/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0043 - val_loss: 0.0047
    Epoch 36/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0042 - val_loss: 0.0046
    Epoch 37/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0043 - val_loss: 0.0045
    Epoch 38/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0044
    Epoch 39/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0048
    Epoch 40/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0045
    Epoch 41/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0043 - val_loss: 0.0048
    Epoch 42/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0041 - val_loss: 0.0044
    Epoch 43/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0042 - val_loss: 0.0046
    Epoch 44/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0044
    Epoch 45/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0041 - val_loss: 0.0045
    Epoch 46/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0042 - val_loss: 0.0044
    Epoch 47/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0040 - val_loss: 0.0043
    Epoch 48/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0041 - val_loss: 0.0046
    Epoch 49/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0040 - val_loss: 0.0043
    Epoch 50/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0040 - val_loss: 0.0044
    Epoch 51/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0045
    Epoch 52/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0041 - val_loss: 0.0048
    Epoch 53/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0042 - val_loss: 0.0044
    Epoch 54/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0041 - val_loss: 0.0040
    Epoch 55/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0040 - val_loss: 0.0043
    Epoch 56/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0040 - val_loss: 0.0044
    Epoch 57/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0039 - val_loss: 0.0041
    Epoch 58/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0039 - val_loss: 0.0044
    Epoch 59/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0039 - val_loss: 0.0046
    Epoch 60/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0039 - val_loss: 0.0043
    Epoch 61/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0038 - val_loss: 0.0040
    Epoch 62/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0040 - val_loss: 0.0047
    Epoch 63/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0039 - val_loss: 0.0040
    Epoch 64/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0039 - val_loss: 0.0044
    Epoch 65/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0038 - val_loss: 0.0040
    Epoch 66/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0038 - val_loss: 0.0041
    Epoch 67/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0038 - val_loss: 0.0045
    Epoch 68/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0040 - val_loss: 0.0043
    Epoch 69/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0039 - val_loss: 0.0042
    Epoch 70/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0038 - val_loss: 0.0040
    Epoch 71/100
    10/10 [==============================] - 0s 10ms/step - loss: 0.0039 - val_loss: 0.0050
    Epoch 72/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0044
    Epoch 73/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0039 - val_loss: 0.0039
    Epoch 74/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0037 - val_loss: 0.0042
    Epoch 75/100
    10/10 [==============================] - 0s 11ms/step - loss: 0.0038 - val_loss: 0.0041
    Epoch 76/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0037 - val_loss: 0.0041
    Epoch 77/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0036 - val_loss: 0.0042
    Epoch 78/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0037 - val_loss: 0.0040
    Epoch 79/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0036 - val_loss: 0.0044
    Epoch 80/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0038 - val_loss: 0.0043
    Epoch 81/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0048
    Epoch 82/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0039 - val_loss: 0.0042
    Epoch 83/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0042 - val_loss: 0.0043
    Epoch 84/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0040 - val_loss: 0.0043
    Epoch 85/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0036 - val_loss: 0.0041
    Epoch 86/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0036 - val_loss: 0.0045
    Epoch 87/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0038 - val_loss: 0.0040
    Epoch 88/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0037 - val_loss: 0.0042
    Epoch 89/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0037 - val_loss: 0.0044
    Epoch 90/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0038 - val_loss: 0.0044
    Epoch 91/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0036 - val_loss: 0.0041
    Epoch 92/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0037 - val_loss: 0.0041
    Epoch 93/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0034 - val_loss: 0.0040
    Epoch 94/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0035 - val_loss: 0.0044
    Epoch 95/100
    10/10 [==============================] - 0s 8ms/step - loss: 0.0037 - val_loss: 0.0042
    Epoch 96/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0038 - val_loss: 0.0042
    Epoch 97/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0040 - val_loss: 0.0044
    Epoch 98/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0036 - val_loss: 0.0043
    Epoch 99/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0035 - val_loss: 0.0043
    Epoch 100/100
    10/10 [==============================] - 0s 9ms/step - loss: 0.0036 - val_loss: 0.0039
 
plt.plot(history.history['loss'], label='loss')
plt.plot(history.history['val_loss'], label='val_loss')
plt.xlabel('Epoch')
plt.ylabel('Error [MPG]')
plt.legend()
plt.grid(True)
plt.show()

png

y_test_predict_scaled=model.predict(X_test_scaled)
    3/3 [==============================] - 0s 4ms/step
y_pred = scaler_y.inverse_transform(y_test_predict_scaled)
y_test[:10]
    array([26. , 21.6, 36.1, 26. , 27. , 28. , 13. , 26. , 19. , 29. ])
y_pred[:10]
    array([[25.561352],
           [21.317728],
           [34.021828],
           [21.4228  ],
           [27.892326],
           [28.932383],
           [12.169561],
           [29.77778 ],
           [18.302343],
           [30.233294]], dtype=float32)