【发布时间】:2020-02-27 13:19:50
【问题描述】:
我有一个 64 列的数据集,我想找到互信息分数或矩阵来了解所有特征之间的关系。我在 sklearn 模块mutual_info_score 中发现了一个函数,它总是抛出:
ValueError: 找到包含 0 个样本 (shape=(0, 1)) 的数组,而至少需要 1 个样本?
谁能指导我?另外,如果有人知道找到整个数据集的互信息的更好方法,请告诉我。
我已经以 numpy 数组的形式在参数中给出了输入。对于 X 和标签。
from sklearn.feature_selection import mutual_info_classif
epoch1 = pd.read_excel('eegforevent_0.xlsx')
X=epoch1
y = []
for i in range(0,360):
y.append(i)
y1 = pd.DataFrame(y)
mi = mutual_info_classif(X.to_numpy(),y1.to_numpy())
C:\Users\xx\Anaconda4\lib\site-packages\sklearn\utils\validation.py:724: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
y = column_or_1d(y, warn=True)
ValueError Traceback (most recent call last)
<ipython-input-105-7a0d61440a9b> in <module>
----> 1 mi = mutual_info_classif(X.to_numpy(),y1.to_numpy())
ValueError: Found array with 0 sample(s) (shape=(0, 1)) while a minimum of 1 is required.
【问题讨论】:
标签: python scikit-learn feature-selection