To drugi odcinek naszej eksploracji uczenia maszynowego „bez kodu”. W naszym pierwszym artykuleprzedstawiliśmy nasz zestaw problemów i omówiliśmy dane, których użyjemy do sprawdzenia, czy wysoce zautomatyzowane narzędzie ML przeznaczone dla analityków biznesowych może zapewnić opłacalne wyniki zbliżone do jakości Więcej metod intensywnie korzystających z kodu Obejmuje trochę opartej na ludziach nauki o danych.
Jeśli nie czytałeś tego artykułu, przynajmniej wróć przejrzeć to. Jeśli wszystko jest gotowe, przejdźmy do tego, co zrobimy z danymi dotyczącymi zawału serca w „normalnych” (tj. najbardziej wymagających kodowaniu) warunkach uczenia maszynowego, a następnie zignoruj to wszystko i naciśnij przycisk „łatwy”.
Jak wspomniano wcześniej, pracujemy z zestawem danych dotyczących zdrowia serca zaczerpniętych z badania w Cleveland Clinic i Węgierskim Instytucie Kardiologii w Budapeszcie (oraz innych miejscach, których dane odrzuciliśmy ze względu na jakość). Wszystkie te dane są dostępne w magazyn Stworzyliśmy go na GitHubie, ale jego oryginalna forma jest częścią hurtownia danych Został utrzymywany dla projektów uczenia maszynowego przez University of California-Irvine. Używamy dwóch wersji zestawu danych: mniejszej, bardziej kompletnej wersji składającej się z 303 rekordów pacjentów z Cleveland Clinic oraz większej bazy danych (597 pacjentów), która zawiera dane HGI, ale brakuje w niej dwóch typów danych z mniejszego zestawu.
Wygląda na to, że dwa brakujące pola danych węgierskich mogą być ważne, ale same dane Cleveland Clinic mogą być zbyt małe dla niektórych aplikacji ML, więc spróbujemy objąć nasze podstawy.
plan
Mając pod ręką wiele zestawów danych do szkolenia i testowania, nadszedł czas, aby rozpocząć szlifowanie. Gdybyśmy robili to w sposób, w jaki zwykle robią naukowcy zajmujący się danymi (i tak, jak próbowaliśmy w zeszłym roku), to:
- Podziel dane na zbiór treningowy i zbiór testowy
- Użyj danych uczących z istniejącym typem algorytmu do zbudowania modelu
- Sprawdź model za pomocą zestawu testowego, aby zweryfikować jego dokładność
Możemy to wszystko zrobić, kodując go w notatniku Jupytera i modyfikując model, aż osiągniemy akceptowalną dokładność (tak jak w zeszłym roku, w cyklu wiecznym). Zamiast tego wypróbujemy najpierw dwie różne metody:
- Podejście „bez kodu” z Sagemaker Canvas AWS: Canvas bierze dane jako całość, automatycznie dzieli je na szkolenia i testy oraz generuje algorytm predykcyjny
- Kolejne podejście typu „brak/niski kod” przy użyciu Sagemaker Studio Jumpstart i AutoML: AutoML to wiele z tego, co kryje się za Canvas; Ocenia dane i wypróbowuje szereg różnych typów algorytmów, aby określić najlepszy
Zrobiwszy to, skorzystamy z jednej z wielu sprawdzonych w walce metod uczenia maszynowego, z którymi naukowcy danych już eksperymentowali z tym zestawem danych, a niektóre z nich zapewniają ponad 90-procentową dokładność.
Produktem końcowym tych metod powinien być algorytm, którego możemy użyć do uruchomienia zapytania predykcyjnego na podstawie punktów danych. Ale prawdziwym wynikiem będzie spojrzenie na kompromisy dla każdego podejścia pod względem czasu do zakończenia, dokładności i kosztu czasu obliczeniowego. (W naszym ostatnim teście, sam AutoML praktycznie zniszczył całe saldo kredytowe konta AWS.)