【发布时间】:2020-12-31 23:19:28
【问题描述】:
我正计划制作一个保费费用预测器,它根据包括性别、性别、BMI 等在内的多个因素来预测您的保险费。(总共 6 个)我有数据,但我不知道如何向它提供多个数组。 这是代码-
import tensorflow as tf
import numpy as np
from tensorflow import keras
import pandas as pd
a=0
file=pd.read_csv(r"""C:\Users\lavni\OneDrive\Desktop\proj.csv""",sep=',')
Age=pd.DataFrame(file,columns=['age']).to_numpy()
Sex=pd.DataFrame(file,columns=['sex']).to_numpy()
BMI=pd.DataFrame(file,columns=['bmi']).to_numpy()
Children=pd.DataFrame(file,columns=['children']).to_numpy()
Smoker=pd.DataFrame(file,columns=['smoker']).to_numpy()
Region=pd.DataFrame(file,columns=['region']).to_numpy()
Charges=pd.DataFrame(file,columns=['charges']).to_numpy()
Data=[Age,Sex,BMI,Children,Smoker,Region]
model=keras.Sequential([keras.layers.Dense(units=6,input_shape=[6])])
model.compile(optimizer='sgd',loss='mean_squared_error')
model.fit(Data,Charges)
运行时,它给了我以下错误:
ValueError: Layer sequential expects 1 inputs, but it received 6 input tensors. Inputs received: [<tf.Tensor 'IteratorGetNext:0' shape=(None, 1) dtype=int64>, <tf.Tensor 'IteratorGetNext:1' shape=(None, 1) dtype=string>, <tf.Tensor 'IteratorGetNext:2' shape=(None, 1) dtype=float32>, <tf.Tensor 'IteratorGetNext:3' shape=(None, 1) dtype=int64>, <tf.Tensor 'IteratorGetNext:4' shape=(None, 1) dtype=string>, <tf.Tensor 'IteratorGetNext:5' shape=(None, 1) dtype=string>]
我理解这个错误,对它进行了一些研究,我知道它需要是一个元组,但尽管改变了它,它仍然给出了同样的错误。
提前致谢。
【问题讨论】:
标签: python pandas dataframe tensorflow keras