次の方法で共有


Spark で Azure Machine Learning Notebook を使用する方法

大事な

AKS 上の Azure HDInsight は、2025 年 1 月 31 日に廃止されました。 このお知らせ を読んで、について詳しく知ることができます。

ワークロードの突然の終了を回避するには、ワークロードを Microsoft Fabric または同等の Azure 製品 に移行する必要があります。

大事な

この機能は現在プレビュー段階です。 Microsoft Azure プレビューの 追加使用条件 には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される、より多くの法的条件が含まれています。 この特定のプレビューの詳細については、AKS プレビュー情報 Azure HDInsightを参照してください。 ご質問や機能の提案については、詳細を記載した要求をAskHDInsight に送信してください。また、Azure HDInsight Communityをフォローして最新情報をお受け取りください。

機械学習は、コンピューターが過去のデータから自動的に学習できるようにする、成長を続けるテクノロジです。 機械学習では、さまざまなアルゴリズムを使用して数学モデルを構築し、予測に履歴データまたは情報を使用します。 いくつかのパラメーターまで定義されたモデルがあり、学習とは、トレーニング データまたはエクスペリエンスを使用してモデルのパラメーターを最適化するためのコンピューター プログラムの実行です。 モデルは、将来予測を行う予測、またはデータから知識を得るための説明的な予測である可能性があります。

次のチュートリアル ノートブックは、表形式データに対する機械学習モデルのトレーニングの例を示しています。 このノートブックをインポートし、自分で実行できます。

CSV をストレージにアップロードする

  1. ポータルの 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'}))
    

    出力を印刷する方法を示すスクリーンショット。