Compartir vía


Uso de Azure Machine Learning Notebook en Spark

Nota:

Retiraremos Azure HDInsight en AKS el 31 de enero de 2025. Antes del 31 de enero de 2025, deberá migrar las cargas de trabajo a Microsoft Fabric o un producto equivalente de Azure para evitar la terminación repentina de las cargas de trabajo. Los clústeres restantes de la suscripción se detendrán y quitarán del host.

Solo el soporte técnico básico estará disponible hasta la fecha de retirada.

Importante

Esta funcionalidad actualmente está en su versión preliminar. En Términos de uso complementarios para las versiones preliminares de Microsoft Azure encontrará más términos legales que se aplican a las características de Azure que están en versión beta, en versión preliminar, o que todavía no se han lanzado con disponibilidad general. Para más información sobre esta versión preliminar específica, consulte la Información de Azure HDInsight sobre la versión preliminar de AKS. Para plantear preguntas o sugerencias sobre la característica, envíe una solicitud en AskHDInsight con los detalles y síganos para obtener más actualizaciones sobre Comunidad de Azure HDInsight.

El aprendizaje automático es una tecnología creciente, que permite a los equipos aprender automáticamente de los datos anteriores. El aprendizaje automático usa varios algoritmos para crear modelos matemáticos y realizar predicciones que usan datos históricos o información. Tenemos un modelo definido hasta algunos parámetros y el aprendizaje es la ejecución de un programa para optimizar los parámetros del modelo mediante los datos de entrenamiento o la experiencia. El modelo puede ser predictivo para realizar predicciones en el futuro o descriptivo para obtener conocimientos a partir de los datos.

En el siguiente cuaderno tutorial se muestra un ejemplo de entrenamiento de los modelos de Machine Learning en datos tabulares. Puede importar este cuaderno y ejecutarlo personalmente.

Carga del archivo CSV en el almacenamiento

  1. Búsqueda del nombre del contenedor y el almacenamiento en la vista JSON del portal

    Captura de pantalla que muestra la vista JSON.

  2. Vaya al almacenamiento HDI principal>contenedor>carpeta base> cargue el CSV

    Captura de pantalla que muestra cómo navegar al almacenamiento y al contenedor.

    Captura de pantalla que muestra cómo cargar el archivo CSV.

  3. Inicie sesión en el clúster y abra Jupyter Notebook.

    Captura de pantalla que muestra Jupyter Notebook.

  4. Importe las bibliotecas de Spark MLlib para crear la canalización

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

    Captura de pantalla que muestra cómo iniciar una aplicación Spark.

  5. Lea el CSV en una instancia de DataFrame de Spark

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

  6. Divida los datos para entrenamiento y para prueba

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

  7. Cree la canalización y entrene el modelo

    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)
    

    Captura de pantalla que muestra cómo ejecutar el modelo de prueba.

  8. Evalúe la precisión del modelo

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

    Captura de pantalla que muestra cómo imprimir la salida.