help(kmeans)
set.seed(1)
x=matrix(rnorm(50*2), ncol=2)
plot(x)
x[1:25,1]=x[1:25,1]+3
x[1:25,2]=x[1:25,2]-4
plot(x)
km.out=kmeans(x,2,nstart=20)
km.out
K-means clustering with 2 clusters of sizes 25, 25
Cluster means:
[,1] [,2]
1 0.03223135 0.06924384
2 3.16866521 -3.83459093
Clustering vector:
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Within cluster sum of squares by cluster:
[1] 28.53417 50.97988
(between_SS / total_SS = 79.8 %)
Available components:
[1] "cluster" "centers" "totss" "withinss" "tot.withinss" "betweenss"
[7] "size" "iter" "ifault"
km.out$cluster
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
plot(x, col=(km.out$cluster +1), main="K-Means Clustering Results with K=2", xlab="", ylab="", pch=20, cex=2)
points(km.out$centers,pch=8,cex=2)
set.seed (2)
km.out=kmeans(x,3,nstart=20)
km.out
K-means clustering with 3 clusters of sizes 25, 20, 5
Cluster means:
[,1] [,2]
1 0.03223135 0.06924384
2 3.08290361 -4.26589906
3 3.51171162 -2.10935842
Clustering vector:
[1] 2 2 2 2 3 3 2 2 2 2 3 2 2 2 2 2 2 3 2 3 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Within cluster sum of squares by cluster:
[1] 28.534174 27.901401 3.740301
(between_SS / total_SS = 84.7 %)
Available components:
[1] "cluster" "centers" "totss" "withinss" "tot.withinss" "betweenss"
[7] "size" "iter" "ifault"
set.seed (3)
km.out=kmeans(x,3,nstart=1)
km.out$tot.withinss
[1] 60.56297
km.out=kmeans(x,3,nstart=20)
km.out$tot.withinss
[1] 60.37249
iris2 = iris
iris2$Species = NULL
kmeans.result = kmeans(iris2,3,nstart=20)
kmeans.result
K-means clustering with 3 clusters of sizes 38, 50, 62
Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 6.850000 3.073684 5.742105 2.071053
2 5.006000 3.428000 1.462000 0.246000
3 5.901613 2.748387 4.393548 1.433871
Clustering vector:
[1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[51] 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
[101] 1 3 1 1 1 1 3 1 1 1 1 1 1 3 3 1 1 1 1 3 1 3 1 3 1 1 3 3 1 1 1 1 1 3 1 1 1 1 3 1 1 1 3 1 1 1 3 1 1 3
Within cluster sum of squares by cluster:
[1] 23.87947 15.15100 39.82097
(between_SS / total_SS = 88.4 %)
Available components:
[1] "cluster" "centers" "totss" "withinss" "tot.withinss" "betweenss"
[7] "size" "iter" "ifault"
table(iris$Species, kmeans.result$cluster)
1 2 3
setosa 0 50 0
versicolor 2 0 48
virginica 36 0 14
plot(iris2[c("Sepal.Length", "Sepal.Width")], col = kmeans.result$cluster)
points(kmeans.result$centers[,c("Sepal.Length", "Sepal.Width")], col = 1:3,pch = 8, cex=2)
library(cluster)
help(pam)
pam.result = pam(iris2,3)
pam.result
Medoids:
ID Sepal.Length Sepal.Width Petal.Length Petal.Width
[1,] 8 5.0 3.4 1.5 0.2
[2,] 79 6.0 2.9 4.5 1.5
[3,] 113 6.8 3.0 5.5 2.1
Clustering vector:
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[51] 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[101] 3 2 3 3 3 3 2 3 3 3 3 3 3 2 2 3 3 3 3 2 3 2 3 2 3 3 2 2 3 3 3 3 3 2 3 3 3 3 2 3 3 3 2 3 3 3 2 3 3 2
Objective function:
build swap
0.6709391 0.6542077
Available components:
[1] "medoids" "id.med" "clustering" "objective" "isolation" "clusinfo" "silinfo"
[8] "diss" "call" "data"
table(pam.result$clustering,iris$Species)
setosa versicolor virginica
1 50 0 0
2 0 48 14
3 0 2 36
plot(pam.result)
library(RWeka)
help(SimpleKMeans)
Rate this:
i
Rate This
Share this:
Post Button
LikeLoading...
Be the first to like this.
Related
[Using R in Tableau](/content/2017/05/25/using-r-in-tableau/ "Using R in Tableau"/index.html)
Requirements: Tableau Professional Edition R Studio or R Console Setting Up Tableau Desktop with R: Install following packages in R: install.packages(RServe) Once it is installed then start R Server by entering following command in the console: > library(RServe) > RServe() Configuring Rserve Connection: In Tableau go to following menu setting:…
May 25, 2017
In "R"
[Six Simple Steps to Improve Stored Procedures in SQL Server](/content/2019/09/05/six-simple-steps-to-improve-stored-procedures-in-sql-server/ "Six Simple Steps to Improve Stored Procedures in SQL Server"/index.html)
1. SET NOCOUNT ON: Stop the message that shows the count of rows affected by a T-SQL statments. These messages can be suppressed with SET NOCOUNT ON and can increase performance by decreasing network traffic 2. IF EXISTS(): Use IF EXISTS() to check if data exist in a table or…
September 5, 2019
In "SQL"
[QVC](/content/2017/05/01/qvc/ "QVC"/index.html)
var divElement = document.getElementById('viz1493909286527'); var vizElement = divElement.getElementsByTagName('object')[0]; vizElement.style.width='100%';vizElement.style.height=(divElement.offsetWidth*0.75)+'px'; var scriptElement = document.createElement('script'); scriptElement.src = 'https://public.tableau.com/javascripts/api/viz\_v1.js'; vizElement.parentNode.insertBefore(scriptElement, vizElement); The objective of this challenge was to create a Decision Support System so that QVC can make strategic decisions to answer some of the business questions such as customer next buy (product…
May 1, 2017
In "Tableau"
Leave a comment Cancel reply
Write a comment...
Log in or provide your name and email to leave a comment.
Email me new posts
InstantlyDailyWeekly
Email me new comments
Save my name, email, and website in this browser for the next time I comment.
Comment
Δ
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Reckon Analytics](/content/site-root.html)
Sign me up
Already have a WordPress.com account? Log in now.
- Reckon Analytics](/content/site-root.html)
- Subscribe Subscribed
- Sign up
- Log in
- Copy shortlink
- Report this content
- View post in Reader
- Manage subscriptions
- Collapse this bar
%d
Twitter Widget Iframe