ओपन सोर्स पायथन मल्टीपल चॉइस परीक्षा रीडर एपीआई

नि:शुल्क पायथन मल्टीपल चॉइस परीक्षा रीडर एपीआई जो सॉफ्टवेयर डेवलपर्स को पायथन एपीआई के माध्यम से परीक्षा शीट्स, स्कैनर और प्रोसेसिंग सॉफ़्टवेयर जनरेट करने में सक्षम बनाता है।

Open-MCR लाइब्रेरी क्या है?

Open-MCR नामक एक मजबूत Python पैकेज बनाया गया था ताकि मल्टीचैनल कॉन्वॉल्यूशनल रीकर्न्ट न्यूरल नेटवर्क्स (MCRNNs) को तैनात करना आसान हो सके। इस ओपन-सोर्स प्रोजेक्ट को प्रतिभाशाली प्रोग्रामर इयान सान ने बनाया है, जो अकादमिक और डेवलपर्स को स्पीच रिकग्निशन, वीडियो विश्लेषण, और विभिन्न टाइम-सीरीज़ अनुप्रयोगों जैसे कार्यों के लिए एक बहुमुखी और प्रभावी फ्रेमवर्क प्रदान करता है। इसे अपने प्रोजेक्ट्स में उपयोग करने से अधिक भरोसेमंद और सटीक मॉडल भविष्यवाणियां मिल सकती हैं, जो अंततः विभिन्न क्षेत्रों में मशीन लर्निंग को सुधारने में मदद करेगी। Open-MCR लाइब्रेरी को उपयोग में आसानी को ध्यान में रखकर बनाया गया है। व्यापक दस्तावेज़ीकरण और उदाहरणों के कारण यह लाइब्रेरी शुरुआती और अनुभवी दोनों उपयोगकर्ताओं के लिए सुलभ है।

मशीन लर्निंग में, मल्टी-क्लास क्लासिफिकेशन (MCC) एक लोकप्रिय कार्य है जहाँ उद्देश्य इनपुट को पूर्वनिर्धारित वर्गों की श्रृंखला में वर्गीकृत करना होता है। एक रिजेक्शन विकल्प जोड़कर, Open-MCR एक कदम आगे बढ़ता है और मॉडल को तब भविष्यवाणी उत्पन्न करने से रोकता है जब स्थिति स्पष्ट नहीं होती। इससे समग्र प्रदर्शन में सुधार होता है और विशेष रूप से उन स्थितियों में मदद मिलती है जहाँ मॉडल का आत्मविश्वास स्तर कम होता है। मूल रूप से, Open-MCR क्रमिक इनपुट को प्रोसेस और समझता है, दोनों कॉन्वॉल्यूशनल और रिकरेंट न्यूरल नेटवर्क्स के लाभों का उपयोग करके। मल्टीचैनल डिज़ाइनों के कारण मॉडल विभिन्न अनुप्रयोगों के लिए एक लचीला उपकरण बन जाता है, जो जटिल पैटर्न और कनेक्शन की पहचान करने की क्षमता को बढ़ाते हैं। उपयोगकर्ता सरल कार्यान्वयन के कारण लाइब्रेरी को अपने अनुप्रयोगों में जल्दी से एकीकृत कर सकते हैं। लाइब्रेरी क्रमिक डेटा प्रोसेसिंग और डीप लर्निंग के क्षेत्रों को महत्वपूर्ण रूप से आगे बढ़ाने के लिए स्थित है जैसे ही यह आगे विकसित होती है।

Previous Next

Open-MCR के साथ शुरूआत

Open-MCR लाइब्रेरी को स्थापित करने का अनुशंसित तरीका pip का उपयोग करना है। सुगम स्थापना के लिए कृपया निम्नलिखित कमांड का उपयोग करें।

pip के माध्यम से Open-MCR लाइब्रेरी स्थापित करें

 pip install open-mcr 

