【发布时间】:2018-10-24 16:03:41
【问题描述】:
我正在尝试构建一个 MLP 模型,该模型采用由 9 列组成的数据集 这分别是一个样本(患者编号、时间单位为磨/秒、XY 和 Z 的标准化、峰度、偏度、俯仰、滚动和偏航、标签)。
1,15,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.872322164158,-3.51314800063,0
1,31,-0.248010047716,0.00378335508419,-0.0152548459993,-86.3738760481,0.872322164158,-3.51314800063,0
1,46,-0.267422664673,0.0051143782875,-0.0191247001961,-85.7662354031,1.0928406847,-4.08015176908,0
1,62,-0.267422664673,0.0051143782875,-0.0191247001961,-85.7662354031,1.0928406847,-4.08015176908,0
这是我的代码,我的代码没有错误,但是有和没有特征的结果是一样的..所以我问我是否使用正确的方法将这些特征输入模型。
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
import pandas as pd
import itertools
import math
np.random.seed(7)
train = np.loadtxt("featwithsignalsTRAIN.txt", delimiter=",")
test = np.loadtxt("featwithsignalsTEST.txt", delimiter=",")
x_train = train[:,[2,3,4,5,6,7]]
x_test = test[:,[2,3,4,5,6,7]]
y_train = train[:,8]
y_test = test[:,8]
model = Sequential()
model.add(Dense(500, input_dim=6, activation='relu'))
model.add(Dense(300, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy' , optimizer='adam', metrics=['accuracy'])
# Fit the model
batch_size = 128
epochs = 10
hist = model.fit(x_train, y_train,
batch_size=batch_size,
epochs=epochs,
verbose=2,
)
avg = np.mean(hist.history['acc'])
print('The Average Testing Accuracy is', avg)
##Evaluate the model
score=model.evaluate(x_test, y_test, verbose=2)
print(score)
【问题讨论】:
-
如何在没有这些特征的情况下训练模型?另外,你在比较什么结果?我看不出做 np.mean(hist.history['acc']) 背后的目的。这将为您提供过去所有训练时期的平均准确度。您应该比较的唯一准确度值是最后一个。
-
特征在数据集中.. x_train = train[:,[2,3,4,5,6,7]]..这行代码需要6个特征
-
在深度学习模型中输入特征是否正确?
-
我相信模型不会受到这些特征的影响,这就是为什么我需要知道如何以正确的方式提供这些特征以使模型输出具有更高准确性的新特征跨度>
标签: python python-3.x neural-network keras deep-learning