Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStartissa

Tänään julkaisemme uuden ratkaisun talouskaavioiden koneoppimiseen (ML). Amazon SageMaker JumpStart. JumpStart auttaa sinua pääsemään nopeasti alkuun ML:n kanssa ja tarjoaa joukon ratkaisuja yleisimpiin käyttötapauksiin, jotka voidaan kouluttaa ja ottaa käyttöön muutamalla napsautuksella.

Uusi JumpStart-ratkaisu (Graph-Based Credit Scoring) osoittaa, kuinka SEC-tiedostoista (pitkämuotoinen tekstidata) rakennetaan yritysverkko, yhdistetään tämä taloudellisiin tunnuslukuihin (taulukkotietoihin) ja käytetään graafisen hermoverkkoja (GNN:itä) luottojen luomiseen. luokituksen ennustemallit. Tässä viestissä selitämme, kuinka voit käyttää tätä täysin muokattavissa olevaa ratkaisua luottopisteytykseen, jotta voit nopeuttaa kaavion ML-matkaasi. Graph ML:stä on tulossa hedelmällinen taloushallinnon alue, koska se mahdollistaa verkkotietojen käytön perinteisten taulukkotietosarjojen kanssa. Katso lisätietoja Amazon WSDM:ssä: Graafisten neuroverkkojen tulevaisuus.

Ratkaisun yleiskatsaus

Voit parantaa luottoluokitusta hyödyntämällä yritysyhteyksiä koskevia tietoja, joille voit rakentaa kaavion, jota kutsutaan tässä ratkaisussa nimellä CorpNet (lyhenne sanoista yritysverkko). Voit sitten soveltaa graafin ML-luokitusta käyttämällä GNN:itä tässä kaaviossa ja taulukkomuotoista ominaisuusjoukkoa solmuille nähdäksesi, voitko rakentaa paremman ML-mallin hyödyntämällä edelleen verkkosuhteiden tietoja. Siksi tämä ratkaisu tarjoaa mallin liiketoimintamalleille, jotka hyödyntävät verkkotietoja, kuten toimitusketjun suhdekaavioita, sosiaalisen verkoston kaavioita ja paljon muuta.

Ratkaisu kehittää useita uusia artefakteja rakentamalla yritysverkkoa ja generoimalla synteettistä taloustietoa, ja yhdistää molemmat datamuodot mallien luomiseksi graafin ML:n avulla.

Ratkaisu näyttää, kuinka SEC 10-K/Q -tiedostoista MD&A-osion avulla rakennetaan verkosto yhdistettyjen yritysten kanssa. Yritykset, joilla on samanlaisia ​​tulevaisuuteen suuntautuvia lausuntoja, ovat todennäköisesti yhteydessä luottotapahtumiin. Nämä yhteydet on esitetty kaaviona. Graafisten solmuominaisuuksien osalta ratkaisu käyttää Altmanin Z-pistemallin muuttujia ja kunkin yrityksen toimialaluokkaa. Ne toimitetaan synteettisessä tietojoukossa, joka on saatavilla esittelytarkoituksiin. Kaaviotietoja ja taulukkotietoja käytetään sovittamaan GNN:itä käyttävä luokitusluokitus. Havainnollistamistarkoituksessa vertaamme mallien suorituskykyä kaaviotietojen kanssa ja ilman niitä.

Käytä Graph-Based Credit Scoring -ratkaisua

Aloita JumpStartin käyttö katsomalla Amazon SageMakerin käytön aloittaminen. Graph-Based Credit Scoring -ratkaisun JumpStart-kortti on saatavana kautta Amazon SageMaker Studio.

Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

  1. Valitse mallikortti ja valitse sitten Käynnistää ratkaisun aloittamiseen.
    Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Ratkaisu luo mallin päättelyä varten ja päätepisteen käytettäväksi muistikirjan kanssa.

  1. Odota, kunnes ne ovat valmiita ja tila näkyy muodossa Complete.
  2. Valita Avaa Muistikirja avataksesi ensimmäisen muistikirjan, joka on tarkoitettu koulutusta ja päätepisteiden käyttöönottoa varten.
    Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Voit työskennellä tämän muistikirjan avulla oppiaksesi käyttämään tätä ratkaisua ja sitten muokkaamaan sitä muita sovelluksia varten omilla tiedoillasi. Ratkaisu sisältää synteettistä dataa ja käyttää sen osajoukkoa esimerkkinä vaiheista, joita tarvitaan mallin kouluttamiseen, sen käyttöönottoon päätepisteeseen ja päätepisteen kutsumiseen päätelmiä varten. Muistikirja sisältää myös koodin oman päätepisteesi käyttöönottoa varten.

  1. Avaa toinen muistikirja (käytetään päättelyyn) valitsemalla Käytä päätepistettä Notebookissa päätepisteen artefaktin vieressä.

