1、介紹
Max-Relevance and Min-Redundancy,最大相關—最小冗余。最大相關性保證特征和類別的相關性最大;最小冗余性確保特征之間的冗余性最小。它不僅考慮到了特征和標注之間的相關性,還考慮到了特征和特征之間的相關性。度量標准使用的是互信息(Mutual information)。對於mRMR方法,特征子集與類別的相關性通過各個特征與類別的信息增益的均值來計算,而特征與特征的冗余使用的是特征和特征之間的互信息加和再除以子集中特征個數的平方,因為I(xi,xj)計算了兩次。
2、pymrmr庫
2.1mRMR方法在pymrmr庫,官網上寫的在pycharm中直接pip install pymrmr報錯。
2.2在path中配置pycharm報錯。
2.3提升pip版本也不行。
2.4看到有說python3.6才能使用該庫,安裝后還是不能使用。
解決:最后安裝了C++ 桌面開發成功解決問題,VisualStudio官網鏈接:Visual Studio: 面向軟件開發人員和 Teams 的 IDE 和代碼編輯器 (microsoft.com)
下載的社區版2022,安裝好后找到C++的桌面開發,安裝完成后,再次打開pycharm,在終端輸入下列代碼安裝成功。(使用的依舊是剛開始的py3.8版本)
pip install pymrmr
3、mRMR的使用
import pymrmr
result = pymrmr.mRMR(參數一,參數二,參數三)
參數一:DataFrame,要求第一列是目標量(標注),其他列是特征量。
參數二:選擇的方法,有'MID'、'MIQ'兩種。MID是基於互信息的mRMR,MIQ是基於商的mRMR。
參數三:要求int類型,最后輸出的特征數量。
最后輸出結果類似這種。。。
4、怎么將結果保存到csv
mRMR的輸出結果是特征的名稱,存到一個列表中,再切片保存即可。