A partir d'un jeu de données, on construit un modèle
Puis on utilise ce modèle pour faire des prévisions sur de nouvelles données
Ce code utilise un réseau de neurones
def creer_modele(input_dim): modele = Sequential([ Dense(64, activation='relu', input_dim=input_dim), Dense(32, activation='relu'), Dense(16, activation='relu'), Dense(1, activation='sigmoid') ]) modele.compile( optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'] ) return modele Grandes phases :
def entrainer_et_evaluer(): # Preparation des donnees X, y = preparer_donnees() X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) # Normalisation des donnees scaler = StandardScaler() X_train_scaled = scaler.fit_transform(X_train) X_test_scaled = scaler.transform(X_test) # Creation et entrainement du modele modele = creer_modele(X_train.shape[1]) early_stopping = EarlyStopping( monitor='val_loss', patience=10, restore_best_weights=True ) # Entrainement avec validation historique = modele.fit( X_train_scaled, y_train, epochs=100, batch_size=32, validation_split=0.2, callbacks=[early_stopping], verbose=1 ) # Evaluation sur les donnees de test score = modele.evaluate(X_test_scaled, y_test, verbose=0) print(f"\nPrécision sur les données de test: {score[1]:.4f}") return modele, historique, scaler modele, historique, scaler = entrainer_et_evaluer() ## Utilisation du modele nouveau_cas = ... donnees dont on ne connait pas le resultat ... nouveau_cas_scaled = scaler.transform(nouveau_cas) prevision = modele.predict(nouveau_cas_scaled)[0][0] print(f"\nPrévision pour un nouveau cas: {prevision:.4f}") 