有哪位大神能幫我看一下為什么我只是仿照網上的例子做了一個keras神經網路訓練,然后model.fit() 那里就報TypeError: float() argument must be a string or a number, not 'method' 錯誤。
以下是我的代碼
from scipy.io import arff
import pandas as pd
data,meta=arff.loadarff("./data/1year.arff")
df=pd.DataFrame(data)
print(df.head())
df.fillna(df.mean,inplace=True)
print(df.mean)
print(df.isnull().sum())
# 訓練集測驗集分離
X=df.iloc[:,:64]
y=df.iloc[:,64]
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.30, random_state=1)
print(X_train)
print(X_test)
print(y_train)
print(y_test)
from keras.layers import Dense, Dropout, Input
from keras.models import Model, Sequential
model=Sequential()
model.add(Dense(32,input_dim=64,activation="relu"))
model.add(Dense(16,activation="relu"))
model.add(Dense(8,activation="relu"))
model.add(Dense(4,activation="relu"))
model.add(Dense(2,activation="relu"))
model.add(Dense(1,activation="softmax"))
model.compile(loss="binary_crossentropy",optimizer="adam",metrics=['accuracy'])
model.summary()
model.fit(X_train,y_train,batch_size=300,epochs=20) # 報錯在這一行
accuracy=model.evaluate(X_test,y_test)
print(accuracy)
報錯的資訊在這里


報錯資訊文字簡略版
TypeError Traceback (most recent call last)
<ipython-input-3-b90ba2ab3ab1> in <module>
11 model.compile(loss="binary_crossentropy",optimizer="adam",metrics=['accuracy'])
12 model.summary()
---> 13 model.fit(X_train,y_train,batch_size=300,epochs=20)
14 accuracy=model.evaluate(X_test,y_test)
15 print(accuracy)
c:\users\86176\appdata\local\programs\python\python38\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs)
1225
1226 # Delegate logic to `fit_loop`.
-> 1227 return training_arrays.fit_loop(self, fit_function, fit_inputs,
1228 out_labels=out_labels,
1229 batch_size=batch_size,
c:\users\86176\appdata\local\programs\python\python38\lib\site-packages\keras\engine\training_arrays.py in fit_loop(model, fit_function, fit_inputs, out_labels, batch_size, epochs, verbose, callbacks, val_function, val_inputs, shuffle, initial_epoch, steps_per_epoch, validation_steps, validation_freq)
194 ins_batch[i] = ins_batch[i].toarray()
195
--> 196 outs = fit_function(ins_batch)
197 outs = to_list(outs)
198 for l, o in zip(out_labels, outs):
TypeError: float() argument must be a string or a number, not 'method'
df.head()結果如下

救救孩子
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/237298.html
標籤:人工智能技術
上一篇:WPF程式記憶體釋放?
下一篇:求助
