Atvērtā koda Python daudzizvēļu eksāmenu lasītāja API
Bezmaksas Python daudzizvēļu eksāmenu lasītāja API, kas ļauj programmatūras izstrādātājiem ģenerēt eksāmenu lapas, skenerus un apstrādes programmatūru, izmantojot Python API.
Kas ir Open-MCR bibliotēka?
Spēcīga Python pakotne ar nosaukumu Open-MCR tika izveidota, lai atvieglotu Multikanālu konvolūcijas rekursīvo neironu tīklu (MCRNN) izvietošanu. Šis atvērtā koda projekts, ko izveidoja talantīgais programmētājs Ian San, piedāvā akadēmiķiem un izstrādātājiem daudzpusīgu un efektīvu struktūru uzdevumiem, piemēram, runas atpazīšanai, video analīzei un dažādām laika sēriju lietojumprogrammām. Tā izmantošana jūsu projektos var novest pie uzticamākiem un precīzākiem modeļa prognozēm, kas galu galā palīdzēs uzlabot mašīnmācīšanos dažādās jomās. Open-MCR bibliotēka tika izveidota, domājot par lietošanas vienkāršību. Bibliotēka ir pieejama gan iesācējiem, gan pieredzējušiem praktiķiem, pateicoties tās visaptverošajai dokumentācijai un piemēriem.
Mašīnmācībā daudzklases klasifikācija (MCC) ir populārs uzdevums, kurā mērķis ir kategorizēt ievadi no iepriekš noteiktām klasēm. Pievienojot noraidījuma iespēju, Open-MCR iet soli tālāk un ļauj modelim neizdot prognozi gadījumos, kad tas nav skaidrs. Tas uzlabo kopējo veiktspēju un ir īpaši noderīgs situācijās, kur modelim ir zems pārliecības līmenis. Fundamentāli Open-MCR apstrādā un izprot secīgu ievadi, izmantojot gan konvolūcijas, gan rekursīvās neironu tīklu priekšrocības. Modelis ir elastīgs rīks dažādām lietojumprogrammām, pateicoties daudzkanālu dizainam, kas uzlabo tā spēju atpazīt sarežģītas struktūras un saistības. Lietotāji var ātri integrēt bibliotēku savās lietojumprogrammās, pateicoties tās vienkāršajai implementācijai. Bibliotēka ir novietota, lai būtiski virzītu uz priekšu secīgu datu apstrādes un dziļās mācīšanās jomas, turpinot attīstību.
Kā sākt darbu ar Open-MCR
Ieteicamais veids, kā instalēt Open-MCR bibliotēku, ir izmantot pip. Lūdzu, izmantojiet šādu komandu, lai veiktu gludu instalāciju.
Instalējiet Open-MCR bibliotēku, izmantojot pip
pip install open-mcr Jūs varat lejupielādēt bibliotēku tieši no GitHub
Izmantojiet noraidīšanas mehānismu Python lietojumprogrammās
Open-MCR izcils īpašums ir noraidīšanas mehānisms, kas ļauj modeļiem atteikties no prognozes izdarīšanas, saskaroties ar neskaidriem vai sarežģītiem gadījumiem. Šī spēja ir būtiska reālās pasaules lietojumos, kur izvairīšanās no nepareizām prognozēm ir izšķiroša. Šeit ir piemērs, kas parāda, kā izmantot noraidīšanas mehānismu, izmantojot tikai pāris koda rindas. Lai nodrošinātu vienkāršu lietošanu, vispirms importējiet OpenMCR klasi no bibliotēkas un inicializējiet to ar jūsu izvēlēto mašīnmācīšanās modeli. Iestatiet parametru rejection_threshold, lai kontrolētu pārliecības līmeni noraidīšanai.
Kā izmantot noraidījuma mehānismu Python lietotnēs?
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)
Lasiet un izvelciet datus no attēliem, izmantojot Python API
Atvērtā koda Python bibliotēka Open-MCR nodrošina pilnīgu atbalstu datu ielādēšanai un nolasīšanai no attēliem Python lietojumprogrammās. Lai apstrādātu eksāmenus un lasītu lapas, lietotājiem vispirms jāskanē visas lapas, izmantojot standarta skeneri. Pārvērtiet tās par atsevišķiem attēliem un ievietojiet vienā mapē, ieskaitot atbilžu atslēgas. Papildus skenēto attēlu nolasīšanai, tas var arī automātiski novērtēt eksāmenu rezultātus. Tas to dara, salīdzinot sniegtās atslēgas ar iznākumu. Pēc tam, kad programma pabeidz apstrādi, rezultāti tiks saglabāti kā CSV faili jūsu izvēlētajā izvades mapē. Bibliotēka arī nodrošina atbalstu datu izguvei, lasot nedaudz deformētus attēlus. Ar jaunāko izlaidumu bibliotēka uzlaboja režģa atrašanas algoritmu un iegūst labākus rezultātus ar jūsu attēlu. Tā izveido režģi, balstoties uz četriem stūru marķējumiem, un pēc tam lasa burbuļus no vietām režģī. Zemāk esošais piemērs parāda, kā aprēķināt rezultātus, izmantojot Python kodu.
Kā aprēķināt eksāmenu atzīmju lapas rezultātus, izmantojot 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
Uzlabošana precizitātē un robustumā
Atvērtā koda Open-MCR bibliotēka ir vērtīgs papildinājums mašīnmācības praktiķu rīkkopai, kuri cenšas uzlabot saviem daudzklases klasifikācijas modeļu veiktspēju. Noraidīšanas mehānisms palielina kopējo daudzklases klasifikācijas modeļu precizitāti, īpaši situācijās, kur tradicionālie modeļi var saskarties ar grūtībām. Šis mehānisms arī uzlabo modeļa robustumu, novēršot neuzticamu prognožu izdarīšanu, nodrošinot ticamākus rezultātus dažādās reālās pasaules situācijās.