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.
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.