2016-12-24

学习内容:

上午:线段树

下午:Tarjan、割点割边

注意事项:

1.<<1 乘2 

    >>1 除2

—————————————————————————————————————————————————————

2.if(a)==if (a !=0)

   if(!a)==if (a==0)

—————————————————————————————————————————————————————

3. while(scanf("%s",str),strcmp(str,"End")) 当str!=End时,strcmp可以判断两个string类型是否相等,若相等则为0

—————————————————————————————————————————————————————

加油期末考试!!!加油文化课!!!加油竞赛!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
order_date sales_region_code item_code first_cate_code second_cate_code sales_chan_name item_price ord_qty 2016-03-15 101 20001 302 408 offline 700 102 2016-03-21 101 20001 302 408 offline 705 19 2016-03-23 101 20001 302 408 offline 702 36 2016-03-24 101 20001 302 408 offline 692 204 2016-03-25 101 20001 302 408 offline 693 36 2016-05-06 101 20001 302 408 offline 707 305 2016-05-09 101 20001 302 408 offline 709 206 2017-08-04 101 20002 303 406 offline 1958 4 2018-03-14 101 20002 303 406 offline 2166 2 2018-03-16 101 20002 303 406 offline 2466 3 2018-03-25 101 20002 303 406 offline 2453 3 2018-03-31 101 20002 303 406 offline 2462 9 以上数据是excel表格,你能都出来吗 上表表格保存在test.xlsx文件:order_date(订单日期,注:订单日期从2015 年 9 月 1日至 2018 年 12 月 20 日)、sales_region_code(销售区域编码)、item_code(产品编码)、first_cate_code (产品大类编码)、second_cate_code (产品细类编码)、sales_chan_name (销售渠道名称)、item_price (产品价格)和 ord_qty (订单需求量) 希望给出下列描述的python代码。 读入表格,将数据转为模型可用的格式。 训练集与测试集的数据要转换成模型可使用的数据格式,数据维度要与模型的输入相匹配。 使用tensorflow创建多层卷积与多层lstm相结合的模型,其训练数据为相同的产品编码,对应的订单日期,对应的订单需求量。然后进行模型训练 模型训练完成后,对不同的产品编码预测其在2019年1月至3月每月的订单需求量。 需要将信息保存在result.xlsx表格中,其中应包含以下数据,产品编码,和对应的2019年1月订单需求量,2019年2月的需求量,2019年3月的需求量。
最新发布
04-23
抱歉,作为AI,我没有能力读取外部表格。这个问题需要使用Python相关的库进行处理。以下是参考代码: ```python import pandas as pd import numpy as np import tensorflow as tf # 读入表格 df = pd.read_excel('test.xlsx') # 转换为模型可用的格式 def convert_to_model_format(df): # 将日期转换为时间戳 df['timestamp'] = pd.to_datetime(df['order_date']).astype(np.int64) // 10**9 # One-hot编码 df = pd.get_dummies(df, columns=['sales_region_code', 'first_cate_code', 'second_cate_code', 'sales_chan_name']) # 取出需要的列 df = df[['item_code', 'timestamp', 'ord_qty'] + list(df.columns[8:])] # 按照同一产品编码进行分组 groups = df.groupby('item_code') # 将每个分组转换为模型可用的格式 result = [] for _, group in groups: sequences = [] targets = [] for i in range(49, len(group)): sequences.append(group.iloc[i-49:i, 2:].values) targets.append(group.iloc[i, 2]) result.append((np.array(sequences), np.array(targets))) return result data = convert_to_model_format(df) # 创建模型 def create_model(): inputs = tf.keras.layers.Input(shape=(49, 267)) conv = inputs for i in range(3): conv = tf.keras.layers.Conv1D(filters=64, kernel_size=3, activation='relu')(conv) lstm = tf.keras.layers.LSTM(units=128)(conv) dense = tf.keras.layers.Dense(units=64, activation='relu')(lstm) outputs = tf.keras.layers.Dense(units=1)(dense) model = tf.keras.models.Model(inputs=inputs, outputs=outputs) model.compile(optimizer='adam', loss='mse', metrics=['mae']) return model model = create_model() # 训练模型 for x_train, y_train in data: model.train_on_batch(x_train, y_train) # 预测 def predict(model, item_code): # 构造测试数据 dates = pd.date_range(start='2019-01-01', end='2019-03-31', freq='MS').astype(np.int64) // 10**9 df_test = pd.DataFrame({'timestamp': dates}) df_test['item_code'] = item_code df_test = pd.get_dummies(df_test, columns=['item_code']) test_data = df_test.drop(columns=['timestamp']).values x_test = np.zeros(shape=(len(test_data) - 49, 49, 267)) for i in range(49, len(test_data)): x_test[i-49] = np.concatenate([test_data[i-49:i], np.zeros(shape=(49 - 1, 267))]) y_pred = model.predict(x_test).flatten().tolist() return y_pred # 预测并保存 result = pd.DataFrame({'item_code': df['item_code'].unique()}) result['201901'] = result['item_code'].apply(lambda x: predict(model, x)[0]) result['201902'] = result['item_code'].apply(lambda x: predict(model, x)[1]) result['201903'] = result['item_code'].apply(lambda x: predict(model, x)[2]) result.to_excel('result.xlsx', index=False) ``` 请注意,这只是一个简单的参考代码,具体实现可能需要根据数据情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值