intel daal4py分类器与scikit-learn

我正在测试最新版本的intel daal4py分类器的sklearn兼容包装器。intel的k近邻分类器与sklearn的cross_val_score()和GridSearchCV配合得很好。intel分类器的性能提升显著,并且在10个不同的公共大数据集和一些模拟数据集上,intel和sklearn模型提供了大体可比的结果。intel随机森林分类器的sklearn兼容包装器似乎完全坏了。score()方法不起作用,所以我无法继续使用intel随机森林包装类进行测试。

我在intel AI开发者论坛上发布了这个问题,但我想知道这里是否有人成功使用了intel的sklearn兼容随机森林分类器。

我的下一步是测试原生的daal4py随机森林对象,并可能编写我自己的包装器,因为原生的daal4py API与sklearn非常不同。我希望能避免这样做。intel网站上似乎对包装类的名称有些混淆。

我使用的是:

  • 对于k近邻:daal4py.sklearn.neighbors.kdtree_knn_classifier(这个工作得很好)
  • 对于随机森林:daal4py.sklearn.ensemble.decision_forest.RandomForestClassifier

intel RandomForestClassifier的失败出现在forest.py中,因为n_classes_是一个整数。n_classes_与传递的标签变量的类别数量相匹配。标签变量是一个整数。

predictions = [np.zeros((n_samples, n_classes_[k]))                for k in range(self.n_outputs_)]

回答:

请查看以下我们用于计算daal4py RandomForestClassifier得分的步骤

(i) 对于cross_val_score

from daal4py.sklearn.ensemble.decision_forest import RandomForestClassifierfrom sklearn.model_selection import cross_val_scoreclf = RandomForestClassifier()scores = cross_val_score(clf, train_data, train_labels, cv=3)print(scores)

(ii) 对于GridSearchCV

from sklearn.model_selection import GridSearchCVfrom daal4py.sklearn.ensemble.decision_forest import RandomForestClassifierparam_grid = {     'n_estimators': [200, 700],    'max_features': ['auto', 'sqrt', 'log2']}clf = RandomForestClassifier()CV_rfc = GridSearchCV(estimator=clf, param_grid=param_grid, cv= 5)CV_rfc.fit(train_data, train_labels)score=CV_rfc.score(train_data, train_labels)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注