Skip to content

Instantly share code, notes, and snippets.

@Zemaaan
Last active May 5, 2023 18:14
Show Gist options
  • Save Zemaaan/2e722b1437b480d0d4f1e7e38f2d2208 to your computer and use it in GitHub Desktop.
Save Zemaaan/2e722b1437b480d0d4f1e7e38f2d2208 to your computer and use it in GitHub Desktop.
# 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