Python-modell összetevő létrehozása
Ez a cikk az Azure Machine Learning-tervező egy összetevőjét ismerteti.
Megtudhatja, hogyan hozhat létre betanítatlan modellt Python-szkriptből a Python-modell létrehozása összetevővel. A modellt bármely olyan tanulóra alapozhatja, aki szerepel egy Python-csomagban az Azure Machine Learning-tervezői környezetben.
A modell létrehozása után a Modell betanítása használatával betaníthatja a modellt egy adathalmazon, mint az Azure Machine Learning bármely más tanulója. A betanított modell átadható a Modell pontozása számára az előrejelzések készítéséhez. Ezután mentheti a betanított modellt, és közzéteheti a pontozási munkafolyamatot webszolgáltatásként.
Figyelmeztetés
Jelenleg nem lehet csatlakoztatni ezt az összetevőt a Modell hiperparaméterek összetevőjének finomhangolásához , vagy egy Python-modell pontozott eredményeinek átadásához a modell kiértékeléséhez. Ha hangolnia kell a hiperparamétereket, vagy ki kell értékelnie egy modellt, egyéni Python-szkriptet írhat a Python-szkript végrehajtása összetevővel.
Az összetevő konfigurálása
Ennek az összetevőnek a használatához a Python középfokú vagy szakértői ismerete szükséges. Az összetevő támogatja az Azure Machine Learningben már telepített Python-csomagokban szereplő tanulók használatát. Tekintse meg az előre telepített Python-csomagok listáját a Python-szkript végrehajtása című témakörben.
Megjegyzés
Legyen nagyon óvatos a szkript írásakor, és győződjön meg arról, hogy nincs szintaktikai hiba, például nem deklarált objektum vagy nem importált összetevő használata.
Megjegyzés
A Python-szkript végrehajtása szakaszban további figyelmet kell fordítani az előre telepített összetevők listájára is. Csak az előre telepített összetevők importálása. Ne telepítsen olyan további csomagokat, mint a "pip install xgboost" ebben a szkriptben, különben hibák lépnek fel, amikor a modelleket leolvassa a streameletlen összetevőkben.
Ez a cikk bemutatja, hogyan használható a Python-modell létrehozása egyszerű folyamattal. Íme egy diagram a folyamatról:
- Válassza a Python-modell létrehozása lehetőséget, és szerkessze a szkriptet a modellezési vagy adatkezelési folyamat implementálásához. A modellt bármely olyan tanulóra alapozhatja, aki szerepel egy Python-csomagban az Azure Machine Learning-környezetben.
Megjegyzés
Ügyeljen a szkript mintakódjában szereplő megjegyzésekre, és győződjön meg arról, hogy a szkript szigorúan követi a követelményt, beleértve az osztály nevét, a metódusokat és a metódus aláírását. A szabálysértés kivételeket eredményez. A Python-modell létrehozása csak a modell betanításával betanított sklearn-alapú modellek létrehozását támogatja.
A kétosztályos Naive Bayes-osztályozó alábbi mintakódja a népszerű sklearn-csomagot használja:
# The script MUST define a class named Azure Machine LearningModel.
# This class MUST at least define the following three methods:
# __init__: in which self.model must be assigned,
# train: which trains self.model, the two input arguments must be pandas DataFrame,
# predict: which generates prediction result, the input argument and the prediction result MUST be pandas DataFrame.
# The signatures (method names and argument names) of all these methods MUST be exactly the same as the following example.
# Please do not install extra packages such as "pip install xgboost" in this script,
# otherwise errors will be raised when reading models in down-stream components.
import pandas as pd
from sklearn.naive_bayes import GaussianNB
class AzureMLModel:
def __init__(self):
self.model = GaussianNB()
self.feature_column_names = list()
def train(self, df_train, df_label):
# self.feature_column_names records the column names used for training.
# It is recommended to set this attribute before training so that the
# feature columns used in predict and train methods have the same names.
self.feature_column_names = df_train.columns.tolist()
self.model.fit(df_train, df_label)
def predict(self, df):
# The feature columns used for prediction MUST have the same names as the ones for training.
# The name of score column ("Scored Labels" in this case) MUST be different from any other columns in input data.
return pd.DataFrame(
{'Scored Labels': self.model.predict(df[self.feature_column_names]),
'probabilities': self.model.predict_proba(df[self.feature_column_names])[:, 1]}
)
Csatlakoztassa az imént létrehozott Python-modell létrehozása összetevőt a Modell betanítása és a Modell pontozása elemhez.
Ha ki kell értékelnie a modellt, adjon hozzá egy Python-szkript végrehajtása összetevőt, és szerkessze a Python-szkriptet.
A következő szkript minta kiértékelési kód:
# The script MUST contain a function named azureml_main # which is the entry point for this component. # imports up here can be used to import pandas as pd # The entry point function MUST have two input arguments: # Param<dataframe1>: a pandas.DataFrame # Param<dataframe2>: a pandas.DataFrame def azureml_main(dataframe1 = None, dataframe2 = None): from sklearn.metrics import accuracy_score, precision_score, recall_score, roc_auc_score, roc_curve import pandas as pd import numpy as np scores = dataframe1.ix[:, ("income", "Scored Labels", "probabilities")] ytrue = np.array([0 if val == '<=50K' else 1 for val in scores["income"]]) ypred = np.array([0 if val == '<=50K' else 1 for val in scores["Scored Labels"]]) probabilities = scores["probabilities"] accuracy, precision, recall, auc = \ accuracy_score(ytrue, ypred),\ precision_score(ytrue, ypred),\ recall_score(ytrue, ypred),\ roc_auc_score(ytrue, probabilities) metrics = pd.DataFrame(); metrics["Metric"] = ["Accuracy", "Precision", "Recall", "AUC"]; metrics["Value"] = [accuracy, precision, recall, auc] return metrics,
Következő lépések
Tekintse meg az Azure Machine Learning számára elérhető összetevőket .
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: