API ตัวอ่านข้อสอบแบบหลายตัวเลือกของ Python แบบโอเพนซอร์ส

API ตัวอ่านข้อสอบแบบหลายตัวเลือกของ Python ฟรี ที่ช่วยให้นักพัฒนาซอฟต์แวร์สร้างแผ่นข้อสอบ, สแกนเนอร์และซอฟต์แวร์ประมวลผลผ่าน Python API.

Open-MCR Library คืออะไร?

แพคเกจ Python ที่แข็งแกร่งชื่อ Open-MCR ถูกสร้างขึ้นเพื่อทำให้การใช้งาน Multichannel Convolutional Recurrent Neural Networks (MCRNNs) ง่ายขึ้นในการปรับใช้ โครงการโอเพ่นซอร์สนี้ซึ่งสร้างโดยโปรแกรมเมอร์ผู้มีพรสวรรค์ Ian San ให้กรอบงานที่หลากหลายและมีประสิทธิภาพแก่ผู้ศึกษาและนักพัฒนา สำหรับงานเช่นการรู้จำเสียง การวิเคราะห์วิดีโอ และแอปพลิเคชันซีรีส์เวลาแบบต่าง ๆ การใช้มันในโครงการของคุณสามารถทำให้การทำนายของโมเดลมีความน่าเชื่อถือและแม่นยำยิ่งขึ้น ซึ่งในที่สุดจะช่วยให้การเรียนรู้ของเครื่องพัฒนาขึ้นในหลายสาขา ไลบรารี Open-MCR ถูกออกแบบให้ใช้งานง่าย ไลบรารีนี้เข้าถึงได้ทั้งผู้เริ่มต้นและผู้เชี่ยวชาญเนื่องจากมีเอกสารและตัวอย่างที่ครอบคลุม

ในการเรียนรู้ของเครื่อง, การจำแนกหลายคลาส (MCC) เป็นงานที่ได้รับความนิยมโดยมีเป้าหมายคือการจัดประเภทอินพุตจากชุดคลาสที่กำหนดไว้ล่วงหน้า โดยการเพิ่มตัวเลือกการปฏิเสธ, Open-MCR ก้าวไปอีกขั้นและทำให้โมเดลสามารถละเว้นการสร้างการทำนายในกรณีที่ไม่ชัดเจน สิ่งนี้ช่วยปรับปรุงประสิทธิภาพโดยรวมและเป็นประโยชน์อย่างยิ่งในสถานการณ์ที่ระดับความมั่นใจของโมเดลต่ำ พื้นฐานแล้ว Open-MCR ประมวลผลและทำความเข้าใจข้อมูลเชิงลำดับโดยใช้ประโยชน์จากเครือข่ายประสาทเทียมแบบคอนโวลูชันและรีเคอร์เรนท์ โมเดลเป็นเครื่องมือที่ยืดหยุ่นสำหรับการใช้งานหลากหลายด้วยการออกแบบหลายช่องสัญญาณ ซึ่งเพิ่มความสามารถในการระบุรูปแบบและความเชื่อมโยงที่ซับซ้อน ผู้ใช้สามารถนำไลบรารีไปใช้ในแอปพลิเคชันของตนได้อย่างรวดเร็วเนื่องจากการใช้งานที่ง่าย ไลบรารีนี้มีศักยภาพที่จะก้าวหน้าอย่างมีนัยสำคัญในด้านการประมวลผลข้อมูลเชิงลำดับและการเรียนรู้เชิงลึกเมื่อพัฒนาต่อไป

Previous Next

เริ่มต้นใช้งาน Open-MCR

วิธีแนะนำในการติดตั้งไลบรารี Open-MCR คือการใช้ pip . โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่ราบรื่น.

ติดตั้ง Open-MCR Library ผ่าน 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)

อ่านและดึงข้อมูลจากภาพผ่าน API ของ Python

ไลบรารี Python แบบโอเพ่นซอร์ส Open-MCR ได้ให้การสนับสนุนเต็มรูปแบบสำหรับการโหลดและอ่านข้อมูลจากภาพภายในแอปพลิเคชัน Python สำหรับการจัดการข้อสอบและการอ่านแผ่นคำตอบ ผู้ใช้ต้องสแกนแผ่นทั้งหมดด้วยสแกนเนอร์มาตรฐานก่อน แปลงเป็นภาพแยกแต่ละไฟล์และวางไว้ในโฟลเดอร์เดียว รวมถึงกุญแจคำตอบด้วย นอกจากการอ่านภาพที่สแกนแล้ว ไลบรารีนี้ยังสามารถให้คะแนนผลสอบโดยอัตโนมัติได้ โดยทำการเปรียบเทียบกุญแจที่ให้ไว้กับผลลัพธ์ หลังจากโปรแกรมประมวลผลเสร็จสิ้น ผลลัพธ์จะถูกบันทึกเป็นไฟล์ CSV ในโฟลเดอร์ผลลัพธ์ที่คุณเลือก ไลบรารีนี้ยังให้การสนับสนุนการสกัดข้อมูลเมื่ออ่านภาพที่บิดเบือนเล็กน้อย ด้วยการปล่อยเวอร์ชันล่าสุด ไลบรารีได้ปรับปรุงอัลกอริทึมการค้นหาเส้นกริดและให้ผลลัพธ์ที่ดียิ่งขึ้นกับภาพของคุณ โดยสร้างกริดบนพื้นฐานของเครื่องหมายมุมสี่จุดแล้วอ่านบับเบิลจากตำแหน่งในกริด ตัวอย่างต่อไปนี้แสดงวิธีคำนวณผลลัพธ์ด้วยโค้ด Python

วิธีคำนวณผลลัพธ์ของแผ่นตอบแบบบับเบิลในการสอบโดยใช้ 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 เป็นการเพิ่มคุณค่าให้กับชุดเครื่องมือของผู้ปฏิบัติงานแมชชีนเลิร์นนิงที่ต้องการปรับปรุงประสิทธิภาพของโมเดลการจำแนกหลายคลาส กลไกการปฏิเสธเพิ่มความแม่นยำโดยรวมของโมเดลการจำแนกหลายคลาส โดยเฉพาะในสถานการณ์ที่โมเดลแบบดั้งเดิมอาจประสบปัญหา กลไกนี้ยังเพิ่มความทนทานของโมเดลโดยป้องกันไม่ให้ทำการพยากรณ์ที่ไม่เชื่อถือได้ ทำให้ได้ผลลัพธ์ที่น่าเชื่อถือมากขึ้นในสถานการณ์จริงที่หลากหลาย

 ไทย