1. Produse
  2.   OMR
  3.   Python
  4.   Open-MCR
 
  

API pentru Cititor de Examene cu Întrebări Multiple în Python, Open Source

API gratuit pentru Cititor de Examene cu Întrebări Multiple în Python care permite dezvoltatorilor de software să genereze foi de examen, scanere și software de procesare prin API Python.

Ce este Open-MCR Librar?

Un pachet Python robust numit Open-MCR a fost creat pentru a face rețelele neuronale recurente convoluționale multicanal (MCRNN) mai ușor de implementat. Acest proiect open-source, creat de programatorul talentat Ian San, oferă academicienilor și dezvoltatorilor un cadru versatil și eficient pentru sarcini precum recunoașterea vorbirii, analiza video și diferite aplicații de serii temporale. Utilizarea lui în proiectele dumneavoastră poate duce la predicții ale modelului mai fiabile și precise, ceea ce în final va ajuta la îmbunătățirea învățării automate în diverse domenii. Biblioteca Open-MCR a fost creată având în vedere ușurința de utilizare. Biblioteca este accesibilă atât începătorilor, cât și practicienilor experimentați datorită documentației și exemplelor sale cuprinzătoare.

În învățarea automată, clasificarea multi-clasă (MCC) este o sarcină populară în care obiectivul este de a categoriza o intrare dintr-o serie de clase predefinite. Prin adăugarea unei opțiuni de respingere, Open-MCR merge un pas mai departe și permite modelului să renunțe la generarea unei predicții în cazurile în care nu este clar. Acest lucru îmbunătățește performanța generală și este deosebit de util în situații în care nivelul de încredere al modelului este scăzut. În esență, Open-MCR procesează și înțelege intrările secvențiale utilizând avantajele atât ale rețelelor neuronale convoluționale, cât și ale celor recurente. Modelul este un instrument flexibil pentru o varietate de aplicații datorită designurilor multicanal, care îmbunătățesc capacitatea sa de a identifica modele și conexiuni complexe. Utilizatorii pot încorpora rapid biblioteca în aplicațiile lor datorită implementării sale simple. Biblioteca este poziționată să avanseze semnificativ domeniile procesării datelor secvențiale și învățării profunde pe măsură ce se dezvoltă.

Previous Next

Începeți cu Open-MCR

Modul recomandat de instalare a bibliotecii Open-MCR este utilizarea pip . Vă rugăm să folosiți comanda următoare pentru o instalare fără probleme.

Instalați biblioteca Open-MCR prin pip

 pip install open-mcr 

Puteți descărca biblioteca direct de pe GitHub

Utilizați mecanismul de respingere în aplicații Python

Funcția deosebită a Open-MCR este mecanismul său de respingere, care permite modelelor să refuze să facă o predicție atunci când se confruntă cu instanțe ambigue sau dificile. Această capacitate este crucială în aplicațiile din viața reală, unde evitarea predicțiilor incorecte este esențială. Iată un exemplu care arată cum să utilizați mecanismul de respingere cu doar câteva linii de cod. Pentru o utilizare fără probleme, mai întâi importați clasa OpenMCR din bibliotecă și inițializați-o cu modelul dumneavoastră preferat de învățare automată. Setați parametrul rejection_threshold pentru a controla nivelul de încredere la respingere.

Cum să utilizați mecanismul de respingere în aplicațiile Python?

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)

Citiți & extrageți date din imagini prin API Python

Biblioteca Python open source Open-MCR a oferit suport complet pentru încărcarea și citirea datelor din imagini în cadrul aplicațiilor Python. Pentru gestionarea examenelor și citirea foilor, utilizatorii trebuie mai întâi să scaneze toate foile folosind un scanner standard. Convertiți-le în imagini individuale și plasați-le într-un singur folder, inclusiv cheile de răspuns. Pe lângă citirea imaginilor scanate, poate, de asemenea, să evalueze automat rezultatele examenului. Acest lucru se realizează prin compararea cheilor furnizate cu rezultatul. După ce programul finalizează procesarea, rezultatele vor fi salvate ca fișiere CSV în folderul de ieșire selectat. Biblioteca oferă, de asemenea, suport pentru extragerea datelor la citirea imaginilor ușor distorsionate. Cu ultima versiune, biblioteca a îmbunătățit algoritmul de găsire a grilei și obține rezultate mai bune cu imaginea dumneavoastră. Aceasta stabilește o grilă bazată pe cele patru marcaje de colț și apoi citește bulele din locațiile din grilă. Exemplul următor arată cum să calculați rezultatele prin cod Python.

Cum să calculați rezultatele foii de răspunsuri a examenului utilizând API-ul Python?

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

Acuratețe și robustețe îmbunătățite

Biblioteca open source Open-MCR este o completare valoroasă a setului de instrumente al practicienilor în învățarea automată care doresc să îmbunătățească performanța modelelor lor de clasificare multi-clasă. Mecanismul de respingere îmbunătățește acuratețea generală a modelelor de clasificare multi-clasă, în special în situații în care modelele tradiționale pot întâmpina dificultăți. Acest mecanism sporește, de asemenea, robustețea modelului prin prevenirea realizării de predicții nesigure, asigurând rezultate mai fiabile în diverse scenarii din viața reală.

 Română