时间序列特征构造:以电力负荷预测为例讲解(python语言)

2023-11-20

个人电气博文目录传送门
学好电气全靠它,个人电气博文目录(持续更新中…)

时间序列特征构造

时间序列问题,首先不管是回归问题,还是分类问题。

一个模型的好坏,决定因素由数据集的大小,特征值的选取和处理,算法。
其中最重要的是特征值的选取和处理。
今天余总来讲解下时间序列的特征构造问题。
该特征构造部分可以用于其他数值数据。

时间序列特征构造分类为 :时间特征,时间历史特征,时间交叉特征

时间特征

连续时间
持续时间,间隔时间

离散时间
年,季度,季节,月,星期,日,等
节假日,节假日第几天
上午,早上,中午,晚上
年初,年末,月初,月末,周内,周末
是否高峰时段,是否上班

时间历史特征

统计值
四分位数,中位数,平均值,偏度,峰度,离散系数

同期值:
如今天的8点和昨天的8点,
这周一和上周一

时间交叉特征

类别特征与类别特征:笛卡尔积

连续特征与类别特征:离散笛卡尔积,聚合特征(聚合指聚类后的类别特征)

连续特征与连续特征:一阶差分,二阶差分(即把数据和前后做差值,差值作为特征,一次差值为一阶差分)

时间特征构造代码
使用的包 pandas
个人pandas教程总结
pandas常用函数,个人常用的

时间模块讲解链接
python 日期和时间处理(time,datetime模块讲解)

时间特征构造
原始数据total_df.csv

给出的数据只有时间和负荷,
我们要从时间里提取出年,月,日,节假日,工作日等时间特征。

首先把文档里的时间数据格式由字符串转换到时间

total_df.loc[:, 'record_date'] = pd.to_datetime(total_df['record_date'],format='%Y-%m-%dT%H:%M:%S')

利用python里的time 函数模块,构造强时间指代特征:星期几(dow)、几号(dom)、几月(month)、哪一年(year)。代码如下:


# 几时
 # 星期几,其中dow为构造的新列
total_df.loc[:, 'dow'] = total_df['record_date'].apply(lambda x: x.dayofweek)
    # 几号,dom为构造的新列
total_df.loc[:, 'dom'] = total_df['record_date'].apply(lambda x: x.day)
    # 几月,month为构造的新列
total_df.loc[:, 'month'] = total_df['record_date'].apply(lambda x: x.month)
    # 几年,year为构造的新列
total_df.loc[:, 'year'] = total_df['record_date'].apply(lambda x: x.year)

利用time函数模块添加周末特征:通过0,1化添加周末特征,周末的特征为1,将文字数值化传入模型,具体代码如下:


#weekend,weekend_sat,weekend_sun 为构造的新列
total_df.loc[:,'weekend'] = 0
total_df.loc[:,'weekend_sat'] = 0
total_df.loc[:,'weekend_sun'] = 0
total_df.loc[(total_df['dow']>4), 'weekend'] = 1
total_df.loc[(total_df['dow']==5), 'weekend_sat'] = 1
total_df.loc[(total_df['dow']==6), 'weekend_sun'] = 1

添加特征:添加上下中旬,其特征分别表示为1/2/3,代码如下:


     def period_of_month(day):
        if day in range(1, 11):
            return 1
        if day in range(11, 21):
            return 2
        else:
            return 3
#period_of_month为构造的新列
    total_df.loc[:, 'period_of_month'] = total_df['dom'].apply(lambda x: period_of_month(x))

添加上半月、下半月时间特征,其特征分别表示为1/2,代码如下:


   def period2_of_month(day):
        if day in range(1, 16):
            return 1
        else:
            return 2
#period2_of_month为构造的新列
    total_df.loc[:, 'period2_of_month'] = total_df['dom'].apply(lambda x: period2_of_month(x))  

利用python 里的time函数模块再自定义函数,添加国庆节假日特征,如果满足月份为10,日期小于8,则为国庆节。代码如下:


    total_df.loc[:, 'festival'] = 0
    total_df.loc[(total_df.month == 10) & (total_df.dom < 8), 'festival'] = 1  

天气特征构造
天气啥的一般是文字,(如晴,多云…)文字程序无法直接输入,需要先One-hot化。
one-hot方法有很多,介绍下pandas 包的吧
介绍pd.get_dummies
示例

import pandas as pd
df = pd.DataFrame([
            ['green' , 'A'],
            ['red'   , 'B'],
            ['blue'  , 'A']])

