找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1763|回复: 0

[求助] Keras 框架CNN 处理时间序列 报错

1

主题

2

帖子

2

积分

贫民

积分
2
收鸽者 发表于 2019-4-24 11:17:05 | 显示全部楼层 |阅读模式
本帖最后由 收鸽者 于 2019-4-24 11:21 编辑

keras.models 导入顺序
keras.layers 导入密集 Conv1D MaxPooling1D
keras.layers.embeddings 导入嵌入
进口 xlrd
keras.preprocessing 进口序列
进口熊猫作为 PD
keras.callbacks 导入 EarlyStopping


excel_read:
    DEF __init__self excel_path index =0):

      self .data = xlrd.open_workbook(excel_path)
      self .table = self .data.sheets()[index]
      self .rows = self .table.nrows

    def get_dataself):
        result = []
        for i in rangeself .rows):
            col = self .table.row_values(i)
            result.append(col)
        返回结果


def excel_one_line_to_list(path):
    df = pd.read_excel(path header = [ 0 ] usecols = [ 0 ] )   #读取项目名称列,不要列名
    df_li = df.values.tolist()
    result = []
    对于 df_li 中的 s_li:
        result.append(s_li [ 0 ])
    返回结果


x_train_seq = excel_read(excel_path = r'xtrain.xlsx')。get_data()
x_train = sequence.pad_sequences(x_train_seq maxlen = 176
y_train = excel_one_line_to_list(path = ytrain.xlsx”

x_test_seq = excel_read(excel_path =r'xtest.xlsx')。get_data()
x_test = sequence.pad_sequences(x_test_seq maxlen = 176
y_test = excel_one_line_to_list(path = ytest.xlsx”def timecnn(len1 = 176 max_features = 200 embedding_dims = 8 filters = 10):    kernel_size = 38 model = Sequential()    model.add(嵌入(max_features embedding_dims input_length = len1))         model.add(Dropout(0.2)





   

    ))
    model.add(Conv1D(过滤器 kernel_size 填充 = '有效' 激活 = 'RELU' 步幅 = 2))
    model.add(MaxPooling1D())
    model.add(降(0.2))
    model.add(密集(embedding_dims activation = 'softmax'))
    返回模型


model = timecnn()
model.summary()
es = EarlyStopping(monitor = 'val_acc' patience = 5
model.compile(损失 = “sparse_categorical_crossentropy” 优化 = “亚当” 度量 = [ '准确性' ])
的batch_size = 64
历元= 150
model.fit(x_train y_train 的batch_size =的batch_size 历元 =时期validation_split = 0.1 洗牌 =
最后报错ValueError:检查目标时出错:期望dense_1有3个维度,但是有形状的数组(100,1 网上找答案,说把
model.add(Dense(embedding_dims activation = 'softmax'))
改成
model.add(Dense(x_train.shape [:1] activation = 'softmax'))
还是会报错:TypeError:不支持的操作数类型for +:'int'和'tuple' 把x_train改成list list型也不对求大神指点一下

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表