Oktatóanyag: Regressziós modell betanítása Az AutoML és a Python használatával

Ez az oktatóanyag bemutatja, hogyan betanítható egy regressziós modell a Azure Machine Learning Python SDK-val az Azure Machine Learning gépi tanulással. Ez a regressziós modell a NYC taxik árait jóslja meg.

Ez a folyamat elfogadja a betanítási adatokat és a konfigurációs beállításokat, és automatikusan iterál a különböző funkciók normalizálási/szabványosítási módszereinek, modelljeinek és hiperparaméter-beállításainak kombinációin, hogy a legjobb modellhez érkezzen.

Folyamatábra

Ebben az oktatóanyagban a Python SDK használatával fog kódot írni. A következő feladatokat sajátodhat el:

  • Adatok letöltése, átalakítása és tisztítása Azure Open Datasets
  • Automatizált gépi tanulási regressziós modell betanítása
  • Modell pontosságának kiszámítása

A kód nélkül használható AutoML-lel próbálkozzon az alábbi oktatóanyagokkal:

Előfeltételek

Ha nem rendelkezik Azure-előfizetéssel, kezdés előtt hozzon létre egy ingyenes fiókot. Próbálja ki a szolgáltatás ingyenes vagy fizetős Azure Machine Learning még ma.

  • Ha még nem rendelkezik Azure Machine Learning munkaterülettel vagy számítási példánysal, Azure Machine Learning rövid útmutatót.
  • A rövid útmutató befejezése után:
    1. Válassza a Jegyzetfüzetek lehetőséget a studióban.
    2. Válassza a Minták lapot.
    3. Nyissa meg az tutorials/regression-automl-nyc-taxi-data/regression-automated-ml.ipynb jegyzetfüzetet.

Ez az oktatóanyag a GitHubon is elérhető, ha a saját helyi környezetében szeretné futtatni. A szükséges csomagok lekért száma:

Adatok letöltése és előkészítése

Importálja a szükséges csomagokat. A Open Datasets csomag tartalmaz egy osztályt, amely az egyes adatforrásokat képviseli (például) a dátumparaméterek egyszerű szűréséhez NycTlcGreen a letöltés előtt.

from azureml.opendatasets import NycTlcGreen
import pandas as pd
from datetime import datetime
from dateutil.relativedelta import relativedelta

Először hozzon létre egy adatkeretet a taxiadatokhoz. Ha nem Spark-környezetben dolgozik, a Open Datasets csak egy hónap adatletöltést tesz lehetővé bizonyos osztályokkal, így elkerülhetők a nagy méretű MemoryError adatkészletek.

Taxiadatok letöltéséhez egyszerre egy-egy hónapot kell iteratívan lekérni, és mielőtt véletlenszerűen 2000 rekordot ad hozzá minden hónapból, hogy elkerülje az adatkeret green_taxi_df felpuffadását. Ezután tekintse meg az adatok előnézetét.

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)
vendorID (szállítóazonosító) lpepPickupDatetime lpepDropoffDatetime passengerCount (utasszám) tripDistance (tripDistance) puLocationId (puLocationId) doLocationId (doLocationId) pickupLongitude pickupLatitude dropoffLongitude ... paymentType (fizetési típus) fareAmount Extra mtaTax improvementSurcharge tippAmount tollsAmount ehailFee totalAmount (összeg) tripType (tripType)
131969 2 2015-01-11 05:34:44 2015-01-11 05:45:03 3 4.84 None None -73.88 40.84 -73.94 ... 2 15.00 0,50 0,50 0.3 0,00 0,00 Nan 16.30
1129817 2 2015-01-20 16:26:29 2015-01-20 16:30:26 1 0.69 None None -73.96 40.81 -73.96 ... 2 4.50 1,00 0,50 0.3 0,00 0,00 Nan 6.30
1278620 2 2015-01-01 05:58:10 2015-01-01 06:00:55 1 0,45 None None -73.92 40.76 -73.91 ... 2 4,00 0,00 0,50 0.3 0,00 0,00 Nan 4,80
348430 2 2015-01-17 02:20:50 2015-01-17 02:41:38 1 0,00 None None -73.81 40.70 -73.82 ... 2 12.50 0,50 0,50 0.3 0,00 0,00 Nan 13.80
1269627 1 2015-01-01 05:04:10 2015-01-01 05:06:23 1 0,50 None None -73.92 40.76 -73.92 ... 2 4,00 0,50 0,50 0 0,00 0,00 Nan 5,00
811755 1 2015-01-04 19:57:51 2015-01-04 20:05:45 2 1.10 None None -73.96 40.72 -73.95 ... 2 6.50 0,50 0,50 0.3 0,00 0,00 Nan 7,80
737281 1 2015-01-03 12:27:31 2015-01-03 12:33:52 1 0,90 None None -73.88 40.76 -73.87 ... 2 6.00 0,00 0,50 0.3 0,00 0,00 Nan 6.80
113951 1 2015-01-09 23:25:51 2015-01-09 23:39:52 1 3.30 None None -73.96 40.72 -73.91 ... 2 12.50 0,50 0,50 0.3 0,00 0,00 Nan 13.80
150436 2 2015-01-11 17:15:14 2015-01-11 17:22:57 1 1.19 None None -73.94 40.71 -73.95 ... 1 7.00 0,00 0,50 0.3 1,75 0,00 Nan 9.55
432136 2 2015-01-22 23:16:33 2015-01-22 23:20:13 1 0.65 None None -73.94 40.71 -73.94 ... 2 5,00 0,50 0,50 0.3 0,00 0,00 Nan 6.30