Tässä muistikirjassa näet, kuinka valmistelet tiedot kutsumaan esimerkkipäätepisteen johtopäätöksen suorittamiseksi esimerkkijoukosta.
Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Päätepiste palauttaa ennustetut luokitukset, joita käytetään mallin suorituskyvyn arvioimiseen, kuten seuraavassa kuvakaappauksessa johtopäätösmuistikirjan viimeisestä koodilohkosta näkyy.
Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Voit käyttää tätä ratkaisua mallina kaaviolla tehostetussa luottoluokitusmallissa. Et ole rajoittunut tämän esimerkin ominaisuusjoukkoon – voit muuttaa sekä kaavion tietoja että taulukkotietoja omaan käyttötapasi mukaan. Vaadittujen koodimuutosten määrä on minimaalinen. Suosittelemme käymään läpi malliesimerkkimme ratkaisun rakenteen ymmärtämiseksi ja muokkaamaan sitä sitten tarpeen mukaan.

Tämä ratkaisu on tarkoitettu vain esittelytarkoituksiin. Se ei ole taloudellista neuvontaa, eikä siihen tule luottaa rahoitus- tai sijoitusneuvontana. Liittyvät muistikirjat, mukaan lukien koulutettu malli, käyttävät synteettistä dataa, eikä niitä ole tarkoitettu tuotantokäyttöön. Vaikka käytetään SEC-tiedostojen tekstiä, taloudelliset tiedot luodaan synteettisesti ja satunnaisesti, eikä niillä ole mitään yhteyttä minkään yrityksen todellisiin taloustietoihin. Siksi synteettisesti luoduilla luokituksilla ei myöskään ole mitään yhteyttä minkään todellisen yrityksen todelliseen luokitukseen.

Ratkaisussa käytetyt tiedot

Tietojoukossa on synteettisiä taulukkotietoja, kuten erilaisia ​​kirjanpitosuhteita (numeerinen) ja toimialakoodeja (kategorinen). Tietojoukossa on 𝑁= 3286 riviä. Myös luokitustarrat lisätään. Nämä ovat graafin ML:n kanssa käytettävät solmuominaisuudet.

Tietojoukko sisältää myös yrityskaavion, joka on suuntaamaton ja painottamaton. Tämän ratkaisun avulla voit säätää kaavion rakennetta vaihtelemalla tapaa, jolla linkit sisällytetään. Jokaista taulukkotietojoukon yritystä edustaa solmu yrityskaaviossa. Toiminto construct_network_data() auttaa rakentamaan kaavion, joka sisältää luettelot lähdesolmuista ja kohdesolmuista.

Luokitustunnisteita käytetään luokitteluun GNN:illä, jotka voivat olla monikategorisia kaikille luokituksille tai binääriluokituksia jaettuna investointiluokkaan (AAA, AA, A, BBB) ja ei-investointiluokkaan (BB, B, CCC, CC, C, D). D tarkoittaa tässä oletusarvoa.

Täydellinen koodi tietojen lukemiseen ja ratkaisun suorittamiseen on ratkaisumuistikirjassa. Seuraava kuvakaappaus näyttää synteettisten taulukkotietojen rakenteen.

Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.

Kaavion tiedot välitetään Syvän kuvaajan kirjasto ja yhdistetty taulukkotietoihin graafin ML suorittamiseksi. Jos tuot oman kaavion, toimita se lähdesolmujen ja kohdesolmujen joukkona.

Malliharjoittelu

Vertailun vuoksi koulutamme ensin mallin vain taulukkotiedoilla käyttämällä AutoGluon, jäljittelee perinteistä lähestymistapaa yritysten luottoluokitukseen. Lisäämme sitten kuvaajatiedot ja käytämme GNN:itä harjoitteluun. Täydelliset tiedot on annettu muistikirjassa, ja lyhyt katsaus tarjotaan tässä viestissä. Muistikirja tarjoaa myös nopean yleiskatsauksen graafista ML valituilla viitteillä.

