IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques d'apprentissage automatique Discussion :

ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(


Sujet :

Bibliothèques d'apprentissage automatique

  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 432
    Par défaut ConvergenceWarning: Liblinear failed to converge, increase the number of iterations. warnings.warn(
    bonjour je suis bloque sur cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn import svm, datasets
    from sklearn.model_selection import train_test_split
     
    # Chargement des données
    iris = datasets.load_iris()
     
    X, y = iris.data[:, :2], iris.target
    # On conserve 50% du jeu de données pour l'évaluation
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5)
     
    C = 1.0 # paramètre de régularisation
    lin_svc = svm.LinearSVC(C=C)
    lin_svc.fit(X_train, y_train)
     
    lin_svc.score(X_test, y_test)
    j'ai cette erreur Liblinear failed to converge, increase the number of iterations comment resoudre ce problème

    merci d'avance

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 745
    Par défaut


    Tu peux soit ignorer le message (a priori, le modèle n'est pas aussi bon que possible sur tes données, mais ce n'est pas pour ça qu'il est catastrophique -- vérifie en faisant varier le nombre d'itérations pour voir que ton erreur n'est pas en train de croître !), soit augmenter le nombre d'itérations comme recommandé par le message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lin_svc = svm.LinearSVC(C=1.0, max_iter=10000)
    Parmi les autres solutions possibles, normaliser les données (https://scikit-learn.org/stable/modu...ardScaler.html), augmenter ou diminuer la régularisation (tente des valeurs de C sur un échelle logarithmique : 0.0001, 0.001... 1, 10, 100...), résoudre le problème primal (dual=False dans les paramètres).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 432
    Par défaut
    salut merci a toi par contre sur mac je n'arrive pas a installer tensorflow via pip via l'interface aussi ou penses tu que ca cloche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    import tensorflow as tf
     
    # Définir les données d'entraînement
    text = "Hello, world!"
    vocab = sorted(set(text))
    char_to_idx = {c:i for i, c in enumerate(vocab)}
    idx_to_char = {i:c for i, c in enumerate(vocab)}
    text_as_int = [char_to_idx[c] for c in text]
     
    # Créer les données d'entraînement et de validation
    seq_length = 5
    examples_per_epoch = len(text)//(seq_length+1)
    char_dataset = tf.data.Dataset.from_tensor_slices(text_as_int)
    sequences = char_dataset.batch(seq_length+1, drop_remainder=True)
     
    def split_input_target(chunk):
        input_text = chunk[:-1]
        target_text = chunk[1:]
        return input_text, target_text
     
    dataset = sequences.map(split_input_target)
    BATCH_SIZE = 1
    BUFFER_SIZE = 10000
    dataset = dataset.shuffle(BUFFER_SIZE).batch(BATCH_SIZE, drop_remainder=True)
     
    # Définir le modèle
    vocab_size = len(vocab)
    embedding_dim = 256
    rnn_units = 1024
     
    model = tf.keras.Sequential([
        tf.keras.layers.Embedding(vocab_size, embedding_dim,
                                  batch_input_shape=[BATCH_SIZE, None]),
        tf.keras.layers.LSTM(rnn_units,
                             return_sequences=True,
                             stateful=True,
                             recurrent_initializer='glorot_uniform'),
        tf.keras.layers.Dense(vocab_size)
    ])
     
    # Définir la fonction de perte et l'optimiseur
    def loss(labels, logits):
        return tf.keras.losses.sparse_categorical_crossentropy(labels, logits, from_logits=True)
     
    model.compile(optimizer='adam', loss=loss)
     
    # Entraîner le modèle
    EPOCHS = 30
    history = model.fit(dataset, epochs=EPOCHS)
     
    # Utiliser le modèle pour générer une séquence de caractères
    start_string = "Hi, there!"
    input_eval = [char_to_idx[s] for s in start_string]
    input_eval = tf.expand_dims(input_eval, 0)
     
    # Nombre de caractères à générer
    num_generate = 50
     
    # Boucle de génération des caractères
    text_generated = []
    model.reset_states()
    for i in range(num_generate):
        predictions = model(input_eval)
        predictions = tf.squeeze(predictions, 0)
        predicted_id = tf.random.categorical(predictions, num_samples=1)[-1,0].numpy()
        input_eval = tf.expand_dims([predicted_id], 0)
        text_generated.append(idx_to_char[predicted_id])
     
    print(start_string + ''.join(text_generated))

    merci d'avance et voici le message d'erreur malgre l'installation avec pip3
    import tensorflow as tf
    ModuleNotFoundError: No module named 'tensorflow'

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/04/2010, 10h18
  2. Réponses: 4
    Dernier message: 28/05/2009, 21h11
  3. Réponses: 1
    Dernier message: 11/05/2006, 23h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo