LSTM进行情感分类
原链接:https://blog.csdn.net/u012735708/article/details/82769711
1.read_raw()函数模块中,主要是写了关于数据清洗的内容。
dataset[‘pollution’].fillna(0, inplace=True) 用零填充空位,然后其他的就是指定一下列名。
2.def parse(x)模块中,用于返回时间戳。
返回了 datetime.strptime(x, ‘%Y %m %d %H’),之前要from datatime import datatime一下。
3.drow_pollution() 模块中,用于画图,画了所有变量随时间变化的图像。
values = dataset.values
# specify columns to plot
groups = [0, 1, 2, 3, 5, 6, 7]
i = 1
# plot each column
pyplot.figure(figsize=(10,10))
for group in groups:
pyplot.subplot(len(groups), 1, i)
pyplot.plot(values[:, group])
pyplot.title(dataset.columns[group], y=0.5, loc='right')
i += 1
pyplot.show()
4.series_to_supervised()模块中,将需要预测的当前时刻(t)的天气条件特征移除
5.cl_to_sl()模块中,用第一年数据进行训练,然后利用剩下的4年进行评估。返回值为:
reframed = series_to_supervised(scaled, 1, 1)
6.train_test模块中根据时间划分了训练集和验证集。再利用reshape将数据变成LSTM训练的样式:[samples, timesteps, features]
7.fit_network()模块中构建了LSTM网络进行训练:
首先,model设置为Sequential()模型。
然后,model添加LSTM层:LSTM(50, input_shape=(train_X.shape[1], train_X.shape[2])),因为是第一层所以要指定输入的shape,隐藏层共有50个神经元。
第三步,model添加输出层,Dense(1)。这成为了一个回归问题。
第四步,model.compile(loss=‘mae’, optimizer=‘adam’),损失函数采用Mean Absolute Error(MAE),优化算法采用Adam
之后就可以进行训练了:history = model.fit(train_X, train_y, epochs=50, batch_size=72, validation_data=(test_X, test_y), verbose=2, shuffle=False) 这里的参数verbose:日志显示,0为不在标准输出流输出日志信息,1为输出进度条记录,2为每个epoch输出一行记录;shuffle:布尔值或字符串,一般为布尔值,表示是否在训练过程中随机打乱输入样本的顺序。这里不打乱。batch_size:整数,指定进行梯度下降时每个batch包含的样本数。训练时一个batch的样本会被计算一次梯度下降,使目标函数优化一步。具体可以看这里:https://www.jianshu.com/p/9ba27074044f
上一篇: ORB_SLAM2配置
下一篇: 逐步分解,带你理解LSTM原理
推荐阅读
-
使用pytorch的LSTM实现MNIST数据集分类任务
-
LSTM进行情感分类
-
使用iconv进行内码转换(Big5->GB2312) 博客分类: C++开发工具
-
使用iconv进行内码转换(Big5->GB2312) 博客分类: C++开发工具
-
Spring事务管理只对出现运行期异常进行回滚 博客分类: springMVCspring @TransactionRollbackForRuntimeExceptionExceptionChecked
-
用sqlldr进行数据迁移 博客分类: 数据库db 数据迁移sqlldrsqlloader效率存储过程
-
《凡人修仙传》点评 博客分类: 贴吧转载 情感生活工作游戏
-
如何正确对用户密码进行加密? 博客分类: 理论实践
-
如何对couchdb进行权限控制 博客分类: couchdb CouchDBSecurity
-
ecplise每次编译时都会进行js校验,如何ecplise编译时去掉Javascript校验 博客分类: 常见问题 常见问题