1. מוצרים
  2.   OMR
  3.   Python
  4.   Open-MCR
 
  

API של קורא מבחני בחירה מרובה בקוד פתוח בפייתון

API חינמי של קורא מבחני בחירה מרובה בפייתון שמאפשר למפתחי תוכנה ליצור גיליונות מבחן, סורקים ותוכנת עיבוד דרך API של פייתון.

מהו Open-MCR Librar?

חבילה חזקה של פייתון בשם Open-MCR נוצרה כדי להקל על פריסת רשתות נוירונים חוזרות קונבולוציוניות מרובות ערוצים (MCRNNs). פרויקט קוד פתוח זה, שנוצר על ידי המתכנת המוכשר איאן סן, מציע לאקדמאים ולמפתחים מסגרת רב‑גונית ויעילה למשימות כגון זיהוי דיבור, ניתוח וידאו ויישומים שונים של סדרות זמן. השימוש בו בפרויקטים שלכם יכול להביא לתחזיות מודל אמינות ומדויקות יותר, מה שיעזור לשיפור הלמידה החישובית במגוון תחומים. ספריית Open-MCR נוצרה במחשבה על נוחות השימוש. הספרייה נגישה הן למתחילים והן למקצוענים מנוסים הודות לתיעוד המקיף ולדוגמאות שלה.

בלמידת מכונה, סיווג מרובה-מחלקות (MCC) הוא משימה פופולרית שבה המטרה היא למיין קלט מסדרת מחלקות קבועות מראש. על ידי הוספת אפשרות דחייה, Open-MCR הולך צעד נוסף ומאפשר למודל לוותר על יצירת תחזית במקרים שבהם אינו ברור. זה משפר את הביצועים הכוללים והוא במיוחד מועיל במצבים שבהם רמת הביטחון של המודל נמוכה. באופן יסודי, Open-MCR מעבד ומבין קלט סדרתי באמצעות ניצול היתרונות של רשתות נוירונים קונבולוציוניות ורקורסיביות. המודל הוא כלי גמיש למגוון יישומים הודות לעיצובים מרובי ערוצים, המשפרים את יכולתו לזהות תבניות וקשרים מורכבים. המשתמשים יכולים לשלב את הספרייה ביישומים שלהם במהירות בזכות יישום פשוט. הספרייה ממוקמת לקדם משמעותית את תחומי עיבוד הנתונים הסדרתי ולמידת עומק ככל שהיא מתפתחת.

Previous Next

התחלה עם Open-MCR

הדרך המומלצת להתקנת ספריית Open-MCR היא באמצעות pip. אנא השתמשו בפקודה הבאה להתקנה חלקה.

התקן את ספריית Open-MCR באמצעות pip

 pip install open-mcr 

ניתן להוריד את הספרייה ישירות מ-GitHub

שימוש במנגנון דחייה באפליקציות פייתון

התכונה הבולטת של Open-MCR היא מנגנון הדחייה, המאפשר למודלים לסרב לבצע תחזית כאשר הם מתמודדים עם מקרים מעורפלים או מאתגרים. יכולת זו קריטית ביישומים בעולם האמיתי שבהם הימנעות מתחזיות שגויות היא בעלת חשיבות עליונה. הנה דוגמה שמראה כיצד להשתמש במנגנון הדחייה עם רק כמה שורות קוד. לשימוש חלק, ראשית יש לייבא את המחלקה OpenMCR מהספרייה ולהאתחל אותה עם מודל הלמידה החישובית המועדף עליכם. הגדרו את הפרמטר rejection_threshold כדי לשלוט ברמת הביטחון לדחייה.

איך להשתמש במנגנון דחייה בתוך אפליקציות פייתון?

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)

קריאה והוצאת נתונים מתמונות באמצעות API של פייתון

הספרייה הפתוחה של פייתון Open-MCR מספקת תמיכה מלאה בטעינה וקריאת נתונים מתמונות בתוך יישומי פייתון. לטיפול במבחנים ובקריאת גיליונות, תחילה על המשתמשים לסרוק את כל הגיליונות באמצעות סורק סטנדרטי. יש להמיר אותם לתמונות נפרדות ולמקם אותן בתיקייה אחת, כולל מפתחות התשובות. בנוסף לקריאת תמונות סרוקות, היא יכולה גם לדרג באופן אוטומטי את תוצאות המבחן. היא עושה זאת על ידי השוואת המפתחות המסופקים עם הפלט. לאחר שהתוכנית מסיימת לעבד, התוצאות יישמרו כקבצי CSV בתיקיית הפלט שנבחרה שלך. הספרייה גם סיפקה תמיכה בחילוץ נתונים בעת קריאת תמונות מעט מעוותות. עם הגרסה האחרונה הספרייה שיפרה את אלגוריתם מציאת הרשת ומקבלת תוצאות טובות יותר עם התמונה שלך. היא מקימה רשת על בסיס ארבעת סימני הפינות ולאחר מכן קוראת בועות מהמיקומים ברשת. הדוגמה הבאה מציגה כיצד לחשב תוצאות באמצעות קוד פייתון.

איך לחשב תוצאות של גיליון מבחן בועות באמצעות 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

דיוק משופר ועמידות

הספרייה הקוד הפתוח Open-MCR היא תוספת חשובה לכלי העבודה של מומחי למידת מכונה המחפשים לשפר את ביצועי מודלי סיווג מרובה‑מחלקות. מנגנון הדחייה מגדיל את הדיוק הכולל של מודלי סיווג מרובה‑מחלקות, במיוחד במצבים שבהם מודלים מסורתיים עלולים להתקשות. מנגנון זה גם מגביר את העמידות של המודל על ידי מניעת תחזיות בלתי מהימנות, ומבטיח תוצאות אמינות יותר בתרחישים שונים של העולם האמיתי.

 עִברִית