Condividi tramite


Come usare un notebook di Azure Machine Learning in Spark

Nota

Azure HDInsight su AKS verrà ritirato il 31 gennaio 2025. Prima del 31 gennaio 2025, sarà necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare interruzioni improvvise dei carichi di lavoro. I cluster rimanenti nella sottoscrizione verranno arrestati e rimossi dall’host.

Solo il supporto di base sarà disponibile fino alla data di ritiro.

Importante

Questa funzionalità è attualmente disponibile solo in anteprima. Le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale. Per informazioni su questa anteprima specifica, vedere Informazioni sull'anteprima di Azure HDInsight nel servizio Azure Kubernetes. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire Microsoft per altri aggiornamenti nella Community di Azure HDInsight.

L'apprendimento automatico è una tecnologia in crescita che consente ai computer di apprendere automaticamente dai dati passati. L'apprendimento automatico usa vari algoritmi per la creazione di modelli matematici e l'esecuzione di previsioni usando informazioni o dati storici. È stato definito un modello fino ad alcuni parametri e l'apprendimento è l'esecuzione di un programma informatico per ottimizzare i parametri del modello usando i dati o l'esperienza di training. Il modello può essere predittivo per eseguire previsioni in futuro oppure descrittivo per ottenere informazioni dai dati.

Il notebook dell'esercitazione seguente illustra un esempio di training dei modelli di apprendimento automatico su dati tabulari. È possibile importare questo notebook ed eseguirlo autonomamente.

Caricare il file CSV nella risorsa di archiviazione

  1. Trovare il nome dell'archiviazione e del contenitore nella vista JSON del portale

    Screenshot che mostra la vista JSON.

  2. Passare all'archiviazione HDI primaria>contenitore>cartella di base> caricare il file CSV

    Screenshot che mostra come passare all'archiviazione e al contenitore.

    Screenshot che illustra come caricare il file CSV.

  3. Accedere al cluster e aprire Jupyter Notebook

    Screenshot che mostra Jupyter Notebook.

  4. Importare librerie MLlib Spark per creare la pipeline

    import pyspark
    from pyspark.ml import Pipeline, PipelineModel
    from pyspark.ml.classification import LogisticRegression
    from pyspark.ml.feature import VectorAssembler, StringIndexer, IndexToString
    

    Screenshot che mostra come avviare l'applicazione Spark.

  5. Leggere il file CSV in un dataframe Spark

    df = spark.read.("abfss:///iris_csv.csv",inferSchema=True,header=True)

  6. Suddividere i dati per training e test

    iris_train, iris_test = df.randomSplit([0.7, 0.3], seed=123)

  7. Creare la pipeline ed eseguire il training del modello

    assembler = VectorAssembler(inputCols=['sepallength', 'sepalwidth', 'petallength', 'petalwidth'],outputCol="features",handleInvalid="skip")
    indexer = StringIndexer(inputCol="class", outputCol="classIndex", handleInvalid="skip")
    classifier = LogisticRegression(featuresCol="features",
                                    labelCol="classIndex",
                                    maxIter=10,
                                    regParam=0.01)
    
    pipeline = Pipeline(stages=[assembler,indexer,classifier])
    model = pipeline.fit(iris_train)
    
    # Create a test `dataframe` with predictions from the trained model
    
    test_model = model.transform(iris_test)
    
    # Taking an output from the test dataframe with predictions
    
    test_model.take(1)
    

    Screenshot che mostra come eseguire il modello di test.

  8. Valutare l'accuratezza del modello

    import pyspark.ml.evaluation as ev
    evaluator = ev.MulticlassClassificationEvaluator(labelCol='classIndex')
    
    print(evaluator.evaluate(test_model,{evaluator.metricName: 'accuracy'}))
    

    Screenshot che mostra come stampare l'output.