Python机器学习之使用Keras进行回归预测

2023-12-13 9:01:00 网络知识 匿名

前期准备之Keras的scikit-learn接口包装器

Keras是一个深度学习库,包含高效的数字库Theano和TensorFlow。是一个高度模块化的神经网络库,支持CPU和GPU。

Scikit-learn是基于Scipy为机器学习建造的的一个Python模块,他的特色就是多样化的分类,回归和聚类的算法包括支持向量机,逻辑回归,朴素贝叶斯分类器,随机森林,GradientBoosting,聚类算法和DBSCAN。而且也设计出了Pythonnumerical和scientificlibrariesNumpyandScipy。

我们可以通过包装器将Sequential模块(仅有一个输入)作为Scikit-learn工作流的一部分,相关的包装器定义在keras.wrappers.scikit_learn.py中。

1:目前有两个包装器可用

其中实现了sklearn的分类器接口是下面包装器:

1keras.wrappers.scikit_learn.KerasClassifier(build_fn=None,**sk_params)

实现了sklearn的回归器接口的是下面包装器:

1keras.wrappers.scikit_learn.KerasRegressor(build_fn=None,**sk_params)

2,参数build_fn:可调用的函数或者类对象

build_fn应构造,编译并返回一个Keras模型,该模型将稍后用于训练/测试,build_fn值可能为以下三种之一:

1,一个函数

2,一个具有call方法的类对象

3,None,代表你的类继承自KerasClassifier或者KerasRegressor,其call方法为其父类call方法

3,参数sk_params:模型参数和训练参数

sk_params以模型参数和训练(超)参数作为参数,合法的模型参数为build_fn的参数,注意:‘build_fn’应提供其参数的默认值。所以我们不传递任何值给sk_params也可以创建一个分类器/回归器。

sk_params还接受用于调用fit,predict,predict_proba和score方法的参数,如nb_epoch,batch_size等。这些用于训练或预测的参数按如下顺序选择:

传递给fit,predict,predict_proba和score的字典参数

传递个sk_params的参数

keras.models.Sequential,fit,predict,predict_proba和score的默认值

当使用scikit-learn的grid_search接口时,合法的可转换参数是你可以传递给sk_params的参数,包括训练参数。即,你可以使用grid_search来搜索最佳的batch_size或nb_epoch以及其他模型参数。

以上内容为大家介绍了Python机器学习之使用Keras进行回归预测,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:瀚银百科。

发表评论: