# Keras je softwarová knihovna, jež poskytuje rozhraní v jazyce Python pro techniky neuronových sítí. import keras # Load model je funkce sloužící pro načítání uloženého modulu neuronové sítě from keras.models import load_model # Pandas slouží pro analýzu dat, které lze reprezentovat 2D tabulkou. Tento „tvar” dat najdeme v SQL databázích, souborech CSV nebo tabulkových procesorech. import pandas as pd # Funkce MinMaxScaler slouží k transformaci hodnot do rozmezí o až 1. from sklearn.preprocessing import MinMaxScaler # NumPy je knihovna programovacího jazyka Python, která poskytuje infrastrukturu pro práci s vektory, maticemi a obecně vícerozměrnými poli. import numpy as np # Argparse je modul sloužící k vytváření rozhraní pro příkazovou řádku. import argparse # OS je modul pro interakci s operačním systémem. import os # - definování způsobu, jak předat argument z příkazového řádku do programu parser = argparse.ArgumentParser() parser.add_argument("--test_data",help = "absolutní cesta datového souboru s testovacími daty ",required=True) parser.add_argument("--neuronova_sit",help = "absolutní cesta uloženého modelu neuronové sítě ", required=True) args=vars(parser.parse_args()) # - načtení trénovacích dat neuronové sítě ze souboru ve formátu XLS test_data = pd.read_excel(args["test_data"],sheet_name="ln(data)") # - definování vstupních proměnných vstupni_data = test_data[test_data.columns[3:]] # - vytvoření datové matice vstupních proměnných matice_vstupnich_dat=np.mat(vstupni_data) # - načtení natrénované neuronové sítě ze souboru ve formátu HDF loaded_model = load_model(args["neuronova_sit"]) loaded_model.compile(loss='mean_squared_error',optimizer=keras.optimizers.adam(lr=0.01)) # - použití funkce MinMaxScaler k namapování hodnot vstupních proměnných na interval <0,1> prepro_x = MinMaxScaler() prepro_x.fit(matice_vstupnich_dat) min_max_vstupnich_promennych=prepro_x.transform(matice_vstupnich_dat) # - predikce Neuronové sítě hodnot výstupní proměnné na základě hodnot vstupních proměnných a uložení těchto hodnot do souboru v CSV formátu predictions = loaded_model.predict(min_max_vstupnich_promennych) predikce=pd.DataFrame(predictions,columns=["predikce_NS"]) predikce.to_csv("C:\\Users\\korec\\PycharmProjects\\Diplomka\\Neuronova_sit_vystup\\{}_predikce.csv".format(os.path.split(args["test_data"])[-1][0:-4]),index=False)