df.columns = ['color',  'class']
print('处理前')
print(df)
df1=pd.get_dummies(df)
print('处理后')
print(df1)

一阶差分,二阶差分啥的,pandas shift,diff就能搞定

data['use1']=data['use'].shift(1)#向下平移1
data['use2']=data['use'].shift(2)#向下平移2
data['use3']=data['use'].shift(3)##向下平移3
data['use1差值']=data['use'].diff(1)#前后 t和t-1差值
data['use2差值']=data['use'].diff(2)##t和t-2差值
data= data.dropna()#去空值

统计特征啥的,pandas 有函数了调,不讲解,如果这都不会,自己拿豆腐撞墙吧。

聚合特征:首先把各个样本聚类,然后把类别信息作为特征之一,传入到输入中,作为输入的一部分。

例子:负荷预测

处理好后的数据样子截图

数据已经对天气,节假日进行了处理。

误差函数


#statistic.py
import numpy as np
import math
import scipy.stats as stats

#计算预测值真实值的均方误差
#actual 实际值
def meanSquareError(actual,pred):
   if (not len(actual) == len(pred) or len(actual) == 0):
      return -1.0
   total = 0.0
   for x in range(len(actual)):
      total += math.pow(actual[x]-pred[x],2)
   return total/len(actual)
# actual values实际值
#计算mse误差
def mse(actual,pred):
   if (not len(actual) == len(pred) or len(actual) == 0):
      return -1.0
   total = 0.0
   for x in range(len(actual)):
      total += math.pow(actual[x]-pred[x],2)
   return total/(len(actual)*1000000)

# 计算预测值与实际值之间的归一化均方根误差(NRMSE)
#
def normRmse(actual,pred):
   if (not len(actual) == len(pred) or len(actual) == 0):
      return -1.0
   sumSquares = 0.0
   maxY = actual[0]
   minY = actual[0]
   for x in range(len(actual)):
      sumSquares += math.pow(pred[x]-actual[x],2.0)
      maxY = max(maxY,actual[x])
      minY = min(minY,actual[x])
   return math.sqrt(sumSquares/len(actual))/(maxY-minY)

# 根据实际值计算预测值的均方根误差(RMSE)

def Rmse(actual,pred):
   if (not len(actual) == len(pred) or len(actual) == 0):
      return -1.0
   sumSquares = 0.0
   for x in range(len(actual)):
      sumSquares += math.pow(pred[x]-actual[x],2.0)
   return math.sqrt(sumSquares/len(actual))

#计算相对于实际值的预测值的绝对百分误差(MAPE)
def mape(actual,pred):
   if (not len(actual) == len(pred) or len(actual) == 0):
      return -1.0
   total = 0.0
   for x in range(len(actual)):
      total += abs((actual[x]-pred[x])/actual[x])
   return total/len(actual)

#计算相对于实际值的预测值的绝对百分误差(MAPE)
def mae(actual,pred):
   if (not len(actual) == len(pred) or len(actual) == 0):
      return -1.0
   total = 0.0
   for x in range(len(actual)):
      total += abs(actual[x]-pred[x])
   return total/len(actual)

预测代码

import math
from tools import statistics#引入误差函数
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
from pandas import read_csv
from pandas import DataFrame
from pandas import concat
# 将时间序列转换为监督学习问题
#n_in=24时即为将24小时的所有数据去预测24小时后的数据。
def series_to_supervised(data, n_in=1, n_out=1, dropnan=True):
   n_vars = 1 if type(data) is list else data.shape[1]
   df = DataFrame(data)
   cols, names = list(), list()
   # input sequence (t-n, ... t-1)
   for i in range(n_in, 0, -1):
      cols.append(df.shift(i))#当
      names += [('var%d(t-%d)' % (j+1, i)) for j in range(n_vars)]
   # forecast sequence (t, t+1, ... t+n)
   for i in range(0, n_out):
      cols.append(df.shift(-i))#向上平移即将下一天当前时间的actual功率平移当当前天,作为输出标签
      if i == 0:
         names += [('var%d(t)' % (j+1)) for j in range(n_vars)]
      else:
         names += [('var%d(t+%d)' % (j+1, i)) for j in range(n_vars)]
   # put it all together
   agg = concat(cols, axis=1)
   agg.columns = names
   # drop rows with NaN values
   if dropnan:
      agg.dropna(inplace=True)
   return agg
