对泰坦尼克号数据EMCluster聚类的代码
时间: 2024-03-10 12:50:39 浏览: 148
面板数据聚类分析MATLAB代码.TXT
4星 · 用户满意度95%
以下是一个在 R 语言中使用 EMCluster 包对泰坦尼克号数据进行聚类的示例代码:
```R
# 导入数据
data(titanic)
# 去除缺失值
titanic <- na.omit(titanic)
# 将字符型数据转为数值型数据
titanic$sex <- ifelse(titanic$sex == "male", 1, 0)
titanic$embarked <- ifelse(titanic$embarked == "S", 1,
ifelse(titanic$embarked == "C", 2, 3))
# 提取数值型数据
titanic_num <- titanic[, c(2, 3, 5, 6, 8)]
# 数据标准化
titanic_scale <- scale(titanic_num)
# 聚类
library(EMCluster)
result <- EMCluster(titanic_scale, 2)
```
其中,`data(titanic)` 是导入泰坦尼克号数据集,`na.omit()` 是去除缺失值,`ifelse()` 是将字符型数据转为数值型数据,`scale()` 是将数据进行标准化,`EMCluster()` 是使用 EM 算法进行聚类,第一个参数是数据集,第二个参数是聚类的个数。聚类结果存储在 `result` 中。
使用 EMCluster 包聚类后,可以使用以下代码查看聚类结果:
```R
# 查看聚类中心
result$centers
# 查看各个数据点所属的聚类类别
result$classification
# 查看聚类的划分质量
result$loglik
```
其中,`result$centers` 显示的是各个聚类的中心点坐标,`result$classification` 显示的是每个数据点所属的聚类类别编号,`result$loglik` 显示的是聚类的对数似然值。
阅读全文