我遇到了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”
答案 0 :(得分:0)
您需要使用LDA实例。
更改
Fit_Features_2 = LDA.fit(features_NiFe, labels)
到
Fit_Features_2 .fit(features_NiFe, labels)
确保标签的类型为array。
因此,使用df.to_numpy()
还要检查拟合函数的X和y参数的尺寸
X : array-like, shape (n_samples, n_features)
Training data.
y : array, shape (n_samples,)
Target values.