# 加载数据
dataset = read_csv('load.csv', header=0, index_col=0)
values = dataset.values
# 整数编码
# encoder = LabelEncoder()
# values[:,4] = encoder.fit_transform(values[:,4])
# ensure all data is float
values = values.astype('float32')
# normalize features 归一化特征
# scaler = MinMaxScaler(feature_range=(0, 1))
# scaled = scaler.fit_transform(values)
matrix_load = np.array(values)
matrix_load[:,0] = matrix_load[:,0]/1000#daily load 加载日负载数据,并将第一列功率每一个数除以1000

# 异常值处理
k = 0
for j in range(0, matrix_load.shape[0]):
##如何一个数与前一个相差2(即2000)和与后一个相差2(2000)
   if(abs(matrix_load[j,0]-matrix_load[j-1,0])>2 and abs(matrix_load[j,0]-matrix_load[j+1,0])>2):
      k = k + 1
      ##则这个数=(前一个+后一个)/2+(前一天的前一个+前一天的后一个)/2
      matrix_load[j,0] = (matrix_load[j - 1,0] + matrix_load[j + 1,0]) / 2 + matrix_load[j - 24,0] - matrix_load[j - 24 - 1,0] / 2
   sum = 0
   num = 0
   for t in range(1,8):
      if(j - 24*t >= 0):
         num = num + 1
         sum = sum + matrix_load[j - 24*t,0]#前一周以内每日同时数据之和(如星期一的4点,星期二的4点...)
      if((j + 24*t) < matrix_load.shape[0]):
         num = num + 1
         sum = sum + matrix_load[j + 24*t,0]#前一周的+后一周每日同时数据之和
   sum = sum / num#前后一周每日同时数据平均值
   # #如果当前数据与平均值相差超过3,则当前数据=平均值加或减3
   if(abs(matrix_load[j,0] - sum)>3):
      k = k + 1
      if(matrix_load[j,0] > sum): matrix_load[j,0] = sum + 3
      else: matrix_load[j,0] = sum - 3
print(k)
# print(matrix_load[1,0])
# shift all data by mean 去均值
shifted_value = matrix_load[:,0].mean()
matrix_load[:,0] -= shifted_value
for i in range(1, 9):
    matrix_load[:, i] = matrix_load[:, i] / 10
    shifted_valuei = matrix_load[:,i].mean()
    matrix_load[:,i] -= shifted_valuei
print(matrix_load.shape)
# frame as supervised learning
before = 24
end = 1
reframed = series_to_supervised(matrix_load, before, end)
print(reframed.shape)
# drop columns we don't want to predict
for i in range(76):
    reframed.drop(reframed.columns[[-1]], axis=1, inplace=True)
print(reframed.shape)
print(reframed.head())
# 划分训练集测试集
values = reframed.values
n_train_hours = values.shape[0] - 166*24
train = values[:n_train_hours, :]
test = values[n_train_hours:, :]
print('train:',n_train_hours,'test:',166*24)
# 划分输入和输出
train_X, train_y = train[:, :-end], train[:, -end]
print(train_X.shape, train_y.shape)
test_X, test_y = test[:, :-end], test[:, -end]
#改变数据形状 3D [samples, timesteps, features]
train_X = train_X.reshape((train_X.shape[0], before*77))
test_X = test_X.reshape((test_X.shape[0], before*77))
print(train_X.shape, train_y.shape, test_X.shape, test_y.shape)
# svr
# kernel='linear'时,为线性核,C越大分类效果越好,但有可能会过拟合(defaul C=1)
# kernel='rbf'时(default),为高斯核radial basis function,gamma值越小,分类界面越连续;gamma值越大,分类界面越“散”,分类效果越好,但有可能会过拟合
kernelList = ["rbf"]
names = ["true","radial basis"]
preds = []
preds.append(test_y)
for i in range(len(kernelList)):
    clf = svm.SVR(C=2.0, kernel=kernelList[i])
    clf.fit(train_X, train_y)
    predicted_values = clf.predict(test_X)
    mape = statistics.mape((test_y + shifted_value) * 1000, (predicted_values + shifted_value) * 1000)
    print('MAPE is ', mape)
    mae = statistics.mae((test_y + shifted_value) * 1000, (predicted_values + shifted_value) * 1000)
    print('MAE is ', mae)
    mse = statistics.meanSquareError((test_y + shifted_value) * 1000, (predicted_values + shifted_value) * 1000)
    print('MSE is ', mse)
    rmse = math.sqrt(mse)
    print('RMSE is ', rmse)
    nrmse = statistics.normRmse((test_y + shifted_value) * 1000, (predicted_values + shifted_value) * 1000)
    print('NRMSE is ', nrmse)
    preds.append(predicted_values)