Most, hogy betöltötte a kezdeti adatokat, definiálhat egy függvényt, amely különböző időalapú funkciókat hoz létre a csomagfelvétel datetime mezőjéből. Ez új mezőket hoz létre a hónap száma, a hónap napja, a hét napja és a nap órája számára, és lehetővé teszi, hogy a modell figyelembe tegye az időalapú szezonalitást. Az adatkereten lévő függvénnyel iteratív módon alkalmazhatja a függvényt a apply() build_time_features() taxiadatok minden sorára.

def build_time_features(vector):
    pickup_datetime = vector[0]
    month_num = pickup_datetime.month
    day_of_month = pickup_datetime.day
    day_of_week = pickup_datetime.weekday()
    hour_of_day = pickup_datetime.hour

    return pd.Series((month_num, day_of_month, day_of_week, hour_of_day))

green_taxi_df[["month_num", "day_of_month","day_of_week", "hour_of_day"]] = green_taxi_df[["lpepPickupDatetime"]].apply(build_time_features, axis=1)
green_taxi_df.head(10)
vendorID (szállítóazonosító) lpepPickupDatetime lpepDropoffDatetime passengerCount (utasszám) tripDistance (tripDistance) puLocationId (puLocationId) doLocationId (doLocationId) pickupLongitude pickupLatitude dropoffLongitude ... paymentType (fizetési típus) fareAmount Extra mtaTax improvementSurcharge tippAmount tollsAmount ehailFee totalAmount (összeg) tripType (tripType) month_num day_of_month day_of_week hour_of_day
131969 2 2015-01-11 05:34:44 2015-01-11 05:45:03 3 4.84 None None -73.88 40.84 -73.94 ... 2 15.00 0,50 0,50 0.3 0,00 0,00 Nan 16.30 1,00 1 11 6
1129817 2 2015-01-20 16:26:29 2015-01-20 16:30:26 1 0.69 None None -73.96 40.81 -73.96 ... 2 4.50 1,00 0,50 0.3 0,00 0,00 Nan 6.30 1,00 1 20 1
1278620 2 2015-01-01 05:58:10 2015-01-01 06:00:55 1 0,45 None None -73.92 40.76 -73.91 ... 2 4,00 0,00 0,50 0.3 0,00 0,00 Nan 4,80 1,00 1 1 3
348430 2 2015-01-17 02:20:50 2015-01-17 02:41:38 1 0,00 None None -73.81 40.70 -73.82 ... 2 12.50 0,50 0,50 0.3 0,00 0,00 Nan 13.80 1,00 1 17 5
1269627 1 2015-01-01 05:04:10 2015-01-01 05:06:23 1 0,50 None None -73.92 40.76 -73.92 ... 2 4,00 0,50 0,50 0 0,00 0,00 Nan 5,00 1,00 1 1 3
811755 1 2015-01-04 19:57:51 2015-01-04 20:05:45 2 1.10 None None -73.96 40.72 -73.95 ... 2 6.50 0,50 0,50 0.3 0,00 0,00 Nan 7,80 1,00 1 4 6
737281 1 2015-01-03 12:27:31 2015-01-03 12:33:52 1 0,90 None None -73.88 40.76 -73.87 ... 2 6.00 0,00 0,50 0.3 0,00 0,00 Nan 6.80 1,00 1 3 5
113951 1 2015-01-09 23:25:51 2015-01-09 23:39:52 1 3.30 None None -73.96 40.72 -73.91 ... 2 12.50 0,50 0,50 0.3 0,00 0,00 Nan 13.80 1,00 1 9 4
150436 2 2015-01-11 17:15:14 2015-01-11 17:22:57 1 1.19 None None -73.94 40.71 -73.95 ... 1 7.00 0,00 0,50 0.3 1,75 0,00 Nan 9.55 1,00 1 11 6
432136 2 2015-01-22 23:16:33 2015-01-22 23:20:13 1 0.65 None None -73.94 40.71 -73.94 ... 2 5,00 0,50 0,50 0.3 0,00 0,00 Nan 6.30 1,00 1 22 3

