python - 使用多处理拟合模型后自定义集成 scikit-learn 模型 NotFittedError
问题描述
我正在尝试制作一个集成模型并使用多处理模块进行训练。有人可以解释为什么这会产生“NotFittedError”吗?这是我为演示发生了什么而制作的可重现示例:
import multiprocessing as mp
import numpy as np
from sklearn.ensemble import RandomForestClassifier
X = [np.random.normal(size=10) for _ in range(10)]
Y = [np.random.choice([0,1]) for _ in range(10)]
class ensemble(object):
def __init__(self, num_models):
self._models = [RandomForestClassifier() for _ in range(num_models)]
def train(self, training_data, training_labels):
_fit = lambda model, data, labels: model.fit(data, labels)
processes = [mp.Process(target=_fit, args=(self._models[index],
training_data,
training_labels)) for index in range(len(self._models))]
[p.start() for p in processes]
[p.join() for p in processes]
# try to predict with one of the models in the ensemble
self._models[0].predict(training_data)
e = ensemble(num_models=2)
e.train(X, Y)
解决方案
推荐阅读
- javascript - ReactJS + Typescript 中的条件 setInterval 和 clearInterval
- python-2.7 - 我根据 Pyhton 中的距离将 MoveTo 和 VectorReverse 命令应用于点。它不会失败,但不起作用。我能做些什么?
- java - 重定向 System.in ByteArrayInputStream 读取一个 JUnit 测试太晚了
- c# - Oracle.EntityFrameworkCore 发行说明
- perl - 如何使用另一个 perl 文件中的对象调用方法
- asp.net-core - ASP.NET Core API 中的 Httpcontext.current
- android - Android 从代码中打开“应用管理器”特定应用
- kubernetes - 如何在 Kubernetes 中配置 Spring redis sentinel
- configuration - 需要哪个文件加载器以及如何在 Nuxt 中配置它?
- python - 网页抓取页表Python