Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Découvrez comment effectuer une régression linéaire et logistique à l’aide d’un modèle linéaire généralisé (MLG) dans Azure Databricks. glm
correspond à un modèle linéaire généralisé, similaire aux R glm()
.
Syntaxe : glm(formula, data, family...)
Paramètres :
formula
: description symbolique du modèle à adapter, par exemple : ResponseVariable ~ Predictor1 + Predictor2
. Opérateurs pris en charge : ~
, +
, -
et .
data
: tout SparkDataFramefamily
: chaîne, "gaussian"
pour une régression linéaire ou "binomial"
pour une régression logistiquelambda
: numérique, paramètre Regularizationalpha
: numérique, paramètre de mélange Elastic-netSortie : MLlib PipelineModel
Ce tutoriel montre comment effectuer une régression linéaire et logistique sur le jeu de données diamonds.
require(SparkR)
# Read diamonds.csv dataset as SparkDataFrame
diamonds <- read.df("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv",
source = "com.databricks.spark.csv", header="true", inferSchema = "true")
diamonds <- withColumnRenamed(diamonds, "", "rowID")
# Split data into Training set and Test set
trainingData <- sample(diamonds, FALSE, 0.7)
testData <- except(diamonds, trainingData)
# Exclude rowIDs
trainingData <- trainingData[, -1]
testData <- testData[, -1]
print(count(diamonds))
print(count(trainingData))
print(count(testData))
head(trainingData)
Cette section montre comment prédire le prix d’un diamant à partir de ses caractéristiques en effectuant l’apprentissage d’un modèle de régression linéaire à l’aide des données d’apprentissage.
Il existe un mélange de caractéristiques catégorielles (taille – Idéale, Premium, Très Bonne…) et de caractéristiques continues (profondeur, carat). SparkR encode automatiquement ces fonctionnalités afin que vous n'ayez pas à encoder ces fonctionnalités manuellement.
# Family = "gaussian" to train a linear regression model
lrModel <- glm(price ~ ., data = trainingData, family = "gaussian")
# Print a summary of the trained model
summary(lrModel)
Utilisez predict()
sur les données de test pour voir le fonctionnement du modèle sur de nouvelles données.
Syntaxe : predict(model, newData)
Paramètres :
model
: modèle MLlibnewData
: SparkDataFrame, généralement votre jeu de testSortie : SparkDataFrame
# Generate predictions using the trained model
predictions <- predict(lrModel, newData = testData)
# View predictions against mpg column
display(select(predictions, "price", "prediction"))
Évaluer le modèle.
errors <- select(predictions, predictions$price, predictions$prediction, alias(predictions$price - predictions$prediction, "error"))
display(errors)
# Calculate RMSE
head(select(errors, alias(sqrt(sum(errors$error^2 , na.rm = TRUE) / nrow(errors)), "RMSE")))
Cette section montre comment créer une régression logistique sur le même jeu de données afin de prédire la taille d’un diamant en fonction de certaines caractéristiques de celui-ci.
La régression logistique dans MLlib prend en charge la classification binaire. Pour tester l'algorithme dans cet exemple, sous-ensemblez les données pour qu'elles fonctionnent avec deux étiquettes.
# Subset data to include rows where diamond cut = "Premium" or diamond cut = "Very Good"
trainingDataSub <- subset(trainingData, trainingData$cut %in% c("Premium", "Very Good"))
testDataSub <- subset(testData, testData$cut %in% c("Premium", "Very Good"))
# Family = "binomial" to train a logistic regression model
logrModel <- glm(cut ~ price + color + clarity + depth, data = trainingDataSub, family = "binomial")
# Print summary of the trained model
summary(logrModel)
# Generate predictions using the trained model
predictionsLogR <- predict(logrModel, newData = testDataSub)
# View predictions against label column
display(select(predictionsLogR, "label", "prediction"))
Évaluer le modèle.
errorsLogR <- select(predictionsLogR, predictionsLogR$label, predictionsLogR$prediction, alias(abs(predictionsLogR$label - predictionsLogR$prediction), "error"))
display(errorsLogR)
Événements
31 mars, 23 h - 2 avr., 23 h
L’événement de la communauté Microsoft Fabric, Power BI, SQL et AI ultime. 31 mars au 2 avril 2025.
Inscrivez-vous aujourd’huiEntrainement
Module
Présentation des modèles de régression à l’aide de R et de tidymodels - Training
Présentation des modèles de régression à l’aide de R et de tidymodels.
Certification
Microsoft Certified : Azure Data Scientist Associate - Certifications
Gérer l’ingestion et la préparation des données, l’entraînement et le déploiement des modèles, ainsi que la surveillance des solutions d’apprentissage automatique avec Python, Azure Machine Learning et MLflow.