Távolítsa el azokat az oszlopokat, amelyekre nincs szüksége a betanításhoz vagy a további funkciók építéséhez.

columns_to_remove = ["lpepPickupDatetime", "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 megtisztítása

Futtassa a függvényt az új adatkereten az egyes mezők describe() összegző statisztikáinak áttekintéséhez.

green_taxi_df.describe()
vendorID (szállítóazonosító) passengerCount (utasszám) tripDistance (tripDistance) pickupLongitude pickupLatitude dropoffLongitude (DropoffLongitude) dropoffLatitude totalAmount (összeg) month_num day_of_month day_of_week hour_of_day
count 48000.00 48000.00 48000.00 48000.00 48000.00 48000.00 48000.00 48000.00 48000.00 48000.00
középérték 1.78 1,37 2,87 -73.83 40.69 -73.84 40.70 14.75 6.50 15.13
szórás 0.41 1.04 2.93 2.76 1.52 2.61 1.44 12.08 3.45 8.45
p 1,00 0,00 0,00 -74.66 0,00 -74.66 0,00 -300.00 1,00 1,00
25% 2.00 1,00 1.06 -73.96 40.70 -73.97 40.70 7,80 3,75 8.00
50% 2.00 1,00 1.90 -73.94 40.75 -73.94 40.75 11.30 6.50 15.00
75% 2.00 1,00 3,60 -73.92 40.80 -73.91 40.79 17.80 9.25 22.00
max. 2.00 9.00 97.57 0,00 41.93 0,00 41.94 450.00 12.00 30.00

Az összefoglaló statisztikákból láthatja, hogy több olyan mező is van, amelyek ki- vagy értékekkel vannak, amelyek csökkentik a modell pontosságát. Először szűrje a szélesség/hosszú mezőket úgy, hogy a Rendszerterületen belülre esnek. Ez kiszűri a hosszabb taxiutakat vagy ki- és kivehető utakat a más funkciókkal való kapcsolatuk miatt.

Emellett szűrje a mezőt úgy, hogy nullánál nagyobb, de 31 mérföldnél kisebb legyen (a két tripDistance szélesség/hosszú pár közötti távolság). Ez kiküszöböli a hosszú ki- és kiesik utakat, amelyek inkonzisztens utazási költséggel jár.

Végül pedig a mező negatív értékeket tartalmaz a taxisok ára esetében, ami a modell kontextusában nincs értelme, és a mező rossz adatokat tartalmaz, a minimális értékek pedig totalAmount passengerCount nulla.

Szűrje ki ezeket az anomáliákat lekérdezési függvények használatával, majd távolítsa el a betanításhoz szükségtelen utolsó néhány oszlopot.

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)

Hívja describe() meg újra az adatokat, hogy a tisztítás a várt módon működik-e. Most már van egy kész és tisztított taxi-, ünnepi és időjárási adatok készlete, amelyet a gépi tanulási modell betanítása során használhat.

final_df.describe()

Munkaterület konfigurálása

Hozzon létre egy munkaterület-objektumot a meglévő munkaterületről. A munkaterületek olyan osztályok, amelyek elfogadják az Azure-előfizetéssel és -erőforrásokkal kapcsolatos információkat. Emellett létrehoz egy felhőerőforrást is a modell futtatásának figyelése és nyomon követése számára. Workspace.from_config() beolvassa a config.js, és betölti a hitelesítési adatokat egy nevű ws objektumba. A ws a kód további részében használható ebben az oktatóanyagban.

from azureml.core.workspace import Workspace
ws = Workspace.from_config()

Az adatok felosztása betanítás és tesztelési készletekre

