gpt4 book ai didi

python - 有没有一种简单的方法来列出所有采用稀疏训练输入的 sklearn 实现?

转载 作者:行者123 更新时间:2023-11-30 23:18:12 26 4
gpt4 key购买 nike

而不是仅仅尝试使用稀疏输入并得到错误。就像这里显示的分类器列表一样: AdaBoostClassifier with different base learners

最佳答案

好的,为后代回答我自己的问题,按照 andreas 的建议,使用 try 改编原始帖子。 Def 应该想到这一点。

from scipy.sparse import csc_matrix
from sklearn.utils.testing import all_estimators
import numpy as np
import random
y = np.array([random.randrange(0,2) for i in xrange(1000)])
X = csc_matrix(np.array([[random.randrange(0,2) for i in xrange(1000)],
[random.randrange(0,2) for i in xrange(1000)],
[random.randrange(0,2) for i in xrange(1000)]])).T
for name, Clf in all_estimators(type_filter='classifier'):
try:
clf = Clf()
clf.fit(X,y)
print name
except:
pass

给出了这个列表:

BernoulliNB
DummyClassifier
KNeighborsClassifier
LabelPropagation
LabelSpreading
LinearSVC
LogisticRegression
MultinomialNB
NearestCentroid
NuSVC
PassiveAggressiveClassifier
Perceptron
RadiusNeighborsClassifier
RidgeClassifier
RidgeClassifierCV
SGDClassifier
SVC

我知道这既快又脏,并且会错过任何因 TypeError:已传递稀疏矩阵,但需要密集数据之外的错误而失败的错误。使用 X.toarray() 转换为密集的 numpy 数组。,为了让每个人都知道我是多么认真,唯一因其他原因失败的是 EllipticEnvelope。我检查了。 :) 另外,如果将 base_estimator 从默认值更改为可以接受稀疏输入并且具有所有必要的方法/属性,并且您使用可以索引的稀疏表示(csr_matrixcsc_matrix)。

关于python - 有没有一种简单的方法来列出所有采用稀疏训练输入的 sklearn 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26836366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com