[DA45] 用EM算法对王者荣耀英雄进行划分

本文介绍了如何运用EM算法和GMM模型对王者荣耀英雄进行聚类。首先,阐述了EM算法和GMM模型的基本概念,并在Python的sklearn库中展示了如何构建和应用GMM模型。接着,对王者荣耀的数据进行加载和探索,包括数据预处理,如删除异常值和非数值特征。通过对数据标准化和PCA降维,最终使用GMM模型进行聚类分析。通过对比聚类结果与官方定位,验证了聚类的有效性,为玩家提供了英雄选择的参考建议。
摘要由CSDN通过智能技术生成

一. 相关介绍

    (一) EM 算法

        EM 是聚类方法的一种. EM 分为两个步骤: E 步相当于通过初始化的参数来估计隐含变量, M 步是通过隐含变量来反推优化参数. 最后通过EM 步骤的迭代得到最终的模型参数.

    (二) GMM 模型 

        GMM 模型中文名为高斯混合模型, 是EM 算法的一种. 

        在python 的机器学习工具包sklearn中, 通过 from sklearn.mixture import GaussianMixture 引入GMM模型.

        首先使用model = GaussianMixture(n_components=1, covariance_type=‘full’, max_iter=100) 来创建GMM 聚类, 再使用fit 函数传入样本特征矩阵, 模型会自动生成聚类器, 然后使用prediction=model.predict(data) 来对数据进行聚类, 传入你想进行聚类的数据, 可以得到聚类结果 prediction.

        在创建GMM 模型时, 使用的主要参数如下:

            1. n_components: 即高斯混合模型的个数, 也就是我们要聚类的个数, 默认值为 1. 如果不指定n_components, 最终的聚类结果都会为同一个值. 

            2. covariance_type: 代表协方差类型. 一个高斯混合模型的分布是由均值向量和协方差矩阵决定的, 所以协方差的类型也代表了不同的高斯混合模型的特征. 协方差类型有 4 种取值:

            (1) covariance_type='full', 代表完全协方差, 也就是元素都不为0 , 默认值;

            (2) covariance_type='tied', 代表相同的完全协方差;

            (3) covar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值