GNN:n koulutus tapahtuu seuraavasti. Käytämme mukautusta GraphSAGE malli toteutettu Deep Graph Libraryssa.

  1. Lue kaaviotiedot kohteesta Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ja luo CorpNetin lähde- ja kohdesolmuluettelot.
  2. Lue kaaviosolmujen ominaisuusjoukot (harjoittele ja testaa). Normalisoi tiedot tarpeen mukaan.
  3. Aseta viritettävät hyperparametrit. Kutsu PyTorchia käyttävä erikoiskuvaajan ML-säilö sovittamaan GNN ilman hyperparametrien optimointia (HPO).
  4. Toista kuvaaja ML HPO:lla.

Jotta toteutus olisi yksinkertaista ja vakaata, suoritamme mallikoulutuksen kontissa seuraavalla koodilla (tätä koulutuskoodia edeltävä asennuskoodi on ratkaisumuistikirjassa):

from sagemaker.pytorch import PyTorch
from time import strftime, gmtime training_job_name = sagemaker_config["SolutionPrefix"] + "-gcn-training"
print( f"You can go to SageMaker -> Training -> Hyperparameter tuning jobs -> a job name started with {training_job_name} to monitor training job status and details."
) estimator = PyTorch( entry_point='train_dgl_pytorch_entry_point.py', source_dir='graph_convolutional_network', role=role, instance_count=1, instance_type='ml.g4dn.xlarge', framework_version="1.9.0", py_version='py38', hyperparameters=hyperparameters, output_path=output_location, code_location=output_location, sagemaker_session=sess, base_job_name=training_job_name,
) estimator.fit({'train': input_location})

Nykyinen koulutusprosessi suoritetaan transduktiivisessa ympäristössä, jossa testidatajoukon ominaisuuksia (ei sisällä kohdesaraketta) käytetään graafin rakentamiseen ja siksi testisolmut sisällytetään opetusprosessiin. Harjoittelun lopussa testitietojoukon ennusteet luodaan ja tallennetaan output_location S3-ämpäriin.

Vaikka koulutus on transduktiivinen, testitietojoukon tunnisteita ei käytetä harjoitteluun, ja harjoituksemme tavoitteena on ennustaa nämä tunnisteet käyttämällä testitietojoukon solmujen solmu upotuksia. GraphSAGEn tärkeä ominaisuus on, että induktiivinen oppiminen uusista havainnoista, jotka eivät ole osa kaaviota, on myös mahdollista, vaikka sitä ei hyödynnetä tässä ratkaisussa.

Hyperparametrien optimointi

Tätä ratkaisua laajennetaan edelleen suorittamalla HPO GNN:llä. Tämä tehdään SageMakerissa. Katso seuraava koodi:

from sagemaker.tuner import ( IntegerParameter, CategoricalParameter, ContinuousParameter, HyperparameterTuner,
) # Static hyperparameters we do not tune
hyperparameters = { "n-layers": 2, "aggregator-type": "pool", "target-column": target_column
}
# Dynamic hyperparameters to tune and their searching ranges. # For demonstration purpose, we skip the architecture search by skipping # tuning the hyperparameters such as 'skip_rnn_num_layers', 'rnn_num_layers', etc.
hyperparameter_ranges = { "n-hidden": CategoricalParameter([32, 64, 128, 256, 512, 1024]), 'dropout': ContinuousParameter(0.0, 0.6), 'weight-decay': ContinuousParameter(1e-5, 1e-2), 'n-epochs': IntegerParameter(70, 120), #80, 160 'lr': ContinuousParameter(0.002, 0.02),
}

Asetamme sitten harjoitustavoitteen maksimoidaksemme F1-pisteet tässä tapauksessa:

objective_metric_name = "Validation F1"
metric_definitions = [{"Name": "Validation F1", "Regex": "Validation F1 (\S+)"}]
objective_type = "Maximize"

Luo valittu ympäristö ja koulutusresurssit SageMakerissa:

estimator_tuning = PyTorch( entry_point='train_dgl_pytorch_entry_point.py', source_dir='graph_convolutional_network', role=role, instance_count=1, instance_type='ml.g4dn.xlarge', framework_version="1.9.0", py_version='py38', hyperparameters=hyperparameters, output_path=output_location, code_location=output_location, sagemaker_session=sess, base_job_name=training_job_name,
)

Suorita lopuksi harjoitustyö hyperparametrien optimoinnilla:

