Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2016 (13.x) a novější verze
Azure SQL Managed Instance
Ve třetí části této čtyřdílné série kurzů vytrénujete prediktivní model v jazyce R. V další části této série nasadíte tento model do databáze SQL Serveru se službou Machine Learning Services nebo v clusterech s velkými objemy dat.
Ve třetí části této čtyřdílné série kurzů vytrénujete prediktivní model v jazyce R. V další části této série nasadíte tento model do databáze SQL Serveru se službou Machine Learning Services.
Ve třetí části této čtyřdílné série kurzů vytrénujete prediktivní model v jazyce R. V další části této série nasadíte tento model do databáze se službami SQL Server R Services.
Ve třetí části této čtyřdílné série kurzů vytrénujete prediktivní model v jazyce R. V další části této série nasadíte tento model do databáze azure SQL Managed Instance se službou Machine Learning Services.
V tomto článku se dozvíte, jak:
- Trénování dvou modelů strojového učení
- Vytváření předpovědí z obou modelů
- Porovnání výsledků a výběr nejpřesnějšího modelu
V první části jste zjistili, jak obnovit ukázkovou databázi.
V druhé části jste zjistili, jak načíst data z databáze do datového rámce Pythonu a připravit data v jazyce R.
Ve čtvrté části se dozvíte, jak model uložit do databáze a pak vytvořit uložené procedury ze skriptů Pythonu, které jste vytvořili ve dvou a třech částech. Uložené procedury budou na serveru spuštěny, aby prováděly předpovědi na základě nových dat.
Prerequisites
Třetí část této série kurzů předpokládá, že jste splnili požadavky první části a dokončili kroky v druhé části.
Trénování dvou modelů
Pokud chcete najít nejlepší model pro data půjčovny lyží, vytvořte dva různé modely (lineární regrese a rozhodovací strom) a zjistěte, který z nich predikuje přesněji. Použijete datový rámec rentaldata , který jste vytvořili v první části této řady.
#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);
Vytváření předpovědí z obou modelů
Pomocí funkce predict můžete předpovědět počty pronájmů pomocí každého natrénovaného modelu.
#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);
Tady je soubor výsledků.
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
Porovnání výsledků
Teď chcete zjistit, které modely poskytují nejlepší předpovědi. Rychlým a snadným způsobem, jak to udělat, je použít základní vykreslovací funkci k zobrazení rozdílu mezi skutečnými hodnotami v trénovacích datech a predikovanými hodnotami.
#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")
Vypadá to, že model rozhodovacího stromu je přesnější ze dvou modelů.
Vyčistěte zdroje
Pokud nebudete pokračovat v tomto kurzu, odstraňte databázi TutorialDB.
Další kroky
Ve třetí části této série kurzů jste se naučili:
- Trénování dvou modelů strojového učení
- Vytváření předpovědí z obou modelů
- Porovnání výsledků a výběr nejpřesnějšího modelu
Pokud chcete nasadit model strojového učení, který jste vytvořili, postupujte podle části 4 této série kurzů: