如何知道模型期望的输入格式是二维数组而不是一维数组?

考虑到这个讨论,我仍然无法理解如何知道模型期望输入必须是某种格式的原因。

根据错误消息,你的输入数据格式是 [45000, 50000, 60000, …]。但是模型期望的输入格式是像 [[45000], [50000], [60000], …] – 一个列表的列表。因此,reshape(-1, 1) 只是改变了格式。

为什么 y 不需要是二维数组?为什么只有 X 必须是?


回答:

sklearn.svm.SVC的文档中,对于predict方法:

参数

X: {array-like, sparse matrix} of shape (n_samples, n_features) or (n_samples_test, n_samples_train)

对于 kernel=”precomputed”,X 的预期形状是 (n_samples_test, n_samples_train)。

因此,即使你只有一个值X需要预测,你的输入形状也需要是(1, n_features),因为你的nsamples等于1,而不是(n_features),这是不被支持的格式。

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中创建了一个多类分类项目。该项目可以对…

发表回复

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