slogan3

Ontwikkel een Seaborn Visualisatie voor Geautomatiseerde Modelprestatie Evaluatie

description

Met deze prompt kan de gebruiker moeiteloos visuele vergelijkingen maken tussen meerdere machine learning modellen, waardoor inzichten in modelprestaties snel en overzichtelijk worden gepresenteerd. Dit bespaart tijd en voorkomt fouten bij handmatige evaluatie, en biedt flexibele aanpassingen voor specifieke behoeften.

prompt

Help me een Seaborn visualisatie te creëren die de prestaties van mijn machine learning modellen vergelijkt. Beschrijving van mijn dataset: <beschrijf kort je dataset>. Welke modellen wil ik vergelijken: <noem de namen van de modellen>. Welke prestatie-indicatoren wil ik visualiseren: <bijvoorbeeld nauwkeurigheid, r ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
no_answer_for_language
error: Generation failed [openai] prompt_id=3697 locale=nl err=OpenAI connection/timeout | Generation failed [openai] prompt_id=3697 locale=en err=OpenAI connection/timeout | Generation failed [openai] prompt_id=3697 locale=de err=OpenAI connection/timeout | Generation failed [openai] prompt_id=3697 locale=fr err=OpenAI connection/timeout | Generation failed [openai] prompt_id=3697 locale=pt err=OpenAI connection/timeout | Generation failed [openai] prompt_id=3697 locale=es err=OpenAI connection/timeout | Generation failed [openai] prompt_id=3697 locale=zh err=OpenAI connection/timeout
provider: deepseek
model: deepseek-chat
Hier is een complete oplossing voor je Seaborn visualisatie in het Nederlands: ```python import pandas as pd import seaborn as sns import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier from sklearn.naive_bayes import GaussianNB from sklearn.metrics import accuracy_score, recall_score # Stel de gewenste stijl in sns.set_style("whitegrid") plt.rcParams['font.family'] = 'sans-serif' plt.rcParams['font.sans-serif'] = ['Arial', 'DejaVu Sans'] # Strak lettertype # Laad je dataset (vervang 'jouw_dataset.csv' met je eigen bestand) # df = pd.read_csv('jouw_dataset.csv') # Voorbeeld: splitsing in features en target (pas aan naar je eigen dataset) # X = df.drop('kredietwaardigheid', axis=1) # y = df['kredietwaardigheid'] # Train-test split (voorbeeld) # X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42) # Initialiseer modellen modellen = { 'Decision Tree': DecisionTreeClassifier(), 'K-Nearest Neighbors': KNeighborsClassifier(), 'Naive Bayes': GaussianNB() } # Resultaten verzamelen resultaten = [] # Train en evalueer modellen (voorbeeld - vervang met je eigen data) for naam, model in modellen.items(): # model.fit(X_train, y_train) # y_pred = model.predict(X_test) # Voor demonstratie: random scores (vervang met echte resultaten) nauwkeurigheid = np.random.uniform(0.7, 0.9) recall = np.random.uniform(0.6, 0.85) resultaten.append({ 'Model': naam, 'Nauwkeurigheid': nauwkeurigheid, 'Recall': recall }) # Maak DataFrame van resultaten df_resultaten = pd.DataFrame(resultaten) # Smelt DataFrame voor Seaborn df_melted = df_resultaten.melt(id_vars=['Model'], var_name='Metric', value_name='Score') # Creëer de visualisatie fig, ax = plt.subplots(figsize=(12, 8)) # Barplot met blauw en oranje kleuren palette = {'Nauwkeurigheid': '#1f77b4', 'Recall': '#ff7f0e'} # Blauw en oranje bars = sns.barplot(data=df_melted, x='Model', y='Score', hue='Metric', palette=palette, ax=ax, alpha=0.8) # Extra annotaties: gemiddelde waarden for i, model in enumerate(df_resultaten['Model']): avg_acc = df_resultaten[df_resultaten['Model'] == model]['Nauwkeurigheid'].values[0] avg_rec = df_resultaten[df_resultaten['Model'] == model]['Recall'].values[0] ax.text(i - 0.2, avg_acc + 0.01, f'{avg_acc:.3f}', ha='center', va='bottom', fontweight='bold') ax.text(i + 0.2, avg_rec + 0.01, f'{avg_rec:.3f}', ha='center', va='bottom', fontweight='bold') # Stel labels en titel in ax.set_title('Vergelijking Machine Learning Modellen Prestaties\nKredietwaardigheid Voorspelling', fontsize=16, fontweight='bold', pad=20) ax.set_xlabel('Model', fontsize=12, fontweight='bold') ax.set_ylabel('Score', fontsize=12, fontweight='bold') ax.set_ylim(0, 1) # Verbeter de legenda ax.legend(title='Metriek', title_fontsize=12, fontsize=11, loc='upper right', frameon=True) # Voeg rasterlijnen toe voor betere leesbaarheid ax.yaxis.grid(True, linestyle='--', alpha=0.7) # Verwijder randen sns.despine() # Toon de plot plt.tight_layout() plt.show() # Optioneel: toon ook een tabel met de resultaten print("\nPrestatieoverzicht:") print(df_resultaten.to_string(index=False)) ``` **Belangrijke aanpassingen die je moet maken:** 1. **Laad je eigen dataset**: Verwijder de commentaartekens bij het laden van je dataset 2. **Pas de kolomnamen aan**: Zorg dat 'kredietwaardigheid' overeenkomt met je target variabele 3. **Vervang de random scores**: Verwijder de random scores en gebruik je echte modelresultaten **Extra opties die je kunt toevoegen:** ```python # Voor betrouwbaarheidsintervallen (als je cross-validation gebruikt): # voeg error bars toe met de std_dev van je metrics # Voor een andere visualisatiestijl: sns.catplot(data=df_melted, x='Model', y='Score', hue='Metric', kind='point', palette=palette, height=6, aspect=1.5) ``` De visualisatie toont beide metrics naast elkaar per model, met duidelijke annotaties van de scores en gebruikt het gevraagde blauw-oranje kleurenschema met een strakke opmaak.