Last active
May 5, 2023 18:14
-
-
Save Zemaaan/2e722b1437b480d0d4f1e7e38f2d2208 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Poskusimo predvidevati razino insulina na temelju ostalih parametrov | |
import pandas | |
from sklearn.model_selection import train_test_split | |
from sklearn.linear_model import LinearRegression, LogisticRegression | |
from tensorflow.keras import layers | |
from tensorflow import keras | |
import tensorflow | |
# Prvi del, kje uporabljamo linearno regresijo z standardnimi podatki in jo testiramo na standardnih podatkih in optimiziranih podatkih | |
# Potem imamo inteligentni algoritem z optimiziranimi, katerega testiramo z standardnimi in optimiziraimi podatki | |
DataFrame = pandas.read_csv(r'C:\Users\Hrvoje\OneDrive - Univerza v Mariboru\Namizje\Arhiva\Diabetes dataset\diabetes.csv') | |
DataFrame = pandas.DataFrame(DataFrame) | |
FeaturesTrain, FeaturesTest, LabelsTrain, LabelsTest = train_test_split(DataFrame[['BMI', 'Age', 'Insulin']], DataFrame['Glucose'], test_size=0.20, shuffle=True) | |
ModelLinearneRegresije = LinearRegression() | |
ModelLinearneRegresije.fit(FeaturesTrain, LabelsTrain) # Naucimo model linearne regresije na standarnimi podatki | |
LinearnaRegresijaPredikcija = ModelLinearneRegresije.predict(FeaturesTest) # Testiramo model linearne regresije na standarnimi podatki | |
DataFrame.loc[(DataFrame["TežinaRazred"] == 'Prevelika'), "NoviBMI"] = DataFrame["BMI"] * 0.70 | |
DataFrame.loc[(DataFrame["TežinaRazred"] == 'Debelost'), "NoviBMI"] = DataFrame["BMI"] * 0.35 | |
FeaturesTrainOptimizirani, FeaturesTestOptimizirani, LabelsTrainOptimizirani, LabelsTestOptimizirani = train_test_split(DataFrame[['BMI', 'Age', 'Insulin']], DataFrame['Glucose'], test_size=0.20, shuffle=True) | |
LinearnaRegresijaPredikcijaOptimizirana = ModelLinearneRegresije.predict(FeaturesTestOptimizirani) # Testiramo model linearne regresije na optimizranimi podatki | |
InteligentniRegresijskiModel = keras.Sequential( | |
[ | |
layers.InputLayer(input_shape=(3, )), | |
layers.Dense(120, activation="relu"), | |
layers.Dense(200, activation="relu"), | |
layers.Dense(250), | |
layers.Dense(50), | |
layers.Dense(1, activation=tensorflow.keras.activations.linear) | |
] | |
) | |
InteligentniRegresijskiModel.compile() | |
InteligentniRegresijskiModel.fit(FeaturesTrain, LabelsTrain) # Naucimo NN na standarnimi podatki | |
NNPredikcija = InteligentniRegresijskiModel.predict(FeaturesTest) # Testiramo NN na standarnimi podatki | |
NNPredikcijaOptimizirana = InteligentniRegresijskiModel.predict(FeaturesTestOptimizirani) # Testiramo NN na optimizirani podatki | |
# Konec linearne regresije ------------------------------------------------------------------------------------------------------------------------------------------------------- | |
ModelLogisticneRegresije = LogisticRegression() | |
ModelLogisticneRegresije.fit(FeaturesTrain, LabelsTrain) # Ucimo model logisticne regresije na standardnimi podatki | |
PredikcijeLogisticnaRegresija = ModelLogisticneRegresije.predict(FeaturesTest) # Preizkusimo model logisticne regresije na standarnimi podatki | |
PredikcijeLogisticnaRegresijaOptimiziran = ModelLogisticneRegresije.predict(FeaturesTestOptimizirani) # Preizkusimo model logisticne regresije na optimiziranimi podatki | |
InteligentniRegresijskiLogisticniModel = keras.Sequential( | |
[ | |
layers.InputLayer(input_shape=(4, 1)), | |
layers.Dense(120, activation="relu", name="20NeuronLayer"), | |
layers.Dense(200, activation="relu", name="50NeuronLayer"), | |
layers.Dense(250, name="100NeuronLayer"), | |
layers.Dense(50, name="5NeuronLayer"), | |
layers.Dense(1, activation=tensorflow.keras.activations.linear) | |
] | |
) | |
InteligentniRegresijskiLogisticniModel.compile() | |
InteligentniRegresijskiLogisticniModel.fit(FeaturesTrain, LabelsTrain) # Ucimo NN na standardnimi podatki | |
NNPredikcijaRegresija = InteligentniRegresijskiModel.predict(FeaturesTest) # Testiramo NN na standarnimi podatki | |
NNPredikcijaRegresijaOptimizirana = InteligentniRegresijskiModel.predict(FeaturesTestOptimizirani) # Testiramo NN na optimiziranimi podatki | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment