openText pokyny pro platformu Vertica Analytics

Nasaďte strojové učení pro novou rychlost a rozsah podnikání

Vestavěné do jádra Vertical – není třeba instalovat samostatné balíčky – strojové učení v databázi podporuje celý proces prediktivní analýzy s masivně paralelním zpracováním a známým rozhraním SQL nebo Python, což umožňuje datovým vědcům a analytikům používat všechna svá data k urychlení obchodních výsledků bez limity nebo kompromisy.

In-databázové strojové učení Vertica vám umožňuje využít sílu velkých dat a urychlit obchodní výsledky bez omezení a kompromisů.

Účel tohoto pozičního dokumentu

Se stále narůstajícím objemem, rychlostí a rozmanitostí dat je pro organizace těžší než kdy dříve odhalit kritické skryté poznatky obsažené v jejich datech a poté vytvořit konkurenční diferenciaci za účelem zvýšení ziskovosti. Tento poziční dokument zkoumá nový přístup, který mohou vědci a analytici BI využít při využívání dat pro postřehy měnící hru, a vysvětluje, jak strojové učení v databázi v OpenText™ Vertica eliminuje omezení analýzy malého rozsahu při aplikaci na extrémně velké nebo vysokorychlostní datové sady pro nejvyšší možnou přesnost při bleskových rychlostech. Kromě toho vysvětluje, jak jedinečné výhody komplexního in-databázového strojového učení Vertica doplňují a rozšiřují možnosti tradičních nástrojů, včetně C++, Java, Python, Jupyter a R.

"Vertica nám umožňuje analyzovat velmi velké soubory strukturovaných, polostrukturovaných a nestrukturovaných dat v reálném čase."

DR. CHECHEN CHOOSER Chief Strategy Officer Inzerát

Strojové učení: konkurenční výhodatage

V dnešním světě založeném na datech vytváříme konkurenční výhodutagZávisí na vaší schopnosti rychle transformovat obrovské objemy dat na smysluplné poznatky a na základě těchto poznatků jednat. Společnosti, které používají pokročilou analýzu a strojové učení, mají dvakrát vyšší pravděpodobnost, že budou nejlepšími finančními výkony, a třikrát vyšší pravděpodobnost, že provedou efektivní rozhodnutí.1 88 % společností očekává zvýšení rychlosti inovací v důsledku používání umělé inteligence ( AI)a strojové učení (ML).2

Bohužel obrovský nárůst rychlosti, objemu a rozmanitosti dat současně zvýšil složitost vytváření prediktivních modelů. Nástroje strojového učení příliš často nedokážou zpracovat potřebné soubory dat při moderní rychlosti a rozsahu podnikání nebo vyžadují obrovské investice do času kvalifikovaných lidí, aby dosáhli těch nejjednodušších cílů. In-databázové strojové učení Vertica vám umožňuje urychlit obchodní výsledky bez omezení a kompromisů.

  1. Vytváření hodnoty prostřednictvím pokročilé analýzy.“ Bain & Company, únor 2015
  2. EMA, červen, 2020 – www.vertica.com/resource/the-race-for-a-unifiedanalytics-warehouse/

Co je strojové učení?

Strojové učení je matematický způsob identifikace vzorců a vztahů v datech, který lze použít k predikci nových hodnot. Strojové učení poskytuje důkladné pochopení mnoha základních aspektů podnikání. NapřampSpolečnost může využívat vzorce chování zákazníků k personalizaci zákaznického zážitku, zabránění odlivu, odhalování podvodů a zvýšení zisku.

To vytváří zásadní posun ve způsobu, jakým podniky fungují – od reaktivního k proaktivnímu. Strojové učení pomáhá datovým vědcům a analytikům odhalit cenné poznatky z obrovských, obtížně pochopitelných souborů dat. Tyto poznatky umožňují informovanější rozhodování.

Abychom však získali plnou hodnotu všech dostupných dat, musíme změnit měřítko a rychlost přípravy dat pro algoritmy ML a trénovat, nasazovat a spravovat modely ML. Objemy dat jsou příliš velké na to, aby je zvládlo mnoho nástrojů pro datovou vědu a strojové učení, a vztahy mezi různými zdroji dat – od zákaznických databází typu back-end po chování click-stream nebo protokoly senzorů – jsou pro běžné nástroje business intelligence příliš složité.

Databázové nástroje strojového učení Vertica osvobozují datové vědce od omezení tradičních přístupů a zvyšují přesnost modelu tím, že umožňují datovým vědcům objevovat a zobrazovat vzory skryté ve stále větších souborech dat. Přesnější předpovědi lze proměnit v lepší služby zákazníkům, vynikající produkty, zkrácení prostojů, vyšší ziskovou marži a celkovou konkurenční výhodutage v mnoha průmyslových odvětvích.

„S vysokorychlostní analytikou od Vertica můžeme vyladit naše webstránky inteligentně, abyste si udrželi náskok před ostatními hráči na trhu.“

IDAN ZALZBERG CTO Agoda

Překážky aplikace strojového učení ve velkém měřítku

Existuje několik problémů, pokud jde o aplikaci strojového učení na obrovské objemy dat, která organizace shromažďují a ukládají. Navzdory složitosti prediktivní analýzy očekávají dnešní lídři obchodní statistiky ve stále kratších časových rámcích. Mnoho algoritmů strojového učení však nebylo navrženo pro distribuované zpracování, což je jediný způsob, jak zpracovat více dat rychleji. Algoritmy a funkce pro průzkum a přípravu dat, které je podporují, musí být účelově vytvořeny tak, abytage moderních distribuovaných a paralelních motorů.

Tradičně museli datoví vědci vytvářet a ladit modely pouze pomocí malých podmnožin dat (down-sampling).

To často vede k nepřesnostem, zpožděním, zvýšeným nákladům na nasazení a obecně pomalejšímu přístupu ke kritickým informacím:

  • Pomalejší vývoj: Zpoždění při přesunu velkých objemů dat mezi systémy zvyšuje množství času, který vědci stráví vytvářením prediktivních analytických modelů, což zpožďuje čas potřebný k dosažení hodnoty.
  • Nepřesné předpovědi: Je známou skutečností strojového učení, že více dat vede k větší přesnosti. Dokonce trumfuje lepší algoritmus. Vzhledem k tomu, že velké soubory dat nelze zpracovávat tradičními metodami, kvůli paměťovým a výpočetním omezením se k trénování modelů často používá pouze podmnožina dat, což snižuje přesnost následných poznatků a ohrožuje veškerá obchodní rozhodnutí založená na těchto poznatcích.
  • Zpožděné nasazení: Vzhledem k rozdílům ve vývojových a produkčních datových prostředích je nasazení prediktivních modelů do výroby často pomalé a zdlouhavé a někdy vyžaduje přestavět vše od nuly v jiné technologii. To ohrožuje úspěch rozsáhlých analytických iniciativ a výrazně prodlužuje dobu potřebnou k výrobě.
  • Zvýšené náklady: K přesunu dat, vytváření duplicitních prediktivních modelů a jejich spouštění na více platformách k dosažení požadovaných výsledků je zapotřebí další hardware, softwarové nástroje a prostředky pro správce a vývojáře.

Vertica je od základu postavena tak, aby zvládala obrovské objemy dat, a řeší problémy analýzy velkých dat pomocí vyváženého, ​​distribuovaného, ​​komprimovaného, ​​sloupcového paradigmatu.

Stejně jako banka bez databází nemůže konkurovat bance, která je má, společnost bez strojového učení nemůže držet krok s těmi, které je používají.

Vertica Analytics Platform poskytuje prediktivní analýzu rychlostí a rozsahem

Vertica, postavená od základů tak, aby zvládla obrovské objemy dat, řeší výzvy analýzy velkých dat pomocí vyváženého, ​​distribuovaného, ​​komprimovaného, ​​sloupcového paradigmatu. Vertica zahrnuje mnoho z nejběžněji používaných algoritmů strojového učení a přípravy, průzkumu a modelu dat. vyhodnocovací funkce již optimalizované pro distribuované systémy a spravuje modely jako prvotřídní občané. Platforma Vertica Analytics odstraňuje nebo minimalizuje některé překážky při uplatňování ML ve velkém měřítku.

Masivně paralelní zpracování umožňuje zpracování dat v měřítku petabajtů nebo dokonce exabajtů pro vaše nejnáročnější případy použití. Funkce sloupcového úložiště poskytují kompresi dat a zkracují dobu analytických dotazů z hodin na minuty nebo minuty na sekundy ve srovnání se staršími technologiemi. Kromě toho Vertica jako plnohodnotný analytický systém poskytuje pokročilé analýzy založené na SQL, včetně porovnávání vzorů, geoprostorové analýzy, časových řad a mnoha dalších funkcí, vše vestavěné.

Jako optimalizovaná platforma umožňující pokročilé prediktivní modelování, které lze spouštět z databáze a napříč velkými datovými sadami, Vertica eliminuje potřebu duplikace a zpracování dat na alternativních platformách, které obvykle vyžadují nabídky od více dodavatelů – což zvyšuje složitost a náklady. Stejnou rychlost, rozsah a výkon, jaké se používají pro analýzy Business Intelligence (BI), lze použít na prediktivní analýzy založené na strojovém učení.

"Vzhledem k tomu, že Vertica je tak škálovatelná, můžeme se dotazovat na neomezené množství historických dat bez nutnosti předběžné agregace."

YAACOVBEN-YAACOV Zakladatel a CEO Catch Media

Implementace strojového učení pomocí platformy Vertica Analytics

Strojové učení je nejúčinnější, když je aplikováno na velmi velké datové sady, a proto se přirozeně hodí pro Vertica, která je navržena pro velká data. Ve Vertica existují tři hlavní způsoby nasazení schopností strojového učení: algoritmy strojového učení Vertica v databázi, uživatelsky definovaná rozšíření (UDxs) a import externích modelů strojového učení prostřednictvím PMML (Predictive Model Markup Language) nebo formátu grafu Frozen společnosti TensorFlow.

Strojové učení v databázi

Vertica poskytuje v databázi algoritmy strojového učení, včetně některých z nejpopulárnějších, které lze trénovat, vyhodnocovat a nasazovat nativně na velkých souborech dat, což usnadňuje rozhodování. Algoritmy strojového učení v databázi, které jsou zabudovány do jádra Vertica – bez nutnosti stahovat a instalovat samostatné balíčky – poskytují:

  • Škálovatelnost: Zatímco většina externích nástrojů, jako je R a Python, má omezení velikosti datové sady, kterou dokáže zpracovat – nutí uživatele, abyample—In-databázové strojové učení Verticy má pokroktage z větších datových souborů podporovaných pro poskytování přesnějších přehledů.
  • Jednoduchost: Nativní vysokorychlostní paralelní zpracování dat, příprava dat a možnosti správy modelů společnosti Vertica pokrývají celý životní cyklus dolování dat, což eliminuje potřebu exportovat a načítat data do jiného nástroje pro průzkum nebo přípravu. Kromě toho mohou uživatelé trénovat, testovat a nasazovat modely strojového učení pomocí známého rozhraní SQL nebo Jupyter a Python. To urychluje produktivitu, snižuje čas potřebný k dosažení hodnoty a rozšiřuje potenciální uživatelskou základnu.
  • Rychlost: In-databázové strojové učení Vertica urychluje trénování a predikci modelů tím, že rozděluje pracovní zátěž napříč architekturou Vertica s masivně paralelním zpracováním (MPP), včetně použití více uzlů v clusteru, a rozděluje pracovní zátěž pro rychlejší výpočty v případě potřeby.

Vertica poskytuje několik funkcí strojového učení pro provádění prediktivní analýzy v databázi na velkých souborech dat pro zvýšení přesnosti předpovědí a urychlení přístupu ke skrytým poznatkům.

Funkce strojového učení v databázi

Vertica poskytuje mnoho vestavěných funkcí strojového učení pro provádění v databázové prediktivní analýze na velkých souborech dat. Některé z hlavních případů použití aplikací strojového učení se točí kolem klasifikace, shlukování a predikce. Vestavěné algoritmy strojového učení Vertica pokrývají všechny tyto oblasti mimo jiné pomocí k-průměrů, půlených k-průměrů, lineární regrese, logistické regrese, podpůrných vektorových strojů, náhodného lesa, XGBoost, izolačního lesa a naivních Bayes.

End-to-End proces strojového učení na jednom místě
Vertica podporuje celý proces strojového učení od přípravy dat až po hodnocení modelu a nasazení. Uživatelé mohou připravit data s funkcemi pro normalizaci, detekci odlehlých hodnot, hledání korelací atdampling, nevyvážené zpracování dat, chybějící imputace hodnoty a další. Rychlé spojování nesourodých datových sad je běžnou součástí databázových operací, což výrazně zkracuje dobu přípravy dat.

Modely strojového učení lze trénovat a testovat na masivních souborech dat a poté je vyhodnocovat pomocí statistik na úrovni modelu, jako jsou ROC křivky a matoucí matice. To vše se provádí pomocí jednoduchého rozhraní SQL, které nevyžaduje specializované znalosti programování a urychluje produktivitu týmu

„Původně jsme si vybrali Verticu kvůli jejímu vynikajícímu výkonu a rychlosti dotazování, ale nyní si uvědomujeme, že toho můžeme udělat mnohem víc. Schopnosti strojového učení Vertica nám pomohou analyzovat výkon sítě, předvídat kapacitní omezení a zajistit našim zákazníkům nejlepší kvalitu služeb.“

ALPHONSO LARA
ředitel IT
Max com Telekomunikace

„Vertica umožňuje hloubkovou analýzu, kterou naše produktové týmy používají, aby zajistily, že bude dodáván ten nejlepší produkt, aby se pro farmáře vytvořila co největší hodnota. Jeho škálovatelné strojové učení je zásadní pro budování kultury založené na datech.“

ERICH MUTTONCHOPS
Big Data Director
The Climate Corporation

Správa modelu strojového učení
Protože Vertica trénuje modely strojového učení uvnitř databáze, vytváří úložiště datové vědy pro všechny aktivity, které jsou sdíleny všemi datovými vědci používajícími platformu. S tradičními přístupy může model existovat na něčím notebooku. Pokud je tato osoba nedostupná, model může být nepřístupný. Navíc bez úložiště modelů může být obtížné modely porovnávat, vidět, jak byly generovány a jaké soubory dat byly použity.

Ve Vertica jsou modely objekty v databázi, stejně jako tabulky. Jsou viditelné a čitelné pro kohokoli s oprávněným přístupem. A konečná sada funkcí, která model trénovala, může být uložena s ním ve stejné databázi. S tisíci povolenými sloupci funguje Vertica dobře jako úložiště funkcí, které umožňuje opakované použití funkcí jinými týmy, reprodukovatelné, stejně jako vysoké zabezpečení a jasný původ.

Modely lze také snadno exportovat z vývojového, testovacího nebo izolovaného prostředí do produkčního prostředí (nebo mnoha produkčních prostředí). Většina tradičních přístupů zahrnuje použití různých technologických zásobníků pro vývoj a výrobu. To velmi komplikuje uvedení modelů do výroby. Platforma pro vývoj strojového učení v databázi znamená, že mnoho z těchto potíží odpadá.
Správa modelu strojového učení
Obrázek 1. End-to-end správa strojového učení . Vertica podporuje vše od přípravy dat až po nasazení
proces strojového učení

Opensource knihovna Vertica Pyisan, která vám umožňuje používat notebook Jupyter a kód stylu Python pro přístup k funkcionalitě Vertica v databázi, která je podobná Pandas a SciKit Learn. Provádějte průzkumné a interaktivní datové vědy na celých souborech dat uložených ve Vertica nebo přístupných distribuovanému dotazovacímu stroji Vertica.

Integrace s externím strojovým učením
Vertica podporuje celý proces strojového učení. V dnešním obchodním světě se však v rámci jedné organizace často používá více nástrojů a programovacích jazyků pro různé účely strojového učení. Vertica vám umožňuje pracovat s těmito nástroji a zároveň využívat výkonné funkce, jako je správa modelů a distribuované spouštění na velmi velkých souborech dat.

Uživatelsky definovaná rozšíření (UDxs)
Vertica se připojuje ke stovkám aplikací, datových zdrojů, nástrojů ETL a vizualizačních nástrojů – a to, k čemu se nepřipojí ihned po vybalení, lze snadno integrovat. UDx vám umožňuje vyvíjet vlastní nástroje pro platformu Vertica Analytics, včetně nových typů analýzy dat a schopnosti analyzovat a načítat nové typy dat. UDxs lze vyvíjet v C++, Javě, Pythonu nebo R pomocí výkonného SDK Vertica.

Široká škála uživatelsky definovaných schopností (funkce, transformace, agregace, analýzy a načítání) využívá možnosti MPP Vertica a zvyšuje výkon a flexibilitu procedurálního kódu tím, že jej přibližuje datům (strukturovaným, polostrukturovaným nebo nestrukturovaným) . Uživatelské rozhraní Vertica usnadňuje nasazení a používání procedurálních rozšíření, což zjednodušuje provozní postupy a podporuje opětovné použití kódu. Podpora jazyka PMML (Predictive Model Markup Language).

S funkcí importu modelu PMML společnosti Vertica mohou uživatelé vytvořit model strojového učení v nástrojích podle svého výběru a poté tento model přenést do společnosti Vertica pro správu, archivaci a predikci na velmi rozsáhlých souborech dat. Jako distribuovaná analytická databáze je Vertica často domovem nejnovějších (horkých) dat nebo datových proudů v reálném čase v . Přiblížení modelů k místu, kde se tato data nacházejí, poskytuje rychlé a včasné předpovědi. Vertica také podporuje export PMML. Pomocí této funkce mohou uživatelé trénovat modely strojového učení na velkých souborech dat, což obvykle vede k přesnějším modelům, které jsou méně náchylné k nadměrnému přizpůsobení. Tyto modely vytvořené ve Vertica lze poté exportovat pro predikci pomocí jiných nástrojů.

Jeden společný případ použití: Trénujte model v databázi s využitím maximálního množství dostupných dat. Po vyhodnocení a vyhodnocení exportujte model do okrajového uzlu nebo zařízení, abyste mohli předpovídat s nejnižší možnou latencí.

Integrace TensorFlow
TensorFlow je populární platforma strojového učení s otevřeným zdrojovým kódem, která může využívat grafické procesorové jednotky (GPU) k efektivnímu trénování vysoce sofistikovaných modelů strojového učení, jako jsou neuronové sítě. Vertica poskytuje možnost importovat modely zmrazených grafů TensorFlow do Vertica. Jakmile jsou tyto modely trénovány externě, mohou být přeneseny do společnosti Vertica, aby byly blízko k novým datům, jak přicházejí, a rychle předpovídají.
To zjednodušuje proces zavádění modelů do výroby, minimalizuje rozsáhlý přesun dat a může vést k významným úsporám nákladů pro uživatele, kteří možná nechtějí udržovat drahou infrastrukturu založenou na GPU potřebnou k pravidelnému trénování těchto modelů neustále v chodu.

Vertica vestavěný algoritmus Přamples
Ke každé nové verzi Vertica jsou přidány nové algoritmy a další možnosti strojového učení, jako je vzdálenost Jaro-Winkler pro porovnávání textů nebo metoda Yule-Walker pro autokorelaci. Níže jsou examples K-Means a regrese, nejběžnější v produkčních ML algoritmech ve Vertica.

Defined Extensions, již jsme vytvořili na míru šitý filtr dolní propusti, který běží proti našim datům – což zajišťuje špičkový analytický výkon bez nutnosti přesouvat data do jiných systémů nebo nástrojů.“

PHIL CHARLES
Technický manažer
Jaguar TCS Racing
Formule E

„Naše platforma Vertica je nápomocná v mnoha oblastech našeho podnikání – vytváří prediktivní algoritmy, poskytuje doporučení k produktům, poskytuje přehled o našich mobilních aplikacích a generuje denní zprávy a ad-hoc dotazy. Je to zásadní pro to, abychom mohli být s daty agilnější.“

BRUCE YEN
Ředitel – Business Intelligence
GUESS?, Inc.

Algoritmy k-means jsou typem algoritmu učení bez dozoru, což znamená, že vstupní data nejsou označena.
Účelem k-prostředky a půlení k- znamená rozdělit n pozorování do k shluky.

Shlukování pomocí K-Means & Bisecting K-Means
Clustering detekuje přirozené seskupení v datech, což znamená, že položky v rámci clusteru mají mezi sebou více společného než s položkami mimo cluster. Každý z těchto algoritmů bere neoznačená data a shlukuje datové body K různé shluky založené na podobnostech mezi datovými body. K-means přiřadí každé pozorování ke shluku s nejbližší střední hodnotou. Tento nejbližší průměr je také známý jako střed clusteru. Výsledný model lze později použít k přidání nových dat do existujících shluků jejich přiřazením ke shluku s nejbližší střední hodnotou nebo středem shluku.

Půlení K-means funguje tak, že se data rozdělí na polovinu a pak se největší další shluk dělí na polovinu, dokud se data nerozdělí na K shluky. Půlení K-means funguje odlišně, ale přináší podobné výsledky. Má to výhodutage uložení všech hodnot K mezi 1 a daným K tak, že každé seskupení shluků lze snadno porovnávat bez nutnosti generovat nové modely pro každou hodnotu K. K-průměry a půlení

K-means mají širokou řadu aplikací, včetně:

  • Segmentace zákazníků: Segmentujte zákazníky a kupující do odlišných skupin (shluků) na základě podobných atributů, jako je věk, příjem nebo preference produktu, abyste mohli zacílit na propagační akce, poskytovat podporu a prozkoumat možnosti křížového prodeje.
  • Detekce podvodu: Identifikujte jednotlivá pozorování, která neodpovídají určité skupině (shluku), a identifikujte typy shluků, u kterých je větší pravděpodobnost, že budou ohroženy podvodným chováním.

Tyto algoritmy můžete použít pomocí základní syntaxe SQL:
KMEANS ( 'model_name', 'input_table', 'input_columns', 'num_clusters')
Or
BISECTING_KMEANS ( 'model_name', 'input_table', 'input_ columns', 'num_clusters')

Mezi volitelné parametry těchto funkcí patří hodnota epsilon (pro úpravu konvergence), maximální počet iterací, tři možnosti pro počáteční středy clusteru a výstup view . Půlící k-průměry také zahrnují volitelné parametry pro řízení metody a parametry, pro které dochází k půlení, jako je půlení metoda, minimální velikost dělitelného shluku a půlící iterace.

Název funkce Funkčnost
kmeans Najít k středů clusteru pro vstupní tabulku/view
půlící_kmeans Najít k středů clusteru pro vstupní tabulku/view půlením shluků do iterativních dvojic
get_model_summary Zobrazte středy clusteru spolu s některými metrikami hodnocení
apply_kmeans Vzhledem k existujícímu modelu k-means přiřaďte k definovanému clusteru řádky ze vstupní tabulky

Logistická regrese
Logistická regrese se používá ke klasifikaci dat do dvou skupin na základě logického vztahu mezi nezávislými proměnnými nebo rysy a nějakou závislou proměnnou nebo výsledkem. Výsledkem logistické regrese je binární hodnota, která představuje výsledek, jako je pravda/nepravda, vyhovuje/nevyhovuje, ano/ne nebo 1/0 . Logistické

Regrese může být také pravděpodobností mezi těmito dvěma skupinami. Logistické regresní modely můžete použít k:

  • Analýza rizik: Použijte úvěrovou historii žadatele o půjčku, příjem a podmínky půjčky (prediktory) k určení pravděpodobnosti, že žadatel nesplní půjčku (odpověď). Výsledek lze použít pro schválení, zamítnutí nebo změnu podmínek půjčky.
  • Prediktivní údržba: Pravděpodobnost, že určitá mechanická část systému bude chybně fungovat nebo bude vyžadovat údržbu (reakce) na základě provozních podmínek a diagnostických měření (prediktorů).
  • Predikce odpovědi na léčbu: Určete pravděpodobnost úspěšné reakce pacienta na konkrétní lék nebo léčbu (odpověď) na základě faktorů, jako je věk, krevní tlak, kouření a pitný režim (prediktory).

Algoritmus logistické regrese můžete použít pomocí základní syntaxe SQL:
LOGISTIC_REG ( 'model_name', 'input_table', 'response_ column', 'predictor_columns')

Lineární regrese se primárně používá k predikci spojitých numerických výsledků v lineárních vztazích podél kontinua.

Mezi volitelné parametry této funkce patří typ optimalizátoru, metoda regularizace (laso, ridge nebo ENet), hodnota epsilon, hodnoty lambda a alfa (pro regularizaci) a maximální počet iterací. Když je zavolán model (s predikcí_logistic_reg), můžete zobrazit buď binární výstup, nebo pravděpodobnostní výstup.

Název funkce Funkčnost
logistická_reg Sestavte logistický regresní model s danými vstupy
get_model_summary Zobrazte koeficient, průsečík, p-hodnotu a z-hodnotu pro model
předpovídat_logistický_reg Pomocí trénovaného modelu logistické regrese aplikujte výsledky na daný soubor dat

