codescraftman / machinelearning / admin.py
admin.py
Raw
from django.contrib import admin
from .models import RegressionModel, ClassificationModel, NLPModel, UnsupervisedModel

@admin.register(RegressionModel)
class RegressionModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'accuracy', 'loss', 'r_squared', 'mean_squared_error', 'mean_absolute_error', 'date_trained', 'is_active')
    list_filter = ('is_active', 'date_trained')
    search_fields = ('name', 'description')
    readonly_fields = ('date_trained',)
    fieldsets = (
        (None, {
            'fields': ('name', 'description', 'model_file', 'is_active')
        }),
        ('Metrics', {
            'fields': ('accuracy', 'loss', 'r_squared', 'mean_squared_error', 'mean_absolute_error')
        }),
        ('Dates', {
            'fields': ('date_trained',)
        }),
    )

@admin.register(ClassificationModel)
class ClassificationModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'accuracy', 'loss', 'precision', 'recall', 'f1_score', 'auc_roc', 'date_trained', 'is_active')
    list_filter = ('is_active', 'date_trained')
    search_fields = ('name', 'description')
    readonly_fields = ('date_trained',)
    fieldsets = (
        (None, {
            'fields': ('name', 'description', 'model_file', 'is_active')
        }),
        ('Metrics', {
            'fields': ('accuracy', 'loss', 'precision', 'recall', 'f1_score', 'auc_roc')
        }),
        ('Dates', {
            'fields': ('date_trained',)
        }),
    )

@admin.register(NLPModel)
class NLPModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'accuracy', 'loss', 'bleu_score', 'perplexity', 'rouge_score', 'date_trained', 'is_active')
    list_filter = ('is_active', 'date_trained')
    search_fields = ('name', 'description')
    readonly_fields = ('date_trained',)
    fieldsets = (
        (None, {
            'fields': ('name', 'description', 'model_file', 'is_active')
        }),
        ('Metrics', {
            'fields': ('accuracy', 'loss', 'bleu_score', 'perplexity', 'rouge_score')
        }),
        ('Dates', {
            'fields': ('date_trained',)
        }),
    )

@admin.register(UnsupervisedModel)
class UnsupervisedModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'silhouette_score', 'inertia', 'date_trained', 'is_active')
    list_filter = ('is_active', 'date_trained')
    search_fields = ('name', 'description')
    readonly_fields = ('date_trained',)
    fieldsets = (
        (None, {
            'fields': ('name', 'description', 'model_file', 'is_active')
        }),
        ('Metrics', {
            'fields': ('silhouette_score', 'inertia')
        }),
        ('Dates', {
            'fields': ('date_trained',)
        }),
    )