1. Termékek
  2.   OMR
  3.   Python
  4.   Open-MCR
 
  

Nyílt forráskódú Python többválaszos vizsgaolvasó API

Ingyenes Python többválaszos vizsgaolvasó API, amely lehetővé teszi a szoftverfejlesztők számára, hogy vizsgalapokat, szkennereket és feldolgozó szoftvert generáljanak a Python API-n keresztül.

Mi az Open-MCR Könyvtár?

Egy robusztus Python csomag, az Open-MCR, azért lett létrehozva, hogy a többcsatornás konvolúciós visszatérő neurális hálózatok (MCRNN-ek) könnyebben telepíthetők legyenek. Ez a nyílt forráskódú projekt, amelyet a tehetséges programozó Ian San hozott létre, a tudósok és fejlesztők számára egy sokoldalú és hatékony keretrendszert kínál olyan feladatokhoz, mint a beszédfelismerés, videóelemzés és különböző időbeli sorozatok alkalmazásai. A projekt használata a saját projektjeiben megbízhatóbb és pontosabb modellpredikciókat eredményezhet, ami végső soron segíti a gépi tanulás fejlődését számos területen. Az Open-MCR könyvtárat a könnyű használhatóság szem előtt tartásával hozták létre. A könyvtár hozzáférhető mind a kezdő, mind a tapasztalt szakemberek számára átfogó dokumentációja és példái miatt.

A gépi tanulásban a többosztályos osztályozás (MCC) egy népszerű feladat, ahol a cél egy bemenet besorolása előre meghatározott osztályok sorozatába. Egy elutasítási opció hozzáadásával az Open-MCR egy lépéssel tovább megy, és lehetővé teszi a modell számára, hogy egyértelműtlen esetekben ne generáljon előrejelzést. Ez javítja az általános teljesítményt, és különösen hasznos olyan helyzetekben, ahol a modell bizalmi szintje alacsony. Alapvetően az Open-MCR szekvenciális bemenetet dolgozza fel és érti meg a konvolúciós és rekurzív neurális hálózatok előnyeinek kihasználásával. A modell rugalmas eszköz számos alkalmazáshoz a többcsatornás tervezésnek köszönhetően, amely javítja a komplex minták és kapcsolatok felismerésének képességét. A felhasználók gyorsan beépíthetik a könyvtárat alkalmazásaikba egyszerű megvalósítása miatt. A könyvtár jelentősen előrelépést hozhat a szekvenciális adatfeldolgozás és a mélytanulás területén, ahogy tovább fejlődik.

Previous Next

Az Open-MCR használatának megkezdése

Az ajánlott módja az Open-MCR könyvtár telepítésének a pip használata. Kérjük, használja a következő parancsot a zökkenőmentes telepítéshez.

Telepítsd az Open-MCR könyvtárat pip segítségével

 pip install open-mcr 

A könyvtárat közvetlenül letöltheti a GitHub

Elutasítási mechanizmus használata Python alkalmazásokban

Az Open-MCR kiemelkedő jellemzője az elutasítási mechanizmus, amely lehetővé teszi a modellek számára, hogy megtagadják a predikció elkészítését, ha bizonytalan vagy nehéz esetekkel szembesülnek. Ez a képesség létfontosságú a valós alkalmazásokban, ahol a helytelen előrejelzések elkerülése elsődleges. Itt egy példa, amely megmutatja, hogyan használható az elutasítási mechanizmus néhány kódsorral. A zökkenőmentes használathoz először importálja az OpenMCR osztályt a könyvtárból, és inicializálja a kedvenc gépi tanulási modelljével. Állítsa be a rejection_threshold paramétert a bizalmi szint szabályozásához az elutasítás esetén.

Hogyan használjuk a visszautasítási mechanizmust Python alkalmazásokban?

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)

Olvasás és adatok kinyerése képekből Python API-n keresztül

Az nyílt forráskódú Python könyvtár, az Open-MCR teljes támogatást nyújt a képekből történő adatbetöltéshez és -olvasáshoz Python alkalmazásokon belül. A vizsgák és a válaszlapok kezelése érdekében a felhasználóknak először be kell szkennelniük az összes lapot egy szabványos szkennerrel. Alakítsák át őket egyedi képekké, és helyezzék el egyetlen mappában, beleértve a megoldókulcsokat is. A beolvasott képek mellett automatikusan is pontozhatja a vizsgaeredményeket. Ezt a megadott kulcsok összehasonlításával a kimenettel végzi. Miután a program befejezte a feldolgozást, az eredményeket CSV fájlokként menti a kiválasztott kimeneti mappába. A könyvtár támogatást nyújt az adatok kinyeréséhez enyhén torzított képek olvasásakor is. A legújabb kiadással a könyvtár továbbfejlesztette a rácskereső algoritmust, és jobb eredményeket ér el a képekkel. Négy sarokjelölés alapján hoz létre egy rácsot, majd a rács helyein olvassa be a buborékokat. Az alábbi példa bemutatja, hogyan számíthatók ki az eredmények Python kóddal.

Hogyan számítsuk ki a vizsga buboréklap eredményeit Python API használatával?

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

Javított pontosság és robusztusság

A nyílt forráskódú Open-MCR könyvtár értékes kiegészítője a gépi tanulás gyakorlóinak eszköztárának, akik a többosztályos osztályozási modelljeik teljesítményének javítására törekednek. Az elutasítási mechanizmus növeli a többosztályos osztályozási modellek általános pontosságát, különösen olyan helyzetekben, ahol a hagyományos modellek nehézségekbe ütközhetnek. Ez a mechanizmus tovább növeli a modell robusztusságát azzal, hogy megakadályozza a megbízhatatlan előrejelzések készítését, ezáltal megbízhatóbb eredményeket biztosítva a változatos valós helyzetekben.

 Magyar