Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Sql Server 2016 (13.x) és újabb verziók
felügyelt Azure SQL-példány
A négyrészes oktatóanyag-sorozat harmadik részében egy K-Means modellt fog létrehozni az R-ben a fürtözés végrehajtásához. A sorozat következő részében ezt a modellt egy SQL Server Machine Learning Servicest vagy Big Data-fürtöket tartalmazó adatbázisban fogja üzembe helyezni.
A négyrészes oktatóanyag-sorozat harmadik részében egy K-Means modellt fog létrehozni az R-ben a fürtözés végrehajtásához. A sorozat következő részében ezt a modellt egy SQL Server Machine Learning Services-alapú adatbázisban fogja üzembe helyezni.
A négyrészes oktatóanyag-sorozat harmadik részében egy K-Means modellt fog létrehozni az R-ben a fürtözés végrehajtásához. A sorozat következő részében ezt a modellt egy SQL Server R Services-szolgáltatással rendelkező adatbázisban fogja üzembe helyezni.
A négyrészes oktatóanyag-sorozat harmadik részében egy K-Means modellt fog létrehozni az R-ben a fürtözés végrehajtásához. A sorozat következő részében ezt a modellt egy adatbázisban fogja üzembe helyezni az Azure SQL Managed Instance Machine Learning Services szolgáltatással.
Ebben a cikkben megtudhatja, hogyan:
- A K-Means algoritmus fürtöinek számának meghatározása
- Fürtözés végrehajtása
- Az eredmények elemzése
Az első részben telepítette az előfeltételeket, és visszaállította a mintaadatbázist.
A második részben megtanulta, hogyan készítheti elő az adatokat egy adatbázisból a fürtözés végrehajtására.
A negyedik részben megtanulhatja, hogyan hozhat létre tárolt eljárást egy olyan adatbázisban, amely új adatok alapján képes fürtözést végezni az R-ben.
Előfeltételek
- Az oktatóanyag-sorozat harmadik része feltételezi, hogy teljesítette az első rész előfeltételeit, és elvégezte a második rész lépéseit.
Fürtök számának meghatározása
Az ügyféladatok fürtözéséhez a K-Means fürtözési algoritmust fogja használni, amely az adatok csoportosításának egyik legegyszerűbb és legismertebb módja. A K-középről a K-means klaszterezési algoritmus teljes útmutatójában olvashat bővebben.
Az algoritmus két bemenetet fogad el: magát az adatokat, és egy előre definiált "k" számot, amely a létrehozandó fürtök számát jelöli. A kimenet k fürtök, a bemeneti adatok a fürtök között particionáltak.
Az algoritmus által használandó fürtök számának meghatározásához használja a csoportokon belüli négyzetösszeget a kinyert fürtök száma alapján. A használni kívánt fürtök száma a diagram kanyarjában vagy "könyökében" van.
# 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")
A gráf alapján úgy tűnik, hogy a k = 4 jó érték lenne. Ez a k érték négy fürtbe csoportosítja az ügyfeleket.
Fürtözés végrehajtása
A következő R-szkriptben a kmeans függvényt fogja használni a fürtözés végrehajtásához.
# 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)
Az eredmények elemzése
Miután elvégezte a fürtözést a K-Means használatával, a következő lépés az eredmény elemzése és annak megállapítása, hogy talál-e felhasználható információt.
#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
A négy klaszterátlag a második részben meghatározott változók használatával adható meg:
- orderRatio = visszatérési rendelés aránya (a részben vagy teljesen visszaadott rendelések teljes száma a rendelések teljes számával szemben)
- itemsRatio = return item ratio (a visszaadott elemek teljes száma és a megvásárolt elemek száma)
- monetaryRatio = visszatérési összeg aránya (a visszaadott tételek teljes pénzügyi összege a megvásárolt összeggel szemben)
- frequency = visszatérési gyakoriság
A K-Means használatával végzett adatbányászathoz gyakran további elemzésre van szükség az eredményekről, és további lépésekre van szükség az egyes fürtök jobb megértéséhez, de jó eredményeket adhat. Az alábbiakban néhány módszert talál az eredmények értelmezésére:
- Az 1. fürt (a legnagyobb fürt) úgy tűnik, hogy olyan ügyfelek csoportja, akik nem aktívak (minden érték nulla).
- A 3-as klaszter tűnik egy csoportnak, amely a hozam viselkedés szempontjából kiemelkedik.
Erőforrások tisztítása
Ha nem folytatja ezt az oktatóanyagot, törölje a tpcxbb_1gb adatbázist.
Következő lépések
Az oktatóanyag-sorozat harmadik részében megtanulta, hogyan:
- A K-Means algoritmus fürtöinek számának meghatározása
- Fürtözés végrehajtása
- Az eredmények elemzése
A létrehozott gépi tanulási modell üzembe helyezéséhez kövesse az oktatóanyag-sorozat negyedik részét: