如何使用构建的Keras模型对看不见的测试集(没有标签)进行预测?

2024-04-25 23:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我建立了一个Keras模型来预测一个多类别、多标签的分类问题。数据集由特征(0到1之间的十进制值)组成。你知道吗

训练集中每行的目标是一个由6个二进制值组成的标签,格式为<;1,0,0,1,0>;。你知道吗

因此,在给定小数特征集(即测试数据)的情况下,模型应该能够预测这些标签。你知道吗

问题是,我无法使用我构建的模型来使用KerasClassifier包装器对看不见的测试数据(即featuredataset的十进制值)进行评分。你知道吗

import numpy
import pandas
from keras.models import Sequential
from keras.layers import Dense
from keras.wrappers.scikit_learn import KerasClassifier
from keras.utils import np_utils
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from sklearn.preprocessing import LabelEncoder
from sklearn.pipeline import Pipeline

dataframe = pandas.read_csv("train.csv", header=None)
X = dataframe.iloc[:, 0:294].values
Y = dataframe.iloc[:, 294:300].values

def baseline_model():
    model = Sequential()
    model.add(Dense(8, input_dim = 294, kernel_initializer='normal', activation='relu'))
    model.add(Dense(6, kernel_initializer='normal', activation='sigmoid'))

    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model

estimator = KerasClassifier(build_fn=baseline_model, epochs=5, batch_size=5)
kfold = KFold(n_splits=10, shuffle=True, random_state=seed)
results = cross_val_score(estimator, X, Y, cv=kfold)

有人能告诉我如何使用我建立的模型来预测(特征)的测试数据集,结果预测必须为我提供<;1,0,0,0,1,0>;的结果,其格式基本上与我的列车数据标签相同。你知道吗


Tags: 数据from模型importltdataframemodel格式