Použití poznámkového bloku Azure Machine Učení ve Sparku
Důležité
Tato funkce je aktuálně dostupná jako ukázková verze. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo ještě nejsou vydány v obecné dostupnosti. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight o službě AKS ve verzi Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost na AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích v komunitě Azure HDInsight.
Strojové učení je rostoucí technologie, která umožňuje počítačům automaticky se učit z minulých dat. Strojové učení používá různé algoritmy pro vytváření matematických modelů a vytváření předpovědí používají historická data nebo informace. Máme model definovaný až na některé parametry a učení je spuštění počítačového programu pro optimalizaci parametrů modelu pomocí trénovacích dat nebo prostředí. Model může být prediktivní pro vytváření předpovědí v budoucnu nebo popisný pro získání znalostí z dat.
Následující poznámkový blok kurzu ukazuje příklad trénování modelů strojového učení na tabulkových datech. Tento poznámkový blok můžete importovat a spustit ho sami.
Nahrání sdíleného svazku clusteru do úložiště
Vyhledání názvu úložiště a kontejneru v zobrazení JSON portálu
Nahrání souboru CSV do primární složky> kontejneru úložiště>>HDI
Přihlaste se ke clusteru a otevřete Jupyter Notebook.
Import knihoven Spark MLlib pro vytvoření kanálu
import pyspark from pyspark.ml import Pipeline, PipelineModel from pyspark.ml.classification import LogisticRegression from pyspark.ml.feature import VectorAssembler, StringIndexer, IndexToString
Čtení sdíleného svazku clusteru do datového rámce Sparku
df = spark.read.("abfss:///iris_csv.csv",inferSchema=True,header=True)
Rozdělení dat pro trénování a testování
iris_train, iris_test = df.randomSplit([0.7, 0.3], seed=123)
Vytvoření kanálu a trénování modelu
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)
Vyhodnocení přesnosti modelu
import pyspark.ml.evaluation as ev evaluator = ev.MulticlassClassificationEvaluator(labelCol='classIndex') print(evaluator.evaluate(test_model,{evaluator.metricName: 'accuracy'}))