ValueError: The number of classes has to be greater than one (python)
当传递
追踪(最新的呼叫负载):
File"C:/Classify/classifier.py", line 95, in
train_avg, test_avg, cms = train_model(X, y,"ceps", plot=True)
File"C:/Classify/classifier.py", line 47, in train_modelclf.fit(X_train, y_train) File"C:\Python27\lib\site-packages\sklearn\svm\base.py", line 676, in fit
raise ValueError("The number of classes has to be greater than" ValueError: The number of classes has to be greater than one.
下面是我的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | def train_model(X, Y, name, plot=False): """ train_model(vector, vector, name[, plot=False]) Trains and saves model to disk. """ labels = np.unique(Y) cv = ShuffleSplit(n=len(X), n_iter=1, test_size=0.3, indices=True, random_state=0) train_errors = [] test_errors = [] scores = [] pr_scores = defaultdict(list) precisions, recalls, thresholds = defaultdict(list), defaultdict(list), defaultdict(list) roc_scores = defaultdict(list) tprs = defaultdict(list) fprs = defaultdict(list) clfs = [] # for the median cms = [] for train, test in cv: X_train, y_train = X[train], Y[train] X_test, y_test = X[test], Y[test] clf = LogisticRegression() clf.fit(X_train, y_train) clfs.append(clf) |
您可能在培训集中只有一个唯一的班级标签。正如错误消息所指出的,数据集中至少需要有两个唯一的类。例如,可以运行