Regressziós modell betanítása automatizált gépi tanulással és Pythonnal (SDK v1)
A KÖVETKEZŐKRE VONATKOZIK: Python SDK azureml v1
Ebből a cikkből megtudhatja, hogyan taníthat be regressziós modellt az Azure Machine Learning Python SDK-val az Azure Machine Learning Automatizált ML használatával. A regressziós modell előrejelzi a New Yorkban (NYC) üzemelő taxik utasdíjait. A Python SDK-val kódot kell írnia egy munkaterület előkészített adatokkal való konfigurálásához, a modell helyi betanítása egyéni paraméterekkel, és az eredmények megismerése.
A folyamat elfogadja a betanítási adatokat és a konfigurációs beállításokat. Automatikusan végigvezeti a különböző funkciók normalizálási/szabványosítási módszerein, modelljein és hiperparaméter-beállításain keresztül, hogy a legjobb modellt érje el. Az alábbi ábra a regressziós modell betanításának folyamatát mutatja be:
Előfeltételek
Azure-előfizetés. Létrehozhat egy ingyenes vagy fizetős Azure Machine Learning-fiókot .
Azure Machine Learning-munkaterület vagy számítási példány. Az erőforrások előkészítéséhez tekintse meg az Azure Machine Learning használatának első lépéseit ismertető rövid útmutatót.
Az oktatóanyagi gyakorlatokhoz készített mintaadatok lekérése egy jegyzetfüzet munkaterületre való betöltésével:
Nyissa meg a munkaterületet az Azure Machine Learning Studióban, válassza a Jegyzetfüzetek lehetőséget, majd válassza a Minták lapot.
A jegyzetfüzetek listájában bontsa ki a Minta>SDK v1>oktatóanyagokat>regresszió-automl-nyc-taxi-data csomópont.
Válassza ki a regresszió-automated-ml.ipynb jegyzetfüzetet.
Az oktatóanyag részeként az egyes jegyzetfüzetcellák futtatásához válassza a Fájl klónozása lehetőséget.
Alternatív megközelítés: Ha szeretné, helyi környezetben is futtathatja az oktatóanyagi gyakorlatokat. Az oktatóanyag a GitHub Azure Machine Learning Notebooks-adattárában érhető el. Ehhez kövesse az alábbi lépéseket a szükséges csomagok beszerzéséhez:
Futtassa a
pip install azureml-opendatasets azureml-widgets
parancsot a helyi gépen a szükséges csomagok beszerzéséhez.
Adatok letöltése és előkészítése
Az Open Datasets csomag egy olyan osztályt tartalmaz, amely az egyes adatforrásokat (például NycTlcGreen
) jelöli, így a letöltés előtt egyszerűen szűrheti a dátumparamétereket.
A következő kód importálja a szükséges csomagokat:
from azureml.opendatasets import NycTlcGreen
import pandas as pd
from datetime import datetime
from dateutil.relativedelta import relativedelta
Az első lépés egy adatkeret létrehozása a taxiadatokhoz. Ha nem Spark-környezetben dolgozik, az Open Datasets csomag lehetővé teszi, hogy egyszerre csak egy hónapnyi adatot töltsön le bizonyos osztályokkal. Ez a megközelítés segít elkerülni a MemoryError
nagy adathalmazokkal kapcsolatos problémákat.
A taxiadatok letöltéséhez iteratív módon egyszerre egy hónapot kell lekérnie. Mielőtt hozzáfűzené a következő adatkészletet az green_taxi_df
adatkerethez, véletlenszerűen mintázzon 2000 rekordot minden hónapból, majd tekintse meg az adatokat. Ez a megközelítés segít elkerülni az adatkeret felfúvódását.
Az alábbi kód létrehozza az adatkeretet, lekéri az adatokat, és betölti az adatkeretbe:
green_taxi_df = pd.DataFrame([])
start = datetime.strptime("1/1/2015","%m/%d/%Y")
end = datetime.strptime("1/31/2015","%m/%d/%Y")
for sample_month in range(12):
temp_df_green = NycTlcGreen(start + relativedelta(months=sample_month), end + relativedelta(months=sample_month)) \
.to_pandas_dataframe()
green_taxi_df = green_taxi_df.append(temp_df_green.sample(2000))
green_taxi_df.head(10)
Az alábbi táblázat a taximintában szereplő értékek számos oszlopát mutatja be:
vendorID | lpepPickupDatetime | lpepDropoffDatetime | passengerCount | tripDistance | puLocationId | doLocationId | pickupLongitude | pickupLatitude | dropoffLongitude | ... | paymentType | viteldíjAmount | többlet | mtaTax | improvementSurcharge | tipAmount | tollsAmount | ehailFee | totalAmount | tripType |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | 2015-01-30 18:38:09 | 2015-01-30 19:01:49 | 0 | 1.88 | Egyik sem | Egyik sem | -73.996155 | 40.690903 | -73.964287 | ... | 0 | 15,0 | 1.0 | 0,5 | 0.3 | 4,00 | 0,0 | Egyik sem | 20.80 | 1.0 |
0 | 2015-01-17 23:21:39 | 2015-01-17 23:35:16 | 0 | 2.70 | Egyik sem | Egyik sem | -73.978508 | 40.687984 | -73.955116 | ... | 0 | 11.5 | 0,5 | 0,5 | 0.3 | 2.55 | 0,0 | Egyik sem | 15.35 | 1.0 |
2 | 2015-01-16 01:38:40 | 2015-01-16 01:52:55 | 0 | 3,54 | Egyik sem | Egyik sem | -73.957787 | 40.721779 | -73.963005 | ... | 0 | 13,5 | 0,5 | 0,5 | 0.3 | 2,80 | 0,0 | Egyik sem | 17.60 | 1.0 |
2 | 2015-01-04 17:09:26 | 2015-01-04 17:16:12 | 0 | 1,00 | Egyik sem | Egyik sem | -73.919914 | 40.826023 | -73.904839 | ... | 2 | 6.5 | 0,0 | 0,5 | 0.3 | 0,00 | 0,0 | Egyik sem | 7.30 | 1.0 |
0 | 2015-01-14 10:10:57 | 2015-01-14 10:33:30 | 0 | 5.10 | Egyik sem | Egyik sem | -73.943710 | 40.825439 | -73.982964 | ... | 0 | 18.5 | 0,0 | 0,5 | 0.3 | 3.85 | 0,0 | Egyik sem | 23.15 | 1.0 |
2 | 2015-01-19 18:10:41 | 2015-01-19 18:32:20 | 0 | 7.41 | Egyik sem | Egyik sem | -73.940918 | 40.839714 | -73.994339 | ... | 0 | 24,0 | 0,0 | 0,5 | 0.3 | 4.80 | 0,0 | Egyik sem | 29.60 | 1.0 |
2 | 2015-01-01 15:44:21 | 2015-01-01 15:50:16 | 0 | 1,03 | Egyik sem | Egyik sem | -73.985718 | 40.685646 | -73.996773 | ... | 0 | 6.5 | 0,0 | 0,5 | 0.3 | 1,30 | 0,0 | Egyik sem | 8.60 | 1.0 |
2 | 2015-01-12 08:01:21 | 2015-01-12 08:14:52 | 5 | 2.94 | Egyik sem | Egyik sem | -73.939865 | 40.789822 | -73.952957 | ... | 2 | 12.5 | 0,0 | 0,5 | 0.3 | 0,00 | 0,0 | Egyik sem | 13.30 | 1.0 |
0 | 2015-01-16 21:54:26 | 2015-01-16 22:12:39 | 0 | 3.00 | Egyik sem | Egyik sem | -73.957939 | 40.721928 | -73.926247 | ... | 0 | 14,0 | 0,5 | 0,5 | 0.3 | 2,00 | 0,0 | Egyik sem | 17.30 | 1.0 |
2 | 2015-01-06 06:34:53 | 2015-01-06 06:44:23 | 0 | 2.31 | Egyik sem | Egyik sem | -73.943825 | 40.810257 | -73.943062 | ... | 0 | 10,0 | 0,0 | 0,5 | 0.3 | 2,00 | 0,0 | Egyik sem | 12,80 | 1.0 |
Hasznos, ha eltávolít néhány oszlopot, amelyekre nincs szüksége a betanításhoz vagy más funkcióépítéshez. Eltávolíthatja például a lpepPickupDatetime oszlopot, mert az automatizált gépi tanulás automatikusan kezeli az időalapú funkciókat.
A következő kód 14 oszlopot távolít el a mintaadatokból:
columns_to_remove = ["lpepDropoffDatetime", "puLocationId", "doLocationId", "extra", "mtaTax",
"improvementSurcharge", "tollsAmount", "ehailFee", "tripType", "rateCodeID",
"storeAndFwdFlag", "paymentType", "fareAmount", "tipAmount"
]
for col in columns_to_remove:
green_taxi_df.pop(col)
green_taxi_df.head(5)
Adatok tisztítása
A következő lépés az adatok megtisztítása.
Az alábbi kód az új adatkereten futtatja a describe()
függvényt az egyes mezők összesített statisztikáinak előállításához:
green_taxi_df.describe()
Az alábbi táblázat a mintaadatok fennmaradó mezőinek összesített statisztikáit mutatja be:
vendorID | passengerCount | tripDistance | pickupLongitude | pickupLatitude | dropoffLongitude | dropoffLatitude | totalAmount | |
---|---|---|---|---|---|---|---|---|
count | 24000.00 | 24000.00 | 24000.00 | 24000.00 | 24000.00 | 24000.00 | 24000.00 | 24000.00 |
jelent | 1.777625 | 1.373625 | 2.893981 | -73.827403 | 40.689730 | -73.819670 | 40.684436 | 14.892744 |
Std | 0.415850 | 1.046180 | 3.072343 | 2.821767 | 1.556082 | 2.901199 | 1.599776 | 12.339749 |
Min | 1,00 | 0,00 | 0,00 | -74.357101 | 0,00 | -74.342766 | 0,00 | -120.80 |
25% | 2,00 | 1,00 | 1.05 | -73.959175 | 40.699127 | -73.966476 | 40.699459 | 8.00 |
50% | 2,00 | 1,00 | 1.93 | -73.945049 | 40.746754 | -73.944221 | 40.747536 | 11.30 |
75% | 2,00 | 1,00 | 3.70 | -73.917089 | 40.803060 | -73.909061 | 40.791526 | 17.80 |
max | 2,00 | 8.00 | 154.28 | 0,00 | 41.109089 | 0,00 | 40.982826 | 425.00 |
Az összefoglaló statisztikák számos olyan mezőt fednek fel, amelyek kiugró értékek, amelyek csökkentik a modell pontosságát. A probléma megoldásához szűrje a szélességi/hosszúsági (lat/long) mezőket, hogy az értékek a Manhattan-terület határán belül legyenek. Ez a megközelítés kiszűri a hosszabb taxiutakat vagy utazásokat, amelyek kiugróak a más funkciókkal való kapcsolatuk szempontjából.
Ezután szűrje a mezőt a tripDistance
nullánál nagyobb, de 31 mérföldnél kisebb értékekre (a két lat/hosszú pár közötti távolság). Ez a technika kiküszöböli a hosszú kiugró utazásokat, amelyek inkonzisztens utazási költséggel rendelkeznek.
Végül a totalAmount
mező negatív értékeket tartalmaz a taxidíjakhoz, ami a modell kontextusában nem értelmezhető. A passengerCount
mező olyan rossz adatokat is tartalmaz, ahol a minimális érték nulla.
Az alábbi kód lekérdezési függvények használatával szűri ki ezeket az értékrendellenességeket. A kód ezután eltávolítja az utolsó néhány oszlopot, amelyek nem szükségesek a betanításhoz:
final_df = green_taxi_df.query("pickupLatitude>=40.53 and pickupLatitude<=40.88")
final_df = final_df.query("pickupLongitude>=-74.09 and pickupLongitude<=-73.72")
final_df = final_df.query("tripDistance>=0.25 and tripDistance<31")
final_df = final_df.query("passengerCount>0 and totalAmount>0")
columns_to_remove_for_training = ["pickupLongitude", "pickupLatitude", "dropoffLongitude", "dropoffLatitude"]
for col in columns_to_remove_for_training:
final_df.pop(col)
Ebben a sorrendben az utolsó lépés a describe()
függvény ismételt meghívása az adatokon annak érdekében, hogy a tisztítás a várt módon működjön. Most már rendelkezik a gépi tanulási modell betanításához használható taxis, ünnepi és időjárási adatok előkészített és megtisztított készletével:
final_df.describe()
Munkaterület konfigurálása
Hozzon létre egy munkaterület-objektumot a meglévő munkaterületről. A munkaterület egy osztály, amely elfogadja az Azure-előfizetést és az erőforrás-információkat. Emellett létrehoz egy felhőalapú erőforrást a modellfuttatások figyeléséhez és nyomon követéséhez.
Az alábbi kód meghívja a függvényt, Workspace.from_config()
hogy olvassa be a config.json fájlt, és töltse be a hitelesítési adatokat egy nevű ws
objektumba.
from azureml.core.workspace import Workspace
ws = Workspace.from_config()
Az ws
objektumot az oktatóanyag többi kódjában használjuk.
Adatok felosztása betanítási és tesztelési csoportokra
Ossza fel az adatokat betanítási és tesztelési csoportokra a train_test_split
scikit-learn kódtárban található függvény használatával. Ez a függvény elkülöníti az adatokat az x (funkciók) adatkészletbe a modell betanítása és az y (előrejelezendő értékek) adatkészletbe tesztelés céljából.
A test_size
paraméter határozza meg a teszteléshez lefoglalandó adatok százalékos arányát. A random_state
paraméter beállít egy magot a véletlenszerű generátorra, hogy a betanítási teszt felosztásai determinisztikusak legyenek.
Az alábbi kód meghívja a függvényt az train_test_split
x és y adatkészletek betöltésére:
from sklearn.model_selection import train_test_split
x_train, x_test = train_test_split(final_df, test_size=0.2, random_state=223)
Ennek a lépésnek az a célja, hogy előkészítse az adatpontokat a modell betanításához nem használt kész modell teszteléséhez. Ezek a pontok a valódi pontosság mérésére szolgálnak. A jól betanított modellek pontos előrejelzéseket készíthetnek a nem látott adatokból. Most már előkészítette az adatokat egy gépi tanulási modell automatikus betanításához.
Modell automatikus betanítása
Modell automatikus betanítása a következő lépésekkel:
Adja meg a kísérlet futtatásának beállításait. Csatolja a betanítási adatokat a konfigurációhoz, és módosítsa a betanítási folyamatot vezérlő beállításokat.
Küldje el a kísérletet a modell finomhangolásához. A kísérlet elküldése után a folyamat különböző gépi tanulási algoritmusokon és hiperparaméter-beállításokon keresztül halad végig, betartva a megadott korlátozásokat. A pontossági metrikák optimalizálásával a legjobban illeszkedő modellt választja ki.
Betanítási beállítások megadása
Adja meg a betanítás kísérletparaméterét és modellbeállítását. A beállítások teljes listájának megtekintése. A kísérlet elküldése az alapértelmezett beállításokkal körülbelül 5–20 percet vesz igénybe. A futási idő csökkentéséhez csökkentse a paramétert experiment_timeout_hours
.
Tulajdonság | Az oktatóanyagban szereplő érték | Leírás |
---|---|---|
iteration_timeout_minutes |
10 | Az egyes iterációk időkorlátja percekben. Növelje ezt az értéket olyan nagyobb adathalmazok esetében, amelyeknek több időre van szükségük az egyes iterációkhoz. |
experiment_timeout_hours |
0.3 | A kísérlet leállása előtt az összes iteráció összevonásának maximális időtartama órákban. |
enable_early_stopping |
Igaz | Megjelölés a korai leállás engedélyezéséhez, ha a pontszám rövid távon nem javul. |
primary_metric |
spearman_correlation | Az optimalizálni kívánt metrika. A legjobban illeszkedő modellt a metrikák alapján választja ki a rendszer. |
featurization |
auto | Az automatikus érték lehetővé teszi, hogy a kísérlet előre feldolgozhassa a bemeneti adatokat, beleértve a hiányzó adatok kezelését, a szöveg numerikussá alakítását stb. |
verbosity |
logging.INFO | Szabályozza a naplózás szintjét. |
n_cross_validations |
5 | A keresztérvényesítési felosztások száma, ha az érvényesítési adatok nincsenek megadva. |
A következő kód küldi el a kísérletet:
import logging
automl_settings = {
"iteration_timeout_minutes": 10,
"experiment_timeout_hours": 0.3,
"enable_early_stopping": True,
"primary_metric": 'spearman_correlation',
"featurization": 'auto',
"verbosity": logging.INFO,
"n_cross_validations": 5
}
Az alábbi kód lehetővé teszi, hogy a megadott betanítási beállításokat paraméterként **kwargs
használja egy AutoMLConfig
objektumhoz. Emellett meg kell adnia a betanítási adatokat és a modell típusát, amely ebben az esetben van regression
.
from azureml.train.automl import AutoMLConfig
automl_config = AutoMLConfig(task='regression',
debug_log='automated_ml_errors.log',
training_data=x_train,
label_column_name="totalAmount",
**automl_settings)
Feljegyzés
Az automatizált gépi tanulási előfeldolgozás lépései (funkció normalizálása, hiányzó adatok kezelése, szöveg numerikussá alakítása stb.) az alapul szolgáló modell részévé válnak. Ha a modellt előrejelzésekhez használja, a betanítás során alkalmazott előfeldolgozási lépések automatikusan érvényesek lesznek a bemeneti adatokra.
Automatikus regressziós modell betanítása
Hozzon létre egy kísérletobjektumot a munkaterületen. A kísérletek tárolóként szolgálnak az egyes feladatokhoz. Adja át a megadott automl_config
objektumot a kísérletnek, és állítsa a kimenetet True értékre a feladat során elért állapot megtekintéséhez.
A kísérlet elindítása után a megjelenített kimeneti frissítések a kísérlet futtatásakor élőben jelennek meg. Minden iteráció esetében láthatja a modell típusát, a futtatási időtartamot és a betanítás pontosságát. A mező BEST
a metrikatípus alapján követi nyomon a legjobban futó betanítási pontszámot:
from azureml.core.experiment import Experiment
experiment = Experiment(ws, "Tutorial-NYCTaxi")
local_run = experiment.submit(automl_config, show_output=True)
Ez a kimenet:
Running on local machine
Parent Run ID: AutoML_1766cdf7-56cf-4b28-a340-c4aeee15b12b
Current status: DatasetFeaturization. Beginning to featurize the dataset.
Current status: DatasetEvaluation. Gathering dataset statistics.
Current status: FeaturesGeneration. Generating features for the dataset.
Current status: DatasetFeaturizationCompleted. Completed featurizing the dataset.
Current status: DatasetCrossValidationSplit. Generating individually featurized CV splits.
Current status: ModelSelection. Beginning model selection.
****************************************************************************************************
ITERATION: The iteration being evaluated.
PIPELINE: A summary description of the pipeline being evaluated.
DURATION: Time taken for the current iteration.
METRIC: The result of computing score on the fitted pipeline.
BEST: The best observed score thus far.
****************************************************************************************************
ITERATION PIPELINE DURATION METRIC BEST
0 StandardScalerWrapper RandomForest 0:00:16 0.8746 0.8746
1 MinMaxScaler RandomForest 0:00:15 0.9468 0.9468
2 StandardScalerWrapper ExtremeRandomTrees 0:00:09 0.9303 0.9468
3 StandardScalerWrapper LightGBM 0:00:10 0.9424 0.9468
4 RobustScaler DecisionTree 0:00:09 0.9449 0.9468
5 StandardScalerWrapper LassoLars 0:00:09 0.9440 0.9468
6 StandardScalerWrapper LightGBM 0:00:10 0.9282 0.9468
7 StandardScalerWrapper RandomForest 0:00:12 0.8946 0.9468
8 StandardScalerWrapper LassoLars 0:00:16 0.9439 0.9468
9 MinMaxScaler ExtremeRandomTrees 0:00:35 0.9199 0.9468
10 RobustScaler ExtremeRandomTrees 0:00:19 0.9411 0.9468
11 StandardScalerWrapper ExtremeRandomTrees 0:00:13 0.9077 0.9468
12 StandardScalerWrapper LassoLars 0:00:15 0.9433 0.9468
13 MinMaxScaler ExtremeRandomTrees 0:00:14 0.9186 0.9468
14 RobustScaler RandomForest 0:00:10 0.8810 0.9468
15 StandardScalerWrapper LassoLars 0:00:55 0.9433 0.9468
16 StandardScalerWrapper ExtremeRandomTrees 0:00:13 0.9026 0.9468
17 StandardScalerWrapper RandomForest 0:00:13 0.9140 0.9468
18 VotingEnsemble 0:00:23 0.9471 0.9471
19 StackEnsemble 0:00:27 0.9463 0.9471
Eredmények felfedezése
Ismerje meg az automatikus betanítás eredményeit egy Jupyter-widgettel. A widget lehetővé teszi az összes egyes feladat iterációjának gráfját és táblázatát, valamint a betanítási pontossági metrikákat és metaadatokat. Emellett a legördülő választóval különböző pontossági metrikákra is szűrhet, mint az elsődleges metrika.
Az alábbi kód egy grafikont hoz létre az eredmények feltárásához:
from azureml.widgets import RunDetails
RunDetails(local_run).show()
A Jupyter widget futtatási részletei:
A Jupyter widget diagramja:
A legjobb modell lekérése
Az alábbi kód segítségével kiválaszthatja a legjobb modellt az iterációkból. A get_output
függvény a legjobb futást és az utolsó illesztési meghíváshoz beállított modellt adja vissza. A függvény túlterheléseinek get_output
használatával lekérheti a legjobb futtatási és illesztett modellt minden naplózott metrika vagy egy adott iteráció esetében.
best_run, fitted_model = local_run.get_output()
print(best_run)
print(fitted_model)
A modell pontosságának tesztelése
A legjobb modell használatával előrejelzéseket futtathat a tesztadatkészleten a taxidíjak előrejelzéséhez. A predict
függvény a legjobb modellt használja, és előrejelzi az y, az utazási költség értékét az x_test
adathalmazból.
Az alábbi kód az első 10 előrejelzett költségértéket nyomtatja ki az y_predict
adatkészletből:
y_test = x_test.pop("totalAmount")
y_predict = fitted_model.predict(x_test)
print(y_predict[:10])
Számítsa ki az root mean squared error
eredmények értékét. Konvertálja az y_test
adatkeretet listává, és hasonlítsa össze az előrejelzett értékekkel. A mean_squared_error
függvény két értéktömböt használ, és kiszámítja közöttük az átlagos négyzetes hibát. Az eredmény négyzetgyökének figyelembe vételével az y változóval megegyező egységekben hiba jelenik meg. Ez nagyjából azt jelzi, hogy a taxi viteldíj előrejelzései milyen messze vannak a tényleges viteldíjaktól.
from sklearn.metrics import mean_squared_error
from math import sqrt
y_actual = y_test.values.flatten().tolist()
rmse = sqrt(mean_squared_error(y_actual, y_predict))
rmse
Futtassa az alábbi kódot a teljes y_actual
és y_predict
az adatkészletek használatával kiszámított átlagos abszolút százalékos hiba (MAPE) kiszámításához. Ez a metrika az egyes előrejelzett és tényleges értékek abszolút különbségét számítja ki, és összegzi az összes különbséget. Ezt az összeget a tényleges értékek összegének százalékában fejezi ki.
sum_actuals = sum_errors = 0
for actual_val, predict_val in zip(y_actual, y_predict):
abs_error = actual_val - predict_val
if abs_error < 0:
abs_error = abs_error * -1
sum_errors = sum_errors + abs_error
sum_actuals = sum_actuals + actual_val
mean_abs_percent_error = sum_errors / sum_actuals
print("Model MAPE:")
print(mean_abs_percent_error)
print()
print("Model Accuracy:")
print(1 - mean_abs_percent_error)
Ez a kimenet:
Model MAPE:
0.14353867606052823
Model Accuracy:
0.8564613239394718
A két előrejelzési pontossági metrika alapján láthatja, hogy a modell elég jó a taxidíjak előrejelzéséhez az adathalmaz funkcióitól, jellemzően +- 4,00 dolláron belül, és körülbelül 15%-os hiba.
A hagyományos gépi tanulási modell fejlesztési folyamata rendkívül erőforrás-igényes. Jelentős tartományismeretet és időbefektetést igényel több tucat modell eredményeinek futtatásához és összehasonlításához. Az automatizált gépi tanulás nagyszerű módja számos különböző modell gyors tesztelésének.
Az erőforrások eltávolítása
Ha nem tervez más Azure Machine Learning-oktatóanyagokon dolgozni, végezze el az alábbi lépéseket a már nem szükséges erőforrások eltávolításához.
A számítás leállítása
Ha számítást használt, leállítja a virtuális gépet, ha nem használja, és csökkentheti a költségeket:
Nyissa meg a munkaterületet az Azure Machine Learning Studióban, és válassza a Compute lehetőséget.
A listában válassza ki a leállítandó számítást, majd válassza a Leállítás lehetőséget.
Ha készen áll a számítás ismételt használatára, újraindíthatja a virtuális gépet.
Egyéb erőforrások törlése
Ha nem tervezi használni az oktatóanyagban létrehozott erőforrásokat, törölheti őket, és elkerülheti a további költségek felmerülését.
Az erőforráscsoport és az összes erőforrás eltávolításához kövesse az alábbi lépéseket:
Az Azure Portalon lépjen az Erőforráscsoportok oldalra.
A listában válassza ki az oktatóanyagban létrehozott erőforráscsoportot, majd válassza az Erőforráscsoport törlése lehetőséget.
A megerősítést kérő üzenetben adja meg az erőforráscsoport nevét, majd válassza a Törlés lehetőséget.
Ha meg szeretné tartani az erőforráscsoportot, és csak egyetlen munkaterületet szeretne törölni, kövesse az alábbi lépéseket:
Az Azure Portalon lépjen az eltávolítani kívánt munkaterületet tartalmazó erőforráscsoportra.
Jelölje ki a munkaterületet, válassza a Tulajdonságok, majd a Törlés lehetőséget.