Data Mining vs. Machine Learning

V dnešním článku náš host Jiří Neoral přiblíží rozdíl mezi data miningem a machine learningem.

Martin


Součástí Analytických služeb SQL Serveru je již po několik verzí Data Mining (od 2000). Azure Machine Learning je na druhou stranu pro veřejnost poměrně nová záležitost (z preview verze se překlenulo na začátku roku 2015). Nabízí se tedy několik otázek. Jaký je vlastně rozdíl mezi Data Miningem a Machine Learningem? Není Azure Machine Learning jen nový marketingový název pro starý Data Mining převlečený do Azure? K čemu by tahle technologie mohla být dobrá a bude mi k něčemu i když nejsem datový věděc?

Na začátek pojmy.

Machine Learning (ML)

Machine Learning je definován jako technologie, které používá prediktivní modely, které se učí z dat za účelem předvídat budoucí chování, výstupy, trendy. Jiná definice by mohla znít, že se jedná o: "Počítačové systémy, které se stávají chytřejší na základě předchozí zkušenosti." Kde zkušenost může být brána z historických dat, nebo lidských vstupů. Jedná se o procesy, kde stroj je schopen získávat informace automaticky.

Data Mining (DM)

Data Mining je pokročilá statistická analýza dat, která zkoumá historická data za účelem objevení korelací a vazeb mezi nimi. Jedná se ale spíše o proces ve kterém je zapojen člověk, jenž využívá stroj a algoritmy coby pomůcku k dosažení podobných cílů jako v případě ML.

Rozdíl tedy spočívá v tom, že DM vyžaduje interakci člověka, který doluje. ML by se měl být schopen učit sám bez interakce

V jakých oblastech se DM, ML používají a jaké jsou scénáře použití

  • Prodej a marketing
    • forecasting prodejů
    • forecasting poptávky
    • cílená reklama
  • Finance a risk management
  • Segmentace zákazníků
  • Doporučení zboží
  • Fraud detection (odhalování podvodů)
  • Předpověd počasí
  • Analýza lidské řeči
    • sentiment analýza spokojenosti zákazníků
    • detekece SPAMu
  • a další.

Jak to funguje z technického pohledu?

Data Mining v rámci SQL Serveru

Data Miningová funkčnost je součástí analytických služeb SQL Serveru. Analytické služby (SSAS) musí být nainstalované v multidimenzionálním provedení. Tabulární model data miningovou funkčnost v sobě neobsahuje (to by se ale dalo řešit dvěmi instancemi). Tvorba data miningového řešení probíhá Visual Studio v rámci Multidimenzionálního projektu Analysis Services.

Základem je data miningová struktura, skládající se z case tabulky a nastaveného algoritmu (modelu). Procesem tvorby vás provede průvodce, který vám umožní algoritmus nastavit základní parametry modelu. Parametry můžete ještě drobně doladit ve Visual Studiu. Datový analytik by mohl místo Visual Studia raději sáhnout po data miningovém doplňku do Excelu. Nicméně pořád by pro plnou funkčnost potřeboval SSAS. Algoritmy jsou pevně dány, stejně jako parametry, které se dají nastavit. Tím pádem můžete narazit na omezení jak v algoritmech, tak parametrech. DM v SQL Serveru je svým způsobem černá skříňka, jejíž výstupy jste schopni ovlivnit vstupními parametry, ale nad tím co se děje vevnitř nemáte plnou kontrolu. Obrázek zobrazuje seznam dostupných algoritmů

clip_image002

Automatické trénování modelů by se dalo provádět přes SQL Server Integration Services, dotazy do modelů přes jazyk DMX (Data Mining eXtensions – rozšíření SQL o Data Mining), vizualizace přes SQL Server Reporting Services.

Azure ML klíčové vlastnosti

Azure Machine learning je služba v MS Azure. Oproti SQL Server Data Miningu nebudeme potřebovat SQL Server, stačí nám Azure Subscription a libovolný internetový prohlížeč. Při tvorbě řešení se začíná tvorbou Machine Learning Workspace v Azure Portálu https://manage.windowsazure.com/ Když ML Workspace hotov, můžeme se přihlásit do ML Studia, které najdeme na adrese https://studio.azureml.net Zde se tvoří Experimenty. Experiment můžeme tvořit nad demo daty, nebo daty vlastními. Data můžeme importovat jako csv, textový soubor, načíst z databáze, nebo jiných podporovaných zdrojů. Proces analýzy dat máme možnost ovlivnit od začátku do konce transformacemi, nebo i vlastními skripty (R nebo Python). Experiment se dá vypublikovat jako webová služba a k této můžeme přistupovat z externích aplikací.

Tvorba experimentu

Když klikneme na velké plusko, vyskočí na nás možnost tvořit Experimenty, Datasety, Moduly. Když se podíváme na Experimenty je tu solidní základna ukázek. Najdeme zde například aplikace jako je sentiment analýza tweetů (o sentiment analýze přes PowerBI jsem psal zde https://www.neoral.cz/2015/06/sentiment-analyza-pres-powerbi.html), příklady z analýzy retailu, fraud detection, doporučení restaurací, filmů a mnohé další. Pokud by Vám pro inspiraci nestačily ukázky od Microsoftu, můžete kouknout do galerie na tvorbu komunity https://gallery.azureml.net/ Pro milovníky vína je zde například „Wine quality predictor“ Takže až při dlouhých teplých letních večerech nebudete vědět co dělat, můžete se věnovat Machine Learningu :)

Tvorba nového experimentu připomíná SQL Server Integration Services. Do prázdné plochy experimentu můžeme drag & drop přetahovat datasety, transformace, moduly a tyto mezi sebou spojovat a konfigurovat. Mezi úlohamy je možno vybrat i vlastní skripty. Na závěr jde vypublikovat experiment jako webovou službu s vstupními a výstupními parametry. Webovou službu poté může volat aplikace a tímto ML využívat. Na videu je možno se podívat na tvorbu experimentu pro doporučení filmů https://youtu.be/5AAxrjbVtCg

Závěr

Data Mining i Machine Learning můžou být použity k obdobným účelům, jinými nástroji. Data mining je závislý na SQL Serveru a nad fungováním nemáme 100% kontrolu. Proti tomu Machine Learning posouvá hranice a hlavně dostupnost analýzy zase o něco dál. Jako největší přednosti Machine Learningu spatřuji. Nenáročnost – jediné co potřebujete pro tvorbu jsou Azure subscription a internetový prohlížeč. Rozšiřitelnost – můžete vystačit s “klikacími” komponentami, ale můžete psát pro analýzy dat vlastní skripty. Svůj výtvor můžete vystavit jako webovou službu a tuto volat z aplikace. Tedy pokud jste datový věděc, umíte psát R skripty a vytvořit řešení , které bude užitečné pro širší spektrum lidí. Vystavte svůj výtvor a vydělejte na něm peníze. Nejste datový věděc? Přesto můžete používat výtvory jiných. To dělá z Machine Learningu technologii dostupnou pro všechny.

Další zdroje informací

Jiří Neoral (www.neoral.cz)