Lineární regrese
Lineární regrese se primárně používá k predikci spojitých numerických výsledků v lineárních vztazích podél kontinua. Pomocí lineární regrese můžete modelovat lineární vztah mezi nezávislými proměnnými nebo funkcemi a závislou proměnnou nebo výsledkem. Napřample, modely lineární regrese umožňují následující:

  • Predikce ceny: Modelování cen obytných domů (odezva) jako funkce vlastností (prediktorů) domů, jako je obytná plocha, počet ložnic nebo počet koupelen atd.
  • Predikce poptávky: Modelujte poptávku po službě nebo zboží (odpověď) na základě jejich vlastností (prediktorů) – např.ample, poptávka po různých modelech notebooků na základě velikosti monitoru, hmotnosti, ceny, operačního systému atd.
  • Předpověď pevnosti/trvanlivosti: Určete lineární vztah mezi pevností betonu v tlaku (odezva) a různým množstvím jeho složek (prediktorů), jako je cement, struska, popílek, voda, superplastifikace, hrubé kamenivo atd.

Tohle jsou jen examples. Vertica také poskytuje funkce pro podpůrné vektorové stroje (SVM), náhodné doménové struktury, XGBoost, SVD, izolační doménové struktury, PCA a další. Více se dozvíte na: www.vertica.com/machinelearning

NaïveBayes
Ke klasifikaci dat se používá algoritmus NaïveBayes. Algoritmus používá různé funkce jako prediktory pro výpočet pravděpodobnosti konkrétní třídy nebo více než jedné třídy. Chcete-li například předpovědět pravděpodobnost, že je e-mail spam, použili byste slova, která se obvykle se spamem spojují. Totéž platí, pokud chcete klasifikovat dokument na základě obsahu – napřample, zprávy, finance, sport atd.

Tento kontrolovaný algoritmus strojového učení má několik aplikací, včetně:

  • Detekce spamu: Klasifikace dokumentů do kategorií, jako jsou e-maily na spam, nepořádek, sociální sítě atd.
  • Klasifikace textu: Zařazení zpravodajských článků do kategorií jako sport nebo politika Aplikace pro rozpoznávání obličeje.

Algoritmus Naïve Bayes můžete použít pomocí základní syntaxe SQL:
NAIVE_BAYES ( 'model_name', 'input_table', 'response_ column', 'predictor_columns')

Naïve Bayes má volitelný parametr zvaný alpha, který lze použít k ovládání Laplaceova vyhlazování

Příprava dat pro strojové učení
Příprava dat je důležitým krokem před zpracováním pro analýzu dat, který často zabírá většinu času dokončení projektu pokročilé analýzy dat. Vertica má bohatou sadu vestavěných analytických funkcí, včetně interpolace, vyvažování, porovnávání vzorů, spojení sérií událostí, interpolace, detekce korelace, pokročilé agregace, detekce odlehlých hodnot a analýzy hlavních komponent (PCA). Tyto funkce podporují proces přípravy dat, zvyšují efektivitu práce s analýzou dat a v konečném důsledku zrychlují čas potřebný k dosažení hodnoty.
To umožňuje datovým vědcům provádět celý pracovní postup datové vědy přímo v databázi.

Vertica nabízí bohatou sadu funkcí pro přípravu dat, včetně, ale nejen:

Název funkce Funkčnost
Váhy Vytváří rovnoměrné rozložení dat, a to buď nad, nebo podampling třídy
Detect_outliers Identifikuje odlehlé hodnoty v rámci dané datové sady
Přičítat Doplní chybějící hodnoty průměrem nebo režimem na základě pozorovaných hodnot
Normalizovat Normalizuje nesourodá data do konzistentního rozsahu
Normalize_fit Vytvoří normalizovaný model pro opětovné použití
One_hot_encoder_fit Aplikuje jednorázové kódování na kategorické sloupce tím, že je nahradí binárními vektory
PCA Analýza hlavních součástí – metoda redukce prvků
SVD Singulární rozklad hodnot – další algoritmus redukce vlastností

Hodnocení modelu
Jakmile jsou modely vytvořeny, je třeba je vyhodnotit. Vertica obsahuje vestavěné různé oblíbené funkce vyhodnocování modelů, které vám umožňují potvrdit platnost vašich regresních a klasifikačních modelů. Některé hodnotící funkce se používají k vyhodnocení regresních modelů a jiné se používají pro klasifikaci nebo náhodná hodnocení konkrétních lesů. K dispozici je mnoho. Seznam dostupných v nejnovější verzi Vertica naleznete v dokumentaci.

Model Zmatek_ Matrix Error_Rate Zvedací_stůl ČLR ROC Rsquared MSE
Logistická regrese Ano Ano Ano Ano Ano N/A N/A
Naivní Bayes Ano Ano Ano Ano Ano N/A N/A
RF klasifikace Ano Ano Ano Ano Ano N/A N/A
Klasifikace SVM Ano Ano Ano Ano Ano N/A N/A
Lineární regrese N/A N/A N/A N/A N/A Ano Ano
RF regrese N/A N/A N/A N/A N/A Ano Ano
Regrese SVM N/A N/A N/A N/A N/A Ano Ano

Křížové ověření
Spusťte trénovaný model s daným souborem dat prostřednictvím iterace „skladů“, přičemž každý sklad obsahuje jinou sadu dat jako trénovací data a zbývající data jako testovací data.
Křížová validace pak ukazuje průměrné výsledky proti n-násobku dat.
Křížová validace umožňuje četné přizpůsobení a širokou škálu výstupních metrik pro vyhodnocení.

