API otwartego czytnika testów wielokrotnego wyboru w Pythonie
Darmowe API czytnika testów wielokrotnego wyboru w Pythonie, które umożliwia programistom generowanie arkuszy egzaminacyjnych, skanerów i oprogramowania przetwarzającego za pośrednictwem API Pythona.
Czym jest biblioteka Open-MCR?
Stworzono solidny pakiet Pythona o nazwie Open-MCR, aby ułatwić wdrażanie wielokanałowych konwolucyjnych rekurencyjnych sieci neuronowych (MCRNN). Ten projekt open-source, opracowany przez utalentowanego programistę Iana Sana, oferuje naukowcom i deweloperom wszechstronne i skuteczne ramy do zadań takich jak rozpoznawanie mowy, analiza wideo oraz różne zastosowania szeregów czasowych. Korzystanie z niego w projektach może przynieść bardziej niezawodne i dokładne prognozy modeli, co ostatecznie przyczyni się do rozwoju uczenia maszynowego w wielu dziedzinach. Biblioteka Open-MCR została zaprojektowana z myślą o łatwości użycia. Biblioteka jest dostępna zarówno dla początkujących, jak i doświadczonych praktyków dzięki obszernej dokumentacji i przykładom.
W uczeniu maszynowym klasyfikacja wieloklasowa (MCC) jest popularnym zadaniem, w którym celem jest przyporządkowanie wejścia do jednej z wcześniej określonych klas. Dodając opcję odrzucenia, Open-MCR idzie o krok dalej i umożliwia modelowi pominięcie generowania prognozy w przypadkach, gdy jest to niejasne. Poprawia to ogólną wydajność i jest szczególnie pomocne w sytuacjach, gdy poziom pewności modelu jest niski. Zasadniczo Open-MCR przetwarza i rozumie sekwencyjne dane, wykorzystując zalety zarówno sieci konwolucyjnych, jak i rekurencyjnych. Model jest elastycznym narzędziem do różnych zastosowań dzięki projektom wielokanałowym, które zwiększają jego zdolność do wykrywania złożonych wzorców i powiązań. Użytkownicy mogą szybko włączyć bibliotekę do swoich aplikacji dzięki prostemu wdrożeniu. Biblioteka jest gotowa, aby znacząco rozwijać dziedziny przetwarzania danych sekwencyjnych i uczenia głębokiego w miarę dalszego rozwoju.
Rozpoczęcie pracy z Open-MCR
Zalecanym sposobem instalacji biblioteki Open-MCR jest użycie pip. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację.
Zainstaluj bibliotekę Open-MCR za pomocą pip
pip install open-mcr Możesz pobrać bibliotekę bezpośrednio z GitHub
Użycie mechanizmu odrzucania w aplikacjach Python
Wyjątkową cechą Open-MCR jest mechanizm odrzucania, który umożliwia modelom odmowę dokonania prognozy w przypadku niejednoznacznych lub trudnych przypadków. Ta możliwość jest kluczowa w rzeczywistych zastosowaniach, gdzie unikanie błędnych prognoz ma ogromne znaczenie. Oto przykład, który pokazuje, jak używać mechanizmu odrzucania przy użyciu zaledwie kilku linii kodu. Aby zapewnić płynne korzystanie, najpierw zaimportuj klasę OpenMCR z biblioteki i zainicjalizuj ją swoim preferowanym modelem uczenia maszynowego. Ustaw parametr rejection_threshold, aby kontrolować poziom pewności wymaganego odrzucenia.
Jak używać mechanizmu odrzucania w aplikacjach 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)
Odczyt i wyodrębnianie danych z obrazów za pomocą API Pythona
Biblioteka open source Open-MCR w języku Python zapewnia pełne wsparcie w ładowaniu i odczytywaniu danych z obrazów w aplikacjach Python. Aby obsługiwać egzaminy i odczytywać arkusze, najpierw użytkownicy muszą zeskanować wszystkie arkusze przy użyciu standardowego skanera. Konwertuj je na pojedyncze obrazy i umieść w jednym folderze, w tym klucze odpowiedzi. Oprócz odczytywania zeskanowanych obrazów, może także automatycznie oceniać wyniki egzaminu. Robi to, porównując podane klucze z wynikami. Po zakończeniu przetwarzania program zapisze wyniki jako pliki CSV w wybranym folderze wyjściowym. Biblioteka zapewnia również wsparcie przy wyodrębnianiu danych z nieco zniekształconych obrazów. W najnowszej wersji biblioteka ulepszyła algorytm znajdowania siatki i uzyskuje lepsze wyniki z Twoim obrazem. Tworzy siatkę na podstawie czterech znaków narożnych, a następnie odczytuje bąbelki z lokalizacji w siatce. Poniższy przykład pokazuje, jak obliczyć wyniki za pomocą kodu Python.
Jak obliczyć wyniki arkusza odpowiedzi egzaminacyjnych przy użyciu API Pythona?
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
Zwiększona dokładność i odporność
Biblioteka open source Open-MCR jest cennym dodatkiem do zestawu narzędzi praktyków uczenia maszynowego, którzy dążą do zwiększenia wydajności swoich modeli klasyfikacji wieloklasowej. Mechanizm odrzucania zwiększa ogólną dokładność modeli klasyfikacji wieloklasowej, szczególnie w sytuacjach, w których tradycyjne modele mogą mieć trudności. Mechanizm ten zwiększa również odporność modelu, zapobiegając generowaniu niepewnych prognoz, co zapewnia bardziej niezawodne wyniki w różnorodnych scenariuszach rzeczywistych.