Share via


Spark에서 Azure Machine Learning Notebook을 사용하는 방법

Important

이 기능은 현지 미리 보기로 제공됩니다. Microsoft Azure 미리 보기에 대한 보충 사용 약관에는 베타 또는 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 더 많은 약관이 포함되어 있습니다. 이 특정 미리 보기에 대한 자세한 내용은 Azure HDInsight on AKS 미리 보기 정보를 참조하세요. 질문이나 기능 제안이 있는 경우 AskHDInsight에서 세부 정보와 함께 요청을 제출하고 Azure HDInsight 커뮤니티에서 더 많은 업데이트를 확인하세요.

기계 학습은 컴퓨터가 과거 데이터로부터 자동으로 학습할 수 있도록 하는 성장하는 기술입니다. 기계 학습은 수학적 모델을 빌드하고 과거 데이터나 정보를 사용하여 예측하기 위해 다양한 알고리즘을 사용합니다. 몇 가지 매개 변수까지 정의된 모델을 가지고 있으며, 학습은 학습 데이터나 환경을 사용하여 모델의 매개 변수를 최적화하기 위해 컴퓨터 프로그램을 실행하는 것입니다. 모델은 향후를 예측하기 위해 예측적일 수도 있고, 데이터로부터 지식을 얻기 위해 설명적일 수도 있습니다.

다음 자습서 Notebook은 표 형식 데이터에 대한 기계 학습 모델 학습의 예를 보여 줍니다. 이 Notebook을 가져와서 직접 실행할 수 있습니다.

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'}))
    

    출력을 인쇄하는 방법을 보여 주는 스크린샷.