Open source Python Multiple Choice Examenlezer API
Gratis Python Multiple Choice Examenlezer API die softwareontwikkelaars in staat stelt examenvellen, scanners en verwerkingssoftware te genereren via de Python API.
Wat is Open-MCR Bibliotheek?
Een robuust Python-pakket genaamd Open-MCR is gemaakt om Multichannel Convolutional Recurrent Neural Networks (MCRNN's) gemakkelijker te implementeren. Dit open‑sourceproject, gecreëerd door de getalenteerde programmeur Ian San, biedt academici en ontwikkelaars een veelzijdig en effectief raamwerk voor taken zoals spraakherkenning, video‑analyse en verschillende tijdreeks‑toepassingen. Het gebruik ervan in je projecten kan leiden tot betrouwbaardere en nauwkeurigere modelvoorspellingen, wat uiteindelijk zal bijdragen aan de verbetering van machine learning in diverse vakgebieden. De Open-MCR‑bibliotheek is ontwikkeld met gebruiksgemak in gedachten. De bibliotheek is toegankelijk voor zowel beginners als ervaren professionals dankzij de uitgebreide documentatie en voorbeelden.
In machine learning is Multi-Class Classification (MCC) een populaire taak waarbij het doel is om een invoer te categoriseren uit een reeks vooraf bepaalde klassen. Door een afwijzingsoptie toe te voegen gaat Open-MCR een stap verder en stelt het model in staat om geen voorspelling te genereren in gevallen waarin het onduidelijk is. Dit verbetert de algehele prestaties en is vooral nuttig in situaties waarin het vertrouwen van het model laag is. Fundamentaal verwerkt en begrijpt Open-MCR sequentiële invoer door gebruik te maken van de voordelen van zowel convolutionele als recurrente neurale netwerken. Het model is een flexibel hulpmiddel voor diverse toepassingen dankzij multikanaalontwerpen, die de capaciteit verbeteren om ingewikkelde patronen en verbanden te identificeren. Gebruikers kunnen de bibliotheek snel in hun toepassingen integreren dankzij de eenvoudige implementatie. De bibliotheek is gepositioneerd om de velden van sequentiële gegevensverwerking en deep learning aanzienlijk vooruit te helpen naarmate deze zich verder ontwikkelt.
Aan de slag met Open-MCR
De aanbevolen manier om de Open-MCR bibliotheek te installeren is met pip. Gebruik de volgende opdracht voor een soepele installatie.
Installeer Open-MCR Bibliotheek via pip
pip install open-mcr U kunt de bibliotheek rechtstreeks downloaden van GitHub
Gebruik afwijzingsmechanisme in Python-apps
De opvallende eigenschap van Open-MCR is het afwijzingsmechanisme, dat modellen in staat stelt een voorspelling te weigeren wanneer ze geconfronteerd worden met dubbelzinnige of uitdagende gevallen. Deze mogelijkheid is cruciaal in real-world toepassingen waar het vermijden van onjuiste voorspellingen van het grootste belang is. Hier is een voorbeeld dat laat zien hoe je het afwijzingsmechanisme kunt gebruiken met slechts een paar regels code. Voor een soepele werking, importeer eerst de OpenMCR-klasse uit de bibliotheek en initialiseert deze met je voorkeurs‑machine‑learningmodel. Stel de parameter rejection_threshold in om het vertrouwensniveau voor afwijzing te regelen.
Hoe gebruik je het afwijzingsmechanisme in 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)
Lees & extraheer gegevens uit afbeeldingen via Python API
De open source Python-bibliotheek Open-MCR biedt volledige ondersteuning voor het laden en lezen van gegevens uit afbeeldingen binnen Python-toepassingen. Voor het verwerken van examens en het lezen van bladen moeten gebruikers eerst alle bladen scannen met een standaardscanner. Zet ze om in afzonderlijke afbeeldingen en plaats ze in één map, inclusief de antwoordcodes. Naast het lezen van gescande afbeeldingen kan het ook automatisch de examenuitslagen scoren. Dit gebeurt door de verstrekte sleutels te vergelijken met de output. Nadat het programma de verwerking heeft voltooid, worden de resultaten opgeslagen als CSV-bestanden in de door u gekozen uitvoermap. De bibliotheek biedt ook ondersteuning voor het extraheren van gegevens bij het lezen van licht vervormde afbeeldingen. Met de nieuwste release heeft de bibliotheek het rasterzoekalgoritme verbeterd en levert betere resultaten met uw afbeelding. Het maakt een raster op basis van de vier hoekmarkeringen en leest vervolgens de bubbels op locaties in het raster. Het volgende voorbeeld laat zien hoe u resultaten kunt berekenen via Python-code.
Hoe bereken je de resultaten van een examen-bubble sheet met de 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
Verbeterde nauwkeurigheid en robuustheid
De open source Open-MCR bibliotheek is een waardevolle toevoeging aan de toolkit van machine‑learning professionals die de prestaties van hun multi‑class classificatiemodellen willen verbeteren. Het afwijzingsmechanisme verhoogt de algehele nauwkeurigheid van multi‑class classificatiemodellen, vooral in situaties waarin traditionele modellen moeite kunnen hebben. Dit mechanisme vergroot ook de robuustheid van het model door te voorkomen dat het onbetrouwbare voorspellingen maakt, waardoor betrouwbaardere resultaten worden verkregen in diverse real‑world scenario's.