有没有一种方法可以根据参数和数据集预测从sci-kit学习运行分类器需要多长时间?我知道,很漂亮吧?
一些分类器/参数组合非常快,而有些则花费了很长时间,以至于我最终干掉了这个过程。我想要一种提前估算所需时间的方法。
另外,我会接受一些有关如何设置通用参数以减少运行时间的指针。
有非常特定的分类器或回归类,它们直接报告算法的剩余时间或进度(迭代次数等)。可以通过verbose=2
向各个模型的构造函数传递(任何大于1的高数字)选项来打开大多数功能。
注意: 此行为符合sklearn-0.14。早期版本的详细输出有些不同(尽管仍然有用)。
最好的例子是ensemble.RandomForestClassifier
or
ensemble.GradientBoostingClassifier`,它打印到目前为止构建的树数和剩余时间。
clf = ensemble.GradientBoostingClassifier(verbose=3)
clf.fit(X, y)
Out:
Iter Train Loss Remaining Time
1 0.0769 0.10s
...
要么
clf = ensemble.RandomForestClassifier(verbose=3)
clf.fit(X, y)
Out:
building tree 1 of 100
...
此进度信息对于估计总时间非常有用。
然后还有其他模型,例如SVM,可打印完成的优化迭代次数,但不直接报告剩余时间。
clf = svm.SVC(verbose=2)
clf.fit(X, y)
Out:
*
optimization finished, #iter = 1
obj = -1.802585, rho = 0.000000
nSV = 2, nBSV = 2
...
据我所知,线性模型之类的模型不提供此类诊断信息。
检查此线程以了解更多详细级别的含义:scikit-
learn适合剩余时间
我对机器学习很陌生。对不起,如果我的英语有任何错误。 我使用weka J48分类来预测是真是假。我有将近999K的训练套件,我用来训练模型。我使用了3倍的交叉验证方法来训练模型,使我的准确率达到了约84%。 现在在存储模型之后。我试着在50k数据集上测试它。结果非常糟糕,其中50%是不匹配的。我有11个属性,包括名词和数字字段。 我不知道为什么会这样。 我有两个问题。 我怎样训练才能在测试集中表现
如何计算多类文本分类的FPR、TPR、AUC、roc_曲线-我使用了以下代码- 到这里为止,每件事都运行良好-但是一旦我使用以下代码,就会出错- 错误是- Traceback(最近的调用最后): 文件"C:/用户/saurabh/PycharmProjects/getting_started/own_code.py",第32行,打印(metrics.roc_auc_score(y_test,y_p
每次将一个类别作为正类,其余类别作为负类。此时共有(N个分类器)。在测试的时候若仅有一个分类器预测为正类,则对应的类别标记为最终的分类结果。 【例】当有4个类别的时候,每次把其中一个类别作为正类别,其余作为负类别,共有4种组合,对于这4中组合进行分类器的训练,我们可以得到4个分类器。对于测试样本,放进4个分类器进行预测,仅有一个分类器预测为正类,于是取这个分类器的结果作为预测结果,分类器2预测的结果是类别2,于是这个样本便属于类别
从sklearn加载流行数字数据集。数据集模块,并将其分配给可变数字。 分割数字。将数据分为两组,分别命名为X_train和X_test。还有,分割数字。目标分为两组Y_训练和Y_测试。 提示:使用sklearn中的训练测试分割方法。模型选择;将随机_状态设置为30;并进行分层抽样。使用默认参数,从X_序列集和Y_序列标签构建SVM分类器。将模型命名为svm_clf。 在测试数据集上评估模型的准确
问题内容: 我正在尝试从集群模块调用函数,如下所示: 我收到以下错误: 在IPython中,制表符补全似乎可以访问基本,克隆,外部,re,setup_module,sys和警告模块。sklearn目录中没有其他(包括群集)。 遵循以下pbu的建议并使用 我得到: 我在Windows上使用Python 3.4,scikit-learn 0.16.1。 问题答案: 问题是scipy / numpy安装
我们有一些ML模型在Azure ML Studio平台上运行(初始拖动) 好消息/坏消息是我们要训练的数据非常小(数据库中有几百条记录)。这是非常不完美的数据,做出了非常不完美的回归预测,所以误差是可以预料的。那很好。对于这个问题,这很好。因为问题是,当我测试这些模型时,预测太完美了。我不明白我做错了什么,但我显然做错了什么。 (在我看来)明显值得怀疑的事情是,要么我在测试数据上进行训练,要么通过
问题内容: 在选择主成分数(k)时,我们选择k为最小值,以便保留例如99%的方差。 但是,在Python Scikit学习中,我不是100%确定等于“保留了99%的方差”吗?谁能启发?谢谢。 Python Scikit学习PCA手册在这里 http://scikit- learn.org/stable/modules/generation/sklearn.decomposition.PCA.htm
我正在尝试使用Scikit-Learn的来编码字符串标签的pandas。由于dataframe有许多(50+)列,我希望避免为每个列创建对象;我宁愿只有一个大的对象,它可以跨我的所有数据列工作。 将整个抛入会产生以下错误。请记住,我在这里使用的是虚拟数据;实际上,我正在处理大约50列字符串标记的数据,因此需要一个不引用任何列名称的解决方案。 回溯(最近一次调用):文件“”,第1行,在文件“/use