import tensorflow as tf import pandas as pd import numpy as np # Wczytanie danych treningowych data = pd.read_csv('data/winemag-data_first150k.csv') # Usunięcie rekordów zawierających wartości NaN w kolumnach 'points' i 'price' data = data.dropna(subset=['points', 'price']) # Przygotowanie danych wejściowych i wyjściowych input_data = data[['price', 'points']] # Wejście modelu (kolumny 'price' i 'points') output_data = data['price'] # Oczekiwane wyjście modelu (kolumna 'price') # Konwersja danych do numpy arrays input_array = input_data.values output_array = output_data.values # Normalizacja danych wejściowych input_mean = np.mean(input_array, axis=0) input_std = np.std(input_array, axis=0) input_array = (input_array - input_mean) / input_std # Utworzenie modelu przy użyciu TensorFlow input_size = input_array.shape[1] output_size = 1 # Jeden wymiar dla wyjścia modelu (kolumna 'price') model = tf.keras.models.Sequential([ tf.keras.layers.Dense(64, activation='relu', input_shape=(input_size,)), tf.keras.layers.Dense(64, activation='relu'), tf.keras.layers.Dense(output_size) ]) # Kompilacja modelu model.compile(optimizer='adam', loss='mse') # Uczenie modelu history = model.fit(input_array, output_array, epochs=10, batch_size=32, verbose=1) # Zapisanie wytrenowanego modelu do pliku model.save('trained_model_tf.h5')