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

Avoimen lähdekoodin Python-multivalintakokeen lukija API

Ilmainen Python-multivalintakokeen lukija API, joka mahdollistaa ohjelmistokehittäjien luoda kokeen lomakkeita, skannereita ja käsittelyohjelmistoja Python API:n kautta.

Mikä on Open-MCR -kirjasto?

Robusti Python-paketti nimeltä Open-MCR luotiin helpottamaan monikanavaisten konvoluutio-rekursiivisten neuroverkkojen (MCRNN) käyttöönottoa. Tämä avoimen lähdekoodin projekti, jonka on luonut lahjakas ohjelmoija Ian San, tarjoaa tutkijoille ja kehittäjille monipuolisen ja tehokkaan kehyksen tehtäviin kuten puheentunnistus, videoanalyysi ja erilaiset aikasarjasovellukset. Sen käyttäminen projekteissasi voi johtaa luotettavampiin ja tarkempiin mallien ennusteisiin, mikä lopulta edistää koneoppimisen kehittymistä monilla aloilla. Open-MCR-kirjasto on suunniteltu helppokäyttöisyyttä silmällä pitäen. Kirjasto on helposti saavutettavissa sekä aloittelijoille että kokeneille käyttäjille sen kattavan dokumentaation ja esimerkkien ansiosta.

Koneoppimisessa moniluokittelua (MCC) pidetään suositettuna tehtävänä, jossa tavoitteena on luokitella syöte ennalta määrättyjen luokkien joukosta. Lisäämällä hylkäysvaihtoehdon Open-MCR vie askeleen pidemmälle ja mahdollistaa mallin olla tuottamatta ennustetta tilanteissa, joissa se on epäselvä. Tämä parantaa kokonais suorituskykyä ja on erityisen hyödyllistä tilanteissa, joissa mallin luottamustaso on alhainen. Periaatteessa Open-MCR käsittelee ja ymmärtää sekventiaalista syötettä hyödyntäen sekä konvoluutio- että toistoverkkojen etuja. Malli on joustava työkalu monenlaisiin sovelluksiin monikanavaisten rakenteiden ansiosta, jotka parantavat sen kykyä tunnistaa monimutkaisia kuvioita ja yhteyksiä. Käyttäjät voivat sisällyttää kirjaston sovelluksiinsa nopeasti sen yksinkertaisen toteutuksen vuoksi. Kirjasto on asemoitu merkittävästi edistämään sekventiaalisen datan käsittelyn ja syväoppimisen aloja kehittyessään edelleen.

Previous Next

Aloittaminen Open-MCR:n kanssa

Suositeltu tapa asentaa Open-MCR-kirjasto on käyttää pipiä. Käytä seuraavaa komentoa sujuvaa asennusta varten.

Asenna Open-MCR -kirjasto pipin kautta

 pip install open-mcr 

Voit ladata kirjaston suoraan GitHubista

Käytä hylkäysmekanismia Python-sovelluksissa

Open-MCR:n merkittävin ominaisuus on sen hylkäysmekanismi, joka antaa mallien kieltäytyä ennustamasta, kun ne kohtaavat epäselviä tai haastavia tapauksia. Tämä kyky on ratkaisevan tärkeä todellisissa sovelluksissa, joissa virheellisten ennusteiden välttäminen on ensisijaisen tärkeää. Tässä on esimerkki, joka näyttää, miten hylkäysmekanismia käytetään vain muutamalla koodirivillä. Sujuvan käytön varmistamiseksi tuo ensin OpenMCR-luokka kirjastosta ja alustaa sen haluamallasi koneoppimismallilla. Aseta rejection_threshold‑parametri hallitsemaan hylkäyksen luottamustasoa.

Kuinka käyttää hylkäysmekanismia Python-sovelluksissa?

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)

Lue & poimi tietoja kuvista Python API:n kautta

Open-MCR - avoimen lähdekoodin Python-kirjasto on tarjonnut täyden tuen kuvista ladattavien ja luettavien tietojen käsittelyyn Python-sovelluksissa. Tenttien ja vastauslomakkeiden käsittelemiseksi käyttäjien on ensin skannattava kaikki lomakkeet tavallisella skannerilla. Muunna ne yksittäisiksi kuviksi ja sijoita ne yhteen kansioon, mukaan lukien vastausavain. Skannattujen kuvien lukemisen lisäksi se voi myös automaattisesti pisteyttää tenttitulokset. Se tekee tämän vertaamalla annettuja avaimia tulokseen. Kun ohjelma on valmis käsittelyn, tulokset tallennetaan CSV-tiedostoina valitsemaasi tulostuskansioon. Kirjasto tarjoaa myös tukea tietojen poimimiseen hieman vääristetyistä kuvista luettaessa. Viimeisimmällä julkaisulla kirjasto on parantanut ruudukon löytämisalgoritmia ja saa parempia tuloksia kuvastasi. Se luo ruudukon neljän kulmamarkkerin perusteella ja lukee kuplat ruudukon sijainneista. Seuraava esimerkki näyttää, miten tulokset lasketaan Python-koodilla.

Kuinka laskea kokeen täytetyn lomakkeen tulokset Python API:n avulla?

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

Parannettu tarkkuus ja kestävyys

Avoimen lähdekoodin Open-MCR-kirjasto on arvokas lisä koneoppimisen ammattilaisten työkalupakkiin, jotka pyrkivät parantamaan moniluokkaisten luokittelumallien suorituskykyä. Hylkäysmekanismi parantaa moniluokkaisten luokittelumallien kokonais tarkkuutta, erityisesti tilanteissa, joissa perinteiset mallit saattavat kamppailla. Tämä mekanismi lisää myös mallin kestävyyttä estämällä epäluotettavien ennusteiden tekemisen, mikä takaa luotettavampia tuloksia monenlaisissa todellisissa tilanteissa.

 Suomen