【问题标题】:How to fix NameError: name 'X_train' is not defined?如何修复 NameError:未定义名称“X_train”?
【发布时间】:2018-07-10 06:38:33
【问题描述】:

我正在运行多标签分类的[代码]1。如何修复未定义“X_train”的NameError。python代码如下。

import scipy
from scipy.io import arff
data, meta = scipy.io.arff.loadarff('./yeast/yeast-train.arff')
from sklearn.datasets import make_multilabel_classification

# this will generate a random multi-label dataset
X, y = make_multilabel_classification(sparse = True, n_labels = 20,
return_indicator = 'sparse', allow_unlabeled = False)

# using binary relevance
from skmultilearn.problem_transform import BinaryRelevance
from sklearn.naive_bayes import GaussianNB

# initialize binary relevance multi-label classifier
# with a gaussian naive bayes base classifier
classifier = BinaryRelevance(GaussianNB())

# train
classifier.fit(X_train, y_train)

# predict
predictions = classifier.predict(X_test)

from sklearn.metrics import accuracy_score
accuracy_score(y_test,predictions)

【问题讨论】:

标签: python machine-learning scikit-learn multilabel-classification scikit-multilearn


【解决方案1】:

您忘记将数据集拆分为训练集和测试集。

导入库

from sklearn.model_selection import train_test_split

在classifier.fit()之前添加这一行

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)

【讨论】:

  • 我尝试了您建议的方式,它对我有用。非常感谢您的帮助。
  • 如果对你有帮助,你能接受答案吗?@abbaskhan
猜你喜欢
  • 2017-06-09
  • 2019-09-07
  • 1970-01-01
  • 2022-11-13
  • 2017-08-30
  • 2021-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多