Ossza fel az adatokat betanítás és tesztelési készletekre train_test_split a kódtár scikit-learn függvényének használatával. Ez a függvény elkülöníti az adatokat az x (jellemzők) adatkészletben a modell betanítása és az y ( előrejelezhető értékek) adatkészletben a teszteléshez.

A test_size paraméter határozza meg a teszteléshez lefoglalni szükséges adatok százalékos arányát. A paraméter egy kezdőértékként állítja be a véletlenszerű generátort, hogy a betanítási teszt felosztása random_state determinisztikus.

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 adatpontokkal tesztelje a modellt nem betanító kész modellt a valódi pontosság méréséhez.

Más szóval egy jól betanított modellnek képesnek kell lennie pontosan előrejelzéseket tenni a még nem látott adatokból. Most már előkészítette az adatokat a gépi tanulási modell automatikus betanítása érdekében.

Modell automatikus betanítás

A modell automatikus betanításhoz kövesse az alábbi lépéseket:

  1. 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.
  2. Küldje el a kísérletet a modell finomhangolására. A kísérlet elküldése után a folyamat különböző gépi tanulási algoritmusokkal és hiperparaméter-beállításokkal iterál, a meghatározott korlátozásoknak megfelelő módon. A pontossági metrika optimalizálásával választja ki a legjobban illeszkedő modellt.

Betanítás beállításainak megadása

A kísérlet paramétereinek és modellbeállításának definiálása a betanításhoz. Tekintse meg a beállítások teljes listáját. A kísérlet ezen alapértelmezett beállításokkal való elküldése körülbelül 5–20 percet fog használni, de ha rövidebb futási időt szeretne, csökkentse a experiment_timeout_hours paramétert.

Tulajdonság Az oktatóanyagban szereplő érték Leírás
iteration_timeout_minutes 10 Időkorlát percben az egyes iterációkhoz. Növelje ezt az értéket nagyobb adatkészletek esetén, amelyekhez több időre van szükség az egyes iterációkhoz.
experiment_timeout_hours 0.3 A kísérlet befejeződése előtt az iterációk kombinálásonkénti maximális ideje órákban.
enable_early_stopping Igaz Ha a pontszám rövid távon nem javul, jelölőt kell megjelölni a korai megszakítás engedélyezéséhez.
primary_metric spearman_correlation Az optimalizálni kívánt metrika. A metrika alapján a legjobban illeszkedő modell lesz kiválasztva.
featurizálás Auto Az automatikus használatával a kísérlet képes a bemeneti adatok előfeldolgozására (hiányzó adatok kezelése, szöveg numerikusra konvertálása stb.)
Bőbeszédűség logging.INFO A naplózás szintjét szabályozza.
n_cross_validations 5 Keresztellenőrzési felosztások száma, ha nincs megadva ellenőrzési adat.
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
}

A megadott betanítási beállításokat egy **kwargs objektum AutoMLConfig paramétereként használhatja. Emellett adja meg a betanítás adatait és a modell típusát, ami ebben az regression esetben.

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)

Megjegyzés

Az automatizált gépi tanulás előfeldolgozási lépései (funkciók normalizálása, hiányzó adatok kezelése, szöveg numerikussá konvertálása stb.) az alapul szolgáló modell részei lesznek. Ha a modellt előrejelzésekhez használja, a rendszer automatikusan alkalmazza a betanítás során alkalmazott előfeldolgozási lépéseket a bemeneti adatokra.

Az automatikus regressziós modell betanítása

Hozzon létre egy kísérleti objektumot a munkaterületen. A kísérletek tárolóként viselkednek az egyes futtatásokat tárolóként. Adja át a meghatározott objektumot a kísérletnek, és állítsa a kimenetet a következőre: a futtatás automl_config True közbeni folyamat megtekintéséhez.

A kísérlet megkezdése után a megjelenő kimenet élőben jelenik meg a kísérlet futtatásakor. Az egyes iterációkhoz láthatja a modell típusát, a futtatás időtartamát és a betanítási pontosságot. A mező a metrika típusa alapján követi nyomon a legjobban futó BEST betanítás pontszámát.

from azureml.core.experiment import Experiment
experiment = Experiment(ws, "Tutorial-NYCTaxi")
local_run = experiment.submit(automl_config, show_output=True)
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

Az eredmények vizsgálata

