如何修复我的 CSV 文件?(ValueError:找到具有 0 个样本的数组(形状 =(0, 1)),而至少需要 1 个)

数据挖掘 Python scikit-学习 数据清理 互信息
2022-03-07 23:37:39

我试图将两个 csv 文件导入df1df2. 将它们连接起来制作df3. 我试图打电话给mutual_info_regression他们,但我得到一个值错误ValueError: Found array with 0 sample(s) (shape=(0, 1)) while a minimum of 1 is required我检查了Xy和的尺寸discrete_features他们似乎都还好。

由于代码适用于其他csv文件(我已经测试过),我认为问题出在我的csv文件而不是代码上。

import numpy as np
import pandas as pd

df1 = pd.read_csv("WT_MDE.csv", index_col=0)
df1["Interact"] = 1

df2 = pd.read_csv("M_MDE.csv", index_col=0)
df2["Interact"] = 0

data = pd.concat([df1, df2])

X = data.copy()
y = X.pop("Interact")
discrete_features = X.dtypes == float

from sklearn.feature_selection import mutual_info_regression

def make_mi_scores(X, y, discrete_features):
    mi_scores = mutual_info_regression(X, y, discrete_features = discrete_features)
    mi_scores = pd.Series(mi_scores, name="MI Scores", index=X.columns)
    mi_scores = mi_scores.sort_values(ascending=False)
    return mi_scores

mi_scores = make_mi_scores(X, y, discrete_features)

CSV 文件的 Google Drive 链接

如果有人可以提供帮助,我将不胜感激。

1个回答

问题似乎出在discrete_features里面的标志上mutual_info_regression如果您将其完全删除(或将其设置为'auto'),它将正常工作!