import time tuning_job_name = sagemaker_config["SolutionPrefix"] + "-gcn-hpo"
print( f"You can go to SageMaker -> Training -> Hyperparameter tuning jobs -> a job name started with {tuning_job_name} to monitor HPO tuning status and details.n" f"Note. You will be unable to successfully run the following cells until the tuning job completes. This step may take around 2 hours."
) tuner = HyperparameterTuner( estimator_tuning, # using the estimator defined in previous section objective_metric_name, hyperparameter_ranges, metric_definitions, max_jobs=30, max_parallel_jobs=10, objective_type=objective_type, base_tuning_job_name = tuning_job_name,
) start_time = time.time() tuner.fit({'train': input_location}) hpo_training_job_time_duration = time.time() - start_time

tulokset

Verkkotietojen sisällyttäminen ja hyperparametrien optimointi tuottaa parempia tuloksia. Seuraavan taulukon suorituskykymittarit osoittavat CorpNetin lisäyksen hyödyn luottopisteytykseen käytettyihin vakiotaulukkotietosarjoihin.

AutoGluonin tulokset eivät käytä kaaviota, vain taulukkotietoja. Kun lisäämme kaavion tiedot ja käytämme HPO:ta, saamme materiaalin suorituskyvyn.

F1-pisteet ROC AUC tarkkuus MCC Tasapainoinen tarkkuus Tarkkuus Palauttaa mieleen
AutoGluon 0.72 0.74323 0.68037 0.35233 0.67323 0.68528 0.75843
GCN ilman HPO:ta 0.64 0.84498 0.69406 0.45619 0.71154 0.88177 0.50281
GCN HPO:n kanssa 0.81 0.87116 0.78082 0.563 0.77081 0.75119 0.89045

(Huomaa: MCC on Matthewsin korrelaatiokerroin; https://en.wikipedia.org/wiki/Phi_coefficient.)

Puhdistaa

Kun olet lopettanut tämän muistikirjan käytön, poista malliesineet ja muut resurssit, jotta vältyt lisäkuluilta. Sinun on poistettava manuaalisesti resurssit, jotka olet luonut muistikirjan käytön aikana, kuten S3-säilöt malliartefakteille, opetustietojoukot, prosessointiartefaktit ja amazonin pilvikello lokiryhmät.

Yhteenveto

Tässä viestissä esittelimme JumpStartissa kaaviopohjaisen luottopisteytysratkaisun, joka auttaa sinua nopeuttamaan kaavion ML-matkaasi. Muistikirja tarjoaa liukuhihnan, jonka avulla voit muokata ja hyödyntää kaavioita olemassa olevien taulukkomallien kanssa parantaaksesi suorituskykyä.

Aloita etsimällä Graph-Based Credit Scoring -ratkaisun JumpStart in -sovelluksesta SageMaker Studio.


Tietoja Tekijät

Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Tohtori Sanjiv Das on Amazon-stipendiaatti ja rahoituksen ja tietotieteen Terry-professori Santa Claran yliopistossa. Hän on suorittanut jatkotutkinnon rahoituksesta (M.Phil ja Ph.D New Yorkin yliopistosta) ja tietojenkäsittelytieteestä (MS Berkeleystä) sekä MBA-tutkinnon Indian Institute of Managementista Ahmedabadissa. Ennen akateemikkoa hän työskenteli johdannaisliiketoiminnassa Aasian ja Tyynenmeren alueella Citibankin johtajana. Hän työskentelee multimodaalisen koneoppimisen parissa rahoitussovellusten alalla.

Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Tohtori Xin Huang on soveltuva tutkija Amazon SageMaker JumpStart ja Amazon SageMakerin sisäänrakennetut algoritmit. Hän keskittyy skaalautuvien koneoppimisalgoritmien kehittämiseen. Hänen tutkimusintressiään ovat luonnollisen kielen prosessointi, taulukkotiedon syväoppiminen ja ei-parametrisen aika-avaruusklusteroinnin robusti analyysi.

Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Soji Adeshina on soveltuva tutkija AWS:ssä, jossa hän kehittää graafin neuroverkkopohjaisia ​​malleja koneoppimiseen graafitehtävissä, joissa on sovelluksia petokseen ja väärinkäyttöön, tietokaavioita, suosittelujärjestelmiä ja biotieteitä. Vapaa-ajallaan hän nauttii lukemisesta ja ruoanlaitosta.

Luo yrityksen luottoluokitusluokitus käyttämällä kaavioiden koneoppimista Amazon SageMaker JumpStart PlatoBlockchain Data Intelligencessä. Pystysuuntainen haku. Ai.Patrick Yang on ohjelmistokehitysinsinööri Amazon SageMakerissa. Hän keskittyy koneoppimistyökalujen ja -tuotteiden rakentamiseen asiakkaille.

Aikaleima:

Lisää aiheesta AWS-koneoppiminen