Использование записной книжки Машинное обучение Azure в Spark

Внимание

Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.

Машинное обучение — это растущая технология, которая позволяет компьютерам автоматически учиться на основе прошлых данных. Машинное обучение использует различные алгоритмы для создания математических моделей и прогнозирования используют исторические данные или сведения. У нас есть модель, определенная до некоторых параметров, и обучение — это выполнение компьютерной программы для оптимизации параметров модели с помощью обучающих данных или опыта. Модель может быть прогнозируемой для прогнозирования в будущем или описательной для получения знаний из данных.

В следующей записной книжке руководства показан пример моделей машинного обучения для табличных данных. Эту записную книжку можно импортировать и запустить самостоятельно.

Отправка CSV-файла в хранилище

  1. Поиск имени хранилища и контейнера в представлении JSON портала

    Снимок экрана: представление JSON.

    Снимок экрана: представление JSON ресурса.

  2. Перейдите в основную папку контейнера хранилища>HDI, отправив CSV-файл>.>

    Снимок экрана: переход к хранилищу и контейнеру.

    Снимок экрана: отправка CSV-файла.

  3. Войдите в кластер и откройте Jupyter Notebook

    Снимок экрана: Jupyter Notebook.

  4. Импорт библиотек Spark MLlib для создания конвейера

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

    Снимок экрана: запуск приложения Spark.

  5. Чтение CSV-файла в кадр данных Spark

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

  6. Разделение данных для обучения и тестирования

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

  7. Создание конвейера и обучение модели

    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)
    

    Снимок экрана: запуск тестовой модели.

  8. Оценка точности модели

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

    Снимок экрана: печать выходных данных.