Ismerje meg az automatikus betanítás eredményeit egy Jupyter-widgettel. A widget lehetővé teszi az egyes futtatási iterációk gráfjának és táblájának, valamint a betanítási pontosság metrikák és metaadatok gráfjának és táblájának a beállítását. Emellett a legördülő választóval különböző pontossági metrikákra szűrhet, mint az elsődleges metrikára.

from azureml.widgets import RunDetails
RunDetails(local_run).show()

Jupyter-widget futtatás részletei  – Jupyter-widget ábrázolás

A legjobb modell lekérése

Válassza ki a legjobb modellt az iterációk közül. A függvény az utolsó illeszkedés meghívásának legjobb futtatását és get_output illesztésmodellét adja vissza. A túlterhelései használatával lekérheti a legjobb futtatási és illesztett modellt bármely naplózott metrika vagy egy adott get_output iteráció esetében.

best_run, fitted_model = local_run.get_output()
print(best_run)
print(fitted_model)

A legjobb modellpontosság tesztelése

A legjobb modell használatával előrejelzéseket futtathat a tesztadatkészleten a taxik árainak előrejelzéséhez. A függvény a legjobb modellt használja, és előrejelezni az adatkészletből származó y ( utazás predict költsége) x_test értékét. Nyomtassa ki az első 10 előrejelolt költségértéket a y_predict következőből: .

y_test = x_test.pop("totalAmount")

y_predict = fitted_model.predict(x_test)
print(y_predict[:10])

Számítsa root mean squared error ki az eredmények eredményét. Alakítsa át az adatkeretet listába, hogy összehasonlítsa y_test az előrejel jelzett értékekkel. A függvény két értéktömböt vesz fel, és kiszámítja a közöttük mean_squared_error található átlagos négyzetes hibát. Az eredmény négyzetgyökének kiszámítása az y változóval azonos egységekben a cost (költség) mértékegységben ad hibát. Ez nagyjából azt jelzi, hogy a taxik ára milyen messze van 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 a következő kódot az abszolút százalékos átlagos hiba (MAPE) kiszámításához a teljes y_actual és y_predict adatkészletek használatával. Ez a metrika kiszámítja az előrejel jelzett és a tényleges érték közötti abszolút különbséget, és összegezve az összes különbséget. Ezután 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)
Model MAPE:
0.14353867606052823

Model Accuracy:
0.8564613239394718

A két előrejelzés pontossági mérőszáma alapján láthatja, hogy a modell viszonylag jól előrejelezni tudja az adathalmaz jellemzőiből a taxik árának előrejelzését, jellemzően +- 4,00 USD-s és körülbelül 15%-os hibaértéken belül.

A hagyományos gépi tanulási modell fejlesztési folyamata rendkívül erőforrás-igényes, és jelentős tartományi tudást és időbefektetést igényel a több tucat modell futtatásához és az eredmények ö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 a forgatókönyvhöz.

Az erőforrások eltávolítása

Ne töltse ki ezt a szakaszt, ha más oktatóanyagok futtatását Azure Machine Learning tervezi.

A számítási példány leállítása

Ha számítási példányt használt, állítsa le a virtuális gépet, ha nem használja a költségek csökkentése érdekében.

  1. A munkaterületen válassza a Számítás lehetőséget.

  2. A listában válassza ki a számítási példány nevét.

  3. Válassza a Leállítás lehetőséget.

  4. Amikor készen áll a kiszolgáló újra használatára, válassza a Start (Indítás) lehetőséget.

Minden törlése

Ha nem tervezi használni a létrehozott erőforrásokat, törölje őket, hogy ne költségeket használjon.

  1. Az Azure Portalon válassza az Erőforráscsoportok lehetőséget a bal szélen.
  2. Válassza ki a listában az Ön által létrehozott erőforráscsoportot.
  3. Válassza az Erőforráscsoport törlése elemet.
  4. Írja be az erőforráscsoport nevét. Ezután válassza a Törlés elemet.

Megtarthatja az erőforráscsoportot is, de egyetlen munkaterületet törölhet. Jelenítse meg a munkaterület tulajdonságait, és válassza a Törlés lehetőséget.

Következő lépések

Ebben az automatizált gépi tanulási oktatóanyagban a következő feladatokat követte:

  • Konfigurált egy munkaterületet, és előkészítette az adatokat egy kísérlethez.
  • Betanítás automatizált regressziós modellel helyileg, egyéni paraméterekkel.
  • A betanítás eredményeinek megismerése és áttekintése.

A modell üzembe helyezése a Azure Machine Learning.