Öppen källkod Python flervalsprovsläsare API
Gratis Python flervalsprovsläsare API som möjliggör för mjukvaruutvecklare att generera provblad, skannrar och bearbetningsprogramvara via Python API.
Vad är Open-MCR-biblioteket?
Ett robust Python-paket kallat Open-MCR skapades för att göra Multichannel Convolutional Recurrent Neural Networks (MCRNNs) enklare att distribuera. Detta öppen källkodsprojekt, skapat av den begåvade programmeraren Ian San, erbjuder akademiker och utvecklare ett mångsidigt och effektivt ramverk för uppgifter som taligenkänning, videoanalys och olika tidsserietillämpningar. Att använda det i dina projekt kan leda till mer pålitliga och exakta modellförutsägelser, vilket i slutändan hjälper maskininlärning att förbättras inom en rad områden. Open-MCR-biblioteket skapades med användarvänlighet i åtanke. Biblioteket är tillgängligt för både nybörjare och erfarna praktiker tack vare dess omfattande dokumentation och exempel.
Inom maskininlärning är Multi-Class Classification (MCC) en populär uppgift där målet är att kategorisera en inmatning från en serie förutbestämda klasser. Genom att lägga till ett avvisningsalternativ går Open-MCR ett steg längre och gör det möjligt för modellen att avstå från att generera en förutsägelse i fall där det är oklart. Detta förbättrar den totala prestandan och är särskilt hjälpsamt i situationer där modellens förtroendenivå är låg. I grunden bearbetar och förstår Open-MCR sekventiell inmatning genom att utnyttja fördelarna med både konvolutionella och återkommande neurala nätverk. Modellen är ett flexibelt verktyg för en mängd olika tillämpningar tack vare multikanaldesigns, som förbättrar dess förmåga att identifiera komplexa mönster och samband. Användare kan snabbt integrera biblioteket i sina applikationer på grund av dess enkla implementering. Biblioteket är positionerat att avsevärt främja områdena sekventiell databehandling och djupinlärning när det utvecklas vidare.
Komma igång med Open-MCR
Det rekommenderade sättet att installera Open-MCR-biblioteket är att använda pip. Använd följande kommando för en smidig installation.
Installera Open-MCR-biblioteket via pip
pip install open-mcr Du kan ladda ner biblioteket direkt från GitHub
Använd avvisningsmekanism i Python-appar
Open-MCR:s framstående funktion är dess avvisningsmekanism, som gör det möjligt för modeller att avböja att göra en förutsägelse när de möter tvetydiga eller svåra fall. Denna förmåga är avgörande i verkliga tillämpningar där det är viktigt att undvika felaktiga förutsägelser. Här är ett exempel som visar hur man använder avvisningsmekanismen med bara ett par rader kod. För en smidig användning, importera först OpenMCR-klassen från biblioteket och initiera den med din föredragna maskininlärningsmodell. Ställ in parametern rejection_threshold för att kontrollera förtroendenivån för avvisning.
Hur använder man avvisningsmekanism i Python-appar?
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 & extrahera data från bilder via Python API
Det öppna källkods-Python-biblioteket Open-MCR har gett fullständigt stöd för att ladda och läsa data från bilder i Python‑applikationer. För att hantera prov och läsa svarspapper måste användarna först skanna alla blad med en standardskanner. Konvertera dem till enskilda bilder och placera dem i en enda mapp, inklusive svarnycklarna. Förutom att läsa in skannade bilder kan den också automatiskt poängsätta provresultaten. Den gör detta genom att jämföra de tillhandahållna nycklarna med resultatet. När programmet har avslutat bearbetningen sparas resultaten som CSV‑filer i den valda utdatamappen. Biblioteket erbjuder också stöd för att extrahera data när man läser lätt förvrängda bilder. Med den senaste versionen har biblioteket förbättrat algoritmen för att hitta rutnät och ger bättre resultat med din bild. Det skapar ett rutnät baserat på de fyra hörnmarkeringarna och läser sedan bubblor från positioner i rutnätet. Följande exempel visar hur man beräknar resultat via Python‑kod.
Hur beräknar man resultatet av svarspappersmall med 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
Förbättrad noggrannhet och robusthet
Det öppna källkodsbiblioteket Open-MCR är ett värdefullt tillskott till verktygslådan för maskininlärningspraktiker som vill förbättra prestandan hos sina flerkategoriklassificeringsmodeller. Avvisningsmekanismen ökar den övergripande noggrannheten för flerkategoriklassificeringsmodeller, särskilt i situationer där traditionella modeller kan ha svårigheter. Denna mekanism ökar också modellens robusthet genom att förhindra opålitliga förutsägelser, vilket säkerställer mer pålitliga resultat i olika verkliga scenarier.