gpt4 book ai didi

python - 如何计算整个 Pandas 数据集的成对互信息?

转载 作者:行者123 更新时间:2023-12-04 12:57:46 25 4
gpt4 key购买 nike

我的数据框中有 50 个变量。 46 个是因变量,4 个是独立变量(降水、温度、露水、雪)。我想计算我的因变量对我的独立变量的互信息。
所以最后我想要一个这样的数据框 enter image description here
现在我正在使用以下方法计算它,但需要很长时间,因为我必须更改我的 y 每一次

X = df[['Temperature', 'Precipitation','Dew','Snow']] # Features
y = df[['N0037']] #target

from sklearn.feature_selection import mutual_info_regression
mi = mutual_info_regression(X, y)
mi /= np.max(mi)

mi = pd.Series(mi)
mi.index = X.columns
mi.sort_values(ascending=False)
mi

最佳答案

使用列表理解:

indep_vars = ['Temperature', 'Precipitation', 'Dew', 'Snow'] # set independent vars
dep_vars = df.columns.difference(indep_vars).tolist() # set dependent vars

from sklearn.feature_selection import mutual_info_regression as mi_reg

df_mi = pd.DataFrame([mi_reg(df[indep_vars], df[dep_var]) for dep_var in dep_vars], index = dep_vars, columns = indep_vars).apply(lambda x: x / x.max(), axis = 1)

关于python - 如何计算整个 Pandas 数据集的成对互信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63969194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com