Ich versuche, ein Modell in Übereinstimmung mit dem Tutorial bei https://www.tensorflow.org/tutorials/wide/ zu erstellen, aber ich scheine meine Daten in gewisser Weise zu korrumpieren, da ich sehr skeptisch gegenüber der 97,9% Genauigkeit auf einem sehr naiven Modell bin.Wie Debuggen unheimlich genaue TensorFlow-Modell?
ich Trennung Ausbildung und Auswertung von Daten mit dem folgenden Code, der mir sinnvoll erscheint:
total_results = len(results)
# Withhold some results from training for evaluation.
withhold_index = total_results * 9/10
training_df = get_data_frame_from_results(results[:withhold_index])
eval_df = get_data_frame_from_results(results[withhold_index:])
Doch diese mir Nummern geben, die viel zu hoch erscheinen:
accuracy: 0.979
accuracy/baseline_label_mean: 0.021
accuracy/threshold_0.500000_mean: 0.979
auc: 0.443042
global_step: 200
labels/actual_label_mean: 0.021
labels/prediction_mean: 0.0288264
loss: 0.288538
precision/positive_threshold_0.500000_mean: 0.0
recall/positive_threshold_0.500000_mean: 0.0
die Modellerstellung/Auswertung geschieht hier:
def train_input_fn():
return input_fn(training_df)
def eval_input_fn():
return input_fn(eval_df)
m = tf.contrib.learn.LinearClassifier(
feature_columns=[...],
model_dir=model_dir)
m.fit(input_fn=train_input_fn, steps=200)
eval_results = m.evaluate(input_fn=eval_input_fn, steps=1)
ich vermute, es ist ein einfacher Fehler hier aber ich sehe es nicht.
Wie sieht Ihre Daten aussehen? Wenn eine Klasse 97,9% der Daten einnimmt, erhalten Sie eine Genauigkeit von 97,9%, indem Sie immer nur die Mehrheitsmarkierung vorhersagen. – etarion
Ah, ja, das ist fast sicher, was passiert. Die Daten sind stark in eine Richtung verzerrt, also muss ich mich darauf einstellen. Vielen Dank! –