sklearn

时间:2019-10-05 19:56:32

标签: python scikit-learn

我遇到了sklearn.discriminant_analysis无法识别输入的问题。

我已经将所有标签从str更改为数值。

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
print(labels)
print(type(labels))
Fit_Features_2 = LDA(n_components = 1)
Fit_Features_2 = LDA.fit(features_NiFe, labels)

#The type for labels
<class 'pandas.core.frame.DataFrame'>

TypeError:fit()缺少1个必需的位置参数:“ y”

1 个答案:

答案 0 :(得分:0)

您需要使用LDA实例。

更改

Fit_Features_2 = LDA.fit(features_NiFe, labels)

Fit_Features_2 .fit(features_NiFe, labels)

确保标签的类型为array。 因此,使用df.to_numpy()

将数据帧转换为numpy数组

还要检查拟合函数的X和y参数的尺寸

        X : array-like, shape (n_samples, n_features)
            Training data.
        y : array, shape (n_samples,)
            Target values.