Bu ýazgyda Twitch maglumat bazasy bilen baglanyşyk çaklamasynyň üstünde işlemegi dowam etdireris.
Neptundan eksport hyzmatyny we 'neptun_ml' profilini ulanyp, Neptundan eksport edilen grafiki maglumatlarymyz bar. Öňki ädimler bu gollanmanyň 2-nji we 1-nji bölümlerinde beýan edilýär.
1-nji bölümi we 2-nji bölümi şu ýerde okaň.
Maglumatlar häzirki wagtda S3-de saklanýar we şuňa meňzeýär:
Diklikler CSV (düwünler / user.consolidated.csv):
~id,~label,days,mature,views,partner "6980","user",771,true,2935,false "547","user",2602,true,18099,false "2173","user",1973,false,3939,false ...
Gyralar CSV (gyralar / user-follow-user.consolidated.csv):
~id,~label,~from,~to,~fromLabels,~toLabels "3","follows","6194","2507","user","user" "19","follows","3","3739","user","user" "35","follows","6","2126","user","user" ...
Eksport kömegi hem bu konfigurasiýa faýlyny döretdi:
Training-data-config.json:
{ "version" : "v2.0", "query_engine" : "gremlin", "graph" : { "nodes" : [ { "file_name" : "nodes/user.consolidated.csv", "separator" : ",", "node" : [ "~id", "user" ], "features" : [ { "feature" : [ "days", "days", "numerical" ], "norm" : "min-max", "imputer" : "median" }, { "feature" : [ "mature", "mature", "auto" ] }, { "feature" : [ "views", "views", "numerical" ], "norm" : "min-max", "imputer" : "median" }, { "feature" : [ "partner", "partner", "auto" ] } ] } ], "edges" : [ { "file_name" : "edges/%28user%29-follows-%28user%29.consolidated.csv", "separator" : ",", "source" : [ "~from", "user" ], "relation" : [ "", "follows" ], "dest" : [ "~to", "user" ], "features" : [ ] } ] }, "warnings" : [ ] }
Häzirki maksadymyz, maglumatlary gaýtadan işlemegi amala aşyrmakdyr, bu bolsa maglumatlary çuňňur okuw kitaphanasynyň çarçuwasynyň model okuwy üçin ulanyp boljak formata öwürmegi aňladýar. (Diňe DGL bilen baglanyşyk çaklamasy barada umumy maglumat üçin şu ýazga serediň). Munuň özi san aýratynlyklarynyň kadalaşmagyny, kategoriki aýratynlyklaryň kodlanmagyny, baglanyşyk çaklamamyz üçin gözegçilik edilýän okuwy üpjün etmek üçin bar bolan we ýok baglanyşyklar bilen düwün jübütleriniň sanawyny döretmegi we maglumatlary okuw, tassyklama we synag toplumlaryna bölmegi öz içine alýar.
Training-data-config.json faýlynda görşüňiz ýaly düwün aýratynlyklary 'günler' (hasap ýaşy) we 'görnüşler' san hökmünde ykrar edildi we min-max kadalaşdyrmak teklip edildi. Min-max normalizasiýa terezisi [0; 1] şuňa meňzeş: x_normalized = (x - x_min) / (x_max - x_min). Imputer = median bolsa, ýiten bahalaryň ortaça bahasy bilen dolduryljakdygyny aňladýar.
Düwün aýratynlyklary “kämillik ýaşyna ýeten” we “hyzmatdaş” “awto” diýlip atlandyrylýar we şol sütünlerde diňe bahalar bar, şonuň üçin olaryň kategoriki aýratynlyklar hökmünde ykrar edilmegine we maglumatlary gaýtadan işlemek döwründe kodlanmagyna garaşýarys. Otly-tassyklama-synag bölünişi bu awtomatiki döredilen faýla goşulmaýar we baglanyşygy çaklamak meselesi üçin deslapky bölüniş 0.9, 0.05, 0.05.
Kadalaşdyrmak we kodlamak sazlamalaryny sazlap bilersiňiz we otly-tassyklama-synag bölünişini saýlap bilersiňiz. Şeýle etmegi saýlasaňyz, S3-de asyl okuw-data-config.json faýlyny täzelenen wersiýa bilen çalşyň. Şol JSON-da goldanýan meýdanlaryň doly sanawy şu ýerde . Bu ýazgyda bu faýly üýtgetmän goýarys.
Maglumatlary ýüklemek tapgyrynda bolşy ýaly (bu gollanmanyň 1-nji bölüminde düşündirilýär), ulanjak hyzmatlarymyza girmäge mümkinçilik berýän IAM rollaryny döretmeli we bu rollary Neptun toparymyza goşmalydyrys. Maglumatlary gaýtadan işlemek tapgyry üçin bize iki rol gerek. Birinjisi, SageMaker we S3-e Neptuna girmegi üpjün edýän Neptun roludyr. Ikinjisi, SageMaker tarapyndan maglumatlary gaýtadan işlemek meselesini ýerine ýetirýän we S3-e girmäge mümkinçilik berýän SageMaker ýerine ýetiriş roly.
Bu rollarda Neptun we SageMaker hyzmatlaryny kabul etmäge mümkinçilik berýän ynam syýasaty bolmaly:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Rollary döredenimizden we ynam syýasatlaryny täzelänimizden soň, olary Neptun toparyna goşarys (Neptun -> Maglumatlar bazalary -> SIZI_NEPTUNE_CLUSTER_ID -> Birikdiriş we Howpsuzlyk -> IAM rollary -> Rol goşuň).
Training-data-config.json faýlyny täzeläp, Neptun toparyna IAM rollaryny goşanymyzdan soň, maglumatlary gaýtadan işlemek işine başlamaga taýýar. Munuň üçin Neptun toparynyň HTTP API-sine toparyň ýerleşýän VPC içinden haýyş ibermeli. Munuň üçin EC2 mysalyny ulanarys.
Maglumatlary gaýtadan işlemek işine başlamak üçin curl ulanarys:
curl -XPOST https://(YOUR_NEPTUNE_ENDPOINT):8182/ml/dataprocessing \ -H 'Content-Type: application/json' \ -d '{ "inputDataS3Location" : "s3://SOURCE_BUCKET/neptune-export/...", "processedDataS3Location" : "s3://OUTPUT_BUCKET/neptune-export-processed/...", "neptuneIamRoleArn": "arn:aws:iam::123456789012:role/NeptuneMLDataProcessingNeptuneRole", "sagemakerIamRoleArn": "arn:aws:iam::123456789012:role/NeptuneMLDataProcessingSagemakerRole" }'
Diňe şu 4 parametr zerur: giriş maglumatlary S3 ýerleşişi, gaýtadan işlenen maglumatlar S3 ýerleşişi, Neptun roly, Sagemaker roly. Köp islege bagly parametrler bar: mysal üçin, processingInstanceType
bilen maglumatlary gaýtadan işlemek meselämiz üçin dörediljek EC2 mysal görnüşini el bilen saýlap bileris we processingInstanceVolumeSizeInGB
bilen saklanyş göwrümini kesgitläp bileris. Parametrleriň doly sanawyny şu ýerden tapyp bilersiňiz.
Klaster ýaňy döreden maglumatlary gaýtadan işlemek işimiziň şahsyýetini öz içine alýan JSON bilen jogap berýär:
{"id":"d584f5bc-d90e-4957-be01-523e07a7562e"}
Bu buýruk bilen işiň statusyny almak üçin ulanyp bileris (öňki haýyşdaky ýaly neptuneIamRoleArn ulanyň):
curl https://YOUR_NEPTUNE_CLUSTER_ENDPOINT:8182/ml/dataprocessing/YOUR_JOB_ID?neptuneIamRoleArn='arn:aws:iam::123456789012:role/NeptuneMLDataProcessingNeptuneRole'
Şuňa meňzeş bir zat bilen jogap berensoň,
{ "processingJob": {...}, "id":"d584f5bc-d90e-4957-be01-523e07a7562e", "status":"Completed" }
çykyşyny barlap bileris. Bu faýllar niýetlenen S3 çelekinde döredildi:
Graf. * Faýllarynda gaýtadan işlenen grafiki maglumatlar bar.
Aýratynlyklar.json faýlynda düwün we gyradaky aýratynlyklaryň sanawlary bar:
{ "nodeProperties": { "user": [ "days", "mature", "views", "partner" ] }, "edgeProperties": {} }
Maglumatlaryň gaýtadan işlenişi we aýratynlyklaryň kodlanmagy baradaky jikme-jiklikleri täzelenen_training_config.json faýlyndan tapyp bilersiňiz:
{ "graph": { "nodes": [ { "file_name": "nodes/user.consolidated.csv", "separator": ",", "node": [ "~id", "user" ], "features": [ { "feature": [ "days", "days", "numerical" ], "norm": "min-max", "imputer": "median" }, { "feature": [ "mature", "mature", "category" ] }, { "feature": [ "views", "views", "numerical" ], "norm": "min-max", "imputer": "median" }, { "feature": [ "partner", "partner", "category" ] } ] } ], "edges": [ { "file_name": "edges/%28user%29-follows-%28user%29.consolidated.csv", "separator": ",", "source": [ "~from", "user" ], "relation": [ "", "follows" ], "dest": [ "~to", "user" ] } ] } }
Ilki bilen okuw-maglumat-konfigurasiýa.json faýlynda “awto” diýlip atlandyrylan “ýetişen” we “hyzmatdaş” sütünleriň kategoriýa aýratynlyklary hökmünde kodlanandygyny görüp bileris.
'Train_instance_recommendation.json' faýlynda SageMaker mysal görnüşi we model okuwy üçin maslahat berilýän ammar ölçegi bar:
{ "instance": "ml.g4dn.2xlarge", "cpu_instance": "ml.m5.2xlarge", "disk_size": 14126462, "mem_size": 4349122131.111111 }
Model-hpo-config.json faýlynda modeliň görnüşi, baha bermek üçin ulanylýan ölçegler, baha beriş ýygylygy we giperparametrler bar.
Bu prosesiň maglumatlary gaýtadan işlemek tapgyryny tamamlaýar, sebäbi indi ML modelini taýýarlamaga taýyn. Bu gollanmanyň indiki bölüminde ara alnyp maslahatlaşylar.