• 大小: 16.66MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-27
  • 语言: Python
  • 标签: IMDB预测  

资源简介

基于python3.6实现的,Keras相关资源:LSTM预测模型训练,IMDB数据加载,国际旅行人数预测,IMDB影评分类预测,数据标准化,模型保存到本地,从本地加载训练好的模型,plt图形绘制,以及IMDB数据和国际旅行人数数据包。

资源截图

代码片段和文件信息

from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import SGD
from keras.layers import Dropout
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import KFold
from keras.callbacks import LearningRateScheduler
from sklearn import datasets
import numpy as np
# 设定随机数种子
seed=7
np.random.seed(seed)

# 导入数据
dataset = np.loadtxt(‘pima-indians-diabetes.csv‘ delimiter=‘‘)
# 分割输入x和输出Y
x = dataset[: 0 : 8]#数据
y = dataset[: 8]#标签

def Createfisrt_model(xy):
    “““输入数据训练模型并返回“““
    # 创建模型
    model = Sequential()
    model.add(Dense(16 input_dim=8 activation=‘relu‘))#第一层隐藏元12个
    model.add(Dense(8 activation=‘relu‘))#第二层隐藏元8个
    model.add(Dense(1 activation=‘sigmoid‘))#输出层一个神经元
    # 编译模型
    model.compile(loss=‘binary_crossentropy‘ optimizer=‘adam‘ metrics=[‘accuracy‘])
    # 训练模型
    model.fit(x=x y=y epochs=150 batch_size=10 validation_split=0.2)
    # 评估模型
    scores = model.evaluate(x=x y=y verbose=0)
    print(‘\n%s : %.2f%%‘ % (model.metrics_names[1] scores[1]*100))
    return model

def get_model(filename=‘model‘choosemodel=‘json‘):
    “““
    载入训练好的模型json
    :param filename:模型名
    :return: model:返回模型
    “““
    if choosemodel==‘json‘:
        from keras.models import model_from_json
        model = model_from_json(open(filename+‘.json‘).read())
        model.load_weights(filename+‘.h5‘)
        model.compile(loss=‘binary_crossentropy‘ optimizer=‘adam‘ metrics=[‘accuracy‘])
        print(“Get json model!“)
        return model
    elif choosemodel==‘yaml‘:
        from keras.models import model_from_yaml
        model=model_from_yaml(open(filename+‘.yaml‘).read())
        model.load_weights(filename+‘.h5‘)
        model.compile(loss=‘binary_crossentropy‘ optimizer=‘adam‘ metrics=[‘accuracy‘])
        print(“Get yaml model!“)
        return model

def save_model(modelfilename=‘model‘choosemodel=‘json‘):
    “““
    保存训练好的模型json
    :param model: 传入模型
    :param filename: 保存模型名
    :return: None
    “““
    if choosemodel==‘json‘:
        json_string = model.to_json()
        open(filename+‘.json‘‘w‘).write(json_string)
        model.save_weights(filename+‘.h5‘ overwrite=True)
        print(“Save json model!“)
    elif choosemodel==‘yaml‘:
        yaml_string=model.to_yaml()
        open(filename+‘.yaml‘‘w‘).write(yaml_string)
        model.save_weights(filename+‘.h5‘overwrite=True)
        print(“Save yaml model!“)

def plt_model(historyhistorylist=[‘val_loss‘‘val_acc‘‘loss‘‘acc‘]):
    “““
    绘制model的相关参数准确度和损失的训练梯度走势
    :param history: 传入model.fit()
    :param historylist: history.history.keys()的参数数组
    :return: 绘制显示结果
    “““
    # print(history.history.keys())#可以通过打印查看historylist的值
    from matplotlib import  pyplot as plt
    def pltshow(modeltestval_modeltest):
        plt.plot(history.history[modeltest])
        plt.plot(history.history[val_modeltest])
        plt.title(‘model‘+

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件   17464789  2018-12-04 20:34  LSTM\imdb.npz

     文件       1898  2018-12-05 19:26  LSTM\international-airline-passengers.csv

     文件       7115  2018-12-04 19:43  LSTM\Keras基础.py

     文件       8230  2018-12-06 17:14  LSTM\LSTM_Forecast.py

     文件       7600  2018-12-06 21:04  LSTM\LSTM_imdb_nn.py

     目录          0  2018-12-06 21:22  LSTM

----------- ---------  ---------- -----  ----

             17489632                    6


评论

共有 条评论