各位朋友大家好,今天给大家讲讲互信息。
from sklearn.datasets import load_breast_cancer as LBC
cancer = LBC()
X = cancer['data']
y = cancer['target']
#计算MI score
from sklearn.feature_selection import mutual_info_classif as MIC
mi_score = MIC(X,y)
print(mi_score)
#30 numbers present MI score for 30 features.
#模型1
from sklearn.model_selection import train_test_split as tts
X_train_1,X_test_1,y_train,y_test = tts(
X,y
,random_state=0
,stratify=y
)
#模型2
import numpy as np
mi_score_selected_index = np.where(mi_score >0.2)[0]
X_2 = X[:,mi_score_selected_index]
X_train_2,X_test_2,y_train,y_test = tts(
X_2,y
,random_state=0
,stratify=y
)
#模型3
mi_score_selected_index = np.where(m