这可能是一个愚蠢的问题,但我只是想知道 scikit.ml 中实现的 ML-KNN 和 scikit-learn 的 KNeighborsClassifier 之间的区别是什么。根据sklearn 的文档, KNeighborsClassifier 支持多标签分类。然而,ML-KNN 是适用于多标签分类的 KNN,它基于 sklearn 的架构基于它的docs。
在搜索样本多标签问题时,MLkNN 主要出现,但我不明白使用它是否比 sklearn 的基本实现有任何优势,如果它已经支持它。只是sklearn方面的后期适配还是在实现上有更多差异?
任何输入表示赞赏。谢谢!
python machine-learning scikit-learn multilabel-classification scikit-multilearn
我得到的错误是:
Could not find a version that satisfies the requirement
skmultilearn.problem_transform (from versions: )
No matching distribution found for skmultilearn.problem_transform
Run Code Online (Sandbox Code Playgroud) 我正在运行多标签分类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 …Run Code Online (Sandbox Code Playgroud) python machine-learning scikit-learn multilabel-classification scikit-multilearn