आप लाइब्रेरी को सीधे GitHub से डाउनलोड कर सकते हैं।

Python एप्लिकेशनों में रिजेक्शन मैकेनिज़्म का उपयोग करें

Open-MCR की प्रमुख विशेषता उसका रिजेक्शन मैकेनिज्म है, जो मॉडलों को अस्पष्ट या चुनौतीपूर्ण उदाहरणों का सामना करने पर भविष्यवाणी करने से इनकार करने में सक्षम बनाता है। यह क्षमता वास्तविक दुनिया के अनुप्रयोगों में अत्यंत महत्वपूर्ण है जहाँ गलत भविष्यवाणियों से बचना प्राथमिकता है। यहाँ एक उदाहरण है जो दिखाता है कि केवल कुछ पंक्तियों के कोड से रिजेक्शन मैकेनिज्म का उपयोग कैसे किया जाए। सुगम उपयोग के लिए, पहले लाइब्रेरी से OpenMCR क्लास को इम्पोर्ट करें और इसे अपने पसंदीदा मशीन लर्निंग मॉडल के साथ इनिशियलाइज़ करें। रिजेक्शन के लिए confidence स्तर को नियंत्रित करने हेतु 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 के माध्यम से छवियों से डेटा पढ़ें और निकालें

ओपन सोर्स पायथन लाइब्रेरी Open-MCR ने पायथन अनुप्रयोगों के भीतर छवियों से डेटा लोड करने और पढ़ने के लिए पूर्ण समर्थन प्रदान किया है। परीक्षाओं और शीट्स को संभालने के लिए, उपयोगकर्ताओं को पहले सभी शीट्स को एक मानक स्कैनर का उपयोग करके स्कैन करना होगा। उन्हें व्यक्तिगत छवियों में बदलें और उत्तर कुंजियों सहित एक ही फ़ोल्डर में रखें। स्कैन की गई छवियों को पढ़ने के अलावा, यह स्वचालित रूप से परीक्षा परिणामों का स्कोर भी कर सकता है। यह प्रदान की गई कुंजियों की तुलना आउटपुट से करके करता है। प्रोग्राम प्रसंस्करण समाप्त करने के बाद, परिणाम आपके चयनित आउटपुट फ़ोल्डर में CSV फ़ाइलों के रूप में सहेजे जाएंगे। लाइब्रेरी ने थोड़ा विकृत छवियों को पढ़ते समय डेटा निकालने के लिए भी समर्थन प्रदान किया है। नवीनतम रिलीज़ के साथ लाइब्रेरी ने ग्रिड खोज एल्गोरिदम को बेहतर बनाया है और आपकी छवि के साथ बेहतर परिणाम प्राप्त होते हैं। यह चार कोने के निशानों के आधार पर एक ग्रिड स्थापित करता है और फिर ग्रिड में स्थितियों से बबल्स पढ़ता है। निम्नलिखित उदाहरण दिखाता है कि पायथन कोड के माध्यम से परिणाम कैसे गणना करें।

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

बेहतर सटीकता और मजबूती

ओपन सोर्स Open-MCR लाइब्रेरी मशीन लर्निंग प्रैक्टिशनरों के टूलकिट में एक मूल्यवान जोड़ है जो अपने मल्टी-क्लास वर्गीकरण मॉडलों के प्रदर्शन को बेहतर बनाना चाहते हैं। अस्वीकृति तंत्र मल्टी-क्लास वर्गीकरण मॉडलों की समग्र सटीकता को बढ़ाता है, विशेष रूप से उन स्थितियों में जहाँ पारंपरिक मॉडल संघर्ष कर सकते हैं। यह तंत्र मॉडल की मजबूती को भी बढ़ाता है, इसे अविश्वसनीय भविष्यवाणियों से बचाकर, विविध वास्तविक-विश्व परिदृश्यों में अधिक भरोसेमंद परिणाम सुनिश्चित करता है।

 हिन्दी