当前位置: 首页 > 面试题库 >

具有SVM基本分类器的AdaBoost的执行时间

狄德泽
2023-03-14
问题内容

我只是用这些参数制作了一个Adaboost分类器,

1.n_estimators = 50

2.base_estimator = svc(这是一个支持向量分类器)

3.学习率= 1

这是我的代码:

from sklearn.ensemble import AdaBoostClassifier

from sklearn.svm import SVC

svc = SVC(kernel = 'linear',probability = True)

ABC = AdaBoostClassifier(n_estimators = 50, base_estimator = svc, learning_rate = 1)

ABC.fit(X,Y)

数据集具有18个自变量,而1个分类因变量数据集具有10480个数据点

每当我运行它时,将花费很多时间,但是没有任何结果。

有什么方法可以检查spyder的执行时间吗?还是更好的方法呢?


问题答案:

实际上,我们 从不 使用SVM作为Adaboost的基本分类器。

使用决策树作为基础分类器(更具体地讲,决策 树桩 ,即深度仅为1的DT
),设想了Adaboost(和类似的集成方法)。有充分的理由说明为什么今天仍然存在,如果您未明确指定base_classifier参数,则该参数将假定值为DecisionTreeClassifier(max_depth=1)。DT非常适合此类集合,因为它们本质上是
不稳定的 分类器,而SVM则不是这种情况,因此,在用作基本分类器时,预计不会提供太多支持。

最重要的是,SVM在计算上比决策树(更不用说决策 树桩 )昂贵得多,这就是观察到的处理时间长的原因。

除非你有一个 非常 好的理由,坚持支持向量机作为基分类(我强烈怀疑,你这样做),除去base_estimator = svc以恢复到默认设置,则很可能会被罚款。



 类似资料:
  • 我在Excel文件中有数据,我需要使用它来使用SVM执行多标签分类。它有两列,如下所示。“推文”-A、B、C、D、E、F、G和“类别”=X、Y、Z 推文类别 一个X B Y C Z D X,Y E Y,Z F X,Y,Z G X,Z 给出一条推特,我想训练我的模型预测它所属的类别。推文和类别都是文本。我正在尝试使用Weka的LibSVM分类器进行分类,因为我读到它可以进行多标签分类。我将csv文件

  • 我有一个用JPA映射的简单类: 我把那门课扩展成了非常简单的课 这正是我对SponsorDefainableBo所需要的。它是Sponsor的副本,并且从与Sponsor相同的表中读取。这是我们通过一些xml文档控制的查询框架所需要的,并且需要成为我正在做的事情的单独对象。需要SponsorDefainableBo插入查询/维护框架以进行我们不想在主父文档中进行的自定义详细信息。当我尝试使用Spo

  • 我目前正在使用maven-jaxb2-plugin v0.13.3。 插件配置有多个执行,每个执行都处理wsdl文件。其中有几个是完全独立的,但有几个只是同一企业中不同的wsdl,其模式导入公共的基本模式。 请注意,我无法更改WSDL或模式。 原始代码使用设置为true的“forceRegen”,以及所有写入相同目标目录的代码。这在命令行构建中运行良好,但正如许多人现在所知,这会导致Eclipse

  • 我想使用斯坦福分类器进行文本分类。我的特征主要是文本特征,但也有一些数字特征(例如句子的长度)。 我从ClassifierExample开始,并用一个简单的实值特性替换当前特性,如果停止灯,则值,否则,这将导致以下代码(除了第10-16行的函数之外,这只是原始ClassifierExample类的代码): 根据我对线性分类器的理解,特性应该使分类任务变得非常容易--毕竟,我们只需要检查的值是否大于

  • 我有一个文件列表和一个分析这些文件的分析器列表。文件数量可以很大(200,000),分析器数量可以很大(1000)。所以操作总数可能非常大(200,000,000)。现在,我需要应用多线程来加快速度。我采用了这种方法: 但这种方法的问题是,它占用了太多的内存,我想有更好的方法可以做到这一点。我还是java和多线程的初学者。

  • 我有2个类-A类和B类-A类包含2个测试方法,B类包含1个测试方法,在TestNG中用@Test和优先级注释 类B扩展了类A,因为类B需要使用在类A中初始化的WebDriver对象(在用@Test(priority=1)注释的方法之一中) 当TestNG运行测试时,它运行两个类A的方法,然后运行类B中的方法。然后再次运行类A的两个方法并完成测试 为什么它又执行A类的方法?如何防止它这样做?