Kurz 1: Předpověď úvěrového rizika – Machine Learning Studio (classic)
PLATÍ PRO: Machine Learning Studio (Classic)
Azure Machine Learning
Důležité
Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.
Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).
- Přečtěte si informace o přesunu projektů strojového učení ze sady ML Studio (classic) do služby Azure Machine Learning.
- Další informace o službě Azure Machine Learning
Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.
V tomto kurzu se podíváme na proces vývoje řešení prediktivní analýzy. V nástroji Machine Learning Studio (classic) vyvíjíte jednoduchý model. Model pak nasadíte jako webovou službu Machine Learning. Tento nasazený model může vytvářet předpovědi pomocí nových dat. Tento kurz je první částí třídílné série kurzů.
Předpokládejme, že potřebujete předpovědět úvěrové riziko u jednotlivých zákazníků na základě údajů, které uvedli v žádosti o úvěr.
Posouzení úvěrového rizika je složitý problém, ale tento kurz ho trochu zjednoduší. Použijete ho jako příklad vytvoření řešení prediktivní analýzy pomocí nástroje Machine Learning Studio (classic). Pro toto řešení použijete aMachine Learning Studio (classic) a webovou službu Machine Learning.
V tomto třídílném kurzu začnete s veřejně dostupnými údaji o úvěrovém riziku. Pak vytvoříte a vytrénujete prediktivní model. Nakonec model nasadíte jako webovou službu.
V této části kurzu:
- Vytvoření pracovního prostoru Machine Learning Studio (Classic)
- Nahrání existujících dat
- Vytvoření experimentu
Tento experiment pak můžete použít k trénování modelů v části 2 a jejich nasazení v části 3.
V tomto kurzu se předpokládá, že jste aspoň jednou používali Machine Learning Studio (klasické) a že máte nějaké znalosti o konceptech strojového učení. Ale nepředpokládá, že jste odborníkem na žádné z nich.
Pokud jste nástroj Machine Learning Studio (classic) ještě nikdy nepoužívali, možná budete chtít začít s rychlým startem a vytvořit první experiment datových věd v nástroji Machine Learning Studio (classic). Průvodce rychlým startem vás poprvé provede sadou Machine Learning Studio (klasická). Ukáže vám základy toho, jak pomocí myši přetáhnout moduly do experimentu, vzájemně je propojit, spustit experiment a prohlédnout si výsledky.
Tip
Pracovní kopii experimentu, který vyvíjíte v tomto kurzu, najdete v galerii Azure AI. Přejděte na kurz – Predikce úvěrového rizika a klikněte na Otevřít ve Studiu, abyste stáhli kopii experimentu do pracovního prostoru Machine Learning Studio (classic).
Pokud chcete používat Machine Learning Studio (Classic), musíte mít pracovní prostor Machine Learning Studia (Classic). Tento pracovní prostor obsahuje nástroje potřebné k vytváření, správě a publikování experimentů.
Pokud chcete vytvořit pracovní prostor, přečtěte si téma Vytvoření a sdílení pracovního prostoru Machine Learning Studia (Classic).
Po vytvoření pracovního prostoru otevřete Machine Learning Studio (Classic).https://studio.azureml.net/Home Pokud máte více než jeden pracovní prostor, můžete pracovní prostor vybrat na panelu nástrojů v pravém horním rohu okna.
Tip
Pokud jste vlastníkem pracovního prostoru, můžete experimenty, na kterých pracujete, sdílet tak, že pozvete ostatní do pracovního prostoru. Můžete to udělat v nástroji Machine Learning Studio (classic) na stránce NASTAVENÍ . Potřebujete jenom účet Microsoft nebo účet organizace pro každého uživatele.
Na stránce NASTAVENÍ klikněte na UŽIVATELÉ a potom v dolní části okna klikněte na POZVAT DALŠÍ UŽIVATELE.
K vývoji prediktivního modelu pro úvěrové riziko potřebujete data, která můžete použít k trénování a testování modelu. Pro účely tohoto kurzu použijete sadu dat UCI Statlog (German Credit Data) z úložiště UC Irvine Machine Learning. Najdete ho tady:
https://archive.ics.uci.edu/ml/datasets/Statlog+(German+Credit+Data)
Použijete soubor s názvem german.data. Stáhněte si tento soubor na místní pevný disk.
Datová sada german.data obsahuje řádky 20 proměnných pro 1 000 minulých žadatelů o kredit. Tyto 20 proměnných představují sadu znaků datové sady (vektor znaků), která poskytuje identifikační charakteristiky pro každého žadatele o kredit. Další sloupec v každém řádku představuje vypočítané úvěrové riziko žadatele, přičemž 700 žadatelů je označeno jako nízké úvěrové riziko a 300 jako vysoké riziko.
Web UCI poskytuje popis atributů vektoru funkce pro tato data. Tato data zahrnují finanční informace, historii úvěru, stav zaměstnání a osobní údaje. Každému žadateli bylo uděleno binární hodnocení, které udává, zda se jedná o nízké nebo vysoké úvěrové riziko.
Tato data použijete k trénování modelu prediktivní analýzy. Jakmile budete hotovi, model by měl být schopný přijmout vektor funkce pro nového jednotlivce a předpovědět, jestli se jedná o nízké nebo vysoké úvěrové riziko.
Toto je zajímavý zvrat.
Popis datové sady na webu UCI uvádí, co stojí, pokud nesprávně klasifikujete úvěrové riziko osoby. Pokud model predikuje vysoké úvěrové riziko pro někoho, kdo je ve skutečnosti nízkým úvěrovým rizikem, model provedl chybnou klasifikaci.
Ale opačná nesprávná klasifikace je pro finanční instituci pětkrát nákladnější: pokud model predikuje nízké úvěrové riziko pro někoho, kdo je skutečně vysokým úvěrovým rizikem.
Proto chcete model vytrénovat tak, aby náklady na tento druhý typ chybné klasifikace byly pětkrát vyšší než chybné klasifikace jiným způsobem.
Jedním jednoduchým způsobem, jak to udělat při trénování modelu v experimentu, je duplikování (pětkrát) těchto položek, které představují někoho s vysokým úvěrovém rizikem.
Pokud pak model chybně klasifikuje někoho jako nízké úvěrové riziko, když je ve skutečnosti vysoké riziko, model provede stejné chybné klasifikace pětkrát, jednou pro každý duplikát. Tím se zvýší náklady na tuto chybu ve výsledcích trénování.
Původní datová sada používá formát oddělený mezerami. Machine Learning Studio (classic) funguje lépe se souborem s hodnotami oddělenými čárkami (CSV), takže datovou sadu převedete nahrazením mezer čárkami.
Existuje mnoho způsobů, jak tato data převést. Jedním ze způsobů je použití následujícího příkazu Windows PowerShellu:
cat german.data | %{$_ -replace " ",","} | sc german.csv
Dalším způsobem je použití příkazu Unix sed:
sed 's/ /,/g' german.data > german.csv
V obou případech jste v souboru s názvem german.csv vytvořili čárkami oddělenou verzi dat, kterou můžete použít v experimentu.
Po převodu dat do formátu CSV je potřeba je nahrát do nástroje Machine Learning Studio (classic).
Otevřete domovskou stránkuhttps://studio.azureml.net nástroje Machine Learning Studio (Classic).
Klikněte na nabídku
v levém horním rohu okna, klikněte na Azure Machine Learning, vyberte Studio a přihlaste se.
Klikněte na +NOVÝ v dolní části okna.
Vyberte DATOVOU SADU.
Vyberte Z MÍSTNÍHO SOUBORU.
V dialogovém okně Nahrát novou datovou sadu klikněte na Procházet a vyhledejte german.csv soubor, který jste vytvořili.
Zadejte název datové sady. Pro účely tohoto kurzu ji pojmenujte "UCI German Credit Card Data".
U datového typu vyberte Obecný soubor CSV bez záhlaví (.nh.csv).
Pokud chcete, přidejte popis.
Klikněte na značku zaškrtnutí OK .
Tím se data nahrají do modulu datové sady, který můžete použít v experimentu.
Datové sady, které jste nahráli do studia (classic), můžete spravovat tak , že kliknete na kartu DATASETS vlevo od okna Studia (Classic).
Další informace o importu dalších typů dat do experimentu najdete v tématu Import trénovacích dat do nástroje Machine Learning Studio (classic).
Dalším krokem v tomto kurzu je vytvoření experimentu v nástroji Machine Learning Studio (classic), který používá datovou sadu, kterou jste nahráli.
Ve Studiu (classic) klikněte v dolní části okna na +NOVÝ.
Vyberte EXPERIMENT a pak vyberte Prázdný experiment.
Vyberte výchozí název experimentu v horní části plátna a přejmenujte ho na něco smysluplného.
Tip
V podokně Vlastnosti je vhodné vyplnit souhrn a popis experimentu. Tyto vlastnosti vám umožní dokumentovat experiment tak, aby každý, kdo se na něj později podívá, porozuměl vašim cílům a metodologii.
Na paletě modulu vlevo od plátna experimentu rozbalte uložené datové sady.
Najděte datovou sadu, kterou jste vytvořili v části Moje datové sady , a přetáhněte ji na plátno. Datovou sadu můžete najít také zadáním názvu do vyhledávacího pole nad paletou.
Můžete zobrazit prvních 100 řádků dat a některé statistické informace pro celou datovou sadu: Klikněte na výstupní port datové sady (malý kruh dole) a vyberte Vizualizovat.
Vzhledem k tomu, že datový soubor nepřišel se záhlavími sloupců, poskytuje Studio (classic) obecné nadpisy (Col1, Col2 atd.). Dobré nadpisy nejsou pro vytvoření modelu nezbytné, ale usnadňují práci s daty v experimentu. Pokud tento model nakonec publikujete ve webové službě, nadpisy pomáhají identifikovat sloupce pro uživatele služby.
Záhlaví sloupců můžete přidat pomocí modulu Upravit metadata .
Pomocí modulu Upravit metadata můžete změnit metadata přidružená k datové sadě. V tomto případě ho použijete k zadání popisnějších názvů pro záhlaví sloupců.
Chcete-li použít upravit metadata, nejprve určíte, které sloupce se mají upravit (v tomto případě všechny.) Dále zadáte akci, která se má provést u těchto sloupců (v tomto případě se změní záhlaví sloupců.)
Do palety modulů zadejte do vyhledávacího pole "metadata". V seznamu modulů se zobrazí metadata pro úpravy.
Klikněte na plátno a přetáhněte modul Upravit metadata a přesuňte ho pod datovou sadu, kterou jste přidali dříve.
Připojte datovou sadu k upravit metadata: Klikněte na výstupní port datové sady (malý kruh v dolní části datové sady), přetáhněte na vstupní port Upravit metadata (malý kruh v horní části modulu) a uvolněte tlačítko myši. Datová sada a modul zůstanou propojené, i když přesunete kteroukoliv z nich na plátně.
Experiment by teď měl vypadat nějak takto:
Červená vykřičník označuje, že jste ještě nenastavili vlastnosti pro tento modul. Uděláte to za chvíli.
Tip
Kliknutím dvakrát na modul a zadáním textu je možné přidat k modulu komentář. To vám může pomoci rychle poznat, jaký je účel modulu v experimentu. V tomto případě poklikejte na modul Upravit metadata a zadejte komentář Přidat záhlaví sloupců. Kliknutím na libovolné místo na plátně zavřete textové pole. Pokud chcete komentář zobrazit, klikněte na šipku dolů v modulu.
Vyberte Upravit metadata a v podokně Vlastnosti napravo od plátna klikněte na Spustit selektor sloupců.
V dialogovém okně Vybrat sloupce vyberte všechny řádky v dostupných sloupcích a kliknutím > je přesuňte do vybraných sloupců. Dialogové okno by mělo vypadat takto:
Klikněte na značku zaškrtnutí OK .
Zpět v podokně Vlastnosti vyhledejte parametr New column names (Nové názvy sloupců). Do tohoto pole zadejte seznam názvů pro 21 sloupců v datové sadě oddělené čárkami a v pořadí sloupců. Názvy sloupců můžete získat z dokumentace k datové sadě na webu UCI, nebo můžete zkopírovat a vložit následující seznam:
Status of checking account, Duration in months, Credit history, Purpose, Credit amount, Savings account/bond, Present employment since, Installment rate in percentage of disposable income, Personal status and sex, Other debtors, Present residence since, Property, Age in years, Other installment plans, Housing, Number of existing credits, Job, Number of people providing maintenance for, Telephone, Foreign worker, Credit risk
Podokno Vlastnosti vypadá takto:
Tip
Pokud chcete ověřit záhlaví sloupců, spusťte experiment (klikněte na SPUSTIT pod plátnem experimentu). Po dokončení spuštění (zobrazí se zelená značka zaškrtnutí na Upravit metadata), klikněte na výstupní port modulu Upravit metadata a vyberte Vizualizovat. Výstup libovolného modulu můžete zobrazit stejným způsobem, jak zobrazit průběh dat v experimentu.
K trénování modelu a některých k jeho otestování potřebujete nějaká data. V dalším kroku experimentu tedy datovou sadu rozdělíte do dvou samostatných datových sad: jednu pro trénování našeho modelu a druhou pro testování.
K tomu použijete modul Rozdělit data .
Vyhledejte modul Split Data, přetáhněte ho na plátno a připojte ho k modulu Upravit metadata.
Ve výchozím nastavení je poměr rozdělení 0,5 a je nastaven parametr Randomized Split . To znamená, že náhodná polovina dat je výstupem přes jeden port modulu Split Data a polovina přes druhý. Tyto parametry a parametr Náhodné počáteční hodnoty můžete upravit tak, aby se změnilo rozdělení mezi trénovací a testovací data. V tomto příkladu je necháte tak, jak jsou.
Tip
Vlastnost Zlomek řádků v první výstupní datové sadě určuje, kolik dat je vyvedeno skrz levý výstupní port. Pokud například nastavíte poměr na hodnotu 0,7, bude výstupem 70 % dat levým portem a 30 % přes pravý port.
Poklikejte na modul Rozdělit data a zadejte komentář „rozdělení trénovacích/testovacích dat 50 %“.
Můžete libovolně použít výstupy modulu Rozdělit data, ale pojďme se rozhodnout použít levý výstup jako trénovací data a pravý výstup jako testovací data.
Jak už bylo zmíněno v předchozím kroku, náklady na nesprávnou klasifikaci vysokého úvěrového rizika jako nízké jsou pětkrát vyšší než náklady na chybné klasifikaci nízkého úvěrového rizika jako vysoké. Aby se to zohlednilo, vygenerujete novou datovou sadu, která odráží tuto nákladovou funkci. V nové datové sadě se každý příklad s vysokým rizikem replikuje pětkrát, zatímco každý příklad s nízkým rizikem se nereplikuje.
Tuto replikaci můžete provést pomocí kódu R:
Najděte a přetáhněte modul Execute R Script na plátno experimentu.
Připojte levý výstupní port modulu Split Data k prvnímu vstupnímu portu ("Dataset1") modulu Execute R Script .
Poklikejte na modul Spustit R skript a zadejte komentář "Nastavte úpravu nákladů".
V podokně Vlastnosti odstraňte výchozí text v parametru skriptu jazyka R a zadejte tento skript:
dataset1 <- maml.mapInputPort(1) data.set<-dataset1[dataset1[,21]==1,] pos<-dataset1[dataset1[,21]==2,] for (i in 1:5) data.set<-rbind(data.set,pos) maml.mapOutputPort("data.set")
Pro každý výstup modulu Split Data je potřeba provést stejnou operaci replikace, aby trénovací a testovací data měla stejnou úpravu nákladů. Nejjednodušším způsobem, jak to udělat, je duplikováním modulu Execute R Script , který jste právě vytvořili a připojili k dalšímu výstupnímu portu modulu Split Data .
Klikněte pravým tlačítkem na modul Spustit skript jazyka R a vyberte Kopírovat.
Klikněte pravým tlačítkem myši na plátno experimentu a vyberte Vložit.
Přetáhněte nový modul na pozici a připojte správný výstupní port modulu Split Data k prvnímu vstupnímu portu tohoto nového modulu Execute R Script .
V dolní části plátna klikněte na Spustit.
Tip
Kopie modulu Execute R Script obsahuje stejný skript jako původní modul. Když zkopírujete a vložíte modul na plátno, kopie zachová všechny vlastnosti originálu.
Náš experiment teď vypadá nějak takto:
Další informace o používání skriptů jazyka R v experimentech najdete v tématu Rozšíření experimentu pomocí jazyka R.
Pokud už prostředky vytvořené pomocí tohoto článku nepotřebujete, odstraňte je, abyste se vyhnuli poplatkům. Přečtěte si, jak v článku exportovat a odstranit uživatelská data v produktu.
V tomto kurzu jste dokončili tyto kroky:
- Vytvoření pracovního prostoru Machine Learning Studio (Classic)
- Nahrání existujících dat do pracovního prostoru
- Vytvoření experimentu
Teď jste připraveni trénovat a vyhodnocovat modely pro tato data.