无法将NumPy数组转换为张量

我有以下格式的数据。我使用神经网络回归来预测三个参数:停机时间、延迟和准确性。

节点号 模型    技术        停机时间  延迟     准确性
1      Net     Repartition     0.90    31368.5  0.99
2      Net     Pause           0.10    21368.5  0.89
3      Mobile  Repartition     0.49    41368.5  0.79
4      Net     Pause           0.80    51368.5  0.98

代码

pre_norms = (predictors-predictors.mean()/predictors.std())
pre_norms.head()
predictors=data.drop(['Downtime','Latency','Accuracy'], axis = 1)
target=data[['Downtime', 'Latency', 'Accuracy']]
n_cols= pre_norms.shape[1]
def regression():
  model=Sequential()
  model.add(Dense(50, activation= 'relu',input_shape=(n_cols,)))
  model.add(Dense(50, activation='relu'))#隐藏层
  model.add(Dense(3))#输出
  model.compile(optimizer='adam',loss='mean_squared_error')
  return model
model=regression()
model.fit(pre_norms, target,validation_split=.3,epochs=100,verbose=1)

错误

ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type float).

回答:

我认为你漏掉了一个重要的步骤,即处理文本/分类属性。你的ModelTechnique需要转换为数字。一种方法是

predictors_cat_converted=pd.get_dummies(predictors, prefix=['Model', 'Technique'])

现在所有的文本都已转换为数字,你可以使用这些转换后的数据运行模型。

n_cols=predictors_cat_converted.shape[1]
model=regression()
model.fit(predictors_cat_converted, target,validation_split=.3,epochs=100,verbose=1)

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

发表回复

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