# 结果
fig = plt.figure()
colors = ["g","r","b","c","m","y","k","w"]
legendVars = []
for j in range(len(preds)):
    print(j)
    x, = plt.plot(preds[j]+shifted_value, color=colors[j])
    legendVars.append(x)
plt.title("Svm (rbf) Multi")
plt.xlabel('Time(hour)')
plt.ylabel('Electricity load (*1e3 kW)')
plt.legend(legendVars, names)
plt.show()
fig.savefig('svr_mul_result.jpg', bbox_inches='tight')

说明:
本负荷预测:在特征方面有

1.天气,节假日,周末,工作日
2.将前面24小时的负荷日期气温等因素 来预测第25小时的负荷。有一定的同期日特征,可以考虑其他同期日,如上一周的同日同时等,这个看自己取舍。

当然你也可以考虑其他特征,特征并不是越多越好。

时间特征不仅仅可以用在回归上,分类啥的也可以。

区间负荷预测算例链接:电气论文:负荷区间预测(机器学习简单实现)

电气专业的计算机萌新 :余登武。写博文不容易,如果你觉得本文对你有用,请点个赞支持下,谢谢。

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时间序列特征构造:以电力负荷预测为例讲解(python语言) 的相关文章

  • 我应该如何在 python 中使用 lxml 处理 XLink 引用?

    我被要求编写一些读取 XML 配置文件的脚本 这些文件充分利用 XLink 来包含存储在多个文件中的 XML 例如
  • 在 Python 3.6 中,为什么负数的分数次方在 numpy 数组中返回 nan?

    我最近开始学习Python 并且经历了NumPy 官方快速入门指南 https docs scipy org doc numpy dev user quickstart html indexing slicing and iterating
  • 出现导入错误:无法从“随机”导入名称“随机”[重复]

    这个问题在这里已经有答案了 我在我的计算机上多次运行我的代码 但没有出现此错误 但突然间这个来了 File e Python 3 8 0 lib site packages comtypes client code cache py lin
  • 计算温度的偏导数(温度的水平平流)

    我想知道哪种方法计算x和y方向温度的偏导数 温度的水平平流 最正确 第二个代码使用温度 纬向风和经向风的数据矩阵 提取温度 T 纬向风分量 u 和经向风分量 v 的数据 import matplotlib pyplot as plt imp
  • cv2.face.mindistancepredictcollector() 错误

    我已经安装了带有额外模块的 opencv 3 1 0 但是当我尝试使用 gt gt gt s cv2 face MinDistancePredictCollector 它返回一个错误 Traceback most recent call l
  • Python MySQL 模块

    我正在开发一个需要与 MySQL 数据库交互的 Web 应用程序 但我似乎找不到任何真正适合 Python 的模块 我特别寻找快速模块 能够处理数十万个连接 和查询 所有这些都在短时间内完成 而不会对速度产生重大影响 我想我的答案将是游戏领
  • int 对象在尝试对数字的数字求和时不可迭代? [复制]

    这个问题在这里已经有答案了 我有这个代码 inp int input Enter a number for i in inp n n i print n 但它抛出一个错误 int object is not iterable 我想通过将每个
  • PyPI 项目页面中的“Py 版本”是什么意思?这有关系吗?

    我注意到 大多数在 PyPI 上发布的项目在其项目页面中都包含 Py 版本 元数据 但它们的值各不相同 如果包不是通用包或不是纯 python 包 那么它们的值是不同的 这是可以理解的 以便表示它们的目标平台 例如鼻页 https pypi
  • 为图例中的点设置固定大小

    我正在制作一些散点图 我想将图例中的点的大小设置为固定的相等值 现在我有这个 import matplotlib pyplot as plt import numpy as np def rand data return np random
  • 对于 pygtk 应用程序来说,什么是好的嵌入式浏览器?

    我计划在我的 pygtk 应用程序中使用嵌入式浏览器 并且我正在 gtkmozembed 和 pywebkitgtk 之间进行辩论 两者之间有什么引人注目的区别吗 还有我不知道的第三种选择吗 应该注意的是 我不会使用它来访问网络上的内容 我
  • 避免在列表理解中计算相同的表达式两次[重复]

    这个问题在这里已经有答案了 我在列表理解中使用一个函数和一个 if 函数 new list f x for x in old list if f x 0 令我恼火的是这个表达f x 在每个循环中计算两次 有没有办法以更清洁的方式做到这一点
  • Beautiful Soup 获取动态表数据

    我有以下代码 url https www basketball reference com leagues NBA 2017 standings html all expanded standings html urlopen url so
  • 安排 Asyncio 任务每 X 秒执行一次?

    我正在尝试创建一个 python 不和谐机器人 它将每隔 X 秒检查一次活跃会员 并根据会员的在线时间奖励积分 我正在使用 asyncio 来处理聊天命令 这一切都正常 我的问题是找到一种方法来安排每隔 X 秒异步检查一次活动成员 我已经阅
  • 如何从python导入路径中删除当前目录

    我想使用 Mercurial 存储库hg本身 也就是说 我克隆了 Mercurialhttps www mercurial scm org repo hg https www mercurial scm org repo hg并想运行一些h
  • Networkx 中 Louvain 分区的可视化

    请帮助我更改 Louvain 聚类算法结果的可视化 我从网站上获取了代码https github com taynaud python louvain https github com taynaud python louvain我可以重写
  • 使用 Pandas 和 Group By 绘制堆叠直方图

    我正在使用如下所示的数据集 Gender Height Width Male 23 4 4 4 Female 45 4 4 5 我想可视化高度和宽度的堆叠直方图 我希望每个图有两个堆叠的直方图 每个性别一个 这是文档中的堆叠直方图 如果存在
  • 用于桌面数据库应用程序的 Python 框架

    是否有一个框架可以为Python开发桌面数据库应用程序 一些带有CRUD屏幕的屏幕 我正在寻找类似于 Windows 窗体的东西 能够将 TextField Combos 和其他 UI 隐喻与datasets连接到关系数据库例如 MySQL
  • Python pip 安装错误 [SSL: CERTIFICATE_VERIFY_FAILED]

    我已经尝试解决这个问题有一段时间了 由于某种原因 我陷入了 ssl 问题 并且不知道发生了什么 问题 我已经安装了 python2 7 和 easy install2 7 但是当尝试使用 easy install2 7 安装 pip 时 出
  • Tensorflow ctc_loss_calculator:找不到有效路径

    当运行我的神经网络 双向 LSTM 进行音频识别时 我使用连接主义时间分类 CTC 但在某些时候 训练网络时我几乎每批都会收到来自 Tensorflow 的警告 W tensorflow core util ctc ctc loss cal
  • PyQt QFileDialog exec_ 很慢

    我正在使用自定义QFileDialog因为我想选择多个目录 但是exec 功能非常慢 我不明白为什么 我正在使用最新版本的 PyQt 代码片段 from PyQt4 import QtGui QtCore QtNetwork uic cla

