Keras回调以跟踪数字一致性
numeraicb的Python项目详细描述
在培训期间计算模型一致性的keras回调 每个时代。回调打印一致性,并在 在consistency键下训练历史的每个纪元的结束。
用法
下面是一个用法示例:
import pandas as pd from numeraicb import Consistency from keras.models import Sequential from keras.layers.core import Dense train = pd.read_csv('numerai_training_data.csv') tourn = pd.read_csv('numerai_tournament_data.csv') validation = tourn[tourn.data_type == 'validation'] features = ['feature{}'.format(i) for i in range(1, 51)] X = train[features].values Y = train.target.values X_validation = validation[features].values Y_validation = validation.target.values model = Sequential() model.add(Dense(30, kernel_initializer='uniform', input_dim=X.shape[1], activation='relu')) model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adamax', loss='binary_crossentropy') cb = Consistency(tourn) # Now your models consistency will be printed at each epoch history = model.fit(X, Y, callbacks=[cb], validation_data=(X_validation, Y_validation)) # Consistency is stored in the history as well for epoch, consistency in enumerate(history.history['consistency']): print('consistency at epoch {}: {:.2%}'.format(epoch, consistency))