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ů vytvoříte model K-Means v jazyce R pro provádění clusteringu. V další části této série nasadíte tento model do databáze se službou SQL Server Machine Learning Services nebo v clusterech s velkými objemy dat.
Ve třetí části této čtyřdílné série kurzů vytvoříte model K-Means v jazyce R pro provádění clusteringu. V další části této série nasadíte tento model do databáze se službou SQL Server Machine Learning Services.
Ve třetí části této čtyřdílné série kurzů vytvoříte model K-Means v jazyce R pro provádění clusteringu. 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ů vytvoříte model K-Means v jazyce R pro provádění clusteringu. V další části této série nasadíte tento model do databáze se službou Azure SQL Managed Instance Machine Learning Services.
V tomto článku se naučíte:
- Definování počtu clusterů pro algoritmu K-Means
- Proveď klastrovaní
- Analýza výsledků
V první části jste nainstalovali požadavky a obnovili ukázkovou databázi.
V druhé části jste zjistili, jak připravit data z databáze na clustering.
Ve 4. části se dozvíte, jak vytvořit uloženou proceduru v databázi, která může provádět clustering v jazyce R na základě nových dat.
Požadavky
- 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.
Definování počtu clusterů
Ke clusterování zákaznických dat použijete algoritmus clusteringu K-Means , jeden z nejjednodušších a nejznámějších způsobů seskupování dat. Další informace o K-Means najdete v úplném průvodci algoritmem clusteringu K-Means.
Algoritmus přijímá dva vstupy: samotná data a předdefinované číslo "k" představující počet clusterů, které se mají vygenerovat. Výstupem jsou clustery k se vstupními daty rozdělenými mezi clustery.
Pokud chcete určit počet shluků, které má algoritmus použít, použijte graf součtu čtverců v rámci skupin podle počtu získaných shluků. Vhodný počet klastrů, které se mají použít, je v místě zalomení nebo "loktu" grafu.
# Determine number of clusters by using a plot of the within groups sum of squares,
# by number of clusters extracted.
wss <- (nrow(customer_data) - 1) * sum(apply(customer_data, 2, var))
for (i in 2:20)
wss[i] <- sum(kmeans(customer_data, centers = i)$withinss)
plot(1:20, wss, type = "b", xlab = "Number of Clusters", ylab = "Within groups sum of squares")
Na základě grafu to vypadá, že k = 4 by bylo dobrou hodnotou vyzkoušet. Tato hodnota k seskupí zákazníky do čtyř clusterů.
Proveď klastrovaní
V následujícím skriptu jazyka R použijete k provádění clusteringu kmeans funkce.
# Output table to hold the customer group mappings.
# Generate clusters using Kmeans and output key / cluster to a table
# called return_cluster
## create clustering model
clust <- kmeans(customer_data[,2:5],4)
## create clustering output for table
customer_cluster <- data.frame(cluster=clust$cluster,customer=customer_data$customer,orderRatio=customer_data$orderRatio,
itemsRatio=customer_data$itemsRatio,monetaryRatio=customer_data$monetaryRatio,frequency=customer_data$frequency)
## write cluster output to DB table
sqlSave(ch, customer_cluster, tablename = "return_cluster")
# Read the customer returns cluster table from the database
customer_cluster_check <- sqlFetch(ch, "return_cluster")
head(customer_cluster_check)
Analýza výsledků
Teď, když jste clustering provedli pomocí K-Means, je dalším krokem analýza výsledku a zjištění, jestli najdete nějaké užitečné informace.
#Look at the clustering details to analyze results
clust[-1]
$centers
orderRatio itemsRatio monetaryRatio frequency
1 0.621835791 0.1701519 0.35510836 1.009025
2 0.074074074 0.0000000 0.05886575 2.363248
3 0.004807692 0.0000000 0.04618708 5.050481
4 0.000000000 0.0000000 0.00000000 0.000000
$totss
[1] 40191.83
$withinss
[1] 19867.791 215.714 660.784 0.000
$tot.withinss
[1] 20744.29
$betweenss
[1] 19447.54
$size
[1] 4543 702 416 31675
$iter
[1] 3
$ifault
[1] 0
Čtyři prostředky clusteru jsou dány pomocí proměnných definovaných v části 2:
- orderRatio = poměr vrácených objednávek (celkový počet objednávek částečně nebo zcela vrácených oproti celkovému počtu objednávek)
- itemsRatio = poměr vrácených položek (celkový počet vrácených položek oproti počtu zakoupených položek)
- monetaryRatio = poměr výnosové částky (celková peněžní částka vrácených položek a zakoupená částka)
- frequency = návratová frekvence
Dolování dat pomocí K-Means často vyžaduje další analýzu výsledků a další kroky k lepšímu pochopení každého clusteru, ale může poskytnout některé dobré zájemce. Tady je několik způsobů, jak byste mohli tyto výsledky interpretovat:
- Zdá se, že cluster 1 (největší cluster) je skupina zákazníků, kteří nejsou aktivní (všechny hodnoty jsou nula).
- Zdá se, že cluster 3 je skupina, která vynikne z hlediska chování při návratu.
Vyčistěte zdroje
Pokud nebudete pokračovat v tomto kurzu, odstraňte tpcxbb_1gb databázi.
Další kroky
Ve třetí části této série kurzů jste se naučili:
- Definování počtu clusterů pro algoritmu K-Means
- Proveď klastrovaní
- Analýza výsledků
Pokud chcete nasadit model strojového učení, který jste vytvořili, postupujte podle části 4 této série kurzů: