0 Daumen
200 Aufrufe

In einer Funktion von rasa_nlu rufen sie GridSearchCV.fit()  mit clf.fit () auf. Es gibt einige Warnungen. Ich möchte sie fangen und modifizieren, um zu wissen, was sie auslöst:

    Fitting 2 folds for each of 6 candidates, totalling 12 fits
    /home/mike/Programming/Rasa/myflaskapp/rasaenv/lib/python3.5/site-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
      'precision', 'predicted', average, warn_for)
    /home/mike/Programming/Rasa/myflaskapp/rasaenv/lib/python3.5/site-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
      'precision', 'predicted', average, warn_for)
    /home/mike/Programming/Rasa/myflaskapp/rasaenv/lib/python3.5/site-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
      'precision', 'predicted', average, warn_for)
    /home/mike/Programming/Rasa/myflaskapp/rasaenv/lib/python3.5/site-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
      'precision', 'predicted', average, warn_for)
    /home/mike/Programming/Rasa/myflaskapp/rasaenv/lib/python3.5/site-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
      'precision', 'predicted', average, warn_for)
    /home/mike/Programming/Rasa/myflaskapp/rasaenv/lib/python3.5/site-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
      'precision', 'predicted', average, warn_for)
    [Parallel(n_jobs=1)]: Done  12 out of  12 | elapsed:    0.1s finished


Hier ist, wie GridSearchCV aufgebaut ist:

cv_splits = self._num_cv_splits(y) #Als ich es ausgedruckt habe gab es mir "2", ich wurde etwas mehr mit den Labels in Verbindung gebracht
    GridSearchCV(SVC(C=1,

                    probability=True,
                    class_weight='balanced'),
                param_grid=tuned_parameters,
                n_jobs=num_threads,
                cv=cv_splits,
                scoring='f1_weighted',
                verbose=1)


Wo y sind die labels, die in Zahlen umgewandelt wurden

    y: [1 0 2 1 1 1 1 1 1 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
    3 3]

    labels: ['greet', 'goodbye', 'inform', 'greet', 'greet', 'greet', 'greet', 'greet', 'greet', 'goodbye', 'goodbye', 'goodbye', 'goodbye', 'goodbye', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'inform', 'laughing', 'laughing']


Idealerweise würde ich gerne greifen, welche davon die Warnungen ausgelöst hat. Ich weiß, dass dieser Link helfen kann. Ich habe es jedoch noch nicht geschafft, die Etiketten erscheinen zu lassen.


 

von

### Aktualisieren

Bis jetzt habe ich versucht, den Ursprung zu finden, ich habe immer noch keinen Weg gefunden, die Warnung zu erfassen:

fit_result = self.clf.fit (X, y)
y_pred = self.clf.predict (X)
print ("setze (y) -set (y_pred): \ n", setze (y) -set (y_pred))


Aber es gibt mir nur eine leere Menge set ()

Ist es auch notwendig, .predict (X) zu verwenden? Unterscheidet es sich von den Ergebnissen von clf.fit ()?

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Stacklounge! Stell deine Frage sofort und kostenfrei

x
Made by a lovely community