Åpen kildekode Python Multiple Choice-eksamensleser API
Gratis Python Multiple Choice-eksamensleser API som gjør det mulig for programvareutviklere å generere eksamensark, skannere og behandlingsprogramvare via Python API.
Hva er Open-MCR-biblioteket?
En robust Python-pakke kalt Open-MCR ble laget for å gjøre Multichannel Convolutional Recurrent Neural Networks (MCRNNs) enklere å distribuere. Dette open-source-prosjektet, skapt av den talentfulle programmereren Ian San, tilbyr akademikere og utviklere et allsidig og effektivt rammeverk for oppgaver som talegjenkjenning, videoanalyse og ulike tidsserieapplikasjoner. Å bruke den i prosjektene dine kan gi mer pålitelige og nøyaktige modellprediksjoner, noe som til slutt vil hjelpe maskinlæring å forbedre seg på tvers av mange felt. Open-MCR-biblioteket ble utviklet med brukervennlighet i tankene. Biblioteket er tilgjengelig for både nybegynnere og erfarne praktikere takket være omfattende dokumentasjon og eksempler.
I maskinlæring er Multi-Class Classification (MCC) en populær oppgave hvor målet er å kategorisere en input fra en rekke forhåndsdefinerte klasser. Ved å legge til et avvisningsalternativ går Open-MCR ett steg videre og gjør det mulig for modellen å unngå å generere en prediksjon i tilfeller der det er uklart. Dette forbedrer den samlede ytelsen og er spesielt nyttig i situasjoner hvor modellens tillitsnivå er lavt. Fundamentalt behandler og forstår Open-MCR sekvensiell input ved å utnytte fordelene ved både konvolusjonelle og rekurrente nevrale nettverk. Modellen er et fleksibelt verktøy for en rekke anvendelser takket være multikanaldesign, som forbedrer dens evne til å identifisere komplekse mønstre og sammenhenger. Brukere kan raskt integrere biblioteket i sine applikasjoner på grunn av den enkle implementeringen. Biblioteket er posisjonert til å betydelig fremme feltene sekvensiell databehandling og dyp læring etter hvert som det utvikler seg videre.
Kom i gang med Open-MCR
Den anbefalte måten å installere Open-MCR-biblioteket på er å bruke pip. Vennligst bruk følgende kommando for en smidig installasjon.
Installer Open-MCR-biblioteket via pip
pip install open-mcr Du kan laste ned biblioteket direkte fra GitHub
Bruk avvisningsmekanisme i Python‑apper
Open-MCRs fremtredende funksjon er avvisningsmekanismen, som gjør det mulig for modeller å avvise å gi en prediksjon når de møter tvetydige eller utfordrende tilfeller. Denne evnen er avgjørende i virkelige applikasjoner hvor det er viktig å unngå feilaktige prediksjoner. Her er et eksempel som viser hvordan du bruker avvisningsmekanismen med bare noen få linjer kode. For en smidig bruk, importer først OpenMCR-klassen fra biblioteket og initialiser den med din foretrukne maskinlæringsmodell. Sett parameteren rejection_threshold for å kontrollere konfidensnivået for avvisning.
Hvordan bruke avvisningsmekanisme i Python-apper?
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)
Les & hent ut data fra bilder via Python‑API
Det åpne kildekode‑biblioteket for Python, Open-MCR, har gitt full støtte for innlasting og lesing av data fra bilder i Python‑applikasjoner. For å håndtere eksamener og lese ark, må brukerne først skanne alle arkene med en standard skanner. Konverter dem til individuelle bilder og plasser dem i en enkelt mappe, inkludert svarnøklene. I tillegg til å lese skannede bilder, kan den også automatisk poengsette eksamensresultatene. Den gjør dette ved å sammenligne de oppgitte nøklene med resultatet. Når programmet er ferdig med behandlingen, vil resultatene bli lagret som CSV‑filer i den valgte utdata‑mappen. Biblioteket har også gitt støtte for å hente ut data når man leser litt forvrengte bilder. Med den siste utgivelsen har biblioteket forbedret algoritmen for å finne rutenettet og gir bedre resultater med ditt bilde. Det oppretter et rutenett basert på de fire hjørnemarkeringene og leser deretter bobler fra posisjoner i rutenettet. Følgende eksempel viser hvordan man beregner resultater via Python‑kode.
Hvordan beregne resultater fra eksamensbobleark ved hjelp av 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øyaktighet og robusthet
Det åpne kildekodebiblioteket Open-MCR er et verdifullt tillegg til verktøykassen for maskinlæringspraktikere som ønsker å forbedre ytelsen til sine flerklasses klassifiseringsmodeller. Avvisningsmekanismen øker den samlede nøyaktigheten til flerklasses klassifiseringsmodeller, spesielt i situasjoner hvor tradisjonelle modeller kan ha problemer. Denne mekanismen øker også modellens robusthet ved å hindre den i å gjøre upålitelige prediksjoner, og sikrer mer pålitelige resultater i ulike virkelige scenarier.