本文介绍了Keras的常见验证和参数调整技巧,以便快速进行模型验证和参数调整。
小技巧:
加载CSV数据文件Dense初始化警告的验证和调整:
“模型验证”(Validation ) k“重交验证”(K-fold Cross-Validation ) (网格搜索验证) 9500.163.com)。
Keras
加载CSV数据文件
使用NumPy的loadtxt ()方法加载CSV数据文件
delimiter :数据单元的分隔符; skiprows :跳过开头行的标题; Dense初始化警告
Dense初始化参数警告:
只需将init参数替换为kernel_initializer参数即可。
模型验证
fit ) )中自动分割验证集:
通过设置参数validation_split的值(0-1)来确定验证集的百分比。
实现:
fit ) )中手动分割验证集:
train_test_split源sk learn .模型_选择:
test_size :验证集的比例; random_state :随机数的种子; 使用参数validation_data添加验证数据。 格式是数据标签的元组。
实现:
交叉检验
k-fold交叉验证是一般的模型评价统计。
人工模式
相互验证函数StratifiedKFold ()来源于sklearn.model_selection,即两者之间的相互验证函数。
n_splits :交叉的重量,即n重交叉验证; shuffle :数据和标签是否随机打乱random_state :随机数种子; SKF.split(x,y ) :划分数据和标签的索引。 cvscores用于统计k重新交叉验证的结果,计算平均值和方差值。
实现:
输出:
Wrapper模式
用cross_val_score ()函数集成模型和相互验证逻辑。
请注意,将模型封装到wrapper中,不带括号()使用内置函数而不是调用。 epochs为倒圆角,batch_size为批处理次数; StratifiedKFold是k重新交叉验证的逻辑; cross_val_score的输入是模型wrapper、数据x、标签y、交叉检查cv; 输出是每次验证的结果,计算平均值和方差。
实现:
输出:
网格搜索验证
使用“栅格搜索验证”(Grid Search Cross-Validation )来选择模型的最佳超级参数值。
交互验证函数GridSearchCV (其中是来自sklearn.model_selection )。
设置超级参数列表,如optimizers、init_modes、epochs和batches; 编写参数词典。 key值是模型的参数,或wrapper的参数。 estimator为模型,param_grid为网格参数词典,n_jobs为进程数; 输出最佳结果和其他数组的组合结果。 实现:
输出: