为什么我的Sagemaker模型在实时推理时需要更大的实例

我有一个Sagemaker端点,用于提供一个随机森林分类器的SKLearn模型。该模型根据用户在网站上的互动预测用户的类型。我已经发布了这个模型的两个版本

第一个模型有四种用户类型:'user-type-1', 'user-type-2', 'user-type-3', 'other'

第二个版本与第一个版本的不同之处在于使用了更多的训练数据,并且有10种用户类型:'user-type-1', 'user-type-2', 'user-type-3', 'user-type-4', 'user-type-5', 'user-type-6', 'user-type-7', 'user-type-8', 'user-type-9','other'。更具体地说,在第一个模型中,许多用户被预测为'other',而在第二个模型中,这些用户中的许多被归入了新的类别之一。

两个模型的随机森林参数是相同的

问题:第二个模型使用的内存比第一个模型多很多,我无法弄清楚原因。两个模型的大小相似,并且在第二个版本中对端点的调用次数与第一个版本相同。有什么想法可以解释为什么第二个模型需要比第一个模型更大、内存更多的实例吗?


回答:

分类类型的SkLearn树模型的values属性本质上是一个数据矩阵(n_leaves, n_classes)(与每个叶节点关联的概率分布)。

在第一次实验中,这个矩阵有4列,在第二次实验中它有10列——大小增加了2.5倍。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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