Co můžete dělat s in-databázovým strojovým učením Vertica?

Následuje example lineárního regresního modelu, který používá Prestige DataSet.3 Tato datová sada se používá k určení vztahu mezi příjmem a jinými proměnnými. V tomto example, předvedeme, jak načíst datovou sadu a použít lineární reg funkci Vertica, abychom lépe porozuměli tomu, jak prediktory ovlivňují odezvu. Bývalýample je uveden v SQL, ale stejný exampSoubor lze provést v databázi pomocí knihovny VerticaPy .

Některé úplné pracovní postupy pro datovou vědu, napřampsoubory používající Jupyter, Python, Vertica a VerticaPy jsou k dispozici zde:
www.vertica.com/python/examples/

Datová sada obsahuje následující informace:

  • Název povolání Vzdělání (v letech)
  • Příjem—Průměrný příjem zavedených společností v dolarech v roce 1971
  • Ženy— Percentage držitelů, kteří jsou ženami
  • Prestiž— Pineo-Porterovo skóre prestiže pro okupaci ze sociálního průzkumu provedeného v polovině 1960. let
  • Sčítání lidu—Kanadský kód povolání při sčítání lidu
  • Typ— Typ povolání, kde bc označuje modré límečky, wc označuje bílé límečky a prof označuje profesionální, manažerské nebo technické

3 „Prestige Data Set“. Statistika Canada.Canada (1971) Sčítání lidu v Kanadě. sv. 3, část 6

Pokud potřebujete zvážit kategorický prediktor pro trénování lineárního regresního modelu ve Vertica, převeďte jej předem na číselnou hodnotu. Existuje několik technik pro převod kategorické proměnné na číselnou. Napřample, můžete použít funkci jednorázového přizpůsobení kódování.

Cílem je sestavit lineární regresní model pomocí této datové sady, která předpovídá příjem na základě ostatních hodnot v datové sadě a poté vyhodnotit „vhodnost modelu“.

Pro začátek, jak vybereme proměnné, které použijeme pro tento model? Sloupec typu lze odstranit, protože Vertica aktuálně nepodporuje kategorické prediktory. Vzhledem k tomu, že sloupce povolání a census obsahují mnoho jedinečných hodnot, je nepravděpodobné, že by v tomto případě použití předpovídaly příjem.
Zbývají tedy kolonky vzdělání, prestiž a ženy.

POZNÁMKA: V praxi, pokud potřebujete zvážit kategorický prediktor pro trénování lineárního regresního modelu ve Vertica, převeďte jej předem na číselnou hodnotu. Existuje několik technik pro převod proměnné z kategorické na číselnou. Napřample, můžete použít jednorázové kódování.

Krok 1. Načtěte data
Níže je uvedena definice tabulky pro uložení datové sady Prestige:
=> DROP TABLE IF EXISTS public.prestige CASCADE;
=> CREATE TABLE public.prestige
( povolání VARCHAR(25), vzdělání NUMERIC(5,2),
— prům. roky vzdělání příjem INTEGER, — prům příjem
ženy ČÍSLO(5,2), — % prestiže ženy
NUMERIC(5,2;XNUMX);
— prům. sčítání prestiže INTEGER, —
kód povolání
typ CHAR(4) — Profesionální a manažerský
(prof)
) — bílý límeček (wc)
— Modrý límeček (BC)
— Není k dispozici (není)

Vertica podporuje řadu způsobů načítání dat — z files jako je text s oddělovači, Parkety, ORCJSON nebo z formátů Avro, abychom jmenovali alespoň některé. Chcete-li načíst data z Prestige Data Set do tabulky Vertica, použijte následující příkaz SQL:
=> KOPÍROVAT public.prestige
Z
'/home/dbadmin/prestige.txt'
DELIMITER ','
PŘESKOČIT 1
ABORT ON CHYBA DIRECT ;

Krok 2. Vytvořte model lineární regrese
Nyní použijeme funkci strojového učení Vertica LINEAR_REG k vytvoření modelu lineární regrese.

Chcete-li vytvořit model, spusťte funkci LINEAR_REG proti veřejnosti. tabulka prestiže, jak je znázorněno. V tomto prohlášení je odpovědí příjem a prediktorem jsou vzdělání, ženy a prestiž:
SELECT LINEAR_REG( 'lnr_prestige', 'public.prestige', 'příjem', 'vzdělání, ženy, prestiž');

Toto tvrzení se snaží identifikovat koeficienty následující rovnice:
příjem = α + β¹vzdělání + β²ženy + β³prestiž

Po vytvoření modelu použijte funkci GET_MODEL_SUMMARY ke sledování vlastností modelu:
SELECT GET_MODEL_SUMMARY (pomocí parametrů název_modelu = 'lnr_prestige');

GET_MODEL_SUMMARY vrátí následující informace:

prediktor součinitel studující t_hodnota p_hodnota
zachytit -253.84973 1086.15687 -0.23371 | 0.81569
školství 177.19903 187.63223 0.94440 0.34729
ženy -50.89570 8.55618 -5.94841 0.00000
prestiž 141.43535 29.90961 4.72876 0.00001

Pomocí těchto koeficientů můžete rovnici přepsat a číst:
příjem = -253.8390442
+177.1907572 * vzdělání
-50.950663456 * ženy
+141.463157 * prestiž 

Nakonec pojďme prozkoumat, jak změřit, jak dobře lineární regresní model odpovídá datům nebo jak dobře odpovídá.
Ve Vertica funkce PREDICT_LINEAR_REG aplikuje lineární regresní model na vstupní tabulku. Více o této funkci si můžete přečíst v dokumentaci Vertica.

Krok 3. Vyhodnoťte dobrou vhodnost
Běžnou metodou používanou k testování, jak dobře váš model lineární regrese odpovídá pozorovaným datům, je koeficient determinace. Koeficient je definován v následující rovnici:
Vzorec

Koeficient determinace R2 se pohybuje mezi 0 (žádná shoda) a 1 (dokonalá shoda). Pro výpočet koeficientu determinace použijte funkci Vertica RSQUARED:
VYBERTE RSQUARED(příjem, předpokládaný) NAD()
FROM ( SELECT příjem, PREtDICT_LINEAR_REG
(prestiž, ženy POMOCÍ PARAMETRŮ
MODEL_NAME='lnr_prestige') Podle předpovědi

Z public.prestige ) x ;

rsq Komentář
0.63995924449805 Ze 102 řádků bylo použito 102

Hodnocení koeficientu determinace často závisí na tom, jakou oblast zkoumáte. Ve společenských vědách je koeficient 0.6 považován za docela dobrý.

Při hodnocení modelu je důležité vzít v úvahu více metrik. Jediná metrika vám může poskytnout dobrou hodnotu, ale samotný model nemusí být tak užitečný, jak potřebujete. Je důležité porozumět hodnotě čtverce, stejně jako ostatním metrikám, abyste mohli vyhodnotit, jak dobře sedí. Vertica poskytuje několik funkcí pro vyhodnocení modelu s použitím různých metrik.

Případy použití pro strojové učení v různých odvětvích

Možnosti strojového učení v databázi platformy Vertica Analytics lze využít k dosažení hmatatelných obchodních přínosů v celé řadě zahraničních odvětví:

  • Finanční služby organizace mohou odhalit podvody, odhalit investiční příležitosti, identifikovat klienty s vysoce rizikovými profesionályfiles, nebo určit pravděpodobnost, že žadatel nesplácí úvěr.
  • Vládní agentury, jako je veřejná bezpečnost a veřejné služby, mohou pomocí strojového učení pomoci odhalit podvody, minimalizovat krádeže identity a analyzovat data z inteligentních měřičů, aby identifikovali způsoby, jak zvýšit efektivitu a ušetřit peníze.
  • Poskytovatelé komunikačních služeb může využít řadu dat síťových sond a senzorů k analýze výkonu sítě, předpovídání kapacitních omezení a zajištění kvalitního poskytování služeb koncovým zákazníkům.
  • Marketing a prodej organizace mohou využít strojové učení k analýze nákupních vzorců, segmentaci zákazníků, personalizaci nakupování a implementaci cíleného marketinguampaignuje
  • Ropné a plynárenské organizace mohou využít strojové učení k analýze nerostů k nalezení nových zdrojů energie, zefektivnění distribuce ropy pro zvýšení účinnosti a nákladové efektivity nebo předpovědi mechanických nebo senzorových poruch pro proaktivní údržbu.
  • Dopravní organizace mohou analyzovat trendy a identifikovat vzorce, které lze použít ke zlepšení služeb zákazníkům, optimalizaci tras a zvýšení ziskovosti

Shrnutí

Schopnosti strojového učení Vertica v databázi umožňují uživatelům dělat pokrokytage velkých dat a zároveň zjednodušují a urychlují jejich prediktivní analytické procesy, aby mohli přijímat informovanější rozhodnutí, efektivněji konkurovat a urychlit čas potřebný k získání přehledu. Vertica zároveň nabízí svobodu vytvářet jedinečné schopnosti prostřednictvím podpory pro uživatelsky definovaná rozšíření naprogramovaná v C++, Java, Python nebo R. Vertica
také podporuje interaktivní práci s daty prostřednictvím VerticaPy a podporuje aplikace, které využívají strojové učení prostřednictvím robustních rozhraní API pro Go, Python, Node.js a řadu dalších jazyků.
Shrnutí

Zdroje

Vyzkoušejte Vertica Community Edition na vertica.com/try a začněte s iniciativou strojového učení v databázi. Tato bezplatná edice Vertica vám umožňuje analyzovat až 1 TB dat ve 3 uzlech v místě, v cloudu nebo v hybridních prostředích, jak dlouho budete chtít.

Strojové učení pro Predictive Analytics, dokumentace Vertica .

Získejte zdarma online školení založené na videu na vyžádání ve Vertica Academy.

Více se dozvíte na
vertica.com/machinelearning
www.opentext.com

Schopnosti strojového učení Vertica v databázi umožňují uživatelům dělat pokrokytage velkých dat a zároveň zjednodušují a urychlují jejich prediktivní analytické procesy, aby mohli přijímat informovanější rozhodnutí, efektivněji konkurovat a urychlit čas potřebný k pochopení.
logo openText

Dokumenty / zdroje

platforma openText Vertica Analytics [pdfPokyny
Vertica Analytics Platform, Analytics Platform, Platform

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *