em模型補缺失值 實戰 用EM聚類劃分王者榮耀英雄

2021-10-14 05:51:01 字數 2029 閱讀 1437

最大期望演算法(expectation-maximization algorithm, em)是一類通過迭代進行極大似然估計(maximum likelihood estimation, mle)的優化演算法 ,通常作為牛頓迭代法(newton-raphson method)的替代用於對包含隱變數(latent variable)或缺失資料(incomplete-data)的概率模型進行引數估計 。

em演算法的標準計算框架由e步(expectation-step)和m步(maximization step)交替組成,演算法的收斂性可以確保迭代至少逼近區域性極大值。em演算法是mm演算法(minorize-maximization algorithm)的特例之一,擁有多個改進版本,包括em梯度演算法、廣義em演算法等 。

下面是我對em演算法理解的思維導圖:

em演算法相當於乙個聚類框架,裡面有不同的聚類模型,比如gmm高斯混合模型,或hmm隱馬爾科夫模型。本次練習採用的是gmm高斯混合模型

我們通過聚類演算法將特徵值相近的資料歸為一類,不同類之間的差異較大,這樣就可以對原始資料進行降維度。通過分成幾個組來研究每組的特徵。比如我們該案例中對王者榮耀英雄進行分類。如果你的對手選擇你擅長的英雄之後,你就可以從同類別中選擇另乙個英雄作為備選。

檔名:heros.csv

資料有69個英雄的20個特徵,這些屬性分別是最大生命、生命成長、初始生命、最**力、法力成長、初始法力、最高物攻、物攻成長、初始物攻、最大物防、物防成長、初始物防、最大每 5 秒回血、每 5 秒回血成長、初始每 5 秒回血、最大每 5 秒回藍、每 5 秒回藍成長、初始每 5 秒回藍、最大攻速和攻擊範圍等

首先匯入包和載入資料來源

對英雄屬性之間的關係進行視覺化分析

從圖中我們能清晰地看出哪些特徵的相關性程度高。我們就從哪些相關性程度高的特徵裡面只選出乙個代表該特徵,這樣能對屬性進行降維。

然後進行資料規範化

我們能看到「最大攻速」這個屬性值是百分數,不適合做矩陣運算,因此我們需要將百分數轉化為小數。我們也看到「攻擊範圍」這個欄位的取值為遠端或者近戰,也不適合矩陣運算,我們將取值做個對映,用 1 代表遠端,0 代表近戰。然後採用 z-score 規範化,對特徵矩陣進行規範化。

構造gmm聚類

輸出結果

截圖一部分結果

評估模型效果

聚類和分類不一樣,聚類是無監督的學習方式,也就是我們沒有實際的結果可以進行比對,所以聚類的結果評估不像分類準確率一樣直觀,那麼有沒有聚類結果的評估方式呢?這裡我們可以採用 calinski-harabaz 指標

em模型補缺失值 資料缺失值的4種處理方法

一 缺失值產生的原因 缺失值的產生的原因多種多樣,主要分為機械原因和人為原因。機械原因是由於機械原因導致的資料收集或儲存的失敗造成的資料缺失,比如資料儲存的失敗,儲存器損壞,機械故障導致某段時間資料未能收集 對於定時資料採集而言 人為原因是由於人的主觀失誤 歷史侷限或有意隱瞞造成的資料缺失,比如,在...

sklearn 資料填補缺失值

機器學習和資料探勘中所使用的資料,永遠不可能是完美的。很多特徵,對於分析和建模來說意義非凡,但對於實 際收集資料的人卻不是如此,因此資料探勘之中,常常會有重要的字段缺失值很多,但又不能捨棄欄位的情況。因 此,資料預處理中非常重要的一項就是處理缺失值。從kaggle中簡單的獲取的鐵達尼號的遇難者生存資...

eviews如何處理缺失資料填補 缺失值的處理

一 缺失值產生的原因 缺失值的產生的原因多種多樣,主要分為機械原因和人為原因。機械原因是由於機械原因導致的資料收集或儲存的失敗造成的資料缺失,比如資料儲存的失敗,儲存器損壞,機械故障導致某段時間資料未能收集 對於定時資料採集而言 人為原因是由於人的主觀失誤 歷史侷限或有意隱瞞造成的資料缺失,比如,在...