1. Προϊόντα
  2.   OMR
  3.   Python
  4.   Open-MCR
 
  

API Ανοιχτού Κώδικα Python Αναγνώστη Πολλαπλής Επιλογής Εξετάσεων

Δωρεάν API Python Αναγνώστη Πολλαπλής Επιλογής Εξετάσεων που Επιτρέπει στους Προγραμματιστές Λογισμικού να Δημιουργούν Φύλλα Εξετάσεων, Σαρωτές και Λογισμικό Επεξεργασίας μέσω του Python API.

Τι είναι η βιβλιοθήκη Open-MCR;

Δημιουργήθηκε ένα ισχυρό πακέτο Python με όνομα Open-MCR για να διευκολύνει την ανάπτυξη των Πολυκαναλικών Συνελικτικών Επαναληπτικών Νευρωνικών Δικτύων (MCRNNs). Αυτό το ανοιχτού κώδικα έργο, που δημιουργήθηκε από τον ταλαντούχο προγραμματιστή Ian San, προσφέρει σε ακαδημαϊκούς και προγραμματιστές ένα ευέλικτο και αποτελεσματικό πλαίσιο για εργασίες όπως η αναγνώριση ομιλίας, η ανάλυση βίντεο και διάφορες εφαρμογές χρονοσειρών. Η χρήση του στα έργα σας μπορεί να οδηγήσει σε πιο αξιόπιστες και ακριβείς προβλέψεις μοντέλων, κάτι που τελικά θα βοηθήσει τη μηχανική μάθηση να βελτιωθεί σε ένα ευρύ φάσμα πεδίων. Η βιβλιοθήκη Open-MCR δημιουργήθηκε με γνώμονα την ευκολία χρήσης. Η βιβλιοθήκη είναι προσβάσιμη τόσο σε αρχάριους όσο και σε έμπειρους επαγγελματίες χάρη στην εκτενή τεκμηρίωση και τα παραδείγματα.

Στη μηχανική μάθηση, η Πολυκατηγορική Κατηγοριοποίηση (MCC) είναι μια δημοφιλής εργασία όπου ο στόχος είναι η ταξινόμηση μιας εισόδου από μια σειρά προκαθορισμένων κατηγοριών. Προσθέτοντας μια επιλογή απόρριψης, το Open-MCR κάνει ένα βήμα παραπέρα και επιτρέπει στο μοντέλο να μην παράγει πρόβλεψη σε περιπτώσεις που δεν είναι σαφές. Αυτό βελτιώνει τη συνολική απόδοση και είναι ιδιαίτερα χρήσιμο σε καταστάσεις όπου το επίπεδο εμπιστοσύνης του μοντέλου είναι χαμηλό. Θεμελιωδώς, το Open-MCR επεξεργάζεται και κατανοεί διαδοχική είσοδο χρησιμοποιώντας τα πλεονεκτήματα τόσο των συνελικτικών όσο και των επαναλαμβανόμενων νευρωνικών δικτύων. Το μοντέλο είναι ένα ευέλικτο εργαλείο για ποικίλες εφαρμογές χάρη στους πολυκαναλικούς σχεδιασμούς, που βελτιώνουν την ικανότητά του να εντοπίζει πολύπλοκα μοτίβα και συνδέσεις. Οι χρήστες μπορούν να ενσωματώσουν τη βιβλιοθήκη στις εφαρμογές τους γρήγορα λόγω της απλής υλοποίησής της. Η βιβλιοθήκη είναι τοποθετημένη να προωθήσει σημαντικά τα πεδία της επεξεργασίας διαδοχικών δεδομένων και της βαθιάς μάθησης καθώς εξελίσσεται.

Previous Next

Ξεκινώντας με το Open-MCR

Ο συνιστώμενος τρόπος για την εγκατάσταση της βιβλιοθήκης Open-MCR είναι η χρήση του pip . Παρακαλώ χρησιμοποιήστε την παρακάτω εντολή για μια ομαλή εγκατάσταση.

Εγκατάσταση της βιβλιοθήκης Open-MCR μέσω pip

 pip install open-mcr 

Μπορείτε να κατεβάσετε τη βιβλιοθήκη απευθείας από GitHub

Χρήση του μηχανισμού απόρριψης σε εφαρμογές Python

Το χαρακτηριστικό που ξεχωρίζει του Open-MCR είναι ο μηχανισμός απόρριψης, ο οποίος επιτρέπει στα μοντέλα να αρνούνται να κάνουν πρόβλεψη όταν αντιμετωπίζουν ασαφείς ή δύσκολες περιπτώσεις. Αυτή η δυνατότητα είναι κρίσιμη σε πραγματικές εφαρμογές όπου η αποφυγή λανθασμένων προβλέψεων είναι υψίστης σημασίας. Εδώ είναι ένα παράδειγμα που δείχνει πώς να χρησιμοποιήσετε τον μηχανισμό απόρριψης με μόνο λίγες γραμμές κώδικα. Για ομαλή χρήση, πρώτα εισάγετε την κλάση OpenMCR από τη βιβλιοθήκη και την αρχικοποιείτε με το προτιμώμενο μοντέλο μηχανικής μάθησης. Ορίστε την παράμετρο rejection_threshold για να ελέγξετε το επίπεδο εμπιστοσύνης για απόρριψη.

Πώς να χρησιμοποιήσετε τον μηχανισμό απόρριψης σε εφαρμογές 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)

Ανάγνωση & εξαγωγή δεδομένων από εικόνες μέσω Python API

Η ανοιχτού κώδικα βιβλιοθήκη Python Open-MCR παρέχει πλήρη υποστήριξη για τη φόρτωση και ανάγνωση δεδομένων από εικόνες μέσα σε εφαρμογές Python. Για τη διαχείριση εξετάσεων και την ανάγνωση φύλλων, οι χρήστες πρέπει πρώτα να σαρώσουν όλα τα φύλλα χρησιμοποιώντας έναν τυπικό σαρωτή. Μετατρέψτε τα σε μεμονωμένες εικόνες και τοποθετήστε τα σε έναν ενιαίο φάκελο, συμπεριλαμβανομένων των κλειδιών απαντήσεων. Εκτός από την ανάγνωση σαρωμένων εικόνων, μπορεί επίσης να βαθμολογεί αυτόματα τα αποτελέσματα των εξετάσεων. Το κάνει αυτό συγκρίνοντας τα παρεχόμενα κλειδιά με το αποτέλεσμα. Αφού το πρόγραμμα ολοκληρώσει την επεξεργασία, τα αποτελέσματα θα αποθηκευτούν ως αρχεία CSV στον επιλεγμένο φάκελο εξόδου. Η βιβλιοθήκη παρέχει επίσης υποστήριξη για εξαγωγή δεδομένων όταν διαβάζονται ελαφρώς παραμορφωμένες εικόνες. Με την τελευταία έκδοση η βιβλιοθήκη βελτίωσε τον αλγόριθμο εντοπισμού πλέγματος και προσφέρει καλύτερα αποτελέσματα με την εικόνα σας. Δημιουργεί ένα πλέγμα βασισμένο στα τέσσερα σημεία γωνίας και στη συνέχεια διαβάζει τις φούσκες από τις θέσεις στο πλέγμα. Το παρακάτω παράδειγμα δείχνει πώς να υπολογίσετε τα αποτελέσματα μέσω κώδικα Python.

Πώς να υπολογίσετε τα αποτελέσματα του φύλλου απαντήσεων εξετάσεων χρησιμοποιώντας το API 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

Βελτιωμένη ακρίβεια και ανθεκτικότητα

Η ανοιχτού κώδικα βιβλιοθήκη Open-MCR είναι μια πολύτιμη προσθήκη στο σύνολο εργαλείων των επαγγελματιών μηχανικής μάθησης που επιδιώκουν να βελτιώσουν την απόδοση των μοντέλων πολυκατηγορικής ταξινόμησης. Ο μηχανισμός απόρριψης αυξάνει την συνολική ακρίβεια των μοντέλων πολυκατηγορικής ταξινόμησης, ειδικά σε καταστάσεις όπου τα παραδοσιακά μοντέλα μπορεί να δυσκολεύονται. Αυτός ο μηχανισμός επίσης ενισχύει την ανθεκτικότητα του μοντέλου αποτρέποντας την εκτέλεση αναξιόπιστων προβλέψεων, εξασφαλίζοντας πιο αξιόπιστα αποτελέσματα σε διάφορα πραγματικά σενάρια.

 Ελληνικά