Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
van Azure SQL Managed Instance
In deel drie van deze vierdelige reeks zelfstudies traint u een voorspellend model in R. In het volgende deel van deze reeks implementeert u dit model in een SQL Server-database met Machine Learning Services of op Big Data-clusters.
In deel drie van deze vierdelige reeks zelfstudies traint u een voorspellend model in R. In het volgende deel van deze reeks implementeert u dit model in een SQL Server-database met Machine Learning Services.
In deel drie van deze vierdelige reeks zelfstudies traint u een voorspellend model in R. In het volgende deel van deze reeks implementeert u dit model in een database met SQL Server R Services.
In deel drie van deze vierdelige reeks zelfstudies traint u een voorspellend model in R. In het volgende deel van deze reeks implementeert u dit model in een Azure SQL Managed Instance-database met Machine Learning Services.
In dit artikel leert u het volgende:
- Twee machine learning-modellen trainen
- Voorspellingen maken van beide modellen
- Vergelijk de resultaten om het meest nauwkeurige model te kiezen
In deel 1 hebt u geleerd hoe u de voorbeelddatabase kunt herstellen.
In deel twee hebt u geleerd hoe u de gegevens uit een database in een Python-gegevensframe laadt en de gegevens voorbereidt in R.
In deel vier leert u hoe u het model opslaat in een database en vervolgens opgeslagen procedures maakt op basis van de Python-scripts die u in deel twee en drie hebt ontwikkeld. De opgeslagen procedures worden uitgevoerd op de server om voorspellingen te doen op basis van nieuwe gegevens.
Prerequisites
In deel drie van deze reeks zelfstudies wordt ervan uitgegaan dat u aan de vereisten van deel 1 hebt voldaan en dat u de stappen in deel twee hebt voltooid.
Twee modellen trainen
Als u het beste model voor de skiverhuurgegevens wilt vinden, maakt u twee verschillende modellen (lineaire regressie en beslissingsstructuur) en bekijkt u welke model nauwkeuriger voorspelt. U gebruikt het gegevensframe rentaldata dat u hebt gemaakt in deel één van deze reeks.
#First, split the dataset into two different sets:
# one for training the model and the other for validating it
train_data = rentaldata[rentaldata$Year < 2015,];
test_data = rentaldata[rentaldata$Year == 2015,];
#Use the RentalCount column to check the quality of the prediction against actual values
actual_counts <- test_data$RentalCount;
#Model 1: Use lm to create a linear regression model, trained with the training data set
model_lm <- lm(RentalCount ~ Month + Day + WeekDay + Snow + Holiday, data = train_data);
#Model 2: Use rpart to create a decision tree model, trained with the training data set
library(rpart);
model_rpart <- rpart(RentalCount ~ Month + Day + WeekDay + Snow + Holiday, data = train_data);
Voorspellingen maken van beide modellen
Gebruik een voorspellingsfunctie om de huuraantallen te voorspellen met behulp van elk getraind model.
#Use both models to make predictions using the test data set.
predict_lm <- predict(model_lm, test_data)
predict_lm <- data.frame(RentalCount_Pred = predict_lm, RentalCount = test_data$RentalCount,
Year = test_data$Year, Month = test_data$Month,
Day = test_data$Day, Weekday = test_data$WeekDay,
Snow = test_data$Snow, Holiday = test_data$Holiday)
predict_rpart <- predict(model_rpart, test_data)
predict_rpart <- data.frame(RentalCount_Pred = predict_rpart, RentalCount = test_data$RentalCount,
Year = test_data$Year, Month = test_data$Month,
Day = test_data$Day, Weekday = test_data$WeekDay,
Snow = test_data$Snow, Holiday = test_data$Holiday)
#To verify it worked, look at the top rows of the two prediction data sets.
head(predict_lm);
head(predict_rpart);
Hier is het resultatenoverzicht.
RentalCount_Pred RentalCount Month Day WeekDay Snow Holiday
1 27.45858 42 2 11 4 0 0
2 387.29344 360 3 29 1 0 0
3 16.37349 20 4 22 4 0 0
4 31.07058 42 3 6 6 0 0
5 463.97263 405 2 28 7 1 0
6 102.21695 38 1 12 2 1 0
RentalCount_Pred RentalCount Month Day WeekDay Snow Holiday
1 40.0000 42 2 11 4 0 0
2 332.5714 360 3 29 1 0 0
3 27.7500 20 4 22 4 0 0
4 34.2500 42 3 6 6 0 0
5 645.7059 405 2 28 7 1 0
6 40.0000 38 1 12 2 1 0
De resultaten vergelijken
Nu wilt u zien welke van de modellen de beste voorspellingen geeft. Een snelle en eenvoudige manier om dit te doen, is door een eenvoudige plottingfunctie te gebruiken om het verschil tussen de werkelijke waarden in uw trainingsgegevens en de voorspelde waarden weer te geven.
#Use the plotting functionality in R to visualize the results from the predictions
par(mfrow = c(1, 1));
plot(predict_lm$RentalCount_Pred - predict_lm$RentalCount, main = "Difference between actual and predicted. lm")
plot(predict_rpart$RentalCount_Pred - predict_rpart$RentalCount, main = "Difference between actual and predicted. rpart")
Het lijkt erop dat het beslissingsstructuurmodel des te nauwkeuriger is van de twee modellen.
De hulpbronnen opschonen
Als u niet verdergaat met deze zelfstudie, verwijdert u de TutorialDB-database.
Volgende stappen
In deel drie van deze reeks zelfstudies hebt u geleerd hoe u het volgende kunt doen:
- Twee machine learning-modellen trainen
- Voorspellingen maken van beide modellen
- Vergelijk de resultaten om het meest nauwkeurige model te kiezen
Als u het machine learning-model wilt implementeren dat u hebt gemaakt, volgt u deel vier van deze reeks zelfstudies: