Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何针对我的keras训练模型运行测试数据?_Python_Tensorflow_Keras_Neural Network - Fatal编程技术网

Python 如何针对我的keras训练模型运行测试数据?

Python 如何针对我的keras训练模型运行测试数据?,python,tensorflow,keras,neural-network,Python,Tensorflow,Keras,Neural Network,培训我的模型的代码是: from keras.models import Sequential from keras.layers import Dense import numpy import pandas as pd X = pd.read_csv( "data/train.csv", header=0, usecols=['Type', 'Age', 'Breed1', 'Breed2', 'Gender', 'Color1', 'Color2', 'Color3', 'Mat

培训我的模型的代码是:

from keras.models import Sequential
from keras.layers import Dense
import numpy
import pandas as pd

X = pd.read_csv(
    "data/train.csv", header=0, usecols=['Type', 'Age', 'Breed1', 'Breed2', 'Gender', 'Color1', 'Color2', 'Color3', 'MaturitySize', 'FurLength',    'Vaccinated',   'Dewormed', 'Sterilized',   'Health',   'Quantity', 'Fee', 'VideoAmt', 'PhotoAmt'])
Y = pd.read_csv(
    "data/train.csv", header=0, usecols=['AdoptionSpeed'])

X = pd.get_dummies(X, columns=["Type", "Breed1",
                               "Breed2", 'Color1', 'Color2', 'Color3', 'Gender', 'MaturitySize', 'FurLength'])
print(X)

Y = Y['AdoptionSpeed'].apply(lambda v: v / 4)

input_units = X.shape[1]

model = Sequential()
model.add(Dense(input_units, input_dim=input_units, activation='relu'))
model.add(Dense(input_units, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
              optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, epochs=250, batch_size=1000)
scores = model.evaluate(X, Y)
我有一个名为
test.csv
的文件。我如何根据模型测试该设置,以查看我的模型有多有效


它似乎对训练数据有97%的准确率,但我担心它可能是过度拟合。

您可以按照以下方法进行训练:

f = "test.csv"
X = pd.read_csv(
    f, header=0, usecols=['Type', 'Age', 'Breed1', 'Breed2', 'Gender', 'Color1', 'Color2', 'Color3', 'MaturitySize', 'FurLength',    'Vaccinated',   'Dewormed', 'Sterilized',   'Health',   'Quantity', 'Fee', 'VideoAmt', 'PhotoAmt'])
Y = pd.read_csv(
    f, header=0, usecols=['AdoptionSpeed'])

X = pd.get_dummies(X, columns=["Type", "Breed1",
                               "Breed2", 'Color1', 'Color2', 'Color3', 'Gender', 'MaturitySize', 'FurLength'])
print(X)

Y = Y['AdoptionSpeed'].apply(lambda v: v / 4)
scores = model.evaluate(X, Y)

为了选择在测试集上评估它的最佳模型,您应该首先将训练集拆分为训练集和验证集。然后迭代地训练和验证模型。Keras
fit
方法会自动为您执行此操作

model.fit(X, Y, epochs=250, batch_size=1000, validation_split=0.2)
如您所见,这将分配20%的训练集用于模型验证

然后,您应该使用
test.csv
文件来衡量您选择的模型有多好。但是,切勿使用测试集进行模型选择。使用测试集可以对模型在现实世界中的性能做出无偏估计

然后我将加载
test.csv
文件并使用:

model.evaluate(x=X_test, y=Y_test)
否则,如果您只想对测试集执行推断,则可以执行以下操作:

predictions = model.predict(X_test)

此方法将返回测试集的预测。

您可以在读取培训文件时读取该文件,然后使用
模型。评估
@pooyan d'oh。很简单。如果你把答案贴出来,我可以接受。谢谢问题是我的
test.csv
没有
AdoptionSpeed
。那么,如何在其上运行模型以获得输出值呢?