随机推荐

  • 基数排序代码实现

    详情请看排序总结 传送门 https blog csdn net m0 52711790 article details 121914543 基数排序的知识点我就不贴出来 相信都能搜到对应概念解释 下面就直接上代码 代码解释其实也很清晰了
  • Python之tkinter图形界面设计学习二

    图形用户界面 简称GUI 是指采用图形方式显示的计算机操作用户界面 与计算机的命令行界面相比 图形界面对于用户的操作显得更加直观和简便 一 tkinter模块 tkinter是Python的内置GUI模块 使用tkinter可以快速地创建G
  • H5查看pdf文件(pdfh5)

    我用的是 pdfh5 来查看的H5中的pdf文件 使用 pdfh5 插件来打开 pdf文件 下面是两种使用方法 方法一 二都可以 但是我在使用方法二时有卡顿现象 可能是因为未开启懒加载 方法二中的 on 可以打印出来错误信息 使用方法 1
  • java实现图片文字识别的两种方法

    一 使用tesseract ocr 1 https github com tesseract ocr tesseract wiki上下载安装包安装和简体中文训练文件 window64位安装包 tesseract ocr w64 setup
  • debian查看ip地址命令_设备调试、维护最实用网络命令

    ping命令 ping是个使用频率极高的实用程序 主要用于确定网络的连通性 这对确定网络是否正确连接 以及网络连接的状况十分有用 简单的说 ping就是一个测试程序 如果ping运行正确 大体上就可以排除网络访问层 网卡 Modem的输入输
  • 期货ctp基础知识(合约,开仓,平仓,做多,做空,保证金,手续费)

    期货ctp教程地址 期货ctp教程 合约 期货买卖的是合约 股票买卖的是股票 做多和做空 2 1 做多 你就是买入看涨 所以买这个动作对应的指令就是 买开仓 当你赚了或者止损的时候 就要把合约卖掉 对应的指令就是 卖平仓 2 2 做空 你先
  • LabVIEW扫描成像或同步模拟电压生成和数据采集

    大量测量技术涉及探头扫描 同时测量物理量 例如 所有扫描成像方法都是这种情况 因此 数据采集需要高采集率 以及探头控制和测量之间的精确同步 GPScan VI 程序是用于控制 National Instruments 高速数据采集板的通用
  • 类型System.Double的对象无法转换为类型System.Single

    float gt System Single 单精度浮点型 占 4 个字节 double gt System Double 双精度浮点型 占 8 个字节 http msdn microsoft com zh cn library Syste
  • Linux命令(查看目录和切换目录)

    1 查看目录命令 ls 用法 ls 选项 目录名 案例 查看 usr下的所有文件 ls a usr 选项 a显示所有文件包含隐藏文件 l显示长文件信息 2 切换目录命令 cd change directory 用法 cd 目录名 案例 从当
  • npm,cnpm,yarn,pnmp之间的区别

    一 npm 1 由于版本号的影响 所以会造成版本不统一的情况 给定一个版本号 主版本号 次版本号 补丁版本号 以下这三种情况需要增加相应的版本号 主版本号 当API发生改变 并与之前的版本不兼容的时候 次版本号 当增加了功能 但是向后兼容的
  • Flask框架实战

    参考 第 2 章 Hello Flask Flask 入门教程 helloflask com 实战项目为一个基于flask框架实现的观影清单 个人实操后git地址 GitHub 2504973175 watchlist 基于flask框架的
  • Spark 配置

    文章目录 1 Spark 配置 1 1 Spark 属性 1 1 1 动态加载Spark属性 1 1 2 查看Spark属性 1 2 环境变量 2 重新指定配置文件目录 3 继承Hadoop集群配置 4 定制的Hadoop Hive配置 1
  • 动态白盒测试——基本路径测试法

    基本路径测试法 定义 基本路劲测试法是在程序控制流图的基础上 通过分析控制结构的环路复杂性 导出基本可执行路径集合 从而设计测试用例的方法 设计出的测试用例要保证被测程序的每个可执行语句至少被执行一次 点击学习控制流图 步骤 以详细设计或源
  • node.js连接数数据库及对数据库进行操作

    为了安装速度快一些 可以使用淘宝定制的 cnpm gzip 压缩支持 命令行工具代替默认的 npm 之后就可以使用 cnpm 命令来安装模块了 一 安装mysql驱动 cnpm install mysql 二 在工程下新建一个叫connec
  • 软件的可复用性

    1 什么是软件复用 软件复用就是利用已有的软件组件来实现或更新新的软件系统 2 软件复用的两个层面 for reuse 创造层面 开发可复用的软件 with reuse 使用层面 利用已有的可复用软件搭建新的软件应用系统 3 软件复用的优缺
  • 最简版Seq2Seq的英法机器翻译实践和详细代码解释

    Seq2Seq的英法机器翻译实践 本文的内容主要是基于英法平行语料库来实现一个简单的英法翻译模型 没有使用注意力机制和双向LSTM等技术 主要是为了掌握基本的Seq2Seq结构和TensorFlow函数使用 使用TensorFlow 1 1
  • 微信小程序预留ios安全区

    position fixed left 0 bottom 0 width 100 border top 1rpx solid ddd box shadow 0 1px 5px 0 eee background color fff z ind
  • Java使用jxl实现导出多sheet页Excel表格功能

    这篇文章主要介绍了使用jxl简化poi代码 实现导出Excel多sheet页功能 对大家的学习或者工作具有一定的参考学习价值 需要的朋友们下面随着小编来一起学习学习吧 以下代码就是一个小demo 大家可以直接自己创建maven项目然后跟着步
  • Linux Ubuntu 修改 /etc/apt/sources.list (镜像源)文件(非常实用)

    修改 etc apt sources list 文件 也即修改镜像源 能够加快在 Ubuntu 中下载和更新相关软件数据 否则默认情况下使用的是外网 下载起来比较慢 基本步骤 1 复制一份 etc apt sources list 文件 以
  • 时间序列特征构造:以电力负荷预测为例讲解(python语言)

    个人电气博文目录传送门 学好电气全靠它 个人电气博文目录 持续更新中 时间序列特征构造 时间序列问题 首先不管是回归问题 还是分类问题 一个模型的好坏 决定因素由数据集的大小 特征值的选取和处理 算法 其中最重要的是特征值的选取和处理 今天