1. Ürün:% s
  2.   OMR
  3.   Python
  4.   Open-MCR
 
  

Açık Kaynak Python Çoktan Seçmeli Sınav Okuyucu API

Ücretsiz Python Çoktan Seçmeli Sınav Okuyucu API'si, Yazılım Geliştiricilerin Python API aracılığıyla sınav kağıtları, tarayıcılar ve işleme yazılımları oluşturmasını sağlar.

Open-MCR Kütüphanesi nedir?

Open-MCR adlı sağlam bir Python paketi, Çok Kanallı Konvolüsyonel Tekrarlayan Sinir Ağlarını (MCRNN'ler) daha kolay dağıtmak için oluşturuldu. Yetenekli programcı Ian San tarafından yaratılan bu açık kaynak projesi, akademisyenlere ve geliştiricilere konuşma tanıma, video analizi ve çeşitli zaman serisi uygulamaları gibi görevler için çok yönlü ve etkili bir çerçeve sunar. Projelerinizde kullanmak, daha güvenilir ve doğru model tahminleri elde etmenizi sağlar; bu da makine öğreniminin çeşitli alanlarda gelişmesine katkıda bulunur. Open-MCR kütüphanesi kullanım kolaylığı düşünülerek tasarlandı. Kapsamlı belgeleri ve örnekleri sayesinde kütüphane, yeni başlayanlar ve deneyimli uygulayıcılar için erişilebilir durumdadır.

Makine öğreniminde, Çoklu Sınıf Sınıflandırması (MCC) önceden belirlenmiş sınıflardan bir diziye göre bir girdiyi kategorize etmeyi amaçlayan popüler bir görevdir. Reddetme seçeneği ekleyerek, Open-MCR bir adım daha ileri gidiyor ve modelin belirsiz olduğunda tahmin üretmeyi bırakmasını sağlıyor. Bu, genel performansı artırır ve özellikle modelin güven düzeyi düşük olduğunda faydalıdır. Temelde, Open-MCR, hem konvolüsyonel hem de tekrarlayan sinir ağlarının avantajlarını kullanarak sıralı girdileri işler ve anlar. Çok kanallı tasarımları sayesinde, karmaşık desenleri ve bağlantıları tanıma kapasitesini artıran esnek bir araçtır ve çeşitli uygulamalar için uygundur. Kullanıcılar, basit uygulaması sayesinde kütüphaneyi uygulamalarına hızlıca entegre edebilir. Kütüphane, sıralı veri işleme ve derin öğrenme alanlarını önemli ölçüde ilerletmeye konumlanmıştır ve geliştikçe daha da ilerleyecektir.

Previous Next

Open-MCR ile Başlarken

Open-MCR kütüphanesini kurmanın önerilen yolu pip kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın.

Open-MCR Kütüphanesini pip ile kurun

 pip install open-mcr 

Kütüphaneyi doğrudan GitHub üzerinden indirebilirsiniz.

Python Uygulamalarında Red Mekanizmasını Kullanma

Open-MCR'nin öne çıkan özelliği, belirsiz veya zor örneklerle karşılaşıldığında modellerin tahmin yapmayı reddetmesini sağlayan reddetme mekanizmasıdır. Bu yetenek, hatalı tahminlerden kaçınmanın hayati öneme sahip olduğu gerçek dünya uygulamalarında kritik önemdedir. İşte sadece birkaç satır kodla reddetme mekanizmasının nasıl kullanılacağını gösteren bir örnek. Sorunsuz bir kullanım için, önce kütüphaneden OpenMCR sınıfını içe aktarın ve tercih ettiğiniz makine öğrenimi modeliyle başlatın. Reddetme için güven seviyesi kontrolünü ayarlamak üzere `rejection_threshold` parametresini belirleyin.

Python Uygulamalarında Red Mekanizması Nasıl Kullanılır?

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 aracılığıyla Görüntülerden Veri Okuma ve Çıkarma

Open-MCR açık kaynak Python kütüphanesi, Python uygulamaları içinde görüntülerden veri yükleme ve okuma konusunda tam destek sağlamıştır. Sınavları ve cevap kağıtlarını işlemek için, kullanıcıların önce tüm kağıtları standart bir tarayıcıyla taramaları gerekir. Bunları ayrı ayrı görüntülere dönüştürüp cevap anahtarları dahil tek bir klasöre yerleştirin. Taranan görüntüleri okumanın yanı sıra, sınav sonuçlarını otomatik olarak puanlayabilir. Bunu, sağlanan anahtarları çıktıyla karşılaştırarak yapar. Program işleme işlemini tamamladıktan sonra, sonuçlar seçtiğiniz çıktı klasöründe CSV dosyaları olarak kaydedilir. Kütüphane ayrıca hafifçe bozulmuş görüntüleri okurken veri çıkarma desteği de sağlamıştır. En son sürümde kütüphane, ızgara bulma algoritmasını geliştirdi ve görüntünüzle daha iyi sonuçlar alır. Dört köşe işaretine dayalı bir ızgara oluşturur ve ardından ızgaradaki konumlardan balonları okur. Aşağıdaki örnek, Python kodu ile sonuçların nasıl hesaplanacağını gösterir.

Python API Kullanarak Sınav Balon Kağıdı Sonuçları Nasıl Hesaplanır?

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

Geliştirilmiş Doğruluk ve Dayanıklılık

Açık kaynak Open-MCR kütüphanesi, çok sınıflı sınıflandırma modellerinin performansını artırmak isteyen makine öğrenimi uygulayıcılarının araç setine değerli bir ek olarak hizmet verir. Reddetme mekanizması, özellikle geleneksel modellerin zorlanabileceği durumlarda, çok sınıflı sınıflandırma modellerinin genel doğruluğunu artırır. Bu mekanizma ayrıca modeli güvenilmez tahminler yapmaktan alıkoyarak dayanıklılığını artırır ve çeşitli gerçek dünya senaryolarında daha güvenilir sonuçlar sağlar.

 Türkçe