Files

25 lines
848 B
Python

def predict_fn(x):
# Konvertiere das NumPy-Array zurück in ein DataFrame mit den richtigen Feature-Namen
df = pd.DataFrame(x, columns=X_train.columns)
return best_rf_model.predict_proba(df)
# Speichere mehrere Erklärungen
explanations = []
for i in range(100):
exp = lime_explainer.explain_instance(
instance,
predict_fn,
num_features=20
)
explanations.append(exp.as_list())
# Berechne die Varianz der Feature-Wichtigkeiten
feature_variances = {}
for i in range(len(explanations[0])):
feature = explanations[0][i][0]
values = [exp[i][1] for exp in explanations if len(exp) > i and exp[i][0] == feature]
feature_variances[feature] = np.var(values)
print("Varianz der Feature-Wichtigkeiten:")
for feature, variance in feature_variances.items():
print(f"{feature}: {variance:.6f}")