数据
威斯康乳腺癌数据集由699个样本和11个特征组成,第一列为Sample code number (id number),最后一列为Class: (2是良性, 4是恶性),是需要预测的变量。其余几个特征的大小均介于1-10之间。数据可以在UCI的网站上得到。
data <- read.csv("breast-cancer-wisconsin.data")
str(data)
levels(data[,11]) <- c(1,2)
boxplot(data[,-1])

聚类
用kmeans()或hclust()做聚类分析,主要目的是看看数据能不能被分为两类:
# 计算距离矩阵
df <- data[-c(1,11)] #去掉第一列的id number和最后一列
df.dist<-dist(df)
# 绘制散点图
plot(cmdscale(df.dist))

k-means
kcl <- kmeans(df, centers = 2)
table(kcl$cluster)
plot(cmdscale(df.dist),
col = kcl$cluster,
# 聚类预测的类别用不同的形状表示
pch = as.numeric(levels(data[,11])))
# 真实的类别用不同颜色表示

hclust
hcl <- hclust(df.dist)
plot(hcl)
hcutree <- cutree(hcl, k = 2)
table(hcutree)
plot(cmdscale(df.dist),
col = hcutree,
pch = as.numeric(levels

博客围绕威斯康乳腺癌数据集展开,先对数据进行聚类分析,采用k-means和hclust方法。接着随机划分7:3的训练集和测试集,用函数建立单隐藏层神经网络模型。最后通过k折交叉验证和留一法评估模型,以测试误差选最优模型。
最低0.47元/天 解锁文章
1002

被折叠的 条评论
为什么被折叠?



