API خواننده آزمون چندگزینهای پایتون منبع باز
API رایگان خواننده آزمون چندگزینهای پایتون که به توسعهدهندگان نرمافزار امکان تولید برگههای آزمون، اسکنرها و نرمافزارهای پردازش را از طریق API پایتون میدهد.
Open-MCR Librar چیست؟
یک بستهٔ قدرتمند پایتون به نام Open-MCR ایجاد شد تا استقرار شبکههای عصبی بازگشتی کانولوشنی چندکاناله (MCRNNها) را آسانتر کند. این پروژهٔ متنباز که توسط برنامهنویس بااستعداد ایان سن ساخته شده است، چارچوبی چندمنظوره و مؤثر برای کارهایی مانند تشخیص گفتار، تحلیل ویدئو و کاربردهای مختلف سریهای زمانی به پژوهشگران و توسعهدهندگان ارائه میدهد. استفاده از آن در پروژههای شما میتواند منجر به پیشبینیهای مدل قابل اعتمادتر و دقیقتر شود، که در نهایت به بهبود یادگیری ماشین در حوزههای مختلف کمک خواهد کرد. کتابخانهٔ Open-MCR با در نظر گرفتن سهولت استفاده طراحی شده است. این کتابخانه به دلیل مستندات و مثالهای جامع، برای مبتدیان و متخصصان باتجربه قابل دسترسی است.
در یادگیری ماشین، طبقهبندی چندکلاسه (MCC) یک وظیفه محبوب است که هدف آن دستهبندی ورودی از میان مجموعهای از کلاسهای از پیش تعیینشده است. با افزودن گزینه رد، Open-MCR یک قدم جلوتر میرود و به مدل امکان میدهد در مواردی که واضح نیست پیشبینی تولید نکند. این کار عملکرد کلی را بهبود میبخشد و بهویژه در شرایطی که سطح اطمینان مدل پایین است، مفید است. بهصورت اساسی، Open-MCR ورودیهای متوالی را با بهرهگیری از مزایای شبکههای عصبی کانولوشنی و بازگشتی پردازش و درک میکند. مدل بهدلیل طراحیهای چندکاناله که توانایی شناسایی الگوها و ارتباطات پیچیده را افزایش میدهد، ابزار انعطافپذیری برای کاربردهای متنوع است. کاربران میتوانند کتابخانه را بهسرعت در برنامههای خود ادغام کنند زیرا پیادهسازی آن ساده است. این کتابخانه در مسیر پیشرفت قابلتوجهی در حوزههای پردازش دادههای متوالی و یادگیری عمیق قرار دارد همانطور که بهطور مداوم توسعه مییابد.
شروع کار با Open-MCR
روش پیشنهادی برای نصب کتابخانه Open-MCR استفاده از pip است. لطفاً برای نصب روان، دستور زیر را اجرا کنید.
نصب کتابخانه Open-MCR از طریق pip
pip install open-mcr میتوانید کتابخانه را مستقیماً از GitHub دانلود کنید
استفاده از مکانیزم رد در برنامههای پایتون
ویژگی برجسته Open-MCR مکانیزم رد است که به مدلها امکان میدهد در مواجهه با نمونههای مبهم یا چالشبرانگیز پیشبینی را رد کنند. این قابلیت در برنامههای واقعی که جلوگیری از پیشبینیهای نادرست بسیار مهم است، حیاتی میباشد. در اینجا مثالی آورده شده است که نشان میدهد چگونه میتوان با تنها چند خط کد از مکانیزم رد استفاده کرد. برای استفاده روان، ابتدا کلاس OpenMCR را از کتابخانه وارد کنید و آن را با مدل یادگیری ماشین مورد نظر خود مقداردهی اولیه کنید. پارامتر rejection_threshold را برای کنترل سطح اطمینان برای رد تنظیم کنید.
چگونه از مکانیزم رد (Rejection Mechanism) در برنامههای پایتون استفاده کنیم؟
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 افزودهای ارزشمند به جعبهابزار متخصصان یادگیری ماشین است که به دنبال ارتقاء عملکرد مدلهای طبقهبندی چندکلاسه خود هستند. مکانیزم رد کردن دقت کلی مدلهای طبقهبندی چندکلاسه را افزایش میدهد، بهویژه در شرایطی که مدلهای سنتی ممکن است با مشکل مواجه شوند. این مکانیزم همچنین استحکام مدل را با جلوگیری از پیشبینیهای نامطمئن افزایش میدهد و نتایج قابلاعتمادتری را در سناریوهای واقعی متنوع تضمین میکند.