Open source Python Multiple Choice eksamenslæser API
Gratis Python Multiple Choice eksamenslæser API, der gør det muligt for softwareudviklere at generere eksamensark, scannere og behandlingssoftware via Python API.
Hvad er Open-MCR Biblioteket?
En robust Python-pakke kaldet Open-MCR blev oprettet for at gøre Multichannel Convolutional Recurrent Neural Networks (MCRNNs) lettere at implementere. Dette open-source projekt, skabt af den talentfulde programmør Ian San, tilbyder akademikere og udviklere en alsidig og effektiv ramme til opgaver som talegenkendelse, videoanalyse og forskellige tidsserieapplikationer. At bruge den i dine projekter kan resultere i mere pålidelige og præcise modelforudsigelser, hvilket i sidste ende vil hjælpe maskinlæring med at forbedre sig på tværs af en række felter. Open-MCR-biblioteket blev designet med brugervenlighed i tankerne. Biblioteket er tilgængeligt for både nybegyndere og erfarne praktikere takket være dets omfattende dokumentation og eksempler.
I maskinlæring er Multi-Class Classification (MCC) en populær opgave, hvor målet er at kategorisere en input fra en række forudbestemte klasser. Ved at tilføje en afvisningsmulighed går Open-MCR et skridt videre og gør det muligt for modellen at undlade at generere en forudsigelse i tilfælde, hvor det er uklart. Dette forbedrer den samlede ydeevne og er især nyttigt i situationer, hvor modellens tillidsniveau er lavt. Grundlæggende behandler og forstår Open-MCR sekventielle input ved at udnytte fordelene ved både konvolutionelle og rekurrente neurale netværk. Modellen er et fleksibelt værktøj til en række anvendelser takket være multikanaldesigns, som forbedrer dens evne til at identificere indviklede mønstre og sammenhænge. Brugere kan hurtigt integrere biblioteket i deres applikationer på grund af den enkle implementering. Biblioteket er positioneret til at fremme felterne for sekventiel databehandling og dyb læring betydeligt, efterhånden som det udvikler sig yderligere.
Kom i gang med Open-MCR
Den anbefalede måde at installere Open-MCR-biblioteket på er ved at bruge pip. Brug venligst følgende kommando for en problemfri installation.
Installer Open-MCR Bibliotek via pip
pip install open-mcr Du kan downloade biblioteket direkte fra GitHub
Brug afvisningsmekanisme i Python‑apps
Open-MCR's fremtrædende funktion er dens afvisningsmekanisme, som giver modeller mulighed for at afvise at lave en forudsigelse, når de står over for tvetydige eller udfordrende tilfælde. Denne evne er afgørende i virkelige anvendelser, hvor det er vigtigt at undgå forkerte forudsigelser. Her er et eksempel, der viser, hvordan man bruger afvisningsmekanismen med kun et par linjer kode. For en problemfri brug skal du først importere OpenMCR-klassen fra biblioteket og initialisere den med din foretrukne maskinlæringsmodel. Indstil parameteren rejection_threshold for at kontrollere tillidsniveauet for afvisning.
Hvordan bruger man afvisningsmekanisme i Python-apps?
from openmcr import OpenMCR
from sklearn.ensemble import RandomForestClassifier
# Initialize Open-MCR with a RandomForestClassifier
model = RandomForestClassifier()
mcr_model = OpenMCR(model, rejection_threshold=0.3)
# Train the model
mcr_model.fit(X_train, y_train)
# Make predictions with rejection
predictions = mcr_model.predict(X_test)
Læs & udtræk data fra billeder via Python API
Det open source Python-bibliotek Open-MCR har leveret fuldstændig support til indlæsning og læsning af data fra billeder i Python-applikationer. For håndtering af eksamener og læseark skal brugerne først scanne alle ark ved hjælp af en standard scanner. Konverter dem til individuelle billeder og placer dem i en enkelt mappe, inklusive svarnøglerne. Ud over at læse scannede billeder kan det også automatisk bedømme eksamensresultaterne. Det gør dette ved at sammenligne de leverede nøgler med outputtet. Når programmet er færdigt med behandlingen, gemmes resultaterne som CSV-filer i den valgte outputmappe. Biblioteket har også leveret support til udtræk af data ved læsning af let forvrængede billeder. Med den seneste udgivelse har biblioteket forbedret algoritmen til at finde gitteret og opnår bedre resultater med dit billede. Det etablerer et gitter baseret på de fire hjørnemærker og læser derefter bobler fra placeringer i gitteret. Det følgende eksempel viser, hvordan man beregner resultater via Python-kode.
Hvordan beregner man resultater af eksamensbobleskema ved hjælp af Python API?
import csv
import pathlib
import typing as tp
import data_exporting
import grid_info
import list_utils
import math_utils
def score_results(results: data_exporting.OutputSheet,
answer_keys: data_exporting.OutputSheet,
num_questions: int) -> data_exporting.OutputSheet:
answers = results.data
keys = establish_key_dict(answer_keys)
form_code_column_name = data_exporting.COLUMN_NAMES[
grid_info.Field.TEST_FORM_CODE]
form_code_index = list_utils.find_index(answers[0], form_code_column_name)
answers_start_index = list_utils.find_index(
answers[0][form_code_index + 1:], "Q1") + form_code_index + 1
virtual_fields: tp.List[grid_info.RealOrVirtualField] = [
grid_info.VirtualField.SCORE, grid_info.VirtualField.POINTS
]
columns = results.field_columns + virtual_fields
scored_results = data_exporting.OutputSheet(columns, num_questions)
for exam in answers[1:]: # Skip header row
fields = {
k: v
for k, v in zip(results.field_columns, exam[:answers_start_index])
}
form_code = exam[form_code_index]
try:
if "*" in keys:
key = keys["*"]
else:
key = keys[form_code]
except KeyError:
fields[grid_info.VirtualField.
SCORE] = data_exporting.KEY_NOT_FOUND_MESSAGE
fields[grid_info.VirtualField.
POINTS] = data_exporting.KEY_NOT_FOUND_MESSAGE
scored_answers = []
else:
scored_answers = [
int(actual == correct)
for actual, correct in zip(exam[answers_start_index:], key)
]
fields[grid_info.VirtualField.SCORE] = str(
round(math_utils.mean(scored_answers) * 100, 2))
fields[grid_info.VirtualField.POINTS] = str(sum(scored_answers))
string_scored_answers = [str(s) for s in scored_answers]
scored_results.add(fields, string_scored_answers)
return scored_results
Forbedret nøjagtighed og robusthed
Det open source Open-MCR-bibliotek er en værdifuld tilføjelse til værktøjskassen for maskinlæringspraktikere, der ønsker at forbedre ydeevnen af deres multi‑klasse klassifikationsmodeller. Afvisningsmekanismen øger den samlede nøjagtighed af multi‑klasse klassifikationsmodeller, især i situationer hvor traditionelle modeller kan have svært ved det. Denne mekanisme øger også modellens robusthed ved at forhindre den i at lave upålidelige forudsigelser, hvilket sikrer mere pålidelige resultater i forskellige virkelige scenarier.