【发布时间】:2021-07-17 14:17:11
【问题描述】:
我收到此错误:
ValueError: Unknown label type: 'continuous'
这是我的代码:
data=data.dropna()
array = data.values
X = array[:,0:]
y = array[:,-1]
X_train, X_validation, y_train, y_validation = train_test_split(X, Y, test_size=0.20, random_state=1)
models = []
models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
# Evaluate each model in turn
results = []
names = []
for name, model in models:
# TimeSeries Cross validation
tscv = TimeSeriesSplit(n_splits=10)
cv_results = cross_val_score(model, X_train, y_train, cv=tscv, scoring='r2')
results.append(cv_results)
names.append(name)
print('%s: %f (%f)' % (name, cv_results.mean(), cv_results.std()))
# Compare Algorithms
plt.boxplot(results, labels=names)
plt.title('Algorithm Comparison')
plt.show()
我发现另一个有类似问题的帖子,但是当我尝试解决问题时:
from sklearn import utils
lab_enc = preprocessing.LabelEncoder()
encoded = lab_enc.fit_transform(y_train)
LogisticRegression 和 KNeighborsClassifier 有效,但 LinearDiscriminantAnalysis 返回 nas 和错误:
ValueError: The number of samples must be more than the number of classes.
那时我并不真正了解自己在做什么,文档对我帮助不大。
有人可以向我解释这些错误吗?
【问题讨论】:
-
您的 y 值或因变量是连续的,这意味着它不是 0/1 或离散的 0/1/2/3
标签: python scikit-learn