diff --git a/.github/workflows/run_unix.yml b/.github/workflows/run_unix.yml index ae236a7c7..ff6e3cd7d 100644 --- a/.github/workflows/run_unix.yml +++ b/.github/workflows/run_unix.yml @@ -24,7 +24,9 @@ jobs: - name: Install dotnet uses: actions/setup-dotnet@v3 with: - dotnet-version: '7.0.x' + dotnet-version: | + 7.0.x + 8.0.x - name: Install Python 3.10 uses: actions/setup-python@v5 with: @@ -378,6 +380,27 @@ jobs: run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/band_power.py - name: BandPowerAll Python run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/band_power_all.py + - name: Band Power Regression Python + run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/band_power_regression.py + - name: Signal Processing Regression Python + run: | + sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/signal_processing_regression.py + sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/decomposition_regression.py + sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/signal_metrics_regression.py + sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/binding_validation_regression.py + - name: Signal Processing Regression Cpp + run: $GITHUB_WORKSPACE/cpp_package/examples/signal_processing/build/signal_processing_regression + env: + LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib + - name: Signal Processing Regression Csharp + run: dotnet run --project $GITHUB_WORKSPACE/csharp_package/brainflow/examples/signal_processing_regression + env: + LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib + - name: Signal Processing Regression Rust + run: cargo test --manifest-path $GITHUB_WORKSPACE/rust_package/brainflow/Cargo.toml data_filter::tests + env: + LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib + DYLD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib - name: Activity Index Python run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/activity_index.py - name: Denoising Cpp @@ -456,6 +479,12 @@ jobs: mvn exec:java -Dexec.mainClass="brainflow.examples.BandPower" env: LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib + - name: Binding Validation Java + run: | + cd $GITHUB_WORKSPACE/java_package/brainflow + mvn test-compile exec:java -Dexec.mainClass="brainflow.BindingValidationRegression" -Dexec.classpathScope=test + env: + LD_LIBRARY_PATH: ${{ github.workspace }}/installed/lib - name: EEG Metrics Python run: sudo -H python3 $GITHUB_WORKSPACE/python_package/examples/tests/eeg_metrics.py --board-id -1 - name: EEG Metrics Custom Python @@ -485,6 +514,10 @@ jobs: run: | cd $GITHUB_WORKSPACE/nodejs_package/tests npm run signal_filtering + - name: Binding Validation Node + run: | + cd $GITHUB_WORKSPACE/nodejs_package/tests + npx ts-node binding_validation_regression.ts - name: Serialization Node run: | cd $GITHUB_WORKSPACE/nodejs_package/tests diff --git a/.github/workflows/run_windows.yml b/.github/workflows/run_windows.yml index 27ae71b84..62e884606 100644 --- a/.github/workflows/run_windows.yml +++ b/.github/workflows/run_windows.yml @@ -20,7 +20,9 @@ jobs: - name: Install dotnet uses: actions/setup-dotnet@v3 with: - dotnet-version: '7.0.x' + dotnet-version: | + 7.0.x + 8.0.x - name: Setup Python uses: actions/setup-python@v4 with: @@ -241,6 +243,21 @@ jobs: - name: PSD Welch Nyquist Overlap Python Test run: python %GITHUB_WORKSPACE%\python_package\examples\tests\psd_welch_nyquist_overlap.py shell: cmd + - name: Signal Processing Regression Python + run: | + python python_package\examples\tests\band_power_regression.py + python python_package\examples\tests\signal_processing_regression.py + python python_package\examples\tests\decomposition_regression.py + python python_package\examples\tests\signal_metrics_regression.py + python python_package\examples\tests\binding_validation_regression.py + shell: cmd + - name: Signal Processing Regression Csharp + run: dotnet run --project csharp_package\brainflow\examples\signal_processing_regression + - name: Signal Processing Regression Rust + run: cargo test --manifest-path rust_package\brainflow\Cargo.toml data_filter::tests + - name: Signal Processing Regression Cpp + run: .\cpp_package\examples\signal_processing\build\Release\signal_processing_regression.exe + shell: cmd - name: Wavelet Buffer Size Python Test run: python %GITHUB_WORKSPACE%\python_package\examples\tests\wavelet_buffer_size.py shell: cmd diff --git a/.gitignore b/.gitignore index cce2a8d9d..c78b3039e 100644 --- a/.gitignore +++ b/.gitignore @@ -343,6 +343,18 @@ ASALocalRun/ *.pickle *.onnx +# Reviewed classifier release artifacts (raw recordings and work caches stay ignored). +!src/ml/train/logreg_mindfulness.onnx +!src/ml/train/svm_mindfulness.onnx +!src/ml/train/forest_mindfulness.onnx +!src/ml/train/knn_mindfulness.onnx +!src/ml/train/mlp_mindfulness.onnx +!src/ml/train/stacking_mindfulness.onnx +!src/ml/train/extra_trees_mindfulness.onnx +!src/ml/train/hist_gradient_boosting_mindfulness.onnx +!src/ml/train/polynomial_logreg_mindfulness.onnx +!src/ml/train/gradient_boosting_mindfulness.onnx + #Environment file .env .vscode/ diff --git a/cpp_package/examples/signal_processing/CMakeLists.txt b/cpp_package/examples/signal_processing/CMakeLists.txt index 9f7474a46..5e2039def 100644 --- a/cpp_package/examples/signal_processing/CMakeLists.txt +++ b/cpp_package/examples/signal_processing/CMakeLists.txt @@ -50,6 +50,12 @@ find_package ( brainflow CONFIG REQUIRED ) +add_executable (signal_processing_regression src/signal_processing_regression.cpp) +target_include_directories (signal_processing_regression PUBLIC ${brainflow_INCLUDE_DIRS}) +target_link_libraries (signal_processing_regression PUBLIC ${BrainflowPath} ${DataHandlerPath} ${BoardControllerPath}) +enable_testing () +add_test (NAME signal_processing_regression COMMAND signal_processing_regression) + ############################## ## Demo for read write file ## ############################## @@ -290,4 +296,4 @@ target_link_libraries ( ${MLModulePath} ${DataHandlerPath} ${BoardControllerPath} -) \ No newline at end of file +) diff --git a/cpp_package/examples/signal_processing/src/ica.cpp b/cpp_package/examples/signal_processing/src/ica.cpp index aa84894e6..41b3542df 100644 --- a/cpp_package/examples/signal_processing/src/ica.cpp +++ b/cpp_package/examples/signal_processing/src/ica.cpp @@ -1,64 +1,33 @@ +#include #include -#include -#include -#ifdef _WIN32 -#include -#else -#include -#endif - -#include "board_shim.h" #include "data_filter.h" -using namespace std; - - -int main (int argc, char *argv[]) +int main () { - BoardShim::enable_dev_board_logger (); - - struct BrainFlowInputParams params; - int res = 0; - int board_id = (int)BoardIds::SYNTHETIC_BOARD; - std::vector eeg_channels = BoardShim::get_eeg_channels (board_id); - int channel_to_use = eeg_channels[4]; - // use synthetic board for demo - BoardShim *board = new BoardShim (board_id, params); - + // Two simultaneous mixtures of non-Gaussian sources: rows are channels, columns are samples. + const int samples = 1024; + const double pi = std::acos (-1.0); + BrainFlowArray data (2, samples); + for (int i = 0; i < samples; i++) + { + double t = i / 256.0; + double first = std::sin (2.0 * pi * 7.0 * t); + double second = std::pow (std::sin (2.0 * pi * 13.0 * t), 3); + data.at (0, i) = first + 0.3 * second; + data.at (1, i) = 0.2 * first + second; + } try { - board->prepare_session (); - board->start_stream (); - -#ifdef _WIN32 - Sleep (10000); -#else - sleep (10); -#endif - - board->stop_stream (); - BrainFlowArray data = - board->get_board_data (500, (int)BrainFlowPresets::DEFAULT_PRESET); - board->release_session (); - - BrainFlowArray data_reshaped (data.get_address (channel_to_use), 5, 100); - std::tuple, BrainFlowArray, BrainFlowArray, - BrainFlowArray> - returned_matrixes = DataFilter::perform_ica (data_reshaped, 2); - std::cout << std::get<3> (returned_matrixes) << std::endl; + auto result = DataFilter::perform_ica (data, 2); + // Component order and sign are arbitrary. + std::cout << "Recovered " << std::get<3> (result).get_size (0) << " sources from " + << samples << " samples" << std::endl; } catch (const BrainFlowException &err) { - BoardShim::log_message ((int)LogLevels::LEVEL_ERROR, err.what ()); - res = err.exit_code; - if (board->is_prepared ()) - { - board->release_session (); - } + std::cerr << err.what () << std::endl; + return err.exit_code; } - - delete board; - - return res; + return 0; } diff --git a/cpp_package/examples/signal_processing/src/signal_processing_regression.cpp b/cpp_package/examples/signal_processing/src/signal_processing_regression.cpp new file mode 100644 index 000000000..5b882849c --- /dev/null +++ b/cpp_package/examples/signal_processing/src/signal_processing_regression.cpp @@ -0,0 +1,75 @@ +#include +#include +#include +#include +#include + +#include "data_filter.h" + +static void reject (const std::function &action) +{ + try + { + action (); + } + catch (const BrainFlowException &) + { + return; + } + throw std::runtime_error ("Expected invalid input to be rejected"); +} + +int main () +{ + BrainFlowArray data (2, 256); + reject ([&] { data.at (-1, 0); }); + reject ([&] { data.at (0, 256); }); + reject ([&] { data.get_address (-1); }); + reject ([&] { data[-1]; }); + reject ([&] { BrainFlowArray invalid (-1, 256); }); + reject ( + [&] { + DataFilter::get_csp ( + BrainFlowArray (2, 2, 8), BrainFlowArray (1)); + }); + reject ([&] { DataFilter::perform_ica (data, 2, {-1, 1}); }); + reject ([&] { DataFilter::get_avg_band_powers (data, {-1}, 256, false); }); + reject ([&] { DataFilter::perform_fft (data.get_raw_ptr (), 256, 0, nullptr); }); + reject ([&] { DataFilter::get_psd (data.get_raw_ptr (), 256, 256, 0, nullptr); }); + reject ([&] { DataFilter::perform_wavelet_transform (data.get_raw_ptr (), 256, 3, -1); }); + reject ( + [&] { + DataFilter::perform_inverse_wavelet_transform ( + std::vector (4), {2, 2}, 8, 3, 2); + }); + for (int original_length : + {4, std::numeric_limits::max () / 2, std::numeric_limits::max ()}) + reject ( + [&] + { + DataFilter::perform_inverse_wavelet_transform ( + std::vector (2), {1, 1}, original_length, 0, 1); + }); + + std::vector input (256); + for (size_t i = 0; i < input.size (); ++i) + input[i] = std::sin (0.1 * i); + auto transform = + DataFilter::perform_wavelet_transform (input.data (), (int)input.size (), 3, 3); + std::vector lengths (transform.second, transform.second + 4); + int total = 0; + for (int length : lengths) + total += length; + std::vector coefficients (transform.first, transform.first + total); + delete[] transform.first; + delete[] transform.second; + auto restored = + DataFilter::perform_inverse_wavelet_transform (coefficients, lengths, 256, 3, 3); + for (size_t i = 0; i < input.size (); ++i) + if (std::abs (input[i] - restored[i]) > 1e-10) + throw std::runtime_error ("Wavelet round trip failed"); + lengths[0]++; + reject ( + [&] { DataFilter::perform_inverse_wavelet_transform (coefficients, lengths, 256, 3, 3); }); + std::cout << "Signal-processing binding validation passed." << std::endl; +} diff --git a/cpp_package/src/data_filter.cpp b/cpp_package/src/data_filter.cpp index ecc571bb6..aa673269a 100644 --- a/cpp_package/src/data_filter.cpp +++ b/cpp_package/src/data_filter.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include #include @@ -6,6 +8,37 @@ #include "data_filter.h" #include "data_handler.h" +namespace +{ + int wavelet_capacity (int data_len, int decomposition_level) + { + if (data_len <= 0 || decomposition_level <= 0 || decomposition_level > 100 || + data_len > std::numeric_limits::max () - 82 * decomposition_level) + { + throw BrainFlowException ( + "invalid wavelet dimensions", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + return data_len + 82 * decomposition_level; + } + + void validate_channels (const BrainFlowArray &data, const std::vector &channels) + { + if (data.empty () || channels.empty () || + channels.size () > (size_t)std::numeric_limits::max () / data.get_size (1)) + { + throw BrainFlowException ( + "invalid channel dimensions", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + for (int channel : channels) + { + if (channel < 0 || channel >= data.get_size (0)) + { + throw BrainFlowException ( + "invalid channel index", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + } + } +} double DataFilter::get_oxygen_level (double *ppg_ir, double *ppg_red, int data_len, int sampling_rate, double coef1, double coef2, double coef3) @@ -118,7 +151,8 @@ void DataFilter::perform_rolling_filter (double *data, int data_len, int period, double *DataFilter::perform_downsampling ( double *data, int data_len, int period, int agg_operation, int *filtered_size) { - if ((data == NULL) || (data_len == 0) || (period == 0) || (data_len / period == 0)) + if ((data == NULL) || (data_len <= 0) || (period <= 0) || (data_len / period == 0) || + (filtered_size == NULL)) { throw BrainFlowException ( "invalid input params", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); @@ -137,30 +171,28 @@ double *DataFilter::perform_downsampling ( std::pair DataFilter::perform_wavelet_transform ( double *data, int data_len, int wavelet, int decomposition_level, int extension_type) { - if (data_len <= 0) + if (data == NULL) { throw BrainFlowException ( "invalid input params", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); } - double *wavelet_output = new double[data_len + - 2 * decomposition_level * (40 + 1)]; // I get this formula from wavelib sources - int *decomposition_lengths = new int[decomposition_level + 1]; + std::unique_ptr wavelet_output (new double[wavelet_capacity (data_len, decomposition_level)]); + std::unique_ptr decomposition_lengths (new int[decomposition_level + 1]); int res = ::perform_wavelet_transform (data, data_len, wavelet, decomposition_level, - extension_type, wavelet_output, decomposition_lengths); + extension_type, wavelet_output.get (), decomposition_lengths.get ()); if (res != (int)BrainFlowExitCodes::STATUS_OK) { - delete[] wavelet_output; - delete[] decomposition_lengths; throw BrainFlowException ("failed to perform wavelet", res); } - return std::make_pair (wavelet_output, decomposition_lengths); + return std::make_pair (wavelet_output.release (), decomposition_lengths.release ()); } double *DataFilter::perform_inverse_wavelet_transform (std::pair wavelet_output, int original_data_len, int wavelet, int decomposition_level, int extension_type) { - if (original_data_len <= 0) + wavelet_capacity (original_data_len, decomposition_level); + if (wavelet_output.first == NULL || wavelet_output.second == NULL) { throw BrainFlowException ( "invalid input params", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); @@ -177,6 +209,41 @@ double *DataFilter::perform_inverse_wavelet_transform (std::pair DataFilter::perform_inverse_wavelet_transform ( + const std::vector &coefficients, const std::vector &lengths, + int original_data_len, int wavelet, int decomposition_level, int extension_type) +{ + wavelet_capacity (original_data_len, decomposition_level); + if (lengths.size () != (size_t)decomposition_level + 1 || + (size_t)original_data_len > coefficients.size () || + coefficients.size () > (size_t)std::numeric_limits::max ()) + { + throw BrainFlowException ("invalid wavelet buffers", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + size_t total = 0; + for (int length : lengths) + { + if (length <= 0 || (size_t)length > coefficients.size () - total) + { + throw BrainFlowException ("invalid wavelet lengths", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + total += length; + } + if (total != coefficients.size ()) + { + throw BrainFlowException ("invalid coefficient count", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + std::vector output (original_data_len); + int res = ::perform_inverse_wavelet_transform_checked (const_cast (coefficients.data ()), + (int)coefficients.size (), original_data_len, wavelet, decomposition_level, extension_type, + const_cast (lengths.data ()), (int)lengths.size (), output.data (), original_data_len); + if (res != (int)BrainFlowExitCodes::STATUS_OK) + { + throw BrainFlowException ("failed to perform inverse wavelet", res); + } + return output; +} + void DataFilter::perform_wavelet_denoising (double *data, int data_len, int wavelet, int decomposition_level, int wavelet_denoising, int threshold, int extenstion_type, int noise_level) @@ -192,7 +259,7 @@ void DataFilter::perform_wavelet_denoising (double *data, int data_len, int wave std::pair, BrainFlowArray> DataFilter::get_csp ( const BrainFlowArray &data, const BrainFlowArray &labels) { - if ((data.empty ()) || (labels.empty ())) + if ((data.empty ()) || (labels.empty ()) || labels.get_size (0) != data.get_size (0)) { throw BrainFlowException ( "Invalid params", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); @@ -214,6 +281,10 @@ std::pair, BrainFlowArray> DataFilter::get_ double *DataFilter::get_window (int window_function, int window_len) { + if (window_len <= 0) + { + throw BrainFlowException ("invalid window length", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } double *window_data = new double[window_len]; int res = ::get_window (window_function, window_len, window_data); if (res != (int)BrainFlowExitCodes::STATUS_OK) @@ -226,7 +297,7 @@ double *DataFilter::get_window (int window_function, int window_len) std::complex *DataFilter::perform_fft (double *data, int data_len, int window, int *fft_len) { - if ((data_len % 2 == 1) || (data_len <= 0)) + if ((data_len % 2 == 1) || (data_len <= 0) || (fft_len == NULL)) { throw BrainFlowException ( "data len must be even", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); @@ -268,7 +339,7 @@ void DataFilter::detrend (double *data, int data_len, int detrend_operation) std::pair DataFilter::get_psd ( double *data, int data_len, int sampling_rate, int window, int *psd_len) { - if ((data_len % 2 == 1) || (data_len <= 0)) + if ((data_len % 2 == 1) || (data_len <= 0) || (psd_len == NULL)) { throw BrainFlowException ( "data len must be even", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); @@ -289,7 +360,8 @@ std::pair DataFilter::get_psd ( std::pair DataFilter::get_psd_welch ( double *data, int data_len, int nfft, int overlap, int sampling_rate, int window, int *psd_len) { - if ((nfft % 2 == 1) || (data_len <= 0)) + if ((nfft % 2 != 0) || (nfft <= 0) || (data_len < nfft) || (overlap < 0) || + (overlap >= nfft) || (psd_len == NULL)) { throw BrainFlowException ( "nfft must be even", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); @@ -324,45 +396,36 @@ std::pair DataFilter::get_custom_band_powers ( const BrainFlowArray &data, std::vector> bands, std::vector channels, int sampling_rate, bool apply_filters) { - if ((data.empty ()) || (channels.empty ()) || (bands.empty ())) + validate_channels (data, channels); + if (bands.empty () || bands.size () > (size_t)std::numeric_limits::max ()) { - throw BrainFlowException ( - "Invalid params", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + throw BrainFlowException ("invalid bands", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); } int cols = data.get_size (1); int channels_len = (int)channels.size (); - double *data_1d = new double[cols * channels_len]; - double *avg_bands = new double[bands.size ()]; - double *stddev_bands = new double[bands.size ()]; - double *start_freqs = new double[bands.size ()]; - double *stop_freqs = new double[bands.size ()]; - for (int i = 0; i < (int)bands.size (); i++) - { - start_freqs[i] = std::get<0> (bands[i]); - stop_freqs[i] = std::get<1> (bands[i]); - avg_bands[i] = 0.0; - stddev_bands[i] = 0.0; + std::vector data_1d ((size_t)cols * channels_len); + std::unique_ptr avg_bands (new double[bands.size ()] ()); + std::unique_ptr stddev_bands (new double[bands.size ()] ()); + std::vector start_freqs (bands.size ()); + std::vector stop_freqs (bands.size ()); + for (size_t i = 0; i < bands.size (); i++) + { + start_freqs[i] = bands[i].first; + stop_freqs[i] = bands[i].second; } for (int i = 0; i < channels_len; i++) { - for (int j = 0; j < cols; j++) - { - data_1d[j + cols * i] = data.at (channels[i], j); - } + std::copy (data.get_address (channels[i]), data.get_address (channels[i]) + cols, + data_1d.begin () + (size_t)cols * i); } - int res = ::get_custom_band_powers (data_1d, channels_len, cols, start_freqs, stop_freqs, - (int)bands.size (), sampling_rate, (int)apply_filters, avg_bands, stddev_bands); - delete[] start_freqs; - delete[] stop_freqs; + int res = ::get_custom_band_powers (data_1d.data (), channels_len, cols, start_freqs.data (), + stop_freqs.data (), (int)bands.size (), sampling_rate, (int)apply_filters, + avg_bands.get (), stddev_bands.get ()); if (res != (int)BrainFlowExitCodes::STATUS_OK) { - delete[] avg_bands; - delete[] stddev_bands; - delete[] data_1d; - throw BrainFlowException ("failed to get_avg_band_powers", res); + throw BrainFlowException ("failed to get custom band powers", res); } - delete[] data_1d; - return std::make_pair (avg_bands, stddev_bands); + return std::make_pair (avg_bands.release (), stddev_bands.release ()); } double DataFilter::get_band_power ( @@ -379,7 +442,7 @@ double DataFilter::get_band_power ( double *DataFilter::perform_ifft (std::complex *fft_data, int fft_len, int *data_len) { - if ((fft_len <= 0) || (fft_data == NULL) || (data_len == NULL)) + if ((fft_len < 2) || (fft_len > std::numeric_limits::max () / 2 + 1) || (fft_data == NULL) || (data_len == NULL)) { throw BrainFlowException ("invalid args", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); } @@ -520,47 +583,30 @@ std::tuple, BrainFlowArray, BrainFlowArray< DataFilter::perform_ica ( const BrainFlowArray &data, int num_components, std::vector channels) { - if ((data.empty ()) || (channels.empty ()) || (num_components < 1)) - { - throw BrainFlowException ( - "Invalid params", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); - } - + validate_channels (data, channels); int cols = data.get_size (1); int channels_len = (int)channels.size (); - double *data_1d = new double[cols * channels_len]; - double *w = new double[num_components * num_components]; - double *k = new double[channels_len * num_components]; - double *a = new double[num_components * channels_len]; - double *s = new double[cols * num_components]; - + if (num_components < 2 || num_components > channels_len || cols < 2) + { + throw BrainFlowException ("invalid ICA dimensions", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + BrainFlowArray selected (channels_len, cols); + BrainFlowArray w (num_components, num_components); + BrainFlowArray k (num_components, channels_len); + BrainFlowArray a (channels_len, num_components); + BrainFlowArray s (num_components, cols); for (int i = 0; i < channels_len; i++) { - for (int j = 0; j < cols; j++) - { - data_1d[j + cols * i] = data.at (channels[i], j); - } + std::copy (data.get_address (channels[i]), data.get_address (channels[i]) + cols, + selected.get_address (i)); + } + int res = ::perform_ica (selected.get_raw_ptr (), channels_len, cols, num_components, + w.get_raw_ptr (), k.get_raw_ptr (), a.get_raw_ptr (), s.get_raw_ptr ()); + if (res != (int)BrainFlowExitCodes::STATUS_OK) + { + throw BrainFlowException ("failed to perform ICA", res); } - int res = ::perform_ica (data_1d, channels_len, cols, num_components, w, k, a, s); - if (res != (int)BrainFlowExitCodes::STATUS_OK) - { - delete[] data_1d; - delete[] w; - delete[] k; - delete[] a; - delete[] s; - throw BrainFlowException ("failed to perform_ica", res); - } - BrainFlowArray w_mat (w, num_components, num_components); - BrainFlowArray k_mat (k, num_components, channels_len); - BrainFlowArray a_mat (a, channels_len, num_components); - BrainFlowArray s_mat (s, num_components, cols); - delete[] data_1d; - delete[] w; - delete[] k; - delete[] a; - delete[] s; - return std::make_tuple (w_mat, k_mat, a_mat, s_mat); + return std::make_tuple (std::move (w), std::move (k), std::move (a), std::move (s)); } std::tuple, BrainFlowArray, BrainFlowArray, diff --git a/cpp_package/src/inc/data_filter.h b/cpp_package/src/inc/data_filter.h index ceaa2eafa..654cf4a61 100644 --- a/cpp_package/src/inc/data_filter.h +++ b/cpp_package/src/inc/data_filter.h @@ -63,10 +63,16 @@ class DataFilter static std::pair perform_wavelet_transform ( double *data, int data_len, int wavelet, int decomposition_level, int extension_type = (int)WaveletExtensionTypes::SYMMETRIC); // clang-format on - /// performs inverse wavelet transform + /// Performs inverse wavelet transform. The legacy pointer API requires callers to supply + /// coefficient and length buffers matching the original transform; capacities cannot be checked. static double *perform_inverse_wavelet_transform (std::pair wavelet_output, int original_data_len, int wavelet, int decomposition_level, int extension_type = (int)WaveletExtensionTypes::SYMMETRIC); + /// Inverse wavelet transform with checked buffer lengths and transform metadata. + static std::vector perform_inverse_wavelet_transform ( + const std::vector &coefficients, const std::vector &lengths, + int original_data_len, int wavelet, int decomposition_level, + int extension_type = (int)WaveletExtensionTypes::SYMMETRIC); // clanf-format off /** * perform wavelet denoising @@ -161,25 +167,37 @@ class DataFilter static double get_band_power ( std::pair psd, int data_len, double freq_start, double freq_end); /** - * calculate avg and stddev of BandPowers across all channels + * Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. + * Uses get_custom_band_powers preprocessing and minimum retained data length. * @param data input 2d array - * @param cols number of cols in 2d array - number of datapoints * @param channels vector of rows - eeg channels which should be used * @param sampling_rate sampling rate - * @param apply_filters set to true to apply filters before band power calculations - * @return pair of double arrays of size 5, first of them - avg band powers, second stddev + * @param apply_filters preprocess and discard edge margins to reduce filter transients + * @return pair of double arrays of size 5: normalized means and coefficients of variation */ static std::pair get_avg_band_powers (const BrainFlowArray &data, std::vector channels, int sampling_rate, bool apply_filters); /** - * calculate avg and stddev of BandPowers across all channels + * Calculate normalized mean band powers and variation across selected channels. + * Filtering removes DC and applies padded, initialized zero-phase 48-52 and 58-62 Hz + * notches only when their upper edges are below 0.9 * Nyquist. Preprocessing is independent + * of the requested output bands; no automatic passband is applied. Margins estimated from + * the filter cascade's impulse tail are excluded from both ends before Welch estimation. + * Mains notches attenuate overlapping custom bands; use external preprocessing and + * disable filtering to customize this behavior. + * Supply extra surrounding data; excluding newest samples adds delay in live use. + * Without filtering, no preprocessing or trimming is performed. + * At least max(8, 2 * get_nearest_power_of_two(sampling_rate)) samples must remain. + * Data and band edges must be finite; bands must satisfy 0 <= start < stop <= Nyquist. + * Means are absolute channel-mean powers divided by their sum across requested bands. + * The second output is population stddev / mean of absolute powers across channels. + * Zero-power bands return zero variation; a zero total returns zero normalized means. * @param data input 2d array * @param bands input bands - * @param cols number of cols in 2d array - number of datapoints * @param channels vector of rows - eeg channels which should be used * @param sampling_rate sampling rate - * @param apply_filters set to true to apply filters before band power calculations - * @return pair of float arrays with the same size as bands argument + * @param apply_filters preprocess and discard edge margins to reduce filter transients + * @return pair of double arrays matching bands: normalized means and coefficients of variation */ static std::pair get_custom_band_powers ( const BrainFlowArray &data, std::vector> bands, diff --git a/csharp_package/brainflow/brainflow/data_filter.cs b/csharp_package/brainflow/brainflow/data_filter.cs index 54ad41d90..7b8a419cb 100644 --- a/csharp_package/brainflow/brainflow/data_filter.cs +++ b/csharp_package/brainflow/brainflow/data_filter.cs @@ -11,6 +11,23 @@ namespace brainflow /// public class DataFilter { + private static void validate_span (int length, int start_pos, int end_pos) + { + if (start_pos < 0 || end_pos > length || start_pos >= end_pos) + { + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + } + } + + private static int wavelet_capacity (int data_len, int decomposition_level) + { + if (data_len <= 0 || decomposition_level <= 0 || decomposition_level > 100 || + (long)data_len + 82L * decomposition_level > int.MaxValue) + { + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + } + return data_len + 82 * decomposition_level; + } /// @@ -273,6 +290,9 @@ public static double[] detect_peaks_z_score (double[] data, int lag, double thre /// stddev public static double calc_stddev (double[] data, int start_pos, int end_pos) { + if (data == null) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + validate_span (data.Length, start_pos, end_pos); double[] output = new double[1]; int res = DataHandlerLibrary.calc_stddev (data, start_pos, end_pos, output); if (res != (int)BrainFlowExitCodes.STATUS_OK) @@ -351,7 +371,9 @@ public static double get_heart_rate (double[] ppg_ir, double[] ppg_red, int samp /// tuple of wavelet coeffs in format [A(J) D(J) D(J-1) ..... D(1)] where J is decomposition level, A - app coeffs, D - detailed coeffs, and array with lengths for each block public static Tuple perform_wavelet_transform (double[] data, int wavelet, int decomposition_level, int extension) { - double[] wavelet_coeffs = new double[data.Length + 2 * decomposition_level * (40 + 1)]; + if (data == null) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + double[] wavelet_coeffs = new double[wavelet_capacity (data.Length, decomposition_level)]; int[] lengths = new int[decomposition_level + 1]; int res = DataHandlerLibrary.perform_wavelet_transform (data, data.Length, wavelet, decomposition_level, extension, wavelet_coeffs, lengths); if (res != (int)BrainFlowExitCodes.STATUS_OK) @@ -383,9 +405,24 @@ public static Tuple perform_wavelet_transform (double[] data, i /// restored data public static double[] perform_inverse_wavelet_transform (Tuple wavelet_data, int original_data_len, int wavelet, int decomposition_level, int extension) { + wavelet_capacity (original_data_len, decomposition_level); + if (wavelet_data == null || wavelet_data.Item1 == null || wavelet_data.Item2 == null || + original_data_len > wavelet_data.Item1.Length || + wavelet_data.Item2.Length != decomposition_level + 1) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + long total = 0; + foreach (int length in wavelet_data.Item2) + { + if (length <= 0) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + total += length; + } + if (total != wavelet_data.Item1.Length) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); double[] original_data = new double[original_data_len]; - int res = DataHandlerLibrary.perform_inverse_wavelet_transform (wavelet_data.Item1, original_data_len, wavelet, decomposition_level, extension, - wavelet_data.Item2, original_data); + int res = DataHandlerLibrary.perform_inverse_wavelet_transform_checked (wavelet_data.Item1, wavelet_data.Item1.Length, + original_data_len, wavelet, decomposition_level, extension, wavelet_data.Item2, wavelet_data.Item2.Length, + original_data, original_data.Length); if (res != (int)BrainFlowExitCodes.STATUS_OK) { throw new BrainFlowError (res); @@ -427,6 +464,8 @@ public static double[] perform_wavelet_denoising (double[] data, int wavelet, in /// Tuple of two arrays: [n_channels x n_channels] shaped array of filters and n_channels length array of eigenvalues public static Tuple get_csp (double[,,] data, double[] labels) { + if (data == null || labels == null || labels.Length != data.GetLength (0)) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); int n_epochs = data.GetLength (0); int n_channels = data.GetLength (1); int n_times = data.GetLength (2); @@ -649,14 +688,27 @@ public static int get_nearest_power_of_two (int value) } /// - /// calculate avg and stddev bandpowers across channels + /// Calculate normalized mean band powers and coefficients of variation across channels. + /// Filtering removes DC and applies padded, initialized zero-phase 48-52 and 58-62 Hz + /// notches only when their upper edges are below 0.9 * Nyquist. Preprocessing is independent + /// of the requested output bands; no automatic passband is applied. Margins estimated from + /// the filter cascade's impulse tail are excluded at both ends. + /// Mains notches attenuate overlapping bands; preprocess externally and disable filtering + /// to customize this behavior. + /// Supply surrounding samples; excluding newest samples adds delay in live analysis. + /// Without filtering, no preprocessing or trimming is performed. At least + /// max(8, 2 * get_nearest_power_of_two(sampling_rate)) samples must remain after trimming. + /// Data and edges must be finite; bands require 0 <= start < stop <= Nyquist, + /// and means are normalized by their sum. + /// The second array is population stddev / mean of absolute channel powers, with zero + /// for zero-power bands. A zero total returns zero normalized means. /// /// 2d array with values /// bands to calculate /// rows of data array which should be used for calculation /// sampling rate - /// apply bandpass and bandstop filters before calculation - /// Tuple of avgs and stddev arrays + /// preprocess and discard edge margins to reduce filter transients + /// Normalized mean band powers and coefficients of variation public static Tuple get_custom_band_powers (double[,] data, Tuple[] bands, int[] channels, int sampling_rate, bool apply_filters) { double[] data_1d = new double[data.GetRow (0).Length * channels.Length]; @@ -710,7 +762,10 @@ public static Tuple perform_ica (dou /// public static Tuple perform_ica (double[,] data, int num_components, int[] channels) { - if ((num_components < 1) || (data == null) || (channels == null)) + if ((num_components < 2) || (data == null) || (channels == null) || + num_components > channels.Length || data.GetLength (1) < 2 || + (long)channels.Length * data.GetLength (1) > int.MaxValue || + (long)channels.Length * num_components > int.MaxValue) { throw new BrainFlowError((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); } @@ -740,13 +795,14 @@ public static Tuple perform_ica (dou } /// - /// calculate avg and stddev bandpowers across channels + /// Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. + /// Uses get_custom_band_powers preprocessing and minimum retained data length. /// /// 2d array with values /// rows of data array which should be used for calculation /// sampling rate - /// apply bandpass and bandstop filters before calculation - /// Tuple of avgs and stddev arrays + /// preprocess and discard edge margins to reduce filter transients + /// Normalized mean band powers and coefficients of variation public static Tuple get_avg_band_powers (double[,] data, int[] channels, int sampling_rate, bool apply_filters) { Tuple[] bands = new Tuple[5]; @@ -754,7 +810,7 @@ public static Tuple get_avg_band_powers (double[,] data, int bands[1] = new Tuple (4.0, 8.0); bands[2] = new Tuple (8.0, 13.0); bands[3] = new Tuple (13.0, 30.0); - bands[4] = new Tuple (30.0, 50.0); + bands[4] = new Tuple (30.0, 45.0); return get_custom_band_powers (data, bands, channels, sampling_rate, apply_filters); } @@ -804,7 +860,7 @@ public static Tuple get_psd (double[] data, int start_pos, i /// Tuple of ampls and freqs arrays public static Tuple get_psd_welch (double[] data, int nfft, int overlap, int sampling_rate, int window) { - if ((nfft & (nfft - 1)) != 0) + if (nfft <= 0 || (nfft & (nfft - 1)) != 0) { throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); } @@ -829,6 +885,8 @@ public static Tuple get_psd_welch (double[] data, int nfft, /// band power public static double get_band_power (Tuple psd, double start_freq, double stop_freq) { + if (psd == null || psd.Item1 == null || psd.Item2 == null || psd.Item1.Length != psd.Item2.Length) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); double[] band_power = new double[1]; int res = DataHandlerLibrary.get_band_power (psd.Item1, psd.Item2, psd.Item1.Length, start_freq, stop_freq, band_power); @@ -1108,6 +1166,9 @@ public static unsafe double[] detect_peaks_z_score (double[,] data, int row_num, /// stddev public static unsafe double calc_stddev (double[,] data, int row_num, int start_pos, int end_pos) { + if (data == null) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + validate_span (data.GetLength (1), start_pos, end_pos); double[] output = new double[1]; int res = (int)BrainFlowExitCodes.STATUS_OK; if ((row_num < 0) || (row_num >= data.GetLength (0))) @@ -1162,7 +1223,7 @@ public static unsafe double get_railed_percentage (double[,] data, int row_num, /// tuple of wavelet coeffs in format [A(J) D(J) D(J-1) ..... D(1)] where J is decomposition level, A - app coeffs, D - detailed coeffs, and array with lengths for each block public static unsafe Tuple perform_wavelet_transform (double[,] data, int row_num, int wavelet, int decomposition_level, int extension) { - double[] wavelet_coeffs = new double[data.GetLength (1) + 2 * decomposition_level * (40 + 1)]; + double[] wavelet_coeffs = new double[wavelet_capacity (data.GetLength (1), decomposition_level)]; int[] lengths = new int[decomposition_level + 1]; int res = (int)BrainFlowExitCodes.STATUS_OK; if ((row_num < 0) || (row_num >= data.GetLength (0))) @@ -1233,7 +1294,7 @@ public static unsafe void perform_wavelet_denoising (double[,] data, int row_num /// complex array of size N / 2 + 1 of fft data public static unsafe Complex[] perform_fft (double[,] data, int row_num, int start_pos, int end_pos, int window) { - if ((start_pos < 0) || (end_pos > data.Length) || (start_pos >= end_pos)) + if (data == null || (start_pos < 0) || (end_pos > data.GetLength (1)) || (start_pos >= end_pos)) { throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); } @@ -1278,7 +1339,7 @@ public static unsafe Complex[] perform_fft (double[,] data, int row_num, int sta /// Tuple of ampls and freqs arrays of size N / 2 + 1 public static unsafe Tuple get_psd (double[,] data, int row_num, int start_pos, int end_pos, int sampling_rate, int window) { - if ((start_pos < 0) || (end_pos > data.Length) || (start_pos >= end_pos)) + if (data == null || (start_pos < 0) || (end_pos > data.GetLength (1)) || (start_pos >= end_pos)) { throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); } @@ -1318,7 +1379,7 @@ public static unsafe Tuple get_psd (double[,] data, int row_ /// Tuple of ampls and freqs arrays public static unsafe Tuple get_psd_welch (double[,] data, int row_num, int nfft, int overlap, int sampling_rate, int window) { - if ((nfft & (nfft - 1)) != 0) + if (nfft <= 0 || (nfft & (nfft - 1)) != 0) { throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); } diff --git a/csharp_package/brainflow/brainflow/data_handler_library.cs b/csharp_package/brainflow/brainflow/data_handler_library.cs index 2107f5386..134cd5fc8 100644 --- a/csharp_package/brainflow/brainflow/data_handler_library.cs +++ b/csharp_package/brainflow/brainflow/data_handler_library.cs @@ -144,6 +144,8 @@ class DataHandlerLibrary64 [DllImport ("DataHandler", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] public static extern int perform_wavelet_transform (double[] data, int data_len, int wavelet, int decomposition_level, int extension, double[] output_data, int[] decomposition_lengths); [DllImport ("DataHandler", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] + public static extern int perform_inverse_wavelet_transform_checked (double[] coeffs, int coeff_count, int original_data_len, int wavelet, int level, int extension, int[] lengths, int lengths_count, double[] output, int output_count); + [DllImport ("DataHandler", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] public static extern int perform_inverse_wavelet_transform (double[] wavelet_coeffs, int original_data_len, int wavelet, int decomposition_level, int extension, int[] decomposition_lengths, double[] output_data); [DllImport ("DataHandler", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] @@ -256,6 +258,8 @@ class DataHandlerLibrary32 [DllImport ("DataHandler32", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] public static extern int perform_wavelet_transform (double[] data, int data_len, int wavelet, int decomposition_level, int extension, double[] output_data, int[] decomposition_lengths); [DllImport ("DataHandler32", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] + public static extern int perform_inverse_wavelet_transform_checked (double[] coeffs, int coeff_count, int original_data_len, int wavelet, int level, int extension, int[] lengths, int lengths_count, double[] output, int output_count); + [DllImport ("DataHandler32", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] public static extern int perform_inverse_wavelet_transform (double[] wavelet_coeffs, int original_data_len, int wavelet, int decomposition_level, int extension, int[] decomposition_lengths, double[] output_data); [DllImport ("DataHandler32", SetLastError = true, CallingConvention = CallingConvention.Cdecl)] @@ -589,6 +593,18 @@ public static int perform_wavelet_transform (double[] data, int data_len, int wa return (int)BrainFlowExitCodes.GENERAL_ERROR; } + public static int perform_inverse_wavelet_transform_checked (double[] coeffs, int coeff_count, int original_data_len, int wavelet, int level, int extension, int[] lengths, int lengths_count, double[] output, int output_count) + { + switch (PlatformHelper.get_library_environment ()) + { + case LibraryEnvironment.x64: + return DataHandlerLibrary64.perform_inverse_wavelet_transform_checked (coeffs, coeff_count, original_data_len, wavelet, level, extension, lengths, lengths_count, output, output_count); + case LibraryEnvironment.x86: + return DataHandlerLibrary32.perform_inverse_wavelet_transform_checked (coeffs, coeff_count, original_data_len, wavelet, level, extension, lengths, lengths_count, output, output_count); + } + return (int)BrainFlowExitCodes.GENERAL_ERROR; + } + public static int perform_inverse_wavelet_transform (double[] wavelet_coeffs, int original_data_len, int wavelet, int decomposition_level, int extension, int[] decomposition_lengths, double[] output_data) { diff --git a/csharp_package/brainflow/brainflow/ml_model.cs b/csharp_package/brainflow/brainflow/ml_model.cs index be8babb8c..fb620970d 100644 --- a/csharp_package/brainflow/brainflow/ml_model.cs +++ b/csharp_package/brainflow/brainflow/ml_model.cs @@ -10,7 +10,7 @@ namespace brainflow public class MLModel { private string input_json; - BrainFlowModelParams input_params; + private readonly int output_capacity; /// @@ -19,8 +19,19 @@ public class MLModel /// public MLModel (BrainFlowModelParams input_params) { - this.input_json = input_params.to_json (); - this.input_params = input_params; + if (input_params == null) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + var snapshot = new BrainFlowModelParams (input_params.metric, input_params.classifier) + { + file = input_params.file, + other_info = input_params.other_info, + output_name = input_params.output_name, + max_array_size = input_params.max_array_size + }; + if (snapshot.max_array_size <= 0) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR); + this.input_json = snapshot.to_json (); + this.output_capacity = snapshot.max_array_size; } /// @@ -128,13 +139,15 @@ public void release () /// public double[] predict (double[] data) { - double[] val = new double[input_params.max_array_size]; + double[] val = new double[output_capacity]; int[] val_len = new int[1]; int res = MLModuleLibrary.predict (data, data.Length, val, val_len, input_json); if (res != (int)BrainFlowExitCodes.STATUS_OK) { throw new BrainFlowError (res); } + if (val_len[0] < 0 || val_len[0] > output_capacity) + throw new BrainFlowError ((int)BrainFlowExitCodes.INVALID_BUFFER_SIZE_ERROR); double[] result = new double[val_len[0]]; for (int i = 0; i < val_len[0]; i++) { diff --git a/csharp_package/brainflow/examples/ica/ica.cs b/csharp_package/brainflow/examples/ica/ica.cs index d649fda77..df5d1a41c 100644 --- a/csharp_package/brainflow/examples/ica/ica.cs +++ b/csharp_package/brainflow/examples/ica/ica.cs @@ -1,9 +1,5 @@ -using System; -using System.Runtime.Serialization; - +using System; using brainflow; -using brainflow.math; - namespace examples { @@ -11,24 +7,20 @@ class ICA { static void Main (string[] args) { - BoardShim.enable_dev_board_logger (); - - int board_id = (int)BoardIds.SYNTHETIC_BOARD; - BoardDescr board_descr = BoardShim.get_board_descr (board_id); - int[] eeg_channels = board_descr.eeg_channels; - int channel = eeg_channels[1]; - - BrainFlowInputParams input_params = new BrainFlowInputParams (); - BoardShim board_shim = new BoardShim (board_id, input_params); - board_shim.prepare_session (); - board_shim.start_stream (3600); - System.Threading.Thread.Sleep (10000); - board_shim.stop_stream (); - double[,] data = board_shim.get_board_data (500); - board_shim.release_session (); - - double[,] ica_data = data.GetRow (channel).Reshape(5, 100); - Tuple ica = DataFilter.perform_ica (ica_data, 2); + // Two simultaneous mixtures: rows are channels and columns are samples. + const int samples = 1024; + double[,] data = new double[2, samples]; + for (int i = 0; i < samples; i++) + { + double t = i / 256.0; + double first = Math.Sin (2.0 * Math.PI * 7.0 * t); + double second = Math.Pow (Math.Sin (2.0 * Math.PI * 13.0 * t), 3); + data[0, i] = first + 0.3 * second; + data[1, i] = 0.2 * first + second; + } + var ica = DataFilter.perform_ica (data, 2); + // Component order and sign are arbitrary. + Console.WriteLine ("Recovered " + ica.Item4.GetLength (0) + " sources from " + samples + " samples"); } } } diff --git a/csharp_package/brainflow/examples/signal_processing_regression/Program.cs b/csharp_package/brainflow/examples/signal_processing_regression/Program.cs new file mode 100644 index 000000000..25283bb45 --- /dev/null +++ b/csharp_package/brainflow/examples/signal_processing_regression/Program.cs @@ -0,0 +1,58 @@ +using System; +using brainflow; + +class Program +{ + static void Reject(Action action) + { + try { action(); } + catch (BrainFlowError) { return; } + throw new Exception("Expected invalid input to be rejected"); + } + + static void CheckMLSnapshot(string modelPath) + { + var parameters = new BrainFlowModelParams(2, 2); + parameters.file = System.IO.Path.GetFullPath(modelPath); + parameters.max_array_size = 2; + var model = new MLModel(parameters); + model.prepare(); + try + { + parameters.max_array_size = 1; + double[] result = model.predict(new[] {0.2, 0.2, 0.2, 0.2, 0.2}); + if (result.Length != 2 || result[0] < 0 || result[1] < 0 || + double.IsNaN(result[0]) || double.IsNaN(result[1]) || + Math.Abs(result[0] + result[1] - 1) > 1e-6) + throw new Exception("Invalid probabilities after mutating model params"); + } + finally { model.release(); } + Console.WriteLine("ML capacity snapshot validation passed."); + } + + static void Main(string[] args) + { + var data = new double[2, 256]; + Reject(() => DataFilter.perform_fft(data, 1, 0, 512, 0)); + Reject(() => DataFilter.get_psd(data, 1, 0, 512, 256, 0)); + Reject(() => DataFilter.calc_stddev(data, 0, -1, 10)); + Reject(() => DataFilter.calc_stddev(data, 1, 0, 512)); + Reject(() => DataFilter.calc_stddev(new double[4], 0, 8)); + Reject(() => DataFilter.get_band_power(Tuple.Create(new double[3], new double[2]), 0, 1)); + Reject(() => DataFilter.get_csp(new double[2, 2, 8], new double[1])); + Reject(() => DataFilter.perform_wavelet_transform(new double[256], 3, -1, 0)); + Reject(() => DataFilter.perform_inverse_wavelet_transform(Tuple.Create(new double[4], new[] {2, 2}), 8, 3, 2, 0)); + foreach (int originalLength in new[] {4, int.MaxValue / 2, int.MaxValue}) + Reject(() => DataFilter.perform_inverse_wavelet_transform(Tuple.Create(new double[2], new[] {1, 1}), originalLength, 0, 1, 0)); + foreach (int capacity in new[] {0, -1}) + { + var parameters = new BrainFlowModelParams(0, 0); + parameters.max_array_size = capacity; + Reject(() => new MLModel(parameters)); + } + Reject(() => new MLModel(null)); + if (args.Length > 0) + CheckMLSnapshot(args[0]); + Console.WriteLine("Signal-processing binding validation passed."); + } +} diff --git a/csharp_package/brainflow/examples/signal_processing_regression/signal_processing_regression.csproj b/csharp_package/brainflow/examples/signal_processing_regression/signal_processing_regression.csproj new file mode 100644 index 000000000..15818ddd5 --- /dev/null +++ b/csharp_package/brainflow/examples/signal_processing_regression/signal_processing_regression.csproj @@ -0,0 +1,9 @@ + + + Exe + net8.0 + + + + + diff --git a/docs/UserAPI.rst b/docs/UserAPI.rst index 735b6f4c1..16b02257f 100644 --- a/docs/UserAPI.rst +++ b/docs/UserAPI.rst @@ -14,6 +14,128 @@ This abstraction allows you to switch boards without any changes in code. In BoardShim, all board data is returned as a 2d array. Rows in this array may contain timestamps, EEG and EMG data and so on. To see instructions how to query specific kind of data check :ref:`data-format-label` and :ref:`code-samples-label`. +Band power preprocessing and data length +---------------------------------------- + +``get_avg_band_powers`` uses bands 2-4, 4-8, 8-13, 13-30, and 30-45 Hz and delegates +to ``get_custom_band_powers``. The following behavior is shared by all bindings. + +With filtering enabled, each selected channel is demeaned. Fourth-order Butterworth +48-52 and 58-62 Hz mains notches are applied when their upper edge is below 90 percent +of Nyquist, avoiding poorly conditioned near-Nyquist designs. These notches attenuate +custom bands that overlap their ranges. Preprocessing does not depend on the requested +integration bands, and no passband is inferred from those bands. Filtering uses forward +and backward passes with odd reflection padding and independently initialized states. + +After filtering, a guard of ``G`` real samples is discarded from each end before the +Welch PSD is calculated. The same ``G`` is used for padding. It is estimated from the +complete cascade's impulse response: the absolute tail beyond ``G`` contains at most +0.1 percent of its absolute sum, over a simulation horizon derived from the poles. +This estimates transient settling; it does not guarantee removal of all edge effects. +Provide extra surrounding samples to retain the desired analysis interval. In live use, +the most recent retained sample is ``G / sampling_rate`` seconds behind the newest input. + +Welch uses a Hann window, 80 percent overlap, and +``nfft = max(8, 2 * get_nearest_power_of_two(sampling_rate))``. Inputs must contain at least +``nfft + 2 * G`` samples per selected channel when filtering is enabled. Short inputs +raise an error instead of silently lowering the frequency resolution. With filtering +disabled, there is no demeaning, filtering, or trimming, and at least ``nfft`` samples +are required. The native and Python ``get_custom_band_powers_with_options`` APIs allow +explicit low/high cutoffs, mains selection, FFT size, and whole-record detrending. +Cutoff zero disables that passband edge. Mains values are -1 for automatic selection, +0 for none, 1 for 50 Hz, 2 for 60 Hz, and 3 for both. Explicit notches must fit below +Nyquist. Detrending in this API is independent of the filtering flag; select +``NO_DETREND`` to preserve DC. Welch does not detrend individual segments. + +Python ``get_band_power_info`` (native ``get_band_power_settings``) reports the FFT size +and edge margin before collection. Python also reports minimum samples, bin spacing, +margin in seconds, and optionally the retained half-open interval. Bin spacing is not +the same as the resolving bandwidth of a window. Other bindings may preprocess an +extended buffer externally and call their existing method with filtering disabled. + +Selected samples and band edges must be finite. Each band must satisfy +``0 <= start < stop <= sampling_rate / 2``. Power is integrated over the exact requested +frequency bounds, including partial intervals at band edges. + +The first output contains absolute band powers averaged across selected channels, then +normalized by the sum of those means over the requested bands. The second output is +historically named ``stddev`` but contains the coefficient of variation: population +standard deviation divided by mean absolute power across channels for each band. A +zero-power band has zero variation; an all-zero total returns zero normalized powers. +Overlapping bands contribute separately to the normalization sum. + +These preprocessing and integration changes affect extracted features. Classifiers trained +with earlier band power behavior should be revalidated before using the new features. + +Signal-processing conventions and validation +-------------------------------------------- + +PSD and Welch return one-sided power density in input-units squared per Hz, normalized +by ``sampling_rate * sum(window**2)``. DC and Nyquist are not doubled. This corrects +the historical underestimation with nonrectangular windows and integer overflow for +large FFTs. Absolute powers therefore change. Windows are periodic; the four-term +Blackman-Harris coefficients are 0.355768, 0.487396, 0.144232, and 0.012604. + +Public filters require positive finite cutoffs strictly below Nyquist, ascending +band edges, order 1-8, and positive finite Chebyshev ripple. Zero-phase methods +preserve length and use reflected padding, limited to the available samples, with +independent steady-state initialization in each direction. Short inputs can still +have substantial boundary effects. Causal calls start from zero state on each call. +Native/Python ``get_filter_settling_samples`` reports the estimated margin for a +specified design; exclude it at both ends for zero-phase analysis or at startup +for a causal filter. Filter kinds are 0 lowpass, 1 highpass, 2 bandpass, 3 bandstop; +``low_cutoff`` holds the single cutoff for either lowpass or highpass. +The native streaming-filter API and Python ``StreamingFilter`` retain causal SOS +states across chunks, with explicit reset and release/close operations. Chunked +processing therefore matches a single causal call over the concatenated samples. +Combined mains removal is equivalent to the separate 50 Hz and 60 Hz zero-phase calls. +Nonfinite input is rejected before in-place filtering, detrending, or aggregation. + +Linear detrending subtracts the least-squares line; a one-sample input becomes zero. +Standard deviations use the population convention. Rolling mean and median both +use the available prefix until the window fills. Downsampling remains a block +aggregator: it drops an incomplete trailing block and does not apply an anti-alias +filter. ``EACH`` selects the last sample in each complete block. +The separate native/Python ``perform_decimation`` applies a centered Hamming-windowed +sinc FIR before selecting samples. Its cutoff is 80 percent of the new Nyquist, +length is ``20 * factor + 1``, endpoints use reflection, and the output contains +``floor(input_length / factor)`` samples aligned to input indices ``0, factor, ...``. +It is an offline operation; endpoint effects remain possible. + +Inverse-wavelet bindings validate metadata and actual buffer sizes through the new +checked native entry point. The original C API and C++ pointer overload remain for +compatibility; callers of these interfaces must supply correctly sized allocations. +Use the checked C API or C++ vector overload when sizes are available. + +CSP requires finite data, exact binary labels, both classes, and full-rank composite +covariance. ICA rejects insufficient retained rank and reports nonconvergence as +``GENERAL_ERROR``. Its mixing matrix is channels by components and reconstructs +centered input as ``A @ S``. The options API exposes iteration limit, tolerance, and +random seed; successful return means convergence was reached. + +Heart-rate estimation detrends both channels before Welch and requires a shared +distinct peak between 35 and 230 BPM. Each channel's peak must exceed four times +the in-band median; its three-bin neighborhood must contain at least 45 percent +of in-band power, and channel peaks must agree within one bin. FFT size must be +a power of two, at least 1024, with bin spacing no greater than 0.25 Hz. Oxygen +estimation uses a second-order 0.5-4 Hz zero-phase bandpass, excludes response-based +guards at both ends, requires at least four seconds retained, and checks positive +DC/AC and a distinct shared pulse. Existing calibration coefficients remain explicit +arguments. Invalid or insufficient pulse signals raise ``INVALID_ARGUMENTS_ERROR``; +insufficient data for oxygen's retained interval raises ``INVALID_BUFFER_SIZE_ERROR``. +These are numerical quality checks, not physiological validation. + +``get_railed_percentage`` preserves the legacy 4.5 V, 24-bit ADC peak/full-scale +metric with microvolt input and gain, including 100 percent for flat signals; its +result is now bounded to 0-100. Native/Python ``get_clipping_percentage`` instead +counts samples at or beyond caller-provided lower/upper limits. +``get_flatline_percentage`` reports the percentage of adjacent pairs whose absolute +difference is no larger than the supplied tolerance (at least two samples required). + +Data files accept rectangular tab- or comma-separated finite numeric values, including +a final line without a newline. Invalid tokens and insufficient destination capacity +return errors. Writing uses enough decimal precision to round-trip doubles. + Python API Reference ---------------------- diff --git a/java_package/brainflow/src/main/java/brainflow/DataFilter.java b/java_package/brainflow/src/main/java/brainflow/DataFilter.java index 1fb538730..ffa6b227f 100644 --- a/java_package/brainflow/src/main/java/brainflow/DataFilter.java +++ b/java_package/brainflow/src/main/java/brainflow/DataFilter.java @@ -21,6 +21,38 @@ @SuppressWarnings ("deprecation") public class DataFilter { + private static int checked_product (int first, int second) throws BrainFlowError + { + long count = (long) first * second; + if (first < 0 || second < 0 || count > Integer.MAX_VALUE) + { + throw new BrainFlowError ("Array dimensions exceed the native integer range", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } + return (int) count; + } + + private static int selected_columns (double[][] data, int[] channels) throws BrainFlowError + { + if (data == null || channels == null || channels.length == 0) + { + throw new BrainFlowError ("Channels must select nonempty data", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } + int columns = -1; + for (int channel : channels) + { + if (channel < 0 || channel >= data.length || data[channel] == null || + data[channel].length == 0 || (columns >= 0 && data[channel].length != columns)) + { + throw new BrainFlowError ("Selected channels must have equal nonzero sample counts", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } + columns = data[channel].length; + } + checked_product (channels.length, columns); + return columns; + } private interface DllInterface extends Library { @@ -53,8 +85,9 @@ int detect_peaks_z_score (double[] data, int data_len, int lag, double threshold int perform_wavelet_transform (double[] data, int data_len, int wavelet, int decomposition_level, int extention, double[] output_data, int[] decomposition_lengths); - int perform_inverse_wavelet_transform (double[] wavelet_coeffs, int original_data_len, int wavelet, - int decomposition_level, int extension, int[] decomposition_lengths, double[] output_data); + int perform_inverse_wavelet_transform_checked (double[] wavelet_coeffs, int coeff_count, + int original_data_len, int wavelet, int decomposition_level, int extension, + int[] decomposition_lengths, int lengths_count, double[] output_data, int output_count); int perform_wavelet_denoising (double[] data, int data_len, int wavelet, int decomposition_level, int wavelet_denoising, int threshold, int extenstion_type, int noise_level); @@ -200,6 +233,11 @@ public static void set_log_file (String log_file) throws BrainFlowError */ public static double calc_stddev (double[] data, int start_pos, int end_pos) throws BrainFlowError { + if (data == null || start_pos < 0 || end_pos <= start_pos || end_pos > data.length) + { + throw new BrainFlowError ("Invalid standard deviation span", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } double[] output = new double[1]; int ec = instance.calc_stddev (data, start_pos, end_pos, output); if (ec != BrainFlowExitCode.STATUS_OK.get_code ()) @@ -559,7 +597,9 @@ public static void perform_wavelet_denoising (double[] data, WaveletTypes wavele public static Pair perform_wavelet_transform (double[] data, int wavelet, int decomposition_level, int extension) throws BrainFlowError { - if (decomposition_level <= 0) + if (data == null || data.length == 0 || decomposition_level <= 0 || + decomposition_level > 100 || + (long) data.length + 82L * decomposition_level > Integer.MAX_VALUE) { throw new BrainFlowError ("Invalid decomposition level", BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); @@ -598,14 +638,33 @@ public static Pair perform_wavelet_transform (double[] data, Wa public static double[] perform_inverse_wavelet_transform (Pair wavelet_output, int original_data_len, int wavelet, int decomposition_level, int extension) throws BrainFlowError { - if (decomposition_level <= 0) + if (decomposition_level <= 0 || decomposition_level > 100 || original_data_len <= 0 || + wavelet_output == null || wavelet_output.getLeft () == null || + wavelet_output.getRight () == null || wavelet_output.getRight ().length != decomposition_level + 1 || + original_data_len > wavelet_output.getLeft ().length) { - throw new BrainFlowError ("Invalid decomposition level", + throw new BrainFlowError ("Invalid wavelet metadata", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } + long coeff_count = 0; + for (int length : wavelet_output.getRight ()) + { + if (length <= 0) + { + throw new BrainFlowError ("Invalid wavelet block length", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } + coeff_count += length; + } + if (coeff_count != wavelet_output.getLeft ().length) + { + throw new BrainFlowError ("Wavelet coefficient lengths do not match", BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); } double[] output_array = new double[original_data_len]; - int ec = instance.perform_inverse_wavelet_transform (wavelet_output.getLeft (), original_data_len, wavelet, - decomposition_level, extension, wavelet_output.getRight (), output_array); + int ec = instance.perform_inverse_wavelet_transform_checked (wavelet_output.getLeft (), + wavelet_output.getLeft ().length, original_data_len, wavelet, decomposition_level, extension, + wavelet_output.getRight (), wavelet_output.getRight ().length, output_array, output_array.length); if (ec != BrainFlowExitCode.STATUS_OK.get_code ()) { throw new BrainFlowError ("Failed to perform inverse wavelet transform", ec); @@ -629,15 +688,31 @@ public static double[] perform_inverse_wavelet_transform (Pair */ public static Pair get_csp (double[][][] data, double[] labels) throws BrainFlowError { + if (data == null || data.length == 0 || labels == null || labels.length != data.length || + data[0] == null || data[0].length == 0 || data[0][0] == null || data[0][0].length == 0) + { + throw new BrainFlowError ("CSP requires one label per nonempty epoch", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } int n_epochs = data.length; int n_channels = data[0].length; int n_times = data[0][0].length; - double[] temp_data1d = new double[n_epochs * n_channels * n_times]; + double[] temp_data1d = new double[checked_product (checked_product (n_epochs, n_channels), n_times)]; for (int e = 0; e < n_epochs; e++) { + if (data[e] == null || data[e].length != n_channels) + { + throw new BrainFlowError ("CSP epochs must have equal channel counts", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } for (int c = 0; c < n_channels; c++) { + if (data[e][c] == null || data[e][c].length != n_times) + { + throw new BrainFlowError ("CSP channels must have equal sample counts", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } for (int t = 0; t < n_times; t++) { int idx = e * n_channels * n_times + c * n_times + t; @@ -646,7 +721,7 @@ public static Pair get_csp (double[][][] data, double[] la } } - double[] temp_filters = new double[n_channels * n_channels]; + double[] temp_filters = new double[checked_product (n_channels, n_channels)]; double[] output_eigenvalues = new double[n_channels]; int ec = instance.get_csp (temp_data1d, labels, n_epochs, n_channels, n_times, temp_filters, @@ -769,13 +844,14 @@ public static double[] perform_ifft (Complex[] data) throws BrainFlowError } /** - * calc average and stddev of band powers across all channels + * Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. + * Uses get_custom_band_powers preprocessing and minimum retained data length. * * @param data data to process * @param channels rows of data arrays which should be used in calculation * @param sampling_rate sampling rate - * @param apply_filters apply bandpass and bandstop filters before calculation - * @return pair of avgs and stddevs for bandpowers + * @param apply_filters preprocess and discard edge margins to reduce filter transients + * @return normalized mean band powers and coefficients of variation */ public static Pair get_avg_band_powers (double[][] data, int[] channels, int sampling_rate, boolean apply_filters) throws BrainFlowError @@ -790,14 +866,26 @@ public static Pair get_avg_band_powers (double[][] data, int } /** - * calc average and stddev of band powers across all channels + * Calculate normalized mean band powers and coefficients of variation across channels. + * Filtering demeans and applies padded, initialized zero-phase 48-52 and 58-62 Hz + * notches only when their upper edges are below 90% of Nyquist. No automatic passband + * is applied, so preprocessing is independent of the integration bands. + * Margins estimated from the complete cascade impulse-response tail are excluded + * at both ends; this estimate is not a guaranteed artifact bound. Mains notches + * attenuate overlapping bands. Supply surrounding samples; excluding the newest + * samples adds delay in live analysis. Without filtering, no preprocessing or trimming + * is performed. At least max(8, 2 * get_nearest_power_of_two(sampling_rate)) samples + * must remain. Data and edges must be finite; bands require + * 0 <= start < stop <= Nyquist. Means are normalized by their sum. + * The second array is population stddev / mean of absolute channel powers, with zero + * for zero-power bands. A zero total returns zero normalized means. * * @param data data to process * @param bands bands to calculate * @param channels rows of data arrays which should be used in calculation * @param sampling_rate sampling rate - * @param apply_filters apply bandpass and bandstop filters before calculation - * @return pair of avgs and stddevs for bandpowers + * @param apply_filters preprocess and discard edge margins to reduce filter transients + * @return normalized mean band powers and coefficients of variation */ public static Pair get_custom_band_powers (double[][] data, List> bands, int[] channels, int sampling_rate, boolean apply_filters) throws BrainFlowError @@ -807,13 +895,11 @@ public static Pair get_custom_band_powers (double[][] data, throw new BrainFlowError ("data or channels or bands are null", BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); } - double[] data_1d = new double[channels.length * data[channels[0]].length]; + int cols = selected_columns (data, channels); + double[] data_1d = new double[checked_product (channels.length, cols)]; for (int i = 0; i < channels.length; i++) { - for (int j = 0; j < data[channels[i]].length; j++) - { - data_1d[j + i * data[channels[i]].length] = data[channels[i]][j]; - } + System.arraycopy (data[channels[i]], 0, data_1d, i * cols, cols); } double[] avgs = new double[bands.size ()]; double[] stddevs = new double[bands.size ()]; @@ -825,7 +911,7 @@ public static Pair get_custom_band_powers (double[][] data, stop_freqs[i] = bands.get (i).getValue (); } int filters = (apply_filters) ? 1 : 0; - int ec = instance.get_custom_band_powers (data_1d, channels.length, data[channels[0]].length, start_freqs, + int ec = instance.get_custom_band_powers (data_1d, channels.length, cols, start_freqs, stop_freqs, bands.size (), sampling_rate, filters, avgs, stddevs); if (ec != BrainFlowExitCode.STATUS_OK.get_code ()) { @@ -868,27 +954,24 @@ public static List perform_ica (double[][] data, int num_components) public static List perform_ica (double[][] data, int num_components, int[] channels) throws BrainFlowError { - if ((data == null) || (channels == null) || (num_components < 1)) + int cols = selected_columns (data, channels); + if (num_components < 2 || num_components > Math.min (channels.length, cols - 1)) { throw new BrainFlowError ("invalid args for perform_ica", BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); } - double[] data_1d = new double[channels.length * data[channels[0]].length]; + double[] data_1d = new double[checked_product (channels.length, cols)]; for (int i = 0; i < channels.length; i++) { - for (int j = 0; j < data[channels[i]].length; j++) - { - data_1d[j + i * data[channels[i]].length] = data[channels[i]][j]; - } + System.arraycopy (data[channels[i]], 0, data_1d, i * cols, cols); } - int cols = data[0].length; int channels_len = channels.length; - double[] w = new double[num_components * num_components]; - double[] k = new double[channels_len * num_components]; - double[] a = new double[num_components * channels_len]; - double[] s = new double[cols * num_components]; + double[] w = new double[checked_product (num_components, num_components)]; + double[] k = new double[checked_product (channels_len, num_components)]; + double[] a = new double[checked_product (num_components, channels_len)]; + double[] s = new double[checked_product (cols, num_components)]; - int ec = instance.perform_ica (data_1d, channels.length, data[channels[0]].length, num_components, w, k, a, s); + int ec = instance.perform_ica (data_1d, channels.length, cols, num_components, w, k, a, s); if (ec != BrainFlowExitCode.STATUS_OK.get_code ()) { throw new BrainFlowError ("Failed to perform_ica", ec); @@ -1013,6 +1096,12 @@ public static Pair get_psd_welch (double[] data, int nfft, i public static double get_band_power (Pair psd, double freq_start, double freq_end) throws BrainFlowError { + if (psd == null || psd.getLeft () == null || psd.getRight () == null || + psd.getLeft ().length != psd.getRight ().length) + { + throw new BrainFlowError ("PSD amplitude and frequency lengths must match", + BrainFlowExitCode.INVALID_ARGUMENTS_ERROR.get_code ()); + } double[] res = new double[1]; int ec = instance.get_band_power (psd.getLeft (), psd.getRight (), psd.getLeft ().length, freq_start, freq_end, res); diff --git a/java_package/brainflow/src/main/java/brainflow/MLModel.java b/java_package/brainflow/src/main/java/brainflow/MLModel.java index f34a3fea1..6030ec302 100644 --- a/java_package/brainflow/src/main/java/brainflow/MLModel.java +++ b/java_package/brainflow/src/main/java/brainflow/MLModel.java @@ -91,15 +91,28 @@ private interface DllInterface extends Library private String input_params; - private BrainFlowModelParams params; + private final int output_capacity; /** * Create MLModel object */ public MLModel (BrainFlowModelParams params) { - input_params = params.to_json (); - this.params = params; + if (params == null) + { + throw new IllegalArgumentException ("Model params must not be null"); + } + BrainFlowModelParams snapshot = new BrainFlowModelParams (params.metric, params.classifier); + snapshot.file = params.file; + snapshot.other_info = params.other_info; + snapshot.output_name = params.output_name; + snapshot.max_array_size = params.max_array_size; + if (snapshot.max_array_size <= 0) + { + throw new IllegalArgumentException ("max_array_size must be positive"); + } + input_params = snapshot.to_json (); + output_capacity = snapshot.max_array_size; } /** @@ -233,13 +246,18 @@ public void release () throws BrainFlowError */ public double[] predict (double[] data) throws BrainFlowError { - double[] val = new double[params.max_array_size]; + double[] val = new double[output_capacity]; int[] val_len = new int[1]; int ec = instance.predict (data, data.length, val, val_len, input_params); if (ec != BrainFlowExitCode.STATUS_OK.get_code ()) { throw new BrainFlowError ("Error in predict", ec); } + if (val_len[0] < 0 || val_len[0] > output_capacity) + { + throw new BrainFlowError ("Invalid prediction output length", + BrainFlowExitCode.INVALID_BUFFER_SIZE_ERROR.get_code ()); + } return Arrays.copyOfRange (val, 0, val_len[0]); } } diff --git a/java_package/brainflow/src/main/java/brainflow/examples/ICA.java b/java_package/brainflow/src/main/java/brainflow/examples/ICA.java index 200372fee..6be928b54 100644 --- a/java_package/brainflow/src/main/java/brainflow/examples/ICA.java +++ b/java_package/brainflow/src/main/java/brainflow/examples/ICA.java @@ -1,33 +1,25 @@ package brainflow.examples; import java.util.List; - -import brainflow.BoardIds; -import brainflow.BoardShim; -import brainflow.BrainFlowInputParams; import brainflow.DataFilter; public class ICA { - public static void main (String[] args) throws Exception { - // use synthetic board for demo - BoardShim.enable_board_logger (); - BrainFlowInputParams params = new BrainFlowInputParams (); - BoardIds board_id = BoardIds.SYNTHETIC_BOARD; - BoardShim board_shim = new BoardShim (board_id, params); - board_shim.prepare_session (); - board_shim.start_stream (3600); - Thread.sleep (10000); - board_shim.stop_stream (); - double[][] data = board_shim.get_board_data (500); - board_shim.release_session (); - - int[] eeg_channels = BoardShim.get_eeg_channels (board_id); - int eeg_channel = eeg_channels[1]; - double[][] ica_data = DataFilter.reshape_data_to_2d (5, 100, data[eeg_channel]); - List ica = DataFilter.perform_ica (ica_data, 2); - System.out.println ("Completed"); + // Two simultaneous mixtures: rows are channels and columns are samples. + int samples = 1024; + double[][] data = new double[2][samples]; + for (int i = 0; i < samples; i++) + { + double t = i / 256.0; + double first = Math.sin (2.0 * Math.PI * 7.0 * t); + double second = Math.pow (Math.sin (2.0 * Math.PI * 13.0 * t), 3); + data[0][i] = first + 0.3 * second; + data[1][i] = 0.2 * first + second; + } + List ica = DataFilter.perform_ica (data, 2); + // Component order and sign are arbitrary. + System.out.println ("Recovered " + ica.get (3).length + " sources from " + samples + " samples"); } } diff --git a/java_package/brainflow/src/test/java/brainflow/BindingValidationRegression.java b/java_package/brainflow/src/test/java/brainflow/BindingValidationRegression.java new file mode 100644 index 000000000..cc168bbb4 --- /dev/null +++ b/java_package/brainflow/src/test/java/brainflow/BindingValidationRegression.java @@ -0,0 +1,98 @@ +package brainflow; + +import org.apache.commons.lang3.tuple.Pair; +import java.util.Arrays; +import java.util.List; + +/** Run with the current native DataHandler library on the classpath/library path. */ +public class BindingValidationRegression +{ + interface CheckedCall + { + void run () throws Exception; + } + + private static void rejects (CheckedCall call) throws Exception + { + try + { + call.run (); + } catch (BrainFlowError expected) + { + return; + } + throw new AssertionError ("Expected BrainFlowError"); + } + + public static void main (String[] args) throws Exception + { + rejects (() -> DataFilter.calc_stddev (new double[2], -1, 2)); + rejects (() -> DataFilter.calc_stddev (new double[2], 0, 3)); + rejects (() -> DataFilter.get_band_power (Pair.of (new double[2], new double[1]), 0, 1)); + rejects (() -> DataFilter.get_csp (new double[4][2][20], new double[3])); + rejects (() -> DataFilter.perform_inverse_wavelet_transform ( + Pair.of (new double[1], new int[] {19, 19, 34}), 64, WaveletTypes.DB3, 2, + WaveletExtensionTypes.SYMMETRIC)); + double[] signal = new double[64]; + for (int i = 0; i < signal.length; i++) + { + signal[i] = Math.sin (i * 0.3); + } + Pair transformed = DataFilter.perform_wavelet_transform ( + signal, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC); + double[] restored = DataFilter.perform_inverse_wavelet_transform ( + transformed, signal.length, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC); + for (int i = 0; i < signal.length; i++) + { + if (Math.abs (signal[i] - restored[i]) > 1e-10) + { + throw new AssertionError ("Wavelet roundtrip failed"); + } + } + rejects (() -> DataFilter.perform_inverse_wavelet_transform ( + transformed, 32, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC)); + rejects (() -> DataFilter.perform_inverse_wavelet_transform ( + transformed, Integer.MAX_VALUE, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC)); + rejects (() -> DataFilter.perform_wavelet_transform ( + signal, WaveletTypes.DB3, Integer.MAX_VALUE, WaveletExtensionTypes.SYMMETRIC)); + rejects (() -> DataFilter.perform_wavelet_transform ( + signal, WaveletTypes.DB3, 101, WaveletExtensionTypes.SYMMETRIC)); + rejects (() -> DataFilter.perform_ica (new double[][] {new double[64], new double[32]}, + 2, new int[] {0, 1})); + rejects (() -> DataFilter.get_custom_band_powers ( + new double[][] {new double[64], new double[32]}, + Arrays.asList (Pair.of (2.0, 4.0)), new int[] {0, 1}, 128, false)); + rejects (() -> DataFilter.perform_ica (new double[2][64], 2, new int[] {-1, 0})); + + // Unselected rows do not determine native input/output dimensions. Previously, + // S was allocated using row zero while native ICA wrote the selected row length. + double[][] mixed = new double[][] {new double[1], new double[1024], new double[1024]}; + for (int i = 0; i < 1024; i++) + { + double time = i / 256.0; + double first = Math.sin (2.0 * Math.PI * 7.0 * time); + double second = Math.pow (Math.sin (2.0 * Math.PI * 13.0 * time), 3); + mixed[1][i] = first + 0.3 * second; + mixed[2][i] = 0.2 * first + second; + } + List decomposition = DataFilter.perform_ica (mixed, 2, new int[] {2, 1}); + double[][] mixing = decomposition.get (2); + double[][] sources = decomposition.get (3); + if (sources.length != 2 || sources[0].length != 1024) + { + throw new AssertionError ("ICA source dimensions must follow selected channels"); + } + for (int row = 0; row < 2; row++) + { + for (int i = 0; i < 1024; i++) + { + double restored_sample = mixing[row][0] * sources[0][i] + mixing[row][1] * sources[1][i]; + if (Math.abs (restored_sample - mixed[2 - row][i]) > 1e-9) + { + throw new AssertionError ("ICA channel-order reconstruction failed"); + } + } + } + System.out.println ("Binding validation regressions passed"); + } +} diff --git a/java_package/brainflow/src/test/java/brainflow/MLBindingValidationRegression.java b/java_package/brainflow/src/test/java/brainflow/MLBindingValidationRegression.java new file mode 100644 index 000000000..ccbe2ecb9 --- /dev/null +++ b/java_package/brainflow/src/test/java/brainflow/MLBindingValidationRegression.java @@ -0,0 +1,50 @@ +package brainflow; + +import java.nio.file.Paths; + +/** Run with an ONNX classifier returning [relaxed, focused] and rebuilt MLModule. */ +public class MLBindingValidationRegression +{ + private static void rejectsCapacity (int capacity) + { + BrainFlowModelParams params = new BrainFlowModelParams (0, 0); + params.max_array_size = capacity; + try + { + new MLModel (params); + } catch (IllegalArgumentException expected) + { + return; + } + throw new AssertionError ("Invalid output capacity was accepted"); + } + + public static void main (String[] args) throws Exception + { + rejectsCapacity (0); + rejectsCapacity (-1); + if (args.length != 1) + { + throw new IllegalArgumentException ("Supply the path to logreg_mindfulness.onnx"); + } + BrainFlowModelParams params = new BrainFlowModelParams (2, 2); + params.file = Paths.get (args[0]).toAbsolutePath ().toString (); + params.max_array_size = 2; + MLModel model = new MLModel (params); + model.prepare (); + try + { + params.max_array_size = 1; + double[] result = model.predict (new double[] {0.2, 0.2, 0.2, 0.2, 0.2}); + if (result.length != 2 || !Double.isFinite (result[0]) || !Double.isFinite (result[1]) || + result[0] < 0 || result[1] < 0 || Math.abs (result[0] + result[1] - 1) > 1e-6) + { + throw new AssertionError ("Invalid probabilities after mutating model params"); + } + } finally + { + model.release (); + } + System.out.println ("ML capacity snapshot validation passed."); + } +} diff --git a/julia_package/brainflow/src/data_filter.jl b/julia_package/brainflow/src/data_filter.jl index 8e2baf974..d2594c23e 100644 --- a/julia_package/brainflow/src/data_filter.jl +++ b/julia_package/brainflow/src/data_filter.jl @@ -140,9 +140,39 @@ end WaveletType = Union{WaveletTypes, Integer} +function _dsp_signal(data; inplace=false) + if !(data isa AbstractVector{<:Real}) || !(0 < length(data) <= typemax(Cint)) + throw(BrainFlowError("Expected a nonempty real signal vector", Integer(INVALID_ARGUMENTS_ERROR))) + end + if inplace + if !(data isa StridedVector{Float64}) || stride(data, 1) != 1 + throw(BrainFlowError("In-place processing requires contiguous Float64 samples", Integer(INVALID_ARGUMENTS_ERROR))) + end + return data + end + return Vector{Float64}(data) +end + +function _dsp_matrix(data) + if !(data isa AbstractMatrix{<:Real}) || !(0 < length(data) <= typemax(Cint)) + throw(BrainFlowError("Expected a nonempty real matrix", Integer(INVALID_ARGUMENTS_ERROR))) + end + return Matrix{Float64}(data) +end + +function _dsp_channels(data, channels) + if !(channels isa AbstractVector) || isempty(channels) || + any(c -> !(c isa Integer) || !(1 <= c <= size(data, 1)), channels) || + length(channels) > div(typemax(Cint), size(data, 2)) + throw(BrainFlowError("Invalid channel selection", Integer(INVALID_ARGUMENTS_ERROR))) + end + return Int[c for c in channels] +end + @brainflow_rethrow function perform_lowpass(data, sampling_rate::Integer, cutoff::Float64, order::Integer, filter_type::FiltType, ripple::Float64) + data = _dsp_signal(data; inplace=true) ccall((:perform_lowpass, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Float64, Cint, Cint, Float64), data, length(data), Int32(sampling_rate), Float64(cutoff), Int32(order), Int32(filter_type), Float64(ripple)) return @@ -151,6 +181,7 @@ end @brainflow_rethrow function perform_highpass(data, sampling_rate::Integer, cutoff::Float64, order::Integer, filter_type::FiltType, ripple::Float64 ) + data = _dsp_signal(data; inplace=true) ccall((:perform_highpass, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Float64, Cint, Cint, Float64), data, length(data), Int32(sampling_rate), Float64(cutoff), Int32(order), Int32(filter_type), Float64(ripple)) return @@ -158,6 +189,7 @@ end @brainflow_rethrow function perform_bandpass(data, sampling_rate::Integer, start_freq::Float64, stop_freq::Float64, order::Integer, filter_type::FiltType, ripple::Float64) + data = _dsp_signal(data; inplace=true) ccall((:perform_bandpass, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Float64, Float64, Cint, Cint, Float64), data, length(data), Int32(sampling_rate), Float64(start_freq), Float64(stop_freq), Int32(order), Int32(filter_type), Float64(ripple)) return @@ -165,24 +197,28 @@ end @brainflow_rethrow function perform_bandstop(data, sampling_rate::Integer, start_freq::Float64, stop_freq::Float64, order::Integer, filter_type::FiltType, ripple::Float64) + data = _dsp_signal(data; inplace=true) ccall((:perform_bandstop, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Float64, Float64, Cint, Cint, Float64), data, length(data), Int32(sampling_rate), Float64(start_freq), Float64(stop_freq), Int32(order), Int32(filter_type), Float64(ripple)) return end @brainflow_rethrow function remove_environmental_noise(data, sampling_rate::Integer, noise_type::EnvNoiseType) + data = _dsp_signal(data; inplace=true) ccall((:remove_environmental_noise, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Cint), data, length(data), Int32(sampling_rate), Int32(noise_type)) return end @brainflow_rethrow function perform_rolling_filter(data, period::Integer, operation::AggType) + data = _dsp_signal(data; inplace=true) ccall((:perform_rolling_filter, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Cint), data, length(data), Int32(period), Int32(operation)) return end @brainflow_rethrow function detrend(data, operation::DetType) + data = _dsp_signal(data; inplace=true) ccall((:detrend, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint), data, length(data), Int32(operation)) return @@ -191,6 +227,7 @@ end @brainflow_rethrow function restore_data_from_wavelet_detailed_coeffs(data, wavelet::WaveletType, decomposition_level::Integer, level_to_restore::Integer) + data = _dsp_signal(data) restored_data = Vector{Float64}(undef, length(data)) ccall((:restore_data_from_wavelet_detailed_coeffs, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Cint, Cint, Ptr{Float64}), data, length(data), Int32(wavelet), Int32(decomposition_level), Int32(level_to_restore), restored_data) @@ -200,6 +237,7 @@ end @brainflow_rethrow function detect_peaks_z_score(data, lag::Integer, threshold::Float64, influence::Float64) + data = _dsp_signal(data) peaks = Vector{Float64}(undef, length(data)) ccall((:detect_peaks_z_score, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Float64, Float64, Ptr{Float64}), data, length(data), Int32(lag), threshold, influence, peaks) @@ -211,6 +249,7 @@ end threshold::ThresholdType, extension::WaveletExtensionType, noise_level::NoiseEstimationLevelType) + data = _dsp_signal(data; inplace=true) ccall((:perform_wavelet_denoising, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Cint, Cint, Cint, Cint, Cint), data, length(data), Int32(wavelet), Int32(decomposition_level), Int32(wavelet_denoising), Int32(threshold), Int32(extension), Int32(noise_level)) @@ -218,7 +257,11 @@ end end @brainflow_rethrow function perform_downsampling(data, period::Integer, operation::AggType) - len = Integer(floor(length(data) / period)) + data = _dsp_signal(data) + if !(1 <= period <= typemax(Cint)) + throw(BrainFlowError("Invalid aggregation period", Integer(INVALID_ARGUMENTS_ERROR))) + end + len = div(length(data), period) downsampled_data = Vector{Float64}(undef, len) ccall((:perform_downsampling, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Cint, Ptr{Float64}), data, length(data), Int32(period), Int32(operation), downsampled_data) @@ -226,6 +269,7 @@ end end @brainflow_rethrow function write_file(data, file_name::String, file_mode::String) + data = _dsp_matrix(data) shape = size(data) flatten = transpose(vcat(data)) flaten = reshape(flatten, (1, shape[1] * shape[2])) @@ -243,6 +287,7 @@ end end @brainflow_rethrow function calc_stddev(data) + data = _dsp_signal(data) output = Vector{Float64}(undef, 1) ccall((:calc_stddev, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Ptr{Float64}), data, 0, length(data), output) @@ -250,6 +295,7 @@ end end @brainflow_rethrow function get_railed_percentage(data, gain::Integer) + data = _dsp_signal(data) output = Vector{Float64}(undef, 1) ccall((:get_railed_percentage, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Ptr{Float64}), data, length(data), gain, output) @@ -257,6 +303,7 @@ end end @brainflow_rethrow function get_oxygen_level(ppg_ir, ppg_red, sampling_rate::Integer, coef1=1.5958422, coef2=-34.6596622, coef3=112.6898759) + ppg_ir, ppg_red = _dsp_signal(ppg_ir), _dsp_signal(ppg_red) if length(ppg_ir) != length(ppg_red) throw(BrainFlowError(string("invalid size", INVALID_ARGUMENTS_ERROR), Integer(INVALID_ARGUMENTS_ERROR))) end @@ -268,6 +315,7 @@ end end @brainflow_rethrow function get_heart_rate(ppg_ir, ppg_red, sampling_rate::Integer, fft_size::Integer) + ppg_ir, ppg_red = _dsp_signal(ppg_ir), _dsp_signal(ppg_red) if length(ppg_ir) != length(ppg_red) throw(BrainFlowError(string("invalid size", INVALID_ARGUMENTS_ERROR), Integer(INVALID_ARGUMENTS_ERROR))) end @@ -297,6 +345,10 @@ end end @brainflow_rethrow function perform_wavelet_transform(data, wavelet::WaveletType, decomposition_level::Integer, extension::WaveletExtensionType) + data = _dsp_signal(data) + if !(1 <= decomposition_level <= 100) || length(data) > typemax(Cint) - 82 * decomposition_level + throw(BrainFlowError("Invalid decomposition level", Integer(INVALID_ARGUMENTS_ERROR))) + end wavelet_coeffs = Vector{Float64}(undef, length(data) + 2 * decomposition_level * (40 + 1)) lengths = Vector{Cint}(undef, decomposition_level + 1) ccall((:perform_wavelet_transform, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Cint, Cint, Ptr{Float64}, Ptr{Cint}), @@ -306,13 +358,34 @@ end @brainflow_rethrow function perform_inverse_wavelet_transform(wavelet_output, original_data_len::Integer, wavelet::WaveletType, decomposition_level::Integer, extension::WaveletExtensionType) + if !(0 < original_data_len <= typemax(Cint)) || !(1 <= decomposition_level <= 100) || length(wavelet_output) != 2 + throw(BrainFlowError("Invalid wavelet dimensions", Integer(INVALID_ARGUMENTS_ERROR))) + end + coeffs, block_lengths = wavelet_output + if original_data_len > length(coeffs) + throw(BrainFlowError("Original length exceeds coefficient count", Integer(INVALID_ARGUMENTS_ERROR))) + end + if ndims(coeffs) != 1 || ndims(block_lengths) != 1 || length(block_lengths) != decomposition_level + 1 || + any(x -> !(x isa Integer) || !(0 < x <= typemax(Cint)), block_lengths) || + sum(Int64(x) for x in block_lengths) != length(coeffs) + throw(BrainFlowError("Invalid wavelet coefficient lengths", Integer(INVALID_ARGUMENTS_ERROR))) + end + coeffs = _dsp_signal(coeffs) + block_lengths = Vector{Cint}(block_lengths) original_data = Vector{Float64}(undef, original_data_len) - ccall((:perform_inverse_wavelet_transform, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Cint, Cint, Cint, Cint, Ptr{Float64}, Ptr{Float64}), - wavelet_output[1], Int32(original_data_len), Int32(wavelet), Int32(decomposition_level), Int32(extension), wavelet_output[2], original_data) + ccall((:perform_inverse_wavelet_transform_checked, DATA_HANDLER_INTERFACE), Cint, + (Ptr{Float64}, Cint, Cint, Cint, Cint, Cint, Ptr{Cint}, Cint, Ptr{Float64}, Cint), + coeffs, length(coeffs), Int32(original_data_len), Int32(wavelet), Int32(decomposition_level), + Int32(extension), block_lengths, length(block_lengths), original_data, length(original_data)) return original_data end @brainflow_rethrow function get_csp(data, labels) + if ndims(data) != 3 || ndims(labels) != 1 || length(labels) != size(data, 1) || + !(0 < length(data) <= typemax(Cint)) || size(data, 2) > isqrt(typemax(Cint)) + throw(BrainFlowError("CSP requires one label per epoch", Integer(INVALID_ARGUMENTS_ERROR))) + end + labels = Vector{Float64}(labels) n_epochs = size(data, 1) n_channels = size(data, 2) n_times = size(data, 3) @@ -341,6 +414,9 @@ end end @brainflow_rethrow function get_window(window_function::WinType, window_len::Integer) + if !(0 < window_len <= typemax(Cint)) + throw(BrainFlowError("Invalid window length", Integer(INVALID_ARGUMENTS_ERROR))) + end window_data = Vector{Float64}(undef, Integer(window_len)) ccall((:get_window, DATA_HANDLER_INTERFACE), Cint, (Cint, Cint, Ptr{Float64}), Int32(window_function), Int32(window_len), window_data) @@ -348,6 +424,7 @@ end end @brainflow_rethrow function perform_fft(data, window::WinType) + data = _dsp_signal(data) if (length(data) % 2 == 1) throw(BrainFlowError(string("Data Len must be even ", INVALID_ARGUMENTS_ERROR), Integer(INVALID_ARGUMENTS_ERROR))) @@ -366,6 +443,10 @@ end end @brainflow_rethrow function perform_ifft(data) + if !(data isa AbstractVector{<:Number}) || !(2 <= length(data) <= div(typemax(Cint), 2) + 1) + throw(BrainFlowError("Invalid inverse FFT spectrum", Integer(INVALID_ARGUMENTS_ERROR))) + end + data = ComplexF64.(data) temp_re = Vector{Float64}(undef, length(data)) temp_im = Vector{Float64}(undef, length(data)) @@ -381,19 +462,46 @@ end return res end +""" + get_avg_band_powers(data, channels, sampling_rate, apply_filter) + +Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. +Uses `get_custom_band_powers` preprocessing, minimum retained length, and variation semantics. +""" function get_avg_band_powers(data, channels, sampling_rate::Integer, apply_filter::Bool) bands = [(2.0, 4.0), (4.0, 8.0), (8.0, 13.0), (13.0, 30.0), (30.0, 45.0)] return get_custom_band_powers(data, bands, channels, sampling_rate, apply_filter) end +""" + get_custom_band_powers(data, bands, channels, sampling_rate, apply_filter) + +Return normalized channel-mean band powers and coefficients of variation (population +stddev / mean of absolute channel powers). Zero-power bands have zero variation; +an all-zero total returns zero normalized powers. +Filtering demeans and applies padded, initialized zero-phase 48-52 and 58-62 Hz +notches only when their upper edges are below 90% of Nyquist. There is no automatic +passband, so preprocessing is independent of the requested integration bands. +Margins estimated from the complete cascade impulse-response tail are discarded at +both ends; this estimate is not a guaranteed artifact bound. Supply surrounding +samples and account for the resulting delay in live analysis. Without filtering +there is no preprocessing or trimming. At least max(8, 2 * get_nearest_power_of_two(sampling_rate)) +samples must remain. Data and edges must be finite; bands require +0 <= start < stop <= Nyquist. Mains notches also attenuate overlapping bands. +""" @brainflow_rethrow function get_custom_band_powers(data, bands, channels, sampling_rate::Integer, apply_filter::Bool) + data = _dsp_matrix(data) + channels = _dsp_channels(data, channels) shape = size(data) data_1d = reshape(transpose(data[channels,:]), (1, size(channels)[1] * shape[2])) data_1d = copy(data_1d) - start_freqs = [first(p) for p in bands] - stop_freqs = [last(p) for p in bands] + if isempty(bands) || any(p -> length(p) != 2, bands) + throw(BrainFlowError("Bands must contain frequency pairs", Integer(INVALID_ARGUMENTS_ERROR))) + end + start_freqs = Float64[first(p) for p in bands] + stop_freqs = Float64[last(p) for p in bands] temp_avgs = Vector{Float64}(undef, length(start_freqs)) temp_stddevs = Vector{Float64}(undef, length(start_freqs)) @@ -404,10 +512,15 @@ end end @brainflow_rethrow function perform_ica_select_channels(data, num_components::Integer, channels) + data = _dsp_matrix(data) + channels = _dsp_channels(data, channels) shape = size(data) data_1d = reshape(transpose(data[channels,:]), (1, size(channels)[1] * shape[2])) data_1d = copy(data_1d) + if !(2 <= num_components <= min(length(channels), shape[2] - 1)) + throw(BrainFlowError("Invalid component count", Integer(INVALID_ARGUMENTS_ERROR))) + end temp_w = Vector{Float64}(undef, num_components * num_components) temp_k = Vector{Float64}(undef, length(channels) * num_components) temp_a = Vector{Float64}(undef, num_components * length(channels)) @@ -428,6 +541,7 @@ function perform_ica(data, num_components::Integer) end @brainflow_rethrow function get_psd(data, sampling_rate::Integer, window::WinType) + data = _dsp_signal(data) if (length(data) % 2 == 1) throw(BrainFlowError(string("Data Len must be even ", INVALID_ARGUMENTS_ERROR), Integer(INVALID_ARGUMENTS_ERROR))) @@ -442,10 +556,12 @@ end end @brainflow_rethrow function get_psd_welch(data, nfft::Integer, overlap::Integer, sampling_rate::Integer, window::WinType) + data = _dsp_signal(data) - if (length(data) % 2 == 1) - throw(BrainFlowError(string("Data Len must be even ", INVALID_ARGUMENTS_ERROR), Integer(INVALID_ARGUMENTS_ERROR))) + if ndims(data) != 1 || !(2 <= nfft <= length(data)) || !ispow2(nfft) || !(0 <= overlap < nfft) + throw(BrainFlowError("Invalid Welch segment size or overlap", Integer(INVALID_ARGUMENTS_ERROR))) end + data = Vector{Float64}(data) temp_ampls = Vector{Float64}(undef, Integer(nfft / 2) + 1) temp_freqs = Vector{Float64}(undef, Integer(nfft / 2) + 1) @@ -456,13 +572,18 @@ end end @brainflow_rethrow function get_band_power(psd, freq_start::Float64, freq_end::Float64) + if length(psd) != 2 || ndims(psd[1]) != 1 || ndims(psd[2]) != 1 || length(psd[1]) != length(psd[2]) + throw(BrainFlowError("PSD amplitude and frequency lengths must match", Integer(INVALID_ARGUMENTS_ERROR))) + end + amplitudes, frequencies = _dsp_signal(psd[1]), _dsp_signal(psd[2]) band_power = Vector{Float64}(undef, 1) ccall((:get_band_power, DATA_HANDLER_INTERFACE), Cint, (Ptr{Float64}, Ptr{Float64}, Cint, Float64, Float64, Ptr{Float64}), - psd[1], psd[2], length(psd[1]), Float64(freq_start), Float64(freq_end), band_power) + amplitudes, frequencies, length(amplitudes), Float64(freq_start), Float64(freq_end), band_power) return band_power[1] end @brainflow_rethrow function get_activity_index(accel_x, accel_y, accel_z, sampling_rate::Integer, period::Integer=0, noise_var_x::Real=0.0, noise_var_y::Real=0.0, noise_var_z::Real=0.0) + accel_x, accel_y, accel_z = _dsp_signal(accel_x), _dsp_signal(accel_y), _dsp_signal(accel_z) if (length(accel_x) != length(accel_y)) || (length(accel_x) != length(accel_z)) throw(BrainFlowError(string("Arrays lengths must match ", INVALID_ARGUMENTS_ERROR), Integer(INVALID_ARGUMENTS_ERROR))) end diff --git a/julia_package/brainflow/src/ml_model.jl b/julia_package/brainflow/src/ml_model.jl index cc59e9849..d350aab7f 100644 --- a/julia_package/brainflow/src/ml_model.jl +++ b/julia_package/brainflow/src/ml_model.jl @@ -36,6 +36,9 @@ mutable struct BrainFlowModelParams end function JSON.json(params::BrainFlowModelParams) + if params.max_array_size < 1 + throw(BrainFlowError("max_array_size must be positive", Integer(INVALID_ARGUMENTS_ERROR))) + end d = Dict( "metric" => Integer(params.metric), "classifier" => Integer(params.classifier), @@ -60,15 +63,28 @@ end end @brainflow_rethrow function predict(data, params::BrainFlowModelParams) - input_json = JSON.json(params) - val = Vector{Float64}(undef, params.max_array_size) - val_len = Vector{Float64}(undef, 1) + # Keep the native lookup key and allocated capacity from the same snapshot. + snapshot = deepcopy(params) + input_json = JSON.json(snapshot) + capacity = Int(snapshot.max_array_size) + if !(data isa AbstractVector{<:Real}) || !(0 < length(data) <= typemax(Cint)) + throw(BrainFlowError("Expected a nonempty real feature vector", Integer(INVALID_ARGUMENTS_ERROR))) + end + data = Vector{Float64}(data) + if !all(isfinite, data) + throw(BrainFlowError("Feature values must be finite", Integer(INVALID_ARGUMENTS_ERROR))) + end + val = Vector{Float64}(undef, capacity) + val_len = Ref{Cint}(0) ccall((:predict, ML_MODULE_INTERFACE), Cint, (Ptr{Float64}, Cint, Ptr{Float64}, Ptr{Cint}, Ptr{UInt8}), data, length(data), val, val_len, input_json) - value = val[1:val_len[1]] + if !(0 <= val_len[] <= capacity) + throw(BrainFlowError("Native prediction length exceeds the output buffer", Integer(GENERAL_ERROR))) + end + value = val[1:Int(val_len[])] return value end @brainflow_rethrow function release_all() ccall((:release_all, ML_MODULE_INTERFACE), Cint, ()) -end \ No newline at end of file +end diff --git a/julia_package/brainflow/test/band_power_all.jl b/julia_package/brainflow/test/band_power_all.jl index 50d506d76..8b95e7f76 100644 --- a/julia_package/brainflow/test/band_power_all.jl +++ b/julia_package/brainflow/test/band_power_all.jl @@ -10,7 +10,8 @@ nfft = BrainFlow.get_nearest_power_of_two(sampling_rate) BrainFlow.prepare_session(board_shim) BrainFlow.start_stream(board_shim) -sleep(5) +# Include filter settling margins around the retained analysis interval. +sleep(10) BrainFlow.stop_stream(board_shim) data = BrainFlow.get_board_data(board_shim) BrainFlow.release_session(board_shim) diff --git a/julia_package/brainflow/test/binding_validation_regression.jl b/julia_package/brainflow/test/binding_validation_regression.jl new file mode 100644 index 000000000..01896c8c9 --- /dev/null +++ b/julia_package/brainflow/test/binding_validation_regression.jl @@ -0,0 +1,34 @@ +using Test +using BrainFlow + +@testset "Binding validation" begin + @test_throws BrainFlow.BrainFlowError BrainFlow.get_band_power((ones(2), ones(1)), 0.0, 1.0) + @test_throws BrainFlow.BrainFlowError BrainFlow.get_csp(ones(4, 2, 20), zeros(3)) + @test_throws BrainFlow.BrainFlowError BrainFlow.perform_inverse_wavelet_transform( + (zeros(1), Cint[19, 19, 34]), 64, BrainFlow.DB3, 2, BrainFlow.SYMMETRIC) + data = sin.(2pi .* 10 .* (0:1024) ./ 256) + amplitudes, frequencies = BrainFlow.get_psd_welch(data, 256, 128, 256, BrainFlow.HANNING) + @test length(amplitudes) == 129 + @test length(frequencies) == 129 + @test frequencies[end] == 128 + transformed = BrainFlow.perform_wavelet_transform(data, BrainFlow.DB3, 2, BrainFlow.SYMMETRIC) + restored = BrainFlow.perform_inverse_wavelet_transform(transformed, length(data), BrainFlow.DB3, 2, BrainFlow.SYMMETRIC) + @test restored ≈ data atol=1e-10 + @test_throws BrainFlow.BrainFlowError BrainFlow.perform_inverse_wavelet_transform( + transformed, 64, BrainFlow.DB3, 2, BrainFlow.SYMMETRIC) + @test_throws BrainFlow.BrainFlowError BrainFlow.perform_inverse_wavelet_transform( + transformed, typemax(Cint), BrainFlow.DB3, 2, BrainFlow.SYMMETRIC) + for values in (view(data, length(data):-1:1), view(data, 1:2:length(data))) + @test BrainFlow.calc_stddev(values) ≈ BrainFlow.calc_stddev(collect(values)) + @test_throws BrainFlow.BrainFlowError BrainFlow.detrend(values, BrainFlow.CONSTANT) + actual = BrainFlow.perform_wavelet_transform(values, BrainFlow.DB3, 2, BrainFlow.SYMMETRIC) + expected = BrainFlow.perform_wavelet_transform(collect(values), BrainFlow.DB3, 2, BrainFlow.SYMMETRIC) + @test actual == expected + end + contiguous = copy(data) + view_to_process = view(contiguous, 2:20) + expected = copy(view_to_process) + BrainFlow.detrend(view_to_process, BrainFlow.CONSTANT) + BrainFlow.detrend(expected, BrainFlow.CONSTANT) + @test view_to_process == expected +end diff --git a/julia_package/brainflow/test/ica.jl b/julia_package/brainflow/test/ica.jl index 89793c61e..3cefe9011 100644 --- a/julia_package/brainflow/test/ica.jl +++ b/julia_package/brainflow/test/ica.jl @@ -1,23 +1,10 @@ using BrainFlow -# enable logs -BrainFlow.enable_dev_logger(BrainFlow.BOARD_CONTROLLER) -BrainFlow.enable_dev_logger(BrainFlow.DATA_HANDLER) - -params = BrainFlowInputParams() -board_shim = BrainFlow.BoardShim(BrainFlow.SYNTHETIC_BOARD, params) -sampling_rate = BrainFlow.get_sampling_rate(BrainFlow.SYNTHETIC_BOARD) - -BrainFlow.prepare_session(board_shim) -BrainFlow.start_stream(board_shim) -sleep(10) -BrainFlow.stop_stream(board_shim) -data = BrainFlow.get_board_data(500, board_shim) -BrainFlow.release_session(board_shim) - -eeg_channels = BrainFlow.get_eeg_channels(BrainFlow.SYNTHETIC_BOARD) -data_first_channel = data[eeg_channels[1], :] - -my_data = transpose(reshape(data_first_channel, (100, 5))) - -ica = BrainFlow.perform_ica(my_data, 2) +# Two simultaneous mixtures: rows are channels and columns are samples. +sample_times = collect(0:1023) ./ 256.0 +source1 = sin.(2.0 .* pi .* 7.0 .* sample_times) +source2 = sin.(2.0 .* pi .* 13.0 .* sample_times) .^ 3 +data = permutedims(hcat(source1 .+ 0.3 .* source2, 0.2 .* source1 .+ source2)) +w, k, a, sources = BrainFlow.perform_ica(data, 2) +# Component order and sign are arbitrary. +println("Recovered $(size(sources, 1)) sources from $(size(sources, 2)) samples") diff --git a/julia_package/brainflow/test/ml_model_validation_regression.jl b/julia_package/brainflow/test/ml_model_validation_regression.jl new file mode 100644 index 000000000..28ffea4a5 --- /dev/null +++ b/julia_package/brainflow/test/ml_model_validation_regression.jl @@ -0,0 +1,52 @@ +using BrainFlow +using Test + +@testset "ML prediction buffers and input layout" begin + features = Float64[.1, .1, .3, .3, .2] + params = BrainFlowModelParams(BrainFlow.MINDFULNESS, BrainFlow.DEFAULT_CLASSIFIER) + params.max_array_size = 2 + BrainFlow.prepare(params) + try + expected = BrainFlow.predict(features, params) + @test length(expected) == 1 + @test isfinite(expected[1]) && 0 <= expected[1] <= 1 + backing = repeat(features, inner=2) + @test BrainFlow.predict(@view(backing[1:2:end]), params) == expected + @test BrainFlow.predict(@view(reverse(features)[end:-1:1]), params) == expected + @test_throws BrainFlow.BrainFlowError BrainFlow.predict(reshape(features, 1, 5), params) + @test_throws BrainFlow.BrainFlowError BrainFlow.predict(Float64[], params) + @test_throws BrainFlow.BrainFlowError BrainFlow.predict([NaN, .1, .3, .3, .2], params) + @test_throws BrainFlow.BrainFlowError BrainFlow.predict(ComplexF64.(features), params) + finally + BrainFlow.release(params) + end + params.max_array_size = 0 + @test_throws BrainFlow.BrainFlowError BrainFlow.prepare(params) + @test_throws BrainFlow.BrainFlowError BrainFlow.predict(features, params) +end + +if haskey(ENV, "BRAINFLOW_TEST_ONNX_MODEL") + @testset "Two-output ONNX prediction" begin + params = BrainFlowModelParams(BrainFlow.USER_DEFINED, BrainFlow.ONNX_CLASSIFIER) + params.file = ENV["BRAINFLOW_TEST_ONNX_MODEL"] + params.output_name = get(ENV, "BRAINFLOW_TEST_ONNX_OUTPUT", "probabilities") + params.max_array_size = 2 + BrainFlow.prepare(params) + try + for _ in 1:20 + scores = BrainFlow.predict(Float64[.1, .1, .3, .3, .2], params) + @test length(scores) == 2 + @test all(isfinite, scores) + @test sum(scores) ≈ 1.0 atol=1e-6 + end + # A changed parameter object describes a different native model, + # and must fail lookup rather than write to a smaller buffer. + params.max_array_size = 1 + @test_throws BrainFlow.BrainFlowError BrainFlow.predict(ones(5), params) + params.max_array_size = 2 + finally + params.max_array_size = 2 + BrainFlow.release(params) + end + end +end diff --git a/julia_package/brainflow/test/runtests.jl b/julia_package/brainflow/test/runtests.jl index bd2813200..5982fa623 100644 --- a/julia_package/brainflow/test/runtests.jl +++ b/julia_package/brainflow/test/runtests.jl @@ -14,3 +14,4 @@ include("markers.jl") include("release_all.jl") include("spo2.jl") include("ica.jl") +include("binding_validation_regression.jl") diff --git a/julia_package/brainflow/test/spo2.jl b/julia_package/brainflow/test/spo2.jl index 6cca0f720..c46ba2b5c 100644 --- a/julia_package/brainflow/test/spo2.jl +++ b/julia_package/brainflow/test/spo2.jl @@ -1,20 +1,13 @@ using BrainFlow -params = BrainFlowInputParams() -board_shim = BrainFlow.BoardShim(BrainFlow.SYNTHETIC_BOARD, params) -board_descr = BrainFlow.get_board_descr(BrainFlow.SYNTHETIC_BOARD) -sampling_rate = board_descr["sampling_rate"] - -BrainFlow.prepare_session(board_shim) -BrainFlow.start_stream(board_shim) -sleep(5) -BrainFlow.stop_stream(board_shim) -data = BrainFlow.get_board_data(board_shim) -BrainFlow.release_session(board_shim) - -ppg_channels = board_descr["ppg_channels"] -data_ir = data[ppg_channels[1], :] -data_red = data[ppg_channels[2], :] - +# Demonstrate calibrated, shared red/IR pulsatility using 15 seconds of synthetic PPG. +# Keep enough surrounding samples for filtering plus at least four seconds of analysis. +sampling_rate = 128 +sample_times = collect(0:(15 * sampling_rate - 1)) ./ sampling_rate +pulse = sin.(2.0 .* pi .* 1.2 .* sample_times) .+ 0.15 .* sin.(2.0 .* pi .* 2.4 .* sample_times) +data_ir = 100000.0 .+ 1000.0 .* pulse +data_red = 80000.0 .+ 400.0 .* pulse + +# Real sensors require their own calibrated coefficients and good optical contact. spo2 = BrainFlow.get_oxygen_level(data_ir, data_red, sampling_rate) -println(spo2) +println("Synthetic SpO2: $spo2") diff --git a/matlab_package/brainflow/DataFilter.m b/matlab_package/brainflow/DataFilter.m index cf1c94f8f..4e8dc2345 100644 --- a/matlab_package/brainflow/DataFilter.m +++ b/matlab_package/brainflow/DataFilter.m @@ -1,5 +1,23 @@ classdef DataFilter % DataFilter class for signal processing + methods(Static, Access = private) + function data = as_vector(data, allow_complex) + if nargin < 2; allow_complex = false; end + if ~isnumeric(data) || ~isvector(data) || isempty(data) || (~allow_complex && ~isreal(data)) + error('Input must be a nonempty numeric vector'); + end + data = reshape(double(data), 1, []); + end + + function channels = checked_channels(data, channels) + channels = DataFilter.as_vector(channels); + if ~isnumeric(data) || ~ismatrix(data) || isempty(data) || ... + any(~isfinite(channels) | channels < 1 | channels > size(data, 1) | fix(channels) ~= channels) + error('Channel indices must refer to existing rows'); + end + end + end + methods(Static) function lib_name = load_lib() @@ -79,116 +97,133 @@ function disable_data_logger() end function filtered_data = perform_lowpass(data, sampling_rate, cutoff, order, filter_type, ripple) + data = DataFilter.as_vector(data); % perform lowpass filtering task_name = 'perform_lowpass'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), sampling_rate, cutoff, order, int32(filter_type), ripple); + exit_code = calllib(lib_name, task_name, temp, numel(data), sampling_rate, cutoff, order, int32(filter_type), ripple); DataFilter.check_ec(exit_code, task_name); filtered_data = temp.Value; end function filtered_data = perform_highpass(data, sampling_rate, cutoff, order, filter_type, ripple) + data = DataFilter.as_vector(data); % perform highpass filtering task_name = 'perform_highpass'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), sampling_rate, cutoff, order, int32(filter_type), ripple); + exit_code = calllib(lib_name, task_name, temp, numel(data), sampling_rate, cutoff, order, int32(filter_type), ripple); DataFilter.check_ec(exit_code, task_name); filtered_data = temp.Value; end function filtered_data = perform_bandpass(data, sampling_rate, start_freq, stop_freq, order, filter_type, ripple) + data = DataFilter.as_vector(data); % perform bandpass filtering task_name = 'perform_bandpass'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), sampling_rate, start_freq, stop_freq, order, int32(filter_type), ripple); + exit_code = calllib(lib_name, task_name, temp, numel(data), sampling_rate, start_freq, stop_freq, order, int32(filter_type), ripple); DataFilter.check_ec(exit_code, task_name); filtered_data = temp.Value; end function filtered_data = perform_bandstop(data, sampling_rate, start_freq, stop_freq, order, filter_type, ripple) + data = DataFilter.as_vector(data); % perform bandpass filtering task_name = 'perform_bandstop'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), sampling_rate, start_freq, stop_freq, order, int32(filter_type), ripple); + exit_code = calllib(lib_name, task_name, temp, numel(data), sampling_rate, start_freq, stop_freq, order, int32(filter_type), ripple); DataFilter.check_ec(exit_code, task_name); filtered_data = temp.Value; end function filtered_data = remove_environmental_noise(data, sampling_rate, noise_type) + data = DataFilter.as_vector(data); % perform noth filtering task_name = 'remove_environmental_noise'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), sampling_rate, int32(noise_type)); + exit_code = calllib(lib_name, task_name, temp, numel(data), sampling_rate, int32(noise_type)); DataFilter.check_ec(exit_code, task_name); filtered_data = temp.Value; end function filtered_data = perform_rolling_filter(data, period, operation) + data = DataFilter.as_vector(data); % apply rolling filter task_name = 'perform_rolling_filter'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), period, int32(operation)); + exit_code = calllib(lib_name, task_name, temp, numel(data), period, int32(operation)); DataFilter.check_ec(exit_code, task_name); filtered_data = temp.Value; end function new_data = detrend(data, operation) + data = DataFilter.as_vector(data); % remove trend from data task_name = 'detrend'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), int32(operation)); + exit_code = calllib(lib_name, task_name, temp, numel(data), int32(operation)); DataFilter.check_ec(exit_code, task_name); new_data = temp.Value; end function downsampled_data = perform_downsampling(data, period, operation) + data = DataFilter.as_vector(data); % downsample data + if ~isscalar(period) || ~isfinite(period) || period < 1 || fix(period) ~= period + error('Period must be a positive integer'); + end task_name = 'perform_downsampling'; temp_input = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - temp_output = libpointer('doublePtr', zeros(1, int32(size(data,2) / period))); - exit_code = calllib(lib_name, task_name, temp_input, size(data, 2), period, int32(operation), temp_output); + temp_output = libpointer('doublePtr', zeros(1, floor(numel(data) / period))); + exit_code = calllib(lib_name, task_name, temp_input, numel(data), period, int32(operation), temp_output); DataFilter.check_ec(exit_code, task_name); downsampled_data = temp_output.Value; end function restored_data = restore_data_from_wavelet_detailed_coeffs(data, wavelet, decomposition_level, level_to_restore) + data = DataFilter.as_vector(data); % restore data from a single wavelet level task_name = 'restore_data_from_wavelet_detailed_coeffs'; temp_input = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - temp_output = libpointer('doublePtr', zeros(1, int32(size(data,2)))); - exit_code = calllib(lib_name, task_name, temp_input, size(data, 2), int32(wavelet), decomposition_level, level_to_restore, temp_output); + temp_output = libpointer('doublePtr', zeros(1, int32(numel(data)))); + exit_code = calllib(lib_name, task_name, temp_input, numel(data), int32(wavelet), decomposition_level, level_to_restore, temp_output); DataFilter.check_ec(exit_code, task_name); restored_data = temp_output.Value; end function peaks = detect_peaks_z_score(data, lag, threshold, influence) + data = DataFilter.as_vector(data); % peaks detection using z score algorithm task_name = 'detect_peaks_z_score'; temp_input = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - temp_output = libpointer('doublePtr', zeros(1, int32(size(data,2)))); - exit_code = calllib(lib_name, task_name, temp_input, size(data, 2), int32(lag), threshold, influence, temp_output); + temp_output = libpointer('doublePtr', zeros(1, int32(numel(data)))); + exit_code = calllib(lib_name, task_name, temp_input, numel(data), int32(lag), threshold, influence, temp_output); DataFilter.check_ec(exit_code, task_name); peaks = temp_output.Value; end function [wavelet_data, wavelet_sizes] = perform_wavelet_transform(data, wavelet, decomposition_level, extension) + data = DataFilter.as_vector(data); % perform wavelet transform + if ~isscalar(decomposition_level) || decomposition_level < 1 || decomposition_level > 100 || fix(decomposition_level) ~= decomposition_level + error('Invalid decomposition level'); + end task_name = 'perform_wavelet_transform'; temp_input = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - temp_output = libpointer('doublePtr', zeros(1, int32(size(data, 2) + 2 * decomposition_level * (40 + 1)))); + temp_output = libpointer('doublePtr', zeros(1, int32(numel(data) + 2 * decomposition_level * (40 + 1)))); lenghts = libpointer('int32Ptr', zeros(1, decomposition_level + 1)); - exit_code = calllib(lib_name, task_name, temp_input, size(data, 2), wavelet, decomposition_level, extension, temp_output, lenghts); + exit_code = calllib(lib_name, task_name, temp_input, numel(data), wavelet, decomposition_level, extension, temp_output, lenghts); DataFilter.check_ec(exit_code, task_name); wavelet_data = temp_output.Value(1,1: sum(lenghts.Value)); wavelet_sizes = lenghts.Value; @@ -196,28 +231,42 @@ function disable_data_logger() function original_data = perform_inverse_wavelet_transform(wavelet_data, wavelet_sizes, original_data_len, wavelet, decomposition_level, extension) % perform inverse wavelet transform - task_name = 'perform_inverse_wavelet_transform'; + wavelet_data = DataFilter.as_vector(wavelet_data); + wavelet_sizes = DataFilter.as_vector(wavelet_sizes); + if ~isscalar(original_data_len) || original_data_len < 1 || original_data_len > intmax('int32') || original_data_len > numel(wavelet_data) || fix(original_data_len) ~= original_data_len || ... + ~isscalar(decomposition_level) || decomposition_level < 1 || decomposition_level > 100 || fix(decomposition_level) ~= decomposition_level || ... + numel(wavelet_sizes) ~= decomposition_level + 1 || any(wavelet_sizes < 1 | wavelet_sizes > intmax('int32') | fix(wavelet_sizes) ~= wavelet_sizes) || ... + sum(wavelet_sizes) ~= numel(wavelet_data) + error('Invalid wavelet metadata'); + end + wavelet_sizes = int32(wavelet_sizes); + task_name = 'perform_inverse_wavelet_transform_checked'; lib_name = DataFilter.load_lib(); wavelet_data_ptr = libpointer('doublePtr', wavelet_data); wavelet_sizes_ptr = libpointer('int32Ptr', wavelet_sizes); output_ptr = libpointer('doublePtr', zeros(1, original_data_len)); - exit_code = calllib(lib_name, task_name, wavelet_data_ptr, original_data_len, wavelet, decomposition_level, extension, wavelet_sizes_ptr, output_ptr); + exit_code = calllib(lib_name, task_name, wavelet_data_ptr, numel(wavelet_data), original_data_len, wavelet, decomposition_level, extension, wavelet_sizes_ptr, numel(wavelet_sizes), output_ptr, original_data_len); DataFilter.check_ec(exit_code, task_name); original_data = output_ptr.Value; end function denoised_data = perform_wavelet_denoising(data, wavelet, decomposition_level, denoising, threshold, extention, noise_level) + data = DataFilter.as_vector(data); % perform wavelet denoising task_name = 'perform_wavelet_denoising'; temp = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp, size(data, 2), wavelet, decomposition_level, denoising, threshold, extention, noise_level); + exit_code = calllib(lib_name, task_name, temp, numel(data), wavelet, decomposition_level, denoising, threshold, extention, noise_level); DataFilter.check_ec(exit_code, task_name); denoised_data = temp.Value; end function [filters, eigenvalues] = get_csp(data, labels) % get common spatial patterns + labels = DataFilter.as_vector(labels); + if isempty(data) || ndims(data) > 3 || numel(labels) ~= size(data, 1) + error('CSP requires one label per nonempty epoch'); + end task_name = 'get_csp'; n_epochs = size(data, 1); n_channels = size(data, 2); @@ -258,55 +307,68 @@ function disable_data_logger() end function stddev = calc_stddev(data) + data = DataFilter.as_vector(data); % calc stddev task_name = 'calc_stddev'; temp_input = libpointer('doublePtr', data); output = libpointer('doublePtr', 0); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp_input, 0, size(data, 2), output); + exit_code = calllib(lib_name, task_name, temp_input, 0, numel(data), output); DataFilter.check_ec(exit_code, task_name); stddev = output.Value; end function railed = get_railed_percentage(data, gain) + data = DataFilter.as_vector(data); % calc railed percentage task_name = 'get_railed_percentage'; temp_input = libpointer('doublePtr', data); output = libpointer('doublePtr', 0); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp_input, size(data, 2), gain, output); + exit_code = calllib(lib_name, task_name, temp_input, numel(data), gain, output); DataFilter.check_ec(exit_code, task_name); railed = output.Value; end function spo2 = get_oxygen_level(ppg_ir, ppg_red, sampling_rate, coef1, coef2, coef3) + ppg_ir = DataFilter.as_vector(ppg_ir); + ppg_red = DataFilter.as_vector(ppg_red); + if numel(ppg_ir) ~= numel(ppg_red) + error('PPG array lengths must match'); + end % calc oxygen level task_name = 'get_oxygen_level'; temp_input_ir = libpointer('doublePtr', ppg_ir); temp_input_red = libpointer('doublePtr', ppg_red); output = libpointer('doublePtr', 0); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp_input_ir, temp_input_red, size(ppg_ir, 2), sampling_rate, coef1, coef2, coef3, output); + exit_code = calllib(lib_name, task_name, temp_input_ir, temp_input_red, numel(ppg_ir), sampling_rate, coef1, coef2, coef3, output); DataFilter.check_ec(exit_code, task_name); spo2 = output.Value; end function rate = get_heart_rate(ppg_ir, ppg_red, sampling_rate, fft_size) + ppg_ir = DataFilter.as_vector(ppg_ir); + ppg_red = DataFilter.as_vector(ppg_red); + if numel(ppg_ir) ~= numel(ppg_red) + error('PPG array lengths must match'); + end % calc heart rate task_name = 'get_heart_rate'; temp_input_ir = libpointer('doublePtr', ppg_ir); temp_input_red = libpointer('doublePtr', ppg_red); output = libpointer('doublePtr', 0); lib_name = DataFilter.load_lib(); - exit_code = calllib(lib_name, task_name, temp_input_ir, temp_input_red, size(ppg_ir, 2), sampling_rate, fft_size, output); + exit_code = calllib(lib_name, task_name, temp_input_ir, temp_input_red, numel(ppg_ir), sampling_rate, fft_size, output); DataFilter.check_ec(exit_code, task_name); rate = output.Value; end function fft_data = perform_fft(data, window) + data = DataFilter.as_vector(data); % perform fft task_name = 'perform_fft'; - n = size(data, 2); + n = numel(data); temp_input = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); temp_re = libpointer('doublePtr', zeros(1, int32(n / 2 + 1))); @@ -319,11 +381,12 @@ function disable_data_logger() function data = perform_ifft(fft_data) % perform inverse fft task_name = 'perform_ifft'; + fft_data = DataFilter.as_vector(fft_data, true); real_data = real(fft_data); imag_data = imag(fft_data); real_input = libpointer('doublePtr', real_data); imag_input = libpointer('doublePtr', imag_data); - output_len = 2 *(size(fft_data, 2) - 1); + output_len = 2 *(numel(fft_data) - 1); output = libpointer('doublePtr', zeros(1, output_len)); lib_name = DataFilter.load_lib(); exit_code = calllib(lib_name, task_name, real_input, imag_input, output_len, output); @@ -332,24 +395,43 @@ function disable_data_logger() end function [avg_bands, stddev_bands] = get_avg_band_powers(data, channels, sampling_rate, apply_filters) + % Normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. + % Uses get_custom_band_powers preprocessing, minimum retained length, and variation semantics. start_freqs = [2.0, 4.0, 8.0, 13.0, 30.0]; stop_freqs = [4.0, 8.0, 13.0, 30.0, 45.0]; [avg_bands, stddev_bands] = DataFilter.get_custom_band_powers(data, start_freqs, stop_freqs, channels, sampling_rate, apply_filters); end function [avg_bands, stddev_bands] = get_custom_band_powers(data, start_freqs, stop_freqs, channels, sampling_rate, apply_filters) - % calculate average band powers + % Return normalized channel-mean powers and coefficients of variation (population + % stddev / mean of absolute channel powers). Zero-power bands have zero variation; + % an all-zero total returns zero normalized powers. + % Filtering demeans and applies padded, initialized zero-phase 48-52 and 58-62 Hz + % notches only when their upper edges are below 90% of Nyquist. There is no automatic + % passband, so preprocessing is independent of the requested integration bands. + % Margins estimated from the complete cascade impulse-response tail are discarded at + % both ends; this estimate is not a guaranteed artifact bound. Supply surrounding + % samples and account for the resulting delay in live analysis. Without filtering + % there is no preprocessing or trimming. At least max(8, 2 * get_nearest_power_of_two(sampling_rate)) + % samples must remain. Data and edges must be finite; bands require + % 0 <= start < stop <= Nyquist. Mains notches also attenuate overlapping bands. + start_freqs = DataFilter.as_vector(start_freqs); + stop_freqs = DataFilter.as_vector(stop_freqs); + channels = DataFilter.checked_channels(data, channels); + if numel(start_freqs) ~= numel(stop_freqs) + error('Band start and stop lengths must match'); + end task_name = 'get_custom_band_powers'; data_1d = data(channels, :); data_1d = transpose(data_1d); data_1d = data_1d(:); temp_input = libpointer('doublePtr', data_1d); lib_name = DataFilter.load_lib(); - temp_avgs = libpointer('doublePtr', zeros(1, size(start_freqs, 2))); - temp_stddevs = libpointer('doublePtr', zeros(1, size(start_freqs, 2))); + temp_avgs = libpointer('doublePtr', zeros(1, numel(start_freqs))); + temp_stddevs = libpointer('doublePtr', zeros(1, numel(start_freqs))); temp_start = libpointer('doublePtr', start_freqs); temp_stop = libpointer('doublePtr', stop_freqs); - exit_code = calllib(lib_name, task_name, temp_input, size(channels, 2), size(data,2), temp_start, temp_stop, size(start_freqs, 2), sampling_rate, int32(apply_filters), temp_avgs, temp_stddevs); + exit_code = calllib(lib_name, task_name, temp_input, numel(channels), size(data,2), temp_start, temp_stop, numel(start_freqs), sampling_rate, int32(apply_filters), temp_avgs, temp_stddevs); DataFilter.check_ec(exit_code, task_name); avg_bands = temp_avgs.Value; stddev_bands = temp_stddevs.Value; @@ -357,6 +439,7 @@ function disable_data_logger() function [w_mat, k_mat, a_mat, s_mat] = perform_ica_select_channels(data, num_components, channels) % calculate ica + channels = DataFilter.checked_channels(data, channels); task_name = 'perform_ica'; data_1d = data(channels, :); data_1d = transpose(data_1d); @@ -364,14 +447,14 @@ function disable_data_logger() temp_input = libpointer('doublePtr', data_1d); lib_name = DataFilter.load_lib(); temp_w = libpointer('doublePtr', zeros(1, num_components * num_components)); - temp_k = libpointer('doublePtr', zeros(1, size(channels, 2) * num_components)); - temp_a = libpointer('doublePtr', zeros(1, num_components * size(channels, 2))); + temp_k = libpointer('doublePtr', zeros(1, numel(channels) * num_components)); + temp_a = libpointer('doublePtr', zeros(1, num_components * numel(channels))); temp_s = libpointer('doublePtr', zeros(1, size(data, 2) * num_components)); - exit_code = calllib(lib_name, task_name, temp_input, size(channels, 2), size(data, 2), num_components, temp_w, temp_k, temp_a, temp_s); + exit_code = calllib(lib_name, task_name, temp_input, numel(channels), size(data, 2), num_components, temp_w, temp_k, temp_a, temp_s); DataFilter.check_ec(exit_code, task_name); w_mat = transpose(reshape(temp_w.Value, [num_components, num_components])); - k_mat = transpose(reshape(temp_k.Value, [size(channels,2), num_components])); - a_mat = transpose(reshape(temp_a.Value, [num_components, size(channels, 2)])); + k_mat = transpose(reshape(temp_k.Value, [numel(channels), num_components])); + a_mat = transpose(reshape(temp_a.Value, [num_components, numel(channels)])); s_mat = transpose(reshape(temp_s.Value, [size(data, 2), num_components])); end @@ -382,9 +465,10 @@ function disable_data_logger() end function [ampls, freqs] = get_psd(data, sampling_rate, window) + data = DataFilter.as_vector(data); % calculate PSD task_name = 'get_psd'; - n = size(data, 2); + n = numel(data); temp_input = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); temp_ampls = libpointer('doublePtr', zeros(1, int32(n / 2 + 1))); @@ -396,13 +480,14 @@ function disable_data_logger() end function [ampls, freqs] = get_psd_welch(data, nfft, overlap, sampling_rate, window) + data = DataFilter.as_vector(data); % calculate PSD using welch method task_name = 'get_psd_welch'; temp_input = libpointer('doublePtr', data); lib_name = DataFilter.load_lib(); temp_ampls = libpointer('doublePtr', zeros(1, int32(nfft / 2 + 1))); temp_freqs = libpointer('doublePtr', zeros(1, int32(nfft / 2 + 1))); - exit_code = calllib(lib_name, task_name, temp_input, size(data, 2), nfft, overlap, sampling_rate, window, temp_ampls, temp_freqs); + exit_code = calllib(lib_name, task_name, temp_input, numel(data), nfft, overlap, sampling_rate, window, temp_ampls, temp_freqs); DataFilter.check_ec(exit_code, task_name); ampls = temp_ampls.Value; freqs = temp_freqs.Value; @@ -410,12 +495,17 @@ function disable_data_logger() function band_power = get_band_power(ampls, freqs, freq_start, freq_end) % calculate band power + ampls = DataFilter.as_vector(ampls); + freqs = DataFilter.as_vector(freqs); + if numel(ampls) ~= numel(freqs) + error('PSD amplitude and frequency lengths must match'); + end task_name = 'get_band_power'; temp_input_ampl = libpointer('doublePtr', ampls); temp_input_freq = libpointer('doublePtr', freqs); lib_name = DataFilter.load_lib(); temp_band = libpointer('doublePtr', 0); - exit_code = calllib(lib_name, task_name, temp_input_ampl, temp_input_freq, size(ampls, 2), freq_start, freq_end, temp_band); + exit_code = calllib(lib_name, task_name, temp_input_ampl, temp_input_freq, numel(ampls), freq_start, freq_end, temp_band); DataFilter.check_ec(exit_code, task_name); band_power = temp_band.Value; end @@ -465,16 +555,19 @@ function write_file(data, file_name, file_mode) if nargin < 4 error('accel_x, accel_y, accel_z, and sampling_rate are required'); end + accel_x = DataFilter.as_vector(accel_x); + accel_y = DataFilter.as_vector(accel_y); + accel_z = DataFilter.as_vector(accel_z); if isempty(accel_x) || isempty(accel_y) || isempty(accel_z) error('Input arrays must not be empty'); end - if size(accel_x, 2) ~= size(accel_y, 2) || size(accel_x, 2) ~= size(accel_z, 2) + if numel(accel_x) ~= numel(accel_y) || numel(accel_x) ~= numel(accel_z) error('Length of accel_x, accel_y, and accel_z must match'); end if floor(sampling_rate) ~= sampling_rate || sampling_rate <= 0 error('Sampling rate must be a positive integer'); end - data_len = size(accel_x, 2); + data_len = numel(accel_x); if data_len < sampling_rate error('Data length must be at least one second'); end @@ -507,4 +600,4 @@ function write_file(data, file_name, file_mode) end -end \ No newline at end of file +end diff --git a/matlab_package/brainflow/MLModel.m b/matlab_package/brainflow/MLModel.m index e4c15582d..ac9fc87d5 100644 --- a/matlab_package/brainflow/MLModel.m +++ b/matlab_package/brainflow/MLModel.m @@ -5,6 +5,11 @@ input_params end + properties(Access = private) + model_json + output_capacity + end + methods(Static) function lib_name = load_lib() @@ -96,15 +101,25 @@ function disable_ml_logger() methods function obj = MLModel(params) + capacity = params.max_array_size; + if ~isnumeric(capacity) || ~isreal(capacity) || ~isscalar(capacity) || ... + ~isfinite(capacity) || capacity < 1 || capacity ~= fix(capacity) || ... + capacity > double(intmax('int32')) + error('max_array_size must be a positive int32 integer'); + end obj.input_json = params.to_json(); obj.input_params = params; + % Public parameter copies remain available for inspection. Native + % lookup and allocation always use the original matching snapshot. + obj.model_json = obj.input_json; + obj.output_capacity = double(capacity); end function prepare(obj) % prepare model task_name = 'prepare'; lib_name = MLModel.load_lib(); - exit_code = calllib(lib_name, task_name, obj.input_json); + exit_code = calllib(lib_name, task_name, obj.model_json); MLModel.check_ec(exit_code, task_name); end @@ -112,22 +127,32 @@ function release(obj) % release model task_name = 'release'; lib_name = MLModel.load_lib(); - exit_code = calllib(lib_name, task_name, obj.input_json); + exit_code = calllib(lib_name, task_name, obj.model_json); MLModel.check_ec(exit_code, task_name); end function score = predict(obj, input_data) % perform inference for input data + if ~isnumeric(input_data) || ~isreal(input_data) || ~isvector(input_data) || ... + isempty(input_data) || numel(input_data) > double(intmax('int32')) || ... + any(~isfinite(input_data(:))) + error('Prediction input must be a nonempty finite real vector'); + end + input_data = full(double(input_data(:).')); task_name = 'predict'; lib_name = MLModel.load_lib(); - score_temp = libpointer('doublePtr', obj.input_params.max_array_size); + score_temp = libpointer('doublePtr', zeros(1, obj.output_capacity, 'double')); len = libpointer('int32Ptr', 0); input_data_temp = libpointer('doublePtr', input_data); - exit_code = calllib(lib_name, task_name, input_data_temp, size(input_data, 2), score_temp, len, obj.input_json); + exit_code = calllib(lib_name, task_name, input_data_temp, numel(input_data), score_temp, len, obj.model_json); MLModel.check_ec(exit_code, task_name); - score = score_temp.Value(1,1:len.Value); + output_length = double(len.Value); + if output_length < 0 || output_length > obj.output_capacity + error('Native prediction length exceeds the output buffer'); + end + score = score_temp.Value(1, 1:output_length); end end -end \ No newline at end of file +end diff --git a/matlab_package/brainflow/examples/ICA.m b/matlab_package/brainflow/examples/ICA.m index 2791769f5..ae5915461 100644 --- a/matlab_package/brainflow/examples/ICA.m +++ b/matlab_package/brainflow/examples/ICA.m @@ -1,15 +1,8 @@ -params = BrainFlowInputParams(); -board_shim = BoardShim(int32(BoardIds.SYNTHETIC_BOARD), params); -preset = int32(BrainFlowPresets.DEFAULT_PRESET); -board_shim.prepare_session(); -board_shim.start_stream(45000, ''); -pause(10); -board_shim.stop_stream(); -data = board_shim.get_board_data(500, preset); -board_shim.release_session(); - -eeg_channels = BoardShim.get_eeg_channels(int32(BoardIds.SYNTHETIC_BOARD), preset); -selected_channel = eeg_channels(4); -original_data = data(selected_channel, :); -original_data = transpose(reshape(original_data, [100, 5])); -[w,k,a,s] = DataFilter.perform_ica(original_data, 2); \ No newline at end of file +% Two simultaneous mixtures: rows are channels and columns are samples. +time = (0:1023) / 256; +first = sin(2 * pi * 7 * time); +second = sin(2 * pi * 13 * time).^3; +data = [first + 0.3 * second; 0.2 * first + second]; +[w, k, a, s] = DataFilter.perform_ica(data, 2); +% Component order and sign are arbitrary. +fprintf('Recovered %d sources from %d samples\n', size(s, 1), size(s, 2)); diff --git a/matlab_package/brainflow/examples/Spo2.m b/matlab_package/brainflow/examples/Spo2.m index 8647186dd..3e95b057f 100644 --- a/matlab_package/brainflow/examples/Spo2.m +++ b/matlab_package/brainflow/examples/Spo2.m @@ -1,25 +1,11 @@ -BoardShim.enable_dev_board_logger(); -DataFilter.enable_dev_data_logger(); -DataFilter.set_log_file('data.log'); +% Fifteen seconds of shared red/IR pulsatility, including filter settling margins. +sampling_rate = int32(128); +time = (0:(15 * double(sampling_rate) - 1)) / double(sampling_rate); +pulse = sin(2 * pi * 1.2 * time) + 0.15 * sin(2 * pi * 2.4 * time); +ir_data = 100000 + 1000 * pulse; +red_data = 80000 + 400 * pulse; -params = BrainFlowInputParams(); -board_shim = BoardShim(int32(BoardIds.SYNTHETIC_BOARD), params); -board_id = int32(BoardIds.SYNTHETIC_BOARD); -preset = int32(BrainFlowPresets.DEFAULT_PRESET); -board_descr = BoardShim.get_board_descr(board_id, preset); -sampling_rate = int32(board_descr.sampling_rate); -board_shim.prepare_session(); -board_shim.start_stream(45000, ''); -pause(200); -board_shim.stop_stream(); -nfft = DataFilter.get_nearest_power_of_two(sampling_rate); -data = board_shim.get_board_data(board_shim.get_board_data_count(preset), preset); -board_shim.release_session(); - -ppg_channels = board_descr.ppg_channels; -ir_channel = ppg_channels(1); -red_channel = ppg_channels(2); -ir_data = data(ir_channel, :); -red_data = data(red_channel, :); +% Example calibration coefficients; real sensors require their own calibration. spo2 = DataFilter.get_oxygen_level(ir_data, red_data, sampling_rate, 0.0, -37.663, 114.91); -heart_rate = DataFilter.get_heart_rate(ir_data, red_data, sampling_rate, 1024); \ No newline at end of file +heart_rate = DataFilter.get_heart_rate(ir_data, red_data, sampling_rate, 1024); +fprintf('Synthetic SpO2: %.2f; heart rate: %.2f bpm\n', spo2, heart_rate); diff --git a/matlab_package/brainflow/examples/binding_validation_regression.m b/matlab_package/brainflow/examples/binding_validation_regression.m new file mode 100644 index 000000000..3fe6ebb22 --- /dev/null +++ b/matlab_package/brainflow/examples/binding_validation_regression.m @@ -0,0 +1,31 @@ +function binding_validation_regression() +% Run with regenerated DataHandler library and header on the MATLAB path. + data = sin(2 * pi * 10 * (0:1024) / 256); + assert(abs(DataFilter.calc_stddev(data) - DataFilter.calc_stddev(data.')) < 1e-12); + [a, f] = DataFilter.get_psd_welch(data.', 256, 128, 256, int32(WindowOperations.HANNING)); + assert(numel(a) == 129 && numel(f) == 129 && f(end) == 128); + [coeffs, lengths] = DataFilter.perform_wavelet_transform(data.', int32(WaveletTypes.DB3), 2, int32(WaveletExtensionTypes.SYMMETRIC)); + restored = DataFilter.perform_inverse_wavelet_transform(coeffs.', lengths.', numel(data), int32(WaveletTypes.DB3), 2, int32(WaveletExtensionTypes.SYMMETRIC)); + assert(max(abs(restored - data)) < 1e-10); + rejects(@() DataFilter.perform_inverse_wavelet_transform(coeffs(1), lengths, numel(data), int32(WaveletTypes.DB3), 2, int32(WaveletExtensionTypes.SYMMETRIC))); + rejects(@() DataFilter.perform_inverse_wavelet_transform(coeffs, lengths, 64, int32(WaveletTypes.DB3), 2, int32(WaveletExtensionTypes.SYMMETRIC))); + rejects(@() DataFilter.get_band_power([1, 1], 0, 0, 1)); + rejects(@() DataFilter.get_csp(zeros(4, 2, 20), zeros(3, 1))); + rejects(@() DataFilter.get_heart_rate([1, 2], 1, 256, 256)); + bands = [2; 8]; + stops = [4; 12]; + matrix = [data; 2 * data]; + [column_bands, ~] = DataFilter.get_custom_band_powers(matrix, bands, stops, [1; 2], 256, false); + [row_bands, ~] = DataFilter.get_custom_band_powers(matrix, bands.', stops.', [1, 2], 256, false); + assert(max(abs(column_bands - row_bands)) < 1e-12); + disp('Binding validation regressions passed'); +end + +function rejects(action) + try + action(); + catch + return; + end + error('Expected invalid input to be rejected'); +end diff --git a/matlab_package/brainflow/examples/ml_model_validation_regression.m b/matlab_package/brainflow/examples/ml_model_validation_regression.m new file mode 100644 index 000000000..9de68ed98 --- /dev/null +++ b/matlab_package/brainflow/examples/ml_model_validation_regression.m @@ -0,0 +1,54 @@ +function ml_model_validation_regression(onnx_file, output_name) +% Run with current MLModule library/header on the MATLAB path. Optionally pass +% a binary ONNX classifier with five inputs and two probability outputs. + data = [0.1, 0.1, 0.3, 0.3, 0.2]; + params = BrainFlowModelParams(int32(0), int32(0)); + params.max_array_size = 2; + model = MLModel(params); + model.prepare(); + cleanup = onCleanup(@() model.release()); + expected = model.predict(data); + assert(numel(expected) == 1 && isfinite(expected) && expected >= 0 && expected <= 1); + assert(isequal(model.predict(data.'), expected)); + assert(isequal(model.predict(sparse(data)), expected)); + model.input_params.max_array_size = 1; + model.input_json = '{}'; + assert(isequal(model.predict(data), expected)); + rejects(@() model.predict([])); + rejects(@() model.predict(ones(2, 3))); + rejects(@() model.predict([NaN, data(2:end)])); + rejects(@() model.predict(complex(data, ones(size(data))))); + clear cleanup; + for invalid = {0, -1, 1.5, NaN, Inf, double(intmax('int32')) + 1} + params.max_array_size = invalid{1}; + rejects(@() MLModel(params)); + end + if nargin >= 1 + if nargin < 2 + output_name = 'probabilities'; + end + params = BrainFlowModelParams(int32(2), int32(2)); + params.file = onnx_file; + params.output_name = output_name; + params.max_array_size = 2; + model = MLModel(params); + model.prepare(); + cleanup = onCleanup(@() model.release()); + model.input_params.max_array_size = 1; + for iteration = 1:20 + result = model.predict(data.'); + assert(numel(result) == 2 && all(isfinite(result)) && abs(sum(result) - 1) < 1e-6); + end + clear cleanup; + end + disp('ML model binding validation regressions passed'); +end + +function rejects(action) + try + action(); + catch + return; + end + error('Expected invalid input to be rejected'); +end diff --git a/nodejs_package/brainflow/data_filter.ts b/nodejs_package/brainflow/data_filter.ts index 05660cece..a872308b5 100644 --- a/nodejs_package/brainflow/data_filter.ts +++ b/nodejs_package/brainflow/data_filter.ts @@ -48,8 +48,8 @@ class DataHandlerDLL extends DataHandlerFunctions this.getNumElementsInFile = this.lib.func(CLike.get_num_elements_in_file); this.performDownsampling = this.lib.func(CLike.perform_downsampling); this.performWaveletTransform = this.lib.func(CLike.perform_wavelet_transform); - this.performInverseWaveletTransform = - this.lib.func(CLike.perform_inverse_wavelet_transform); + this.performInverseWaveletTransformChecked = + this.lib.func(CLike.perform_inverse_wavelet_transform_checked); this.performWaveletDenoising = this.lib.func(CLike.perform_wavelet_denoising); this.getWindow = this.lib.func(CLike.get_window); this.performFft = this.lib.func(CLike.perform_fft); @@ -121,6 +121,69 @@ class DataHandlerDLL extends DataHandlerFunctions export class DataFilter { + private static checkMatrix(data: number[][], requireFinite = false): number + { + if (!Array.isArray(data) || data.length === 0 || !Array.isArray(data[0]) || data[0].length === 0) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Input matrix must be non-empty'); + } + const columns = data[0].length; + if (data.length * columns > 2147483647) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Input matrix must be rectangular and fit native dimensions'); + } + // Value iteration also rejects sparse arrays, whose holes flat() would omit. + for (const row of data) + { + if (!Array.isArray(row) || row.length !== columns) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Input matrix must be rectangular'); + } + if (requireFinite) + { + for (const value of row) + { + if (!Number.isFinite(value)) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Input matrix must contain finite numbers'); + } + } + } + } + return columns; + } + + private static checkChannels(data: number[][], channels: number[], columns: number): void + { + if (!Array.isArray(channels) || channels.length === 0 || channels.length * columns > 2147483647) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid channel selection'); + } + for (const channel of channels) + { + if (!Number.isInteger(channel) || channel < 0 || channel >= data.length) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid channel selection'); + } + for (const value of data[channel]) + { + if (!Number.isFinite(value)) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Selected channels must contain finite numbers'); + } + } + } + } + + private static checkPairedArrays(first: number[], second: number[]): void + { + if (!Array.isArray(first) || !Array.isArray(second) || first.length !== second.length) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, + 'Input array lengths must match'); + } + } + // logging methods public static setLogLevel(logLevel: LogLevels): void { @@ -231,13 +294,10 @@ export class DataFilter public static writeFile(data: number[][], file: string, mode: string) { - if (data.length == 0) - { - throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Empty data'); - } + const columns = DataFilter.checkMatrix(data, true); const flat = data.flat(); const res = - DataHandlerDLL.getInstance().writeFile(flat, data.length, data[0].length, file, mode); + DataHandlerDLL.getInstance().writeFile(flat, data.length, columns, file, mode); if (res !== BrainFlowExitCodes.STATUS_OK) { throw new BrainFlowError (res, 'Could not write file'); @@ -303,6 +363,7 @@ export class DataFilter public static getOxygenLevel(ppgIr: number[], ppgRed: number[], samplingRate: number, coef1 = 1.5958422, coef2 = -34.6596622, coef3 = 112.6898759): number { + this.checkPairedArrays(ppgIr, ppgRed); const output = [0]; const res = DataHandlerDLL.getInstance().getOxygenLevel( ppgIr, ppgRed, ppgIr.length, samplingRate, coef1, coef2, coef3, output); @@ -316,6 +377,7 @@ export class DataFilter public static getHeartRate( ppgIr: number[], ppgRed: number[], samplingRate: number, fftSize: number): number { + this.checkPairedArrays(ppgIr, ppgRed); const output = [0]; const res = DataHandlerDLL.getInstance().getHeartRate( ppgIr, ppgRed, ppgIr.length, samplingRate, fftSize, output); @@ -326,18 +388,41 @@ export class DataFilter return output[0]; } + /** + * Return normalized channel-mean band powers and coefficients of variation (population + * stddev / mean of absolute channel powers). Zero-power bands have zero variation; + * an all-zero total returns zero normalized powers. + * Filtering demeans and applies padded, initialized zero-phase 48-52 and 58-62 Hz + * notches only when their upper edges are below 90% of Nyquist. There is no automatic + * passband, so preprocessing is independent of the requested integration bands. + * Margins estimated from the complete cascade impulse-response tail are discarded at + * both ends; this estimate is not a guaranteed artifact bound. Supply surrounding + * samples and account for the resulting delay in live analysis. Without filtering + * there is no preprocessing or trimming. At least max(8, 2 * getNearestPowerOfTwo(samplingRate)) + * samples must remain. Data and edges must be finite; bands require + * 0 <= start < stop <= Nyquist. Mains notches also attenuate overlapping bands. + */ public static getCustomBandPowers(data: number[][], bands: number[][], channels: number[], samplingRate: number, applyFilters = true): [number[], number[]] { - if ((data.length == 0) || (bands.length == 0) || (channels.length == 0)) + const columns = DataFilter.checkMatrix(data); + DataFilter.checkChannels(data, channels, columns); + if (!Array.isArray(bands) || bands.length === 0 || bands.length > 2147483647) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Bands must contain finite start/stop pairs'); + } + for (const band of bands) { - throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Empty data'); + if (!Array.isArray(band) || band.length !== 2 || !Number.isFinite(band[0]) || !Number.isFinite(band[1])) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Bands must contain finite start/stop pairs'); + } } var i: number; var j: number; const avgBands = [...new Array (bands.length).fill(0)]; const stddevBands = [...new Array (bands.length).fill(0)]; - const data1D = [...new Array (data[0].length * channels.length).fill(0)]; + const data1D = [...new Array (columns * channels.length).fill(0)]; const startFreqs = [...new Array (bands.length).fill(0)]; const stopFreqs = [...new Array (bands.length).fill(0)]; for (i = 0; i < bands.length; i++) @@ -347,13 +432,13 @@ export class DataFilter } for (i = 0; i < channels.length; i++) { - for (j = 0; j < data[0].length; j++) + for (j = 0; j < columns; j++) { - data1D[j + data[0].length * i] = data[channels[i]][j]; + data1D[j + columns * i] = data[channels[i]][j]; } } const res = DataHandlerDLL.getInstance().getCustomBandPowers(data1D, channels.length, - data[0].length, startFreqs, stopFreqs, bands.length, samplingRate, + columns, startFreqs, stopFreqs, bands.length, samplingRate, Number (applyFilters), avgBands, stddevBands); if (res !== BrainFlowExitCodes.STATUS_OK) { @@ -362,6 +447,10 @@ export class DataFilter return [avgBands, stddevBands]; } + /** + * Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. + * Uses getCustomBandPowers preprocessing, minimum retained length, and variation semantics. + */ public static getAvgBandPowers(data: number[][], channels: number[], samplingRate: number, applyFilters = true): [number[], number[]] { @@ -459,12 +548,13 @@ export class DataFilter public static getPsdWelch(data: number[], nfft: number, overlap: number, samplingRate: number, windowType: WindowOperations): [number[], number[]] { - if (data.length % 2 != 0) + if (!Number.isInteger(nfft) || nfft < 2 || nfft > data.length || nfft % 2 !== 0 || + !Number.isInteger(overlap) || overlap < 0 || overlap >= nfft) { throw new BrainFlowError ( - BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, "invalid input length"); + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid Welch segment size or overlap'); } - const outputLen = Math.trunc(data.length / 2 + 1); + const outputLen = nfft / 2 + 1; const ampls = [...new Array (outputLen).fill(0)]; const freqs = [...new Array (outputLen).fill(0)]; const res = DataHandlerDLL.getInstance().getPsdWelch( @@ -479,6 +569,11 @@ export class DataFilter public static getBandPower( psd: [number[], number[]], startFreq: number, stopFreq: number): number { + if (!Array.isArray(psd) || psd.length !== 2) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid PSD pair'); + } + this.checkPairedArrays(psd[0], psd[1]); const output = [0]; const res = DataHandlerDLL.getInstance().getBandPower( psd[0], psd[1], psd[0].length, startFreq, stopFreq, output); @@ -492,6 +587,10 @@ export class DataFilter public static performWaveletTransform(data: number[], wavelet: WaveletTypes, decompositionLevel: number, extension: WaveletExtensionTypes): [number[], number[]] { + if (!Number.isInteger(decompositionLevel) || decompositionLevel < 1 || decompositionLevel > 100) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid decomposition level'); + } const waveletCoeffs = [...new Array (data.length + 2 * decompositionLevel * (40 + 1)).fill(0)]; const lengths = [...new Array (decompositionLevel + 1).fill(0)]; const res = DataHandlerDLL.getInstance().performWaveletTransform( @@ -509,9 +608,21 @@ export class DataFilter originalLen: number, wavelet: WaveletTypes, decompositionLevel: number, extension: WaveletExtensionTypes): number[] { + if (!Number.isInteger(originalLen) || originalLen < 1 || originalLen > 2147483647 || + !Number.isInteger(decompositionLevel) || decompositionLevel < 1 || decompositionLevel > 100 || + !Array.isArray(waveletData) || waveletData.length !== 2 || + !Array.isArray(waveletData[0]) || !Array.isArray(waveletData[1]) || + originalLen > waveletData[0].length || waveletData[0].length > 2147483647 || + waveletData[1].length !== decompositionLevel + 1 || + waveletData[1].some(n => !Number.isInteger(n) || n < 1 || n > 2147483647) || + waveletData[1].reduce((a, b) => a + b, 0) !== waveletData[0].length) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid wavelet metadata'); + } const output = [...new Array (originalLen).fill(0)]; - const res = DataHandlerDLL.getInstance().performInverseWaveletTransform(waveletData[0], - originalLen, wavelet, decompositionLevel, extension, waveletData[1], output); + const res = DataHandlerDLL.getInstance().performInverseWaveletTransformChecked(waveletData[0], + waveletData[0].length, originalLen, wavelet, decompositionLevel, extension, + waveletData[1], waveletData[1].length, output, output.length); if (res !== BrainFlowExitCodes.STATUS_OK) { throw new BrainFlowError (res, 'Could not calc inverse wavelet transform'); @@ -548,28 +659,31 @@ export class DataFilter public static performIca(data: number[][], numComponents: number, channels: number[]): [number[][], number[][], number[][], number[][]] { - if (data.length < 1) + const columns = DataFilter.checkMatrix(data); + DataFilter.checkChannels(data, channels, columns); + if (!Number.isInteger(numComponents) || numComponents < 2 || numComponents > channels.length || + columns < 2 || channels.length * numComponents > 2147483647) { - throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, "empty data"); + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid ICA dimensions'); } var i: number; var j: number; - const data1D = [...new Array (data[0].length * channels.length).fill(0)]; + const data1D = [...new Array (columns * channels.length).fill(0)]; const w = [...new Array (numComponents * numComponents).fill(0)]; const k = [...new Array (channels.length * numComponents).fill(0)]; const a = [...new Array (numComponents * channels.length).fill(0)]; - const s = [...new Array (data[0].length * numComponents).fill(0)]; + const s = [...new Array (columns * numComponents).fill(0)]; for (i = 0; i < channels.length; i++) { - for (j = 0; j < data[0].length; j++) + for (j = 0; j < columns; j++) { - data1D[j + data[0].length * i] = data[channels[i]][j]; + data1D[j + columns * i] = data[channels[i]][j]; } } const res = DataHandlerDLL.getInstance().performIca( - data1D, channels.length, data[0].length, numComponents, w, k, a, s); + data1D, channels.length, columns, numComponents, w, k, a, s); if (res !== BrainFlowExitCodes.STATUS_OK) { throw new BrainFlowError (res, 'Could not perform ica'); @@ -585,7 +699,7 @@ export class DataFilter aOut.push(a.splice(0, numComponents)); const sOut: number[][] = []; while (s.length) - sOut.push(s.splice(0, data[0].length)); + sOut.push(s.splice(0, columns)); return [wOut, kOut, aOut, sOut]; } @@ -600,6 +714,11 @@ export class DataFilter public static calcStddev(data: number[], startPos: number, stopPos: number): number { + if (!Number.isInteger(startPos) || !Number.isInteger(stopPos) || + startPos < 0 || stopPos <= startPos || stopPos > data.length) + { + throw new BrainFlowError (BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR, 'Invalid standard deviation span'); + } const output = [0]; const res = DataHandlerDLL.getInstance().calcStddev(data, startPos, stopPos, output); if (res !== BrainFlowExitCodes.STATUS_OK) diff --git a/nodejs_package/brainflow/functions.types.ts b/nodejs_package/brainflow/functions.types.ts index f48742744..2a2c41d45 100644 --- a/nodejs_package/brainflow/functions.types.ts +++ b/nodejs_package/brainflow/functions.types.ts @@ -338,8 +338,8 @@ export enum DataHandlerCLikeFunctions { 'int perform_downsampling (double *data, int data_len, int period, int agg_operation, _Inout_ double *output_data)', perform_wavelet_transform = 'int perform_wavelet_transform (double *data, int data_len, int wavelet, int decomposition_level, int extension, _Inout_ double *output_data, _Inout_ int *decomposition_lengths)', - perform_inverse_wavelet_transform = - 'int perform_inverse_wavelet_transform (double *wavelet_coeffs, int original_data_len, int wavelet, int decomposition_level, int extension, int *decomposition_lengths, _Inout_ double *output_data)', + perform_inverse_wavelet_transform_checked = + 'int perform_inverse_wavelet_transform_checked (double *wavelet_coeffs, int coeff_count, int original_data_len, int wavelet, int decomposition_level, int extension, int *decomposition_lengths, int lengths_count, _Inout_ double *output_data, int output_count)', perform_wavelet_denoising = 'int perform_wavelet_denoising (_Inout_ double *data, int data_len, int wavelet, int decomposition_level, int wavelet_denoising, int threshold, int extenstion_type, int noise_level)', get_window = @@ -411,9 +411,9 @@ export class DataHandlerFunctions performWaveletTransform!: (data: number[], dataLen: number, wavelet: WaveletTypes, decompositionLevel: number, extension: WaveletExtensionTypes, outputData: number[], decompositionLengths: number[]) => BrainFlowExitCodes; - performInverseWaveletTransform!: (waveletCoeffs: number[], originalDataLen: number, + performInverseWaveletTransformChecked!: (waveletCoeffs: number[], coeffCount: number, originalDataLen: number, wavelet: WaveletTypes, decompositionLevel: number, extension: WaveletExtensionTypes, - decompositionLengths: number[], outputData: number[]) => BrainFlowExitCodes; + decompositionLengths: number[], lengthsCount: number, outputData: number[], outputCount: number) => BrainFlowExitCodes; performWaveletDenoising!: (data: number[], dataLen: number, wavelet: WaveletTypes, decompositionLevel: number, waveletDenoising: WaveletDenoisingTypes, threshold: ThresholdTypes, extenstionType: WaveletExtensionTypes, diff --git a/nodejs_package/tests/bandpower_all.ts b/nodejs_package/tests/bandpower_all.ts index b56172204..5c3d623f3 100644 --- a/nodejs_package/tests/bandpower_all.ts +++ b/nodejs_package/tests/bandpower_all.ts @@ -11,7 +11,8 @@ async function runExample (): Promise const board = new BoardShim (boardId, {}); board.prepareSession(); board.startStream(); - await sleep (4000); + // Include filter settling margins around the retained analysis interval. + await sleep (10000); board.stopStream(); const data = board.getBoardData(); board.releaseSession() diff --git a/nodejs_package/tests/binding_validation_regression.ts b/nodejs_package/tests/binding_validation_regression.ts new file mode 100644 index 000000000..6d77a1c97 --- /dev/null +++ b/nodejs_package/tests/binding_validation_regression.ts @@ -0,0 +1,50 @@ +import assert from 'assert'; +import {DataFilter, BrainFlowError, WaveletTypes, WaveletExtensionTypes, WindowOperations} from 'brainflow'; + +assert.throws(() => DataFilter.getBandPower([[1, 1], [0]], 0, 1), BrainFlowError); +assert.throws(() => DataFilter.calcStddev([1, 2], 0, 3), BrainFlowError); +assert.throws(() => DataFilter.calcStddev([1, 2], -1, 2), BrainFlowError); +assert.throws(() => DataFilter.getOxygenLevel([1, 2], [1], 256), BrainFlowError); +assert.throws(() => DataFilter.getHeartRate([1, 2], [1], 256, 256), BrainFlowError); +for (const ragged of [[[1, 2], [3]], [[1], [2, 3]], [[], []]]) +{ + assert.throws(() => DataFilter.performIca(ragged, 2, [0, 1]), BrainFlowError); + assert.throws(() => DataFilter.getCustomBandPowers(ragged, [[0, 1]], [0, 1], 256, false), BrainFlowError); + assert.throws(() => DataFilter.writeFile(ragged, 'invalid-matrix-must-not-be-written.tsv', 'w'), BrainFlowError); +} +const sparseRows: number[][] = new Array(2); +sparseRows[0] = [1, 2]; +assert.throws(() => DataFilter.writeFile(sparseRows, 'invalid-matrix-must-not-be-written.tsv', 'w'), BrainFlowError); +assert.throws(() => DataFilter.writeFile([new Array(2), [1, 2]], 'invalid-matrix-must-not-be-written.tsv', 'w'), BrainFlowError); +for (const channels of [[-1], [2], [0.5], []]) +{ + assert.throws(() => DataFilter.performIca([[1, 2], [3, 4]], 2, channels), BrainFlowError); + assert.throws(() => DataFilter.getCustomBandPowers([[1, 2], [3, 4]], [[0, 1]], channels, 256, false), BrainFlowError); +} +for (const components of [0, 1, 3, 1.5, Number.NaN, Number.POSITIVE_INFINITY]) +{ + assert.throws(() => DataFilter.performIca([[1, 2], [3, 4]], components, [0, 1]), BrainFlowError); +} +assert.throws(() => DataFilter.getCustomBandPowers([[1, 2]], [[0]], [0], 256, false), BrainFlowError); +assert.throws(() => DataFilter.performInverseWaveletTransform( + [[0], [19, 19, 34]], 64, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC), BrainFlowError); +for (const originalLength of [4, 1073741823, 2147483647]) +{ + assert.throws(() => DataFilter.performInverseWaveletTransform( + [[0, 0], [1, 1]], originalLength, WaveletTypes.HAAR, 1, WaveletExtensionTypes.PERIODIC), BrainFlowError); +} + +const signal = Array.from({length: 1025}, (_, i) => Math.sin(2 * Math.PI * 10 * i / 256)); +const [selectedPowers] = DataFilter.getCustomBandPowers( + [signal, new Array(signal.length).fill(Number.NaN)], [[8, 12]], [0, 0], 256, false); +assert.strictEqual(selectedPowers[0], 1); +const [amplitudes, frequencies] = DataFilter.getPsdWelch(signal, 256, 128, 256, WindowOperations.HANNING); +assert.strictEqual(amplitudes.length, 129); +assert.strictEqual(frequencies.length, 129); +assert.strictEqual(frequencies[128], 128); +const transformed = DataFilter.performWaveletTransform(signal, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC); +const restored = DataFilter.performInverseWaveletTransform(transformed, signal.length, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC); +assert.ok(restored.every((value, i) => Math.abs(value - signal[i]) < 1e-10)); +assert.throws(() => DataFilter.performInverseWaveletTransform( + transformed, 64, WaveletTypes.DB3, 2, WaveletExtensionTypes.SYMMETRIC), BrainFlowError); +console.log('Binding validation regressions passed'); diff --git a/nodejs_package/tests/eeg_metrics.ts b/nodejs_package/tests/eeg_metrics.ts index ebd25c6b6..695a72271 100644 --- a/nodejs_package/tests/eeg_metrics.ts +++ b/nodejs_package/tests/eeg_metrics.ts @@ -18,7 +18,8 @@ async function runExample (): Promise const board = new BoardShim (boardId, {}); board.prepareSession(); board.startStream(); - await sleep (3000); + // Include enough data for Welch estimation after trimming filter transients. + await sleep (8000); board.stopStream(); const data = board.getBoardData(); board.releaseSession(); diff --git a/nodejs_package/tests/ica.ts b/nodejs_package/tests/ica.ts index 5d6a376ed..731ae53a1 100644 --- a/nodejs_package/tests/ica.ts +++ b/nodejs_package/tests/ica.ts @@ -1,27 +1,16 @@ -import {BoardIds, BoardShim, DataFilter} from 'brainflow'; +import {DataFilter} from 'brainflow'; -function sleep (ms: number) +// Two simultaneous mixtures: rows are channels and columns are samples. +const samples = 1024; +const data: number[][] = [[], []]; +for (let i = 0; i < samples; i++) { - return new Promise ((resolve) => { setTimeout (resolve, ms); }); + const t = i / 256; + const first = Math.sin(2 * Math.PI * 7 * t); + const second = Math.pow(Math.sin(2 * Math.PI * 13 * t), 3); + data[0].push(first + 0.3 * second); + data[1].push(0.2 * first + second); } - -async function runExample (): Promise -{ - const boardId = BoardIds.SYNTHETIC_BOARD; - const board = new BoardShim (boardId, {}); - board.prepareSession(); - board.startStream(); - await sleep (10000); - board.stopStream(); - const data = board.getCurrentBoardData(500); - board.releaseSession(); - const eegChannels = BoardShim.getEegChannels(boardId); - const eegData = data[eegChannels[0]]; - const eeg2D: number[][] = []; - while (eegData.length) - eeg2D.push(eegData.splice(0, 100)); - const icaData = DataFilter.performIca(eeg2D, 2, [0, 1, 2, 3, 4]); - console.info(icaData[3]); -} - -runExample (); +const ica = DataFilter.performIca(data, 2, [0, 1]); +// Component order and sign are arbitrary. +console.info(`Recovered ${ica[3].length} sources from ${samples} samples`); diff --git a/python_package/brainflow/data_filter.py b/python_package/brainflow/data_filter.py index 10d11fb5b..e1abd5835 100644 --- a/python_package/brainflow/data_filter.py +++ b/python_package/brainflow/data_filter.py @@ -379,16 +379,19 @@ def __init__(self): ndpointer(ctypes.c_double) ] - self.perform_inverse_wavelet_transform = self.lib.perform_inverse_wavelet_transform - self.perform_inverse_wavelet_transform.restype = ctypes.c_int - self.perform_inverse_wavelet_transform.argtypes = [ - ndpointer(ctypes.c_double), + self.perform_inverse_wavelet_transform_checked = self.lib.perform_inverse_wavelet_transform_checked + self.perform_inverse_wavelet_transform_checked.restype = ctypes.c_int + self.perform_inverse_wavelet_transform_checked.argtypes = [ + ndpointer(ctypes.c_double, ndim=1, flags='C_CONTIGUOUS'), ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_int, - ndpointer(ctypes.c_int32), - ndpointer(ctypes.c_double) + ctypes.c_int, + ndpointer(ctypes.c_int32, ndim=1, flags='C_CONTIGUOUS'), + ctypes.c_int, + ndpointer(ctypes.c_double, ndim=1, flags=('C_CONTIGUOUS', 'WRITEABLE')), + ctypes.c_int ] self.get_csp = self.lib.get_csp @@ -478,6 +481,46 @@ def __init__(self): ndpointer(ctypes.c_double) ] + self.perform_ica_with_options = self.lib.perform_ica_with_options + self.perform_ica_with_options.restype = ctypes.c_int + self.perform_ica_with_options.argtypes = self.perform_ica.argtypes + [ + ctypes.c_int, ctypes.c_double, ctypes.c_int] + + self.create_streaming_filter = self.lib.create_streaming_filter + self.create_streaming_filter.restype = ctypes.c_int + self.create_streaming_filter.argtypes = [ + ctypes.c_int, ctypes.c_int, ctypes.c_double, ctypes.c_double, + ctypes.c_int, ctypes.c_int, ctypes.c_double, ndpointer(ctypes.c_int32)] + self.get_filter_settling_samples = self.lib.get_filter_settling_samples + self.get_filter_settling_samples.restype = ctypes.c_int + self.get_filter_settling_samples.argtypes = self.create_streaming_filter.argtypes + self.perform_streaming_filter = self.lib.perform_streaming_filter + self.perform_streaming_filter.restype = ctypes.c_int + self.perform_streaming_filter.argtypes = [ctypes.c_int, + ndpointer(ctypes.c_double, ndim=1, flags=('C_CONTIGUOUS', 'WRITEABLE')), ctypes.c_int] + self.reset_streaming_filter = self.lib.reset_streaming_filter + self.reset_streaming_filter.restype = ctypes.c_int + self.reset_streaming_filter.argtypes = [ctypes.c_int] + self.release_streaming_filter = self.lib.release_streaming_filter + self.release_streaming_filter.restype = ctypes.c_int + self.release_streaming_filter.argtypes = [ctypes.c_int] + self.perform_decimation = self.lib.perform_decimation + self.perform_decimation.restype = ctypes.c_int + self.perform_decimation.argtypes = [ + ndpointer(ctypes.c_double, ndim=1, flags='C_CONTIGUOUS'), ctypes.c_int, + ctypes.c_int, ndpointer(ctypes.c_double)] + + self.get_clipping_percentage = self.lib.get_clipping_percentage + self.get_clipping_percentage.restype = ctypes.c_int + self.get_clipping_percentage.argtypes = [ + ndpointer(ctypes.c_double, ndim=1, flags='C_CONTIGUOUS'), ctypes.c_int, + ctypes.c_double, ctypes.c_double, ndpointer(ctypes.c_double)] + self.get_flatline_percentage = self.lib.get_flatline_percentage + self.get_flatline_percentage.restype = ctypes.c_int + self.get_flatline_percentage.argtypes = [ + ndpointer(ctypes.c_double, ndim=1, flags='C_CONTIGUOUS'), ctypes.c_int, + ctypes.c_double, ndpointer(ctypes.c_double)] + self.get_custom_band_powers = self.lib.get_custom_band_powers self.get_custom_band_powers.restype = ctypes.c_int self.get_custom_band_powers.argtypes = [ @@ -493,6 +536,19 @@ def __init__(self): ndpointer(ctypes.c_double), ] + self.get_band_power_settings = self.lib.get_band_power_settings + self.get_band_power_settings.restype = ctypes.c_int + self.get_band_power_settings.argtypes = [ + ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_double, ctypes.c_double, + ctypes.c_int, ndpointer(ctypes.c_int32), ndpointer(ctypes.c_int32)] + self.get_custom_band_powers_with_options = self.lib.get_custom_band_powers_with_options + self.get_custom_band_powers_with_options.restype = ctypes.c_int + self.get_custom_band_powers_with_options.argtypes = [ + ndpointer(ctypes.c_double), ctypes.c_int, ctypes.c_int, + ndpointer(ctypes.c_double), ndpointer(ctypes.c_double), ctypes.c_int, + ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_double, ctypes.c_double, + ctypes.c_int, ctypes.c_int, ndpointer(ctypes.c_double), ndpointer(ctypes.c_double)] + self.get_psd = self.lib.get_psd self.get_psd.restype = ctypes.c_int self.get_psd.argtypes = [ @@ -560,9 +616,85 @@ def __init__(self): ] +class StreamingFilter: + """Stateful causal filter for contiguous chunks from one signal channel. + + Kind 0 is lowpass, 1 highpass, 2 bandpass and 3 bandstop. low_cutoff supplies + the single cutoff for kinds 0/1; kinds 2/3 use both cutoffs. Only causal + FilterTypes 0, 1 and 2 are supported. + process modifies each writable float64 chunk in place. Use a separate instance + for each channel. close releases the native state; a context manager is preferred. + """ + + def __init__(self, kind, sampling_rate, low_cutoff=0.0, high_cutoff=0.0, order=4, + filter_type=FilterTypes.BUTTERWORTH, ripple=1.0): + self._handle = None + for value in (kind, sampling_rate, order, filter_type): + if not isinstance(value, (int, numpy.integer)) or not -2147483648 <= value <= 2147483647: + raise BrainFlowError('invalid streaming filter integer parameter', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + self._dll = DataHandlerDLL.get_instance() + handle = numpy.zeros(1, dtype=numpy.int32) + res = self._dll.create_streaming_filter(kind, sampling_rate, low_cutoff, high_cutoff, + order, filter_type, ripple, handle) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to create streaming filter', res) + self._handle = int(handle[0]) + + def _require_open(self): + if self._handle is None: + raise BrainFlowError('streaming filter is closed', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + + def process(self, data): + """Filter one chunk in place, preserving state for the next chunk.""" + self._require_open() + DataFilter._check_inplace_array(data) + if not 0 < data.size <= 2147483647: + raise BrainFlowError('invalid chunk length', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + res = self._dll.perform_streaming_filter(self._handle, data, data.size) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to process streaming filter chunk', res) + + def reset(self): + """Reset filter state to the initial state for a new independent signal.""" + self._require_open() + res = self._dll.reset_streaming_filter(self._handle) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to reset streaming filter', res) + + def close(self): + """Release native state. Repeated calls are harmless.""" + if self._handle is not None: + res = self._dll.release_streaming_filter(self._handle) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to release streaming filter', res) + self._handle = None + + def __enter__(self): + self._require_open() + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.close() + + def __del__(self): + try: + self.close() + except Exception: + # Finalizers may run after the native library has been torn down. + pass + + class DataFilter(object): """DataFilter class contains methods for signal processig""" + @staticmethod + def _check_inplace_array(data): + check_memory_layout_row_major(data, 1) + if data.dtype != numpy.float64 or not data.flags.writeable: + raise BrainFlowError('in-place data must be a writable float64 array', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + @classmethod def set_log_level(cls, log_level: int) -> None: """set BrainFlow log level, use it only if you want to write your own messages to BrainFlow logger, @@ -575,6 +707,42 @@ def set_log_level(cls, log_level: int) -> None: if res != BrainFlowExitCodes.STATUS_OK.value: raise BrainFlowError('unable to enable logger', res) + @classmethod + def get_filter_settling_samples(cls, kind, sampling_rate, low_cutoff=0.0, high_cutoff=0.0, + order=4, filter_type=FilterTypes.BUTTERWORTH_ZERO_PHASE, ripple=1.0): + """Estimated edge margin in samples; not a guaranteed artifact bound. + + Kind/cutoff meanings match StreamingFilter. Zero-phase filtering keeps its + full output length; callers can exclude this margin at both ends for analysis. + """ + for value in (kind, sampling_rate, order, filter_type): + if not isinstance(value, (int, numpy.integer)) or not -2147483648 <= value <= 2147483647: + raise BrainFlowError('invalid filter integer parameter', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + output = numpy.zeros(1, dtype=numpy.int32) + res = DataHandlerDLL.get_instance().get_filter_settling_samples( + kind, sampling_rate, low_cutoff, high_cutoff, order, filter_type, ripple, output) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to estimate filter settling margin', res) + return int(output[0]) + + @classmethod + def perform_decimation(cls, data, factor: int): + """Apply an anti-alias FIR and return floor(len(data)/factor) samples. + + The first output is aligned with input[0]. Reflected endpoint extension is + used for this offline operation. Block aggregation remains perform_downsampling. + """ + check_memory_layout_row_major(data, 1) + if (not isinstance(factor, (int, numpy.integer)) or not 1 <= factor <= data.size or + data.size > 2147483647): + raise BrainFlowError('invalid decimation factor or input length', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + output = numpy.zeros(data.size // factor, dtype=numpy.float64) + res = DataHandlerDLL.get_instance().perform_decimation(data, data.size, factor, output) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to decimate data', res) + return output + @classmethod def enable_data_logger(cls) -> None: """enable Data Logger with level INFO, uses stderr for log messages by default""" @@ -623,7 +791,7 @@ def perform_lowpass(cls, data, sampling_rate: int, cutoff: float, order: int, fi :param ripple: ripple value for Chebyshev filter :type ripple: float """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) if not isinstance(sampling_rate, int): raise BrainFlowError('wrong type for sampling rate', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) if not isinstance(filter_type, int): @@ -651,7 +819,7 @@ def perform_highpass(cls, data, sampling_rate: int, cutoff: float, order: int, f :param ripple: ripple value for Chebyshev filter :type ripple: float """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) if not isinstance(sampling_rate, int): raise BrainFlowError('wrong type for sampling rate', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) if not isinstance(filter_type, int): @@ -681,7 +849,7 @@ def perform_bandpass(cls, data, sampling_rate: int, start_freq: float, :param ripple: ripple value for Chebyshev filter :type ripple: float """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) if not isinstance(sampling_rate, int): raise BrainFlowError('wrong type for sampling rate', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) if not isinstance(filter_type, int): @@ -711,7 +879,7 @@ def perform_bandstop(cls, data, sampling_rate: int, start_freq: float, :param ripple: ripple value for Chebyshev filter :type ripple: float """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) if not isinstance(sampling_rate, int): raise BrainFlowError('wrong type for sampling rate', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) if not isinstance(filter_type, int): @@ -732,7 +900,7 @@ def remove_environmental_noise(cls, data, sampling_rate: int, noise_type: float) :param noise_type: noise type :type noise_type: int """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) if not isinstance(sampling_rate, int): raise BrainFlowError('wrong type for sampling rate', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) if not isinstance(noise_type, int): @@ -752,7 +920,7 @@ def perform_rolling_filter(cls, data, period: int, operation: int) -> None: :param operation: int value from AggOperation enum :type operation: int """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) if not isinstance(period, int): raise BrainFlowError('wrong type for period', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) if not isinstance(operation, int): @@ -795,6 +963,27 @@ def get_railed_percentage(cls, data, gain: int): raise BrainFlowError('unable to get railed percentage', res) return output[0] + @classmethod + def get_clipping_percentage(cls, data, lower_bound: float, upper_bound: float): + """Percentage of samples at or outside the supplied ADC limits, in data units.""" + check_memory_layout_row_major(data, 1) + output = numpy.zeros(1, dtype=numpy.float64) + res = DataHandlerDLL.get_instance().get_clipping_percentage( + data, data.size, lower_bound, upper_bound, output) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to calculate clipping percentage', res) + return output[0] + + @classmethod + def get_flatline_percentage(cls, data, tolerance: float = 0.0): + """Percentage of adjacent sample differences no greater than tolerance.""" + check_memory_layout_row_major(data, 1) + output = numpy.zeros(1, dtype=numpy.float64) + res = DataHandlerDLL.get_instance().get_flatline_percentage(data, data.size, tolerance, output) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to calculate flatline percentage', res) + return output[0] + @classmethod def get_oxygen_level(cls, ppg_ir, ppg_red, sampling_rate: int, coef1=1.5958422, coef2=-34.6596622, coef3=112.6898759): @@ -893,6 +1082,9 @@ def perform_wavelet_transform(cls, data, wavelet: int, decomposition_level: int, """ check_memory_layout_row_major(data, 1) + if (not isinstance(decomposition_level, (int, numpy.integer)) or not 1 <= decomposition_level <= 100 or + data.size == 0 or data.size + 2 * decomposition_level * 41 > 2147483647): + raise BrainFlowError('invalid wavelet dimensions', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) wavelet_coeffs = numpy.zeros(data.shape[0] + 2 * decomposition_level * (40 + 1)).astype(numpy.float64) lengths = numpy.zeros(decomposition_level + 1).astype(numpy.int32) res = DataHandlerDLL.get_instance().perform_wavelet_transform(data, data.shape[0], wavelet, @@ -971,11 +1163,23 @@ def perform_inverse_wavelet_transform(cls, wavelet_output: Tuple, original_data_ :return: restored data :rtype: NDArray[Shape["*"], Float64] """ - original_data = numpy.zeros(original_data_len).astype(numpy.float64) - res = DataHandlerDLL.get_instance().perform_inverse_wavelet_transform(wavelet_output[0], original_data_len, - wavelet, - decomposition_level, extension_type, - wavelet_output[1], original_data) + if (not isinstance(original_data_len, (int, numpy.integer)) or + not 0 < original_data_len <= numpy.iinfo(numpy.int32).max or + not isinstance(decomposition_level, (int, numpy.integer)) or + not 0 < decomposition_level <= 100 or len(wavelet_output) != 2): + raise BrainFlowError('invalid wavelet dimensions', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + coeffs, lengths = wavelet_output + check_memory_layout_row_major(coeffs, 1) + check_memory_layout_row_major(lengths, 1) + if (coeffs.dtype != numpy.float64 or lengths.dtype != numpy.int32 or original_data_len > coeffs.size or + lengths.size != decomposition_level + 1 or numpy.any(lengths <= 0) or + sum(int(value) for value in lengths) != coeffs.size): + raise BrainFlowError('invalid wavelet coefficient lengths', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + original_data = numpy.zeros(original_data_len, dtype=numpy.float64) + res = DataHandlerDLL.get_instance().perform_inverse_wavelet_transform_checked( + coeffs, coeffs.size, original_data_len, wavelet, decomposition_level, extension_type, + lengths, lengths.size, original_data, original_data.size) if res != BrainFlowExitCodes.STATUS_OK.value: raise BrainFlowError('unable to perform inverse wavelet transform', res) @@ -1004,7 +1208,7 @@ def perform_wavelet_denoising(cls, data, wavelet: int, decomposition_level: int, :param noise_level: use NoiseEstimationLevelTypes enum :type noise_level: int """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) res = DataHandlerDLL.get_instance().perform_wavelet_denoising(data, data.shape[0], wavelet, decomposition_level, wavelet_denoising, threshold, @@ -1023,6 +1227,8 @@ def get_csp(cls, data, labels) -> Tuple: :return: [channels x channels]-shaped 2D array of filters and [channels]-length 1D array of the corresponding eigenvalues :rtype: Tuple """ + check_memory_layout_row_major(data, 3) + check_memory_layout_row_major(labels, 1) if not (len(labels.shape) == 1): raise BrainFlowError('Invalid shape of array ', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) if not (len(labels) == data.shape[0]): @@ -1151,7 +1357,7 @@ def detrend(cls, data, detrend_operation: int) -> None: :type detrend_operation: int """ - check_memory_layout_row_major(data, 1) + cls._check_inplace_array(data) res = DataHandlerDLL.get_instance().detrend(data, data.shape[0], detrend_operation) if res != BrainFlowExitCodes.STATUS_OK.value: raise BrainFlowError('unable to detrend data', res) @@ -1169,6 +1375,14 @@ def get_band_power(cls, psd: Tuple, freq_start: float, freq_end: float) -> float :return: band power :rtype: float """ + if len(psd) != 2: + raise BrainFlowError('PSD must contain amplitudes and frequencies', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + check_memory_layout_row_major(psd[0], 1) + check_memory_layout_row_major(psd[1], 1) + if psd[0].size != psd[1].size: + raise BrainFlowError('PSD amplitude and frequency lengths must match', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) band_power = numpy.zeros(1).astype(numpy.float64) res = DataHandlerDLL.get_instance().get_band_power(psd[0], psd[1], psd[0].shape[0], freq_start, freq_end, band_power) @@ -1179,7 +1393,10 @@ def get_band_power(cls, psd: Tuple, freq_start: float, freq_end: float) -> float @classmethod def get_avg_band_powers(cls, data, channels: List, sampling_rate: int, apply_filter: bool) -> Tuple: - """calculate avg and stddev of BandPowers across all channels, bands are 1-4,4-8,8-13,13-30,30-50 + """Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. + + Uses the preprocessing, minimum data length, and coefficient-of-variation + semantics of :meth:`get_custom_band_powers`. :param data: 2d array for calculation :type data: NDArray[Shape["*, *"], Float64] @@ -1187,9 +1404,9 @@ def get_avg_band_powers(cls, data, channels: List, sampling_rate: int, apply_fil :type channels: List :param sampling_rate: sampling rate :type sampling_rate: int - :param apply_filter: apply bandpass and bandstop filtrers or not + :param apply_filter: preprocess and discard edge margins to reduce filter transients :type apply_filter: bool - :return: avg and stddev arrays for bandpowers + :return: normalized mean band powers and coefficients of variation across channels :rtype: tuple """ @@ -1199,37 +1416,57 @@ def get_avg_band_powers(cls, data, channels: List, sampling_rate: int, apply_fil @classmethod def get_custom_band_powers(cls, data, bands: List, channels: List, sampling_rate: int, apply_filter: bool) -> Tuple: - """calculate avg and stddev of BandPowers across selected channels + """Calculate normalized mean band powers and variation across selected channels. + + With ``apply_filter=True``, demean and apply padded, initialized zero-phase + 48-52 and 58-62 Hz notches when their upper edges are below 90% of Nyquist. + No automatic passband is applied, so preprocessing does not change when + integration bands change. Samples from both ends are excluded using an + estimated guard from the complete filter cascade's impulse-response tail. + The guard is an estimate, not a guaranteed artifact bound. Supply extra + surrounding data; excluding the newest samples introduces a corresponding + delay in live analysis. With ``apply_filter=False``, no preprocessing or + trimming is performed. Mains notches also attenuate overlapping custom bands; + use external preprocessing and disable filtering to customize this behavior. + + At least ``max(8, 2 * get_nearest_power_of_two(sampling_rate))`` samples must remain + after trimming. Short inputs raise an error instead of reducing the FFT size. + Band edges must satisfy ``0 <= start < stop <= sampling_rate / 2``. + Data and edges must be finite. + + The first output contains channel-mean absolute band powers normalized by + their sum across the requested bands. The second output, historically named + stddev, contains population standard deviation divided by mean absolute + power for each band (coefficient of variation). Zero-power bands have zero + variation, and an all-zero total returns zero normalized powers. :param data: 2d array for calculation :type data: NDArray[Shape["*, *"], Float64] - :param bands: List of typles with bands to use. E.g [(1.5, 4.0), (4.0, 8.0), (8.0, 13.0), (13.0, 30.0), (30.0, 45.0)] + :param bands: list of (start, stop) frequency pairs in Hz :type bands: List :param channels: channels - rows of data array which should be used for calculation :type channels: List :param sampling_rate: sampling rate :type sampling_rate: int - :param apply_filter: apply bandpass and bandstop filtrers or not + :param apply_filter: preprocess and discard edge margins to reduce filter transients :type apply_filter: bool - :return: avg and stddev arrays for bandpowers + :return: normalized mean band powers and coefficients of variation across channels :rtype: tuple """ check_memory_layout_row_major(data, 2) - if (len(channels) == 0) or (len(bands) == 0): - raise BrainFlowError('wrong input for channels or bands', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) - num_bands = len(bands) + channels = numpy.asarray(channels) + bands = numpy.asarray(bands, dtype=numpy.float64) + if (channels.ndim != 1 or channels.size == 0 or channels.dtype.kind not in 'iu' or + numpy.any(channels < 0) or numpy.any(channels >= data.shape[0]) or + bands.ndim != 2 or bands.shape[0] == 0 or bands.shape[1] != 2): + raise BrainFlowError('invalid channels or bands', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + num_bands = bands.shape[0] avg_bands = numpy.zeros(num_bands).astype(numpy.float64) stddev_bands = numpy.zeros(num_bands).astype(numpy.float64) - data_1d = numpy.zeros(len(channels) * data.shape[1]) - start_freqs = numpy.zeros(num_bands) - stop_freqs = numpy.zeros(num_bands) - for i in range(num_bands): - start_freqs[i] = bands[i][0] - stop_freqs[i] = bands[i][1] - for i, channel in enumerate(channels): - for j in range(data.shape[1]): - data_1d[j + data.shape[1] * i] = data[channel][j] + data_1d = numpy.ascontiguousarray(data[channels], dtype=numpy.float64).ravel() + start_freqs = numpy.ascontiguousarray(bands[:, 0]) + stop_freqs = numpy.ascontiguousarray(bands[:, 1]) res = DataHandlerDLL.get_instance().get_custom_band_powers(data_1d, len(channels), data.shape[1], start_freqs, stop_freqs, num_bands, sampling_rate, int(apply_filter), avg_bands, @@ -1240,7 +1477,70 @@ def get_custom_band_powers(cls, data, bands: List, channels: List, sampling_rate return avg_bands, stddev_bands @classmethod - def perform_ica(cls, data, num_components: int, channels=None) -> Tuple: + def get_band_power_info(cls, sampling_rate: int, apply_filter=True, *, nfft=0, + low_cutoff=0.0, high_cutoff=0.0, mains=-1, data_len=None): + """Return FFT size, bin spacing, edge margin, and minimum required samples. + + Cutoff 0 disables that passband edge. Mains: -1 automatic, 0 disabled, + 1 50 Hz, 2 60 Hz, 3 both. Automatic notches must end below 90% of Nyquist. + The settling margin is an impulse-tail estimate, not an artifact guarantee. + If data_len is supplied, usable_start/usable_stop describe a half-open interval. + """ + effective = numpy.zeros(1, dtype=numpy.int32) + edge = numpy.zeros(1, dtype=numpy.int32) + res = DataHandlerDLL.get_instance().get_band_power_settings( + sampling_rate, int(apply_filter), nfft, low_cutoff, high_cutoff, mains, + effective, edge) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('invalid band-power settings', res) + size, margin = int(effective[0]), int(edge[0]) + info = dict(nfft=size, frequency_resolution=sampling_rate / size, + edge_samples=margin, minimum_samples=size + 2 * margin, + edge_seconds=margin / sampling_rate) + if data_len is not None: + if data_len < info['minimum_samples']: + raise BrainFlowError('insufficient samples for band powers', + BrainFlowExitCodes.INVALID_BUFFER_SIZE_ERROR.value) + info.update(usable_start=margin, usable_stop=data_len - margin) + return info + + @classmethod + def get_custom_band_powers_with_options(cls, data, bands, channels, sampling_rate, + apply_filter=True, *, nfft=0, low_cutoff=0.0, + high_cutoff=0.0, mains=-1, + detrend_operation=DetrendOperations.CONSTANT): + """Band powers with preprocessing configured independently of integration bands. + + Output semantics match get_custom_band_powers. Query get_band_power_info with + the same filter/FFT options before collecting data. Detrending applies even + when apply_filter is False; choose NO_DETREND to preserve raw DC. + No per-segment detrending is performed. No automatic FFT-size reduction occurs. + """ + check_memory_layout_row_major(data, 2) + selected = numpy.asarray(channels) + edges = numpy.asarray(bands, dtype=numpy.float64) + if (selected.ndim != 1 or selected.size == 0 or selected.dtype.kind not in 'iu' or + numpy.any(selected < 0) or numpy.any(selected >= data.shape[0]) or + edges.ndim != 2 or edges.shape[0] == 0 or edges.shape[1] != 2 or + data.shape[1] == 0 or max(data.shape[1], selected.size, edges.shape[0]) > 2147483647): + raise BrainFlowError('invalid channels, bands, or data dimensions', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + gathered = numpy.ascontiguousarray(data[selected], dtype=numpy.float64).ravel() + starts = numpy.ascontiguousarray(edges[:, 0]) + stops = numpy.ascontiguousarray(edges[:, 1]) + averages = numpy.zeros(len(edges), dtype=numpy.float64) + variation = numpy.zeros(len(edges), dtype=numpy.float64) + res = DataHandlerDLL.get_instance().get_custom_band_powers_with_options( + gathered, len(selected), data.shape[1], starts, stops, len(edges), sampling_rate, + int(apply_filter), nfft, low_cutoff, high_cutoff, mains, int(detrend_operation), + averages, variation) + if res != BrainFlowExitCodes.STATUS_OK.value: + raise BrainFlowError('unable to calculate band powers', res) + return averages, variation + + @classmethod + def perform_ica(cls, data, num_components: int, channels=None, *, max_iterations=1000, + tolerance=1e-4, seed=None) -> Tuple: """perform ICA :param data: 2d array for calculation @@ -1249,33 +1549,34 @@ def perform_ica(cls, data, num_components: int, channels=None) -> Tuple: :type num_components: int :param channels: channels - rows of data array which should be used for calculation, if None use all :type channels: List + :param max_iterations: positive maximum number of FastICA iterations + :param tolerance: positive convergence tolerance + :param seed: nonnegative random seed for reproducibility, or None for random initialization :return: w, k, a, s matrixes as a tuple :rtype: tuple """ check_memory_layout_row_major(data, 2) if len(data.shape) != 2: raise BrainFlowError('wrong number of dimensions', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) - if num_components < 1: - raise BrainFlowError('wrong number of components', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) - - if not channels: - channels_to_use = range(data.shape[0]) - else: - channels_to_use = channels - - data_1d = numpy.zeros(len(channels_to_use) * data.shape[1]).astype(numpy.float64) + channels_to_use = numpy.arange(data.shape[0]) if channels is None else numpy.asarray(channels) + if (channels_to_use.ndim != 1 or channels_to_use.dtype.kind not in 'iu' or + numpy.any(channels_to_use < 0) or numpy.any(channels_to_use >= data.shape[0]) or + not isinstance(num_components, (int, numpy.integer)) or + not 2 <= num_components <= min(channels_to_use.size, data.shape[1]) or + not isinstance(max_iterations, (int, numpy.integer)) or not 0 < max_iterations <= 2147483647 or + not numpy.isfinite(tolerance) or tolerance <= 0 or + (seed is not None and (not isinstance(seed, (int, numpy.integer)) or not 0 <= seed <= 2147483647))): + raise BrainFlowError('invalid ICA dimensions or options', BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + data_1d = numpy.ascontiguousarray(data[channels_to_use], dtype=numpy.float64).ravel() w = numpy.zeros(num_components * num_components).astype(numpy.float64) k = numpy.zeros(len(channels_to_use) * num_components).astype(numpy.float64) a = numpy.zeros(num_components * len(channels_to_use)).astype(numpy.float64) s = numpy.zeros(data.shape[1] * num_components).astype(numpy.float64) - for i, channel in enumerate(channels_to_use): - for j in range(data.shape[1]): - data_1d[j + data.shape[1] * i] = data[channel][j] - - res = DataHandlerDLL.get_instance().perform_ica(data_1d, len(channels_to_use), data.shape[1], - num_components, w, k, a, s) + res = DataHandlerDLL.get_instance().perform_ica_with_options( + data_1d, len(channels_to_use), data.shape[1], num_components, w, k, a, s, + max_iterations, tolerance, -1 if seed is None else seed) if res != BrainFlowExitCodes.STATUS_OK.value: raise BrainFlowError('unable to calculate ICA', res) diff --git a/python_package/brainflow/ml_model.py b/python_package/brainflow/ml_model.py index ffcbb510e..0bb589459 100644 --- a/python_package/brainflow/ml_model.py +++ b/python_package/brainflow/ml_model.py @@ -1,3 +1,4 @@ +import copy import ctypes import enum import json @@ -169,11 +170,22 @@ class MLModel(object): """ def __init__(self, model_params: BrainFlowModelParams) -> None: + capacity = model_params.max_array_size + if (isinstance(capacity, (bool, numpy.bool_)) or + not isinstance(capacity, (int, numpy.integer)) or + capacity <= 0 or capacity > numpy.iinfo(numpy.int32).max): + raise BrainFlowError('max_array_size must be a positive int32 integer', + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) self.model_params = model_params + # Native model settings are serialized once. Keep allocation capacity tied + # to that same snapshot even when callers later reuse or mutate the params. + self._output_capacity = int(capacity) + snapshot = copy.copy(model_params) + snapshot.max_array_size = self._output_capacity try: - self.serialized_params = model_params.to_json().encode() + self.serialized_params = snapshot.to_json().encode() except BaseException: - self.serialized_params = model_params.to_json() + self.serialized_params = snapshot.to_json() @classmethod def set_log_level(cls, log_level: int) -> None: @@ -274,14 +286,28 @@ def release(self) -> None: def predict(self, data) -> List: """calculate metric from data - :param data: input array + :param data: finite one-dimensional input, converted to contiguous float64 :type data: NDArray[Shape["*"], Float64] :return: metric value :rtype: List """ - output = numpy.zeros(self.model_params.max_array_size).astype(numpy.float64) - output_len = numpy.zeros(1).astype(numpy.int32) + try: + data = numpy.asarray(data) + if (data.ndim != 1 or data.size == 0 or data.size > numpy.iinfo(numpy.int32).max or + numpy.iscomplexobj(data)): + raise ValueError('input must be a nonempty one-dimensional real array') + data = numpy.ascontiguousarray(data, dtype=numpy.float64) + if not numpy.isfinite(data).all(): + raise ValueError('input must contain only finite values') + except (TypeError, ValueError, OverflowError) as error: + raise BrainFlowError('invalid prediction input: %s' % error, + BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) from error + output = numpy.zeros(self._output_capacity, dtype=numpy.float64) + output_len = numpy.zeros(1, dtype=numpy.int32) res = MLModuleDLL.get_instance().predict(data, data.shape[0], output, output_len, self.serialized_params) if res != BrainFlowExitCodes.STATUS_OK.value: raise BrainFlowError('unable to calc metric', res) + if output_len[0] < 0 or output_len[0] > self._output_capacity: + raise BrainFlowError('invalid prediction output length', + BrainFlowExitCodes.INVALID_BUFFER_SIZE_ERROR.value) return output[0:output_len[0]] diff --git a/python_package/examples/tests/band_power_regression.py b/python_package/examples/tests/band_power_regression.py new file mode 100644 index 000000000..cc884c9c4 --- /dev/null +++ b/python_package/examples/tests/band_power_regression.py @@ -0,0 +1,214 @@ +"""Numerical regressions for band integration and multichannel band powers. + +Run against freshly built native libraries: + python python_package/examples/tests/band_power_regression.py +""" + +import unittest + +import numpy as np + +from brainflow.data_filter import DataFilter +from brainflow.exit_codes import BrainFlowError, BrainFlowExitCodes + + +DEFAULT_BANDS = [(2.0, 4.0), (4.0, 8.0), (8.0, 13.0), (13.0, 30.0), (30.0, 45.0)] + + +def signal(sampling_rate=128, seconds=40, tones=((10.0, 1.0), (20.0, 2.0)), phase=0.37): + time = np.arange(int(sampling_rate * seconds), dtype=np.float64) / sampling_rate + return sum(amplitude * np.sin(2.0 * np.pi * frequency * time + phase) + for frequency, amplitude in tones) + + +class BandPowerRegression(unittest.TestCase): + def assert_invalid(self, function, *args, code=BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR): + with self.assertRaises(BrainFlowError) as error: + function(*args) + self.assertEqual(error.exception.exit_code, code.value) + + def test_partial_bins_use_interpolated_endpoints(self): + frequencies = np.arange(6, dtype=np.float64) + amplitudes = 2.0 + frequencies + lower, upper = 0.25, 3.75 + # Integral of the linear density 2 + f, independent of the bin boundaries. + expected = 2.0 * (upper - lower) + (upper ** 2 - lower ** 2) / 2.0 + actual = DataFilter.get_band_power((amplitudes, frequencies), lower, upper) + self.assertAlmostEqual(actual, expected, places=12) + + def test_adjacent_bands_partition_power_without_double_counting(self): + frequencies = np.arange(6, dtype=np.float64) + amplitudes = np.array([1.0, 2.0, 7.0, 3.0, 4.0, 2.0]) + psd = amplitudes, frequencies + for boundary in (2.0, 2.25): + with self.subTest(boundary=boundary): + left = DataFilter.get_band_power(psd, 0.0, boundary) + right = DataFilter.get_band_power(psd, boundary, 5.0) + whole = DataFilter.get_band_power(psd, 0.0, 5.0) + self.assertAlmostEqual(left + right, whole, places=12) + + def test_invalid_psd_and_integration_bounds(self): + frequencies = np.arange(6, dtype=np.float64) + amplitudes = np.ones(6, dtype=np.float64) + for lower, upper in ((-1.0, 2.0), (1.0, 6.0), (3.0, 2.0), (2.0, 2.0), + (np.nan, 2.0), (1.0, np.inf)): + with self.subTest(lower=lower, upper=upper): + self.assert_invalid(DataFilter.get_band_power, + (amplitudes, frequencies), lower, upper) + for bad in (np.nan, np.inf): + with self.subTest(value=bad): + bad_amplitudes = amplitudes.copy() + bad_amplitudes[2] = bad + self.assert_invalid(DataFilter.get_band_power, + (bad_amplitudes, frequencies), 0.0, 5.0) + bad_frequencies = frequencies.copy() + bad_frequencies[2] = bad + self.assert_invalid(DataFilter.get_band_power, + (amplitudes, bad_frequencies), 0.0, 5.0) + + def test_known_tone_powers_and_channel_variation(self): + waveform = signal(seconds=6) + data = np.vstack((waveform, 2.0 * waveform)) + average, variation = DataFilter.get_custom_band_powers( + data, [(8.0, 13.0), (17.0, 23.0)], [0, 1], 128, False) + # Sine powers are proportional to squared amplitudes: 1 and 4. + np.testing.assert_allclose(average, [0.2, 0.8], atol=1e-8, rtol=0.0) + # Across channels, powers also have ratio 1:4; population std / mean = 0.6. + np.testing.assert_allclose(variation, [0.6, 0.6], atol=1e-12, rtol=0.0) + + def test_common_amplitude_scaling_preserves_normalized_outputs(self): + waveform = signal() + data = np.vstack((waveform, 2.0 * waveform)) + for filtered in (False, True): + with self.subTest(filtered=filtered): + baseline = DataFilter.get_avg_band_powers(data, [0, 1], 128, filtered) + scaled = DataFilter.get_avg_band_powers(7.0 * data, [0, 1], 128, filtered) + np.testing.assert_allclose(scaled[0], baseline[0], atol=1e-10, rtol=1e-8) + # Tiny leakage-only bands can be less stable than the measured tones. + np.testing.assert_allclose(scaled[1][2:4], baseline[1][2:4], + atol=1e-10, rtol=1e-8) + + def test_default_bands_use_custom_implementation(self): + data = np.vstack((signal(), signal(tones=((6.0, 1.0), (35.0, 1.0))))) + for filtered in (False, True): + with self.subTest(filtered=filtered): + average = DataFilter.get_avg_band_powers(data, [0, 1], 128, filtered) + custom = DataFilter.get_custom_band_powers( + data, DEFAULT_BANDS, [0, 1], 128, filtered) + np.testing.assert_allclose(average, custom, atol=0.0, rtol=0.0) + + def test_zero_input_returns_finite_zeros(self): + data = np.zeros((2, 128 * 40), dtype=np.float64) + for filtered in (False, True): + with self.subTest(filtered=filtered): + average, variation = DataFilter.get_avg_band_powers(data, [0, 1], 128, filtered) + np.testing.assert_array_equal(average, np.zeros(5)) + np.testing.assert_array_equal(variation, np.zeros(5)) + + def test_constant_nonzero_channels_return_exact_zeros_after_filtering(self): + data = np.vstack((np.full(128 * 40, 0.1), np.full(128 * 40, 1e6))) + average, variation = DataFilter.get_avg_band_powers(data, [0, 1], 128, True) + np.testing.assert_array_equal(average, np.zeros(5)) + np.testing.assert_array_equal(variation, np.zeros(5)) + + def test_large_finite_signal_does_not_overflow_channel_variation(self): + waveform = 1e100 * signal(seconds=6) + data = np.vstack((waveform, 2.0 * waveform)) + average, variation = DataFilter.get_custom_band_powers( + data, [(8.0, 13.0), (17.0, 23.0)], [0, 1], 128, False) + # Powers fit in a double, but squaring their unscaled deviations would overflow. + np.testing.assert_allclose(average, [0.2, 0.8], atol=1e-8, rtol=0.0) + np.testing.assert_allclose(variation, [0.6, 0.6], atol=1e-12, rtol=0.0) + + def test_nonfinite_samples_are_rejected(self): + for filtered in (False, True): + for bad in (np.nan, np.inf, -np.inf): + with self.subTest(filtered=filtered, value=bad): + data = np.vstack((signal(), signal())) + data[1, data.shape[1] // 2] = bad + self.assert_invalid(DataFilter.get_avg_band_powers, + data, [0, 1], 128, filtered) + + def test_invalid_custom_band_bounds_are_rejected(self): + data = signal()[np.newaxis, :] + for filtered in (False, True): + for band in ((-1.0, 4.0), (8.0, 8.0), (12.0, 8.0), (1.0, 65.0), + (np.nan, 4.0), (1.0, np.inf)): + with self.subTest(filtered=filtered, band=band): + self.assert_invalid(DataFilter.get_custom_band_powers, + data, [band], [0], 128, filtered) + + def test_short_input_does_not_silently_lower_frequency_resolution(self): + sampling_rate = 128 + nfft = 2 * DataFilter.get_nearest_power_of_two(sampling_rate) + # Unfiltered input must accommodate the full FFT. Filtering needs extra + # samples on both ends, even when an FFT alone would fit. + for filtered, length in ((False, nfft - 1), (True, nfft + 1)): + with self.subTest(filtered=filtered, length=length): + data = np.ones((1, length), dtype=np.float64) + self.assert_invalid(DataFilter.get_avg_band_powers, + data, [0], sampling_rate, filtered, + code=BrainFlowExitCodes.INVALID_BUFFER_SIZE_ERROR) + + data = signal(sampling_rate, seconds=nfft / sampling_rate)[np.newaxis, :] + average, _ = DataFilter.get_avg_band_powers(data, [0], sampling_rate, False) + self.assertAlmostEqual(float(np.sum(average)), 1.0, places=12) + + def test_custom_filter_preserves_requested_low_and_high_frequencies(self): + data = signal(256, tones=((1.0, 1.0), (10.0, 1.0), (75.0, 1.0)))[np.newaxis, :] + average, variation = DataFilter.get_custom_band_powers( + data, [(0.25, 2.0), (8.0, 12.0), (65.0, 100.0)], [0], 256, True) + # A fixed 2-45 Hz passband suppresses the outer tones almost entirely. + self.assertTrue(np.all(average > 0.2), average) + self.assertAlmostEqual(float(np.sum(average)), 1.0, places=12) + np.testing.assert_array_equal(variation, np.zeros(3)) + + def test_filters_work_when_mains_notches_are_above_nyquist(self): + data = signal(100, tones=((10.0, 1.0), (20.0, 1.0)))[np.newaxis, :] + average, variation = DataFilter.get_custom_band_powers( + data, [(8.0, 13.0), (13.0, 30.0)], [0], 100, True) + self.assertTrue(np.all(np.isfinite(average)), average) + self.assertTrue(np.all(average > 0.25), average) + self.assertAlmostEqual(float(np.sum(average)), 1.0, places=12) + np.testing.assert_array_equal(variation, np.zeros(2)) + + def test_custom_range_can_start_at_zero(self): + data = signal(128, tones=((1.0, 1.0), (10.0, 1.0)))[np.newaxis, :] + average, variation = DataFilter.get_custom_band_powers( + data, [(0.0, 3.0), (8.0, 16.0)], [0], 128, True) + self.assertTrue(np.all(average > 0.35), average) + self.assertAlmostEqual(float(np.sum(average)), 1.0, places=12) + np.testing.assert_array_equal(variation, np.zeros(2)) + + def test_filtering_removes_dc_offsets(self): + data = signal()[np.newaxis, :] + reference, _ = DataFilter.get_avg_band_powers(data, [0], 128, True) + shifted, _ = DataFilter.get_avg_band_powers(data + 1e6, [0], 128, True) + np.testing.assert_allclose(shifted, reference, atol=1e-8, rtol=0.0) + + def test_short_recording_with_endpoint_transients_matches_long_reference(self): + # Eight seconds is close to the default filter's minimum at 128 Hz, + # making retained samples near the exclusion margins matter to the PSD. + # The 3 Hz tone also probes the lower edge of the analysis passband. + tones = ((3.0, 1.0), (10.0, 1.0), (20.0, 2.0)) + for phase in (0.0, 0.7, 2.0): + with self.subTest(phase=phase): + long_data = signal(tones=tones, phase=phase)[np.newaxis, :] + reference, _ = DataFilter.get_avg_band_powers(long_data, [0], 128, True) + short_data = signal(seconds=8, tones=tones, phase=phase)[np.newaxis, :] + short_data[0, 0] += 1000.0 + short_data[0, -1] -= 250.0 + actual, _ = DataFilter.get_avg_band_powers(short_data, [0], 128, True) + np.testing.assert_allclose(actual, reference, atol=2e-5, rtol=0.0) + + def test_input_is_unchanged(self): + data = np.vstack((signal(), signal(tones=((6.0, 1.0),)))) + original = data.copy() + for filtered in (False, True): + with self.subTest(filtered=filtered): + DataFilter.get_avg_band_powers(data, [0, 1], 128, filtered) + np.testing.assert_array_equal(data, original) + + +if __name__ == '__main__': + unittest.main() diff --git a/python_package/examples/tests/binding_validation_regression.py b/python_package/examples/tests/binding_validation_regression.py new file mode 100644 index 000000000..e0d1753be --- /dev/null +++ b/python_package/examples/tests/binding_validation_regression.py @@ -0,0 +1,184 @@ +"""Binding shape validation and checked inverse-wavelet regression tests.""" +import unittest + +import numpy as np + +from brainflow.data_filter import DataFilter, DetrendOperations, FilterTypes, StreamingFilter, WaveletTypes, WindowOperations +from brainflow.exit_codes import BrainFlowError + + +class BindingValidationRegression(unittest.TestCase): + def test_psd_arrays_must_match(self): + with self.assertRaises(BrainFlowError): + DataFilter.get_band_power((np.ones(5), np.arange(4, dtype=float)), 1.0, 2.0) + + def test_psd_views_must_be_contiguous(self): + with self.assertRaises(BrainFlowError): + DataFilter.get_band_power((np.ones(10)[::2], np.arange(5, dtype=float)), 1.0, 2.0) + + def test_csp_labels_and_layout(self): + data = np.ones((4, 2, 20)) + for labels in (np.zeros(3), np.zeros(8)[::2]): + with self.subTest(labels=labels), self.assertRaises(BrainFlowError): + DataFilter.get_csp(data, labels) + + def test_inplace_filters_reject_readonly_data(self): + data = np.ones(256) + data.flags.writeable = False + operations = [ + lambda: DataFilter.perform_lowpass(data, 256, 30, 2, FilterTypes.BUTTERWORTH, 0), + lambda: DataFilter.perform_highpass(data, 256, 2, 2, FilterTypes.BUTTERWORTH, 0), + lambda: DataFilter.perform_bandpass(data, 256, 2, 30, 2, FilterTypes.BUTTERWORTH, 0), + lambda: DataFilter.perform_bandstop(data, 256, 48, 52, 2, FilterTypes.BUTTERWORTH, 0), + lambda: DataFilter.remove_environmental_noise(data, 256, 0), + lambda: DataFilter.perform_rolling_filter(data, 4, 0), + lambda: DataFilter.perform_wavelet_denoising(data, WaveletTypes.DB3, 2), + lambda: DataFilter.detrend(data, 1), + ] + for operation in operations: + with self.subTest(operation=operation), self.assertRaises(BrainFlowError): + operation() + np.testing.assert_array_equal(data, 1) + + def test_inverse_wavelet_rejects_short_and_inconsistent_metadata(self): + coefficients = np.zeros(72) + lengths = np.array([19, 19, 34], dtype=np.int32) + cases = [(coefficients[:1], lengths), (coefficients, lengths[:1]), + (coefficients, np.array([-1, 39, 34], dtype=np.int32)), + (coefficients, lengths.astype(np.int64))] + for output in cases: + with self.subTest(output=output), self.assertRaises(BrainFlowError): + DataFilter.perform_inverse_wavelet_transform(output, 64, WaveletTypes.DB3, 2) + + def test_inverse_wavelet_checked_native_configuration(self): + data = np.random.default_rng(7).normal(size=64) + transformed = DataFilter.perform_wavelet_transform(data, WaveletTypes.DB3, 2) + restored = DataFilter.perform_inverse_wavelet_transform(transformed, 64, WaveletTypes.DB3, 2) + np.testing.assert_allclose(restored, data, atol=1e-10) + with self.assertRaises(BrainFlowError): + DataFilter.perform_inverse_wavelet_transform(transformed, 32, WaveletTypes.DB3, 2) + + def test_welch_odd_recording(self): + data = np.sin(2 * np.pi * 10 * np.arange(1025) / 256) + amplitudes, frequencies = DataFilter.get_psd_welch(data, 256, 128, 256, WindowOperations.HANNING) + self.assertEqual(amplitudes.size, 129) + self.assertEqual(frequencies.size, 129) + self.assertEqual(frequencies[-1], 128) + + def test_band_power_metadata_matches_required_input(self): + options = dict(nfft=256, low_cutoff=2.0, high_cutoff=40.0, mains=0) + info = DataFilter.get_band_power_info(256, **options) + self.assertEqual(info['nfft'], 256) + self.assertEqual(info['frequency_resolution'], 1.0) + self.assertEqual(info['minimum_samples'], 256 + 2 * info['edge_samples']) + data = np.random.default_rng(42).normal(size=(2, info['minimum_samples'])) + bands = [(2, 4), (8, 12)] + powers, _ = DataFilter.get_custom_band_powers_with_options(data, bands, [0, 1], 256, **options) + self.assertTrue(np.isfinite(powers).all()) + ready = DataFilter.get_band_power_info(256, data_len=data.shape[1], **options) + self.assertEqual(ready['usable_stop'] - ready['usable_start'], 256) + with self.assertRaises(BrainFlowError): + DataFilter.get_custom_band_powers_with_options(data[:, :-1].copy(), bands, [0, 1], 256, **options) + + def test_adding_bands_does_not_change_preprocessing(self): + time = np.arange(4096) / 125 + data = (np.sin(2 * np.pi * 2 * time) + np.sin(2 * np.pi * 10 * time))[None, :] + first, _ = DataFilter.get_custom_band_powers(data, [(2, 4), (8, 12)], [0], 125, True) + extended, _ = DataFilter.get_custom_band_powers( + data, [(0, 1), (2, 4), (8, 12), (20, 30)], [0], 125, True) + self.assertAlmostEqual(first[0] / first[1], extended[1] / extended[2], places=12) + + def test_band_power_channel_selection_and_resolution(self): + data = np.random.default_rng(3).normal(size=(2, 2048)) + for channels in ([-1], [2], [0.5]): + with self.subTest(channels=channels), self.assertRaises(BrainFlowError): + DataFilter.get_avg_band_powers(data, channels, 256, False) + selected = [1, 0, 1] + bands = [(2, 8), (8, 30)] + actual = DataFilter.get_custom_band_powers(data, bands, selected, 256, False) + expected = DataFilter.get_custom_band_powers(data[selected].copy(), bands, [0, 1, 2], 256, False) + for left, right in zip(actual, expected): + np.testing.assert_allclose(left, right) + info = DataFilter.get_band_power_info(256, False, nfft=1024) + self.assertEqual(info['frequency_resolution'], 0.25) + self.assertEqual(info['edge_samples'], 0) + narrow, _ = DataFilter.get_custom_band_powers_with_options( + data, [(8.25, 8.75), (10.25, 10.75)], [0, 1], 256, False, nfft=1024, + detrend_operation=DetrendOperations.NO_DETREND) + self.assertAlmostEqual(narrow.sum(), 1.0) + + def test_ica_reproducible_controls_and_reconstruction(self): + source = np.random.default_rng(11).laplace(size=(2, 2000)) + data = np.ascontiguousarray(np.array([[1., 2.], [3., 4.], [.5, 1.5]]) @ source) + first = DataFilter.perform_ica(data, 2, seed=7) + second = DataFilter.perform_ica(data, 2, seed=7) + for left, right in zip(first, second): + np.testing.assert_array_equal(left, right) + np.testing.assert_allclose(first[2] @ first[3], data - data.mean(axis=1, keepdims=True), atol=1e-10) + with self.assertRaises(BrainFlowError): + DataFilter.perform_ica(data, 2, max_iterations=1, seed=7) + + def test_explicit_clipping_and_flatline_metrics(self): + self.assertEqual(DataFilter.get_clipping_percentage(np.array([-2., -1., 0., 1., 2.]), -1, 1), 80) + self.assertEqual(DataFilter.get_flatline_percentage(np.array([1., 1., 2., 2., 2.])), 75) + + def test_wavelet_dimensions_rejected_before_allocation(self): + for level in (-1, 0, 101, 2147483647): + with self.subTest(level=level), self.assertRaises(BrainFlowError): + DataFilter.perform_wavelet_transform(np.ones(64), WaveletTypes.DB3, level) + with self.assertRaises(BrainFlowError): + DataFilter.perform_inverse_wavelet_transform( + (np.zeros(72), np.array([19, 19, 34], dtype=np.int32)), 2147483647, WaveletTypes.DB3, 2) + + def test_streaming_chunks_and_reset_match_causal_filter(self): + data = np.random.default_rng(3).normal(size=1024) + expected = data.copy() + DataFilter.perform_lowpass(expected, 256, 30., 4, FilterTypes.BUTTERWORTH, 1.) + chunks = [chunk.copy() for chunk in np.split(data, [1, 33, 241, 888])] + with StreamingFilter(0, 256, low_cutoff=30.) as stream: + for chunk in chunks: + stream.process(chunk) + np.testing.assert_allclose(np.concatenate(chunks), expected, atol=1e-12) + stream.reset() + again = data.copy() + stream.process(again) + np.testing.assert_array_equal(again, np.concatenate(chunks)) + stream.close() + with self.assertRaises(BrainFlowError): + stream.process(data.copy()) + + def test_invalid_streaming_chunk_preserves_state_and_data(self): + data = np.random.default_rng(7).normal(size=128) + with StreamingFilter(0, 256, low_cutoff=30.) as stream, StreamingFilter(0, 256, low_cutoff=30.) as reference: + warmup = data.copy() + stream.process(warmup) + reference.process(data.copy()) + bad = np.array([1., np.nan, 3.]) + with self.assertRaises(BrainFlowError): + stream.process(bad) + np.testing.assert_array_equal(bad, [1., np.nan, 3.]) + actual, expected = data.copy(), data.copy() + stream.process(actual) + reference.process(expected) + np.testing.assert_array_equal(actual, expected) + + def test_decimation_preserves_passband_and_suppresses_alias(self): + time = np.arange(4097) / 256 + low = np.sin(2 * np.pi * 8 * time) + high = np.sin(2 * np.pi * 80 * time) + decimated_low = DataFilter.perform_decimation(low, 4) + decimated_high = DataFilter.perform_decimation(high, 4) + self.assertEqual(decimated_low.size, 1024) + np.testing.assert_allclose(decimated_low[20:-20], low[:4096:4][20:-20], atol=0.01) + self.assertLess(np.sqrt(np.mean(decimated_high[20:-20] ** 2)), 0.01) + np.testing.assert_array_equal(DataFilter.perform_decimation(low, 1), low) + + def test_public_filter_margin_query(self): + margin = DataFilter.get_filter_settling_samples(0, 256, low_cutoff=30.) + self.assertGreater(margin, 0) + with self.assertRaises(BrainFlowError): + DataFilter.get_filter_settling_samples(0, 256, low_cutoff=200.) + + +if __name__ == '__main__': + unittest.main() diff --git a/python_package/examples/tests/decomposition_regression.py b/python_package/examples/tests/decomposition_regression.py new file mode 100644 index 000000000..4d05f7029 --- /dev/null +++ b/python_package/examples/tests/decomposition_regression.py @@ -0,0 +1,278 @@ +"""Native wavelet, CSP and ICA safety and numerical regression checks. + +Run with the local Python package and freshly built native libraries: + python python_package/examples/tests/decomposition_regression.py +""" + +import ctypes +import unittest + +import numpy as np + +from brainflow.data_filter import DataHandlerDLL + + +DOUBLE = ctypes.POINTER(ctypes.c_double) +INTEGER = ctypes.POINTER(ctypes.c_int) +INT = ctypes.c_int +INVALID = 13 +BUFFER_ERROR = 9 +GENERAL_ERROR = 17 + + +def doubles(array): + return array.ctypes.data_as(DOUBLE) + + +def integers(array): + return array.ctypes.data_as(INTEGER) + + +class DecompositionRegression(unittest.TestCase): + @classmethod + def setUpClass(cls): + library = DataHandlerDLL.get_instance().lib + + def native(name, *arguments): + # Independent prototypes keep tests from changing binding-level argtypes. + return ctypes.CFUNCTYPE(INT, *arguments)((name, library)) + + cls.forward = staticmethod(native( + 'perform_wavelet_transform', DOUBLE, INT, INT, INT, INT, DOUBLE, INTEGER)) + cls.inverse = staticmethod(native( + 'perform_inverse_wavelet_transform_checked', DOUBLE, INT, INT, INT, INT, + INT, INTEGER, INT, DOUBLE, INT)) + cls.legacy_inverse = staticmethod(native( + 'perform_inverse_wavelet_transform', DOUBLE, INT, INT, INT, INT, INTEGER, DOUBLE)) + cls.denoise = staticmethod(native( + 'perform_wavelet_denoising', DOUBLE, INT, INT, INT, INT, INT, INT, INT)) + cls.restore = staticmethod(native( + 'restore_data_from_wavelet_detailed_coeffs', DOUBLE, INT, INT, INT, INT, DOUBLE)) + cls.csp = staticmethod(native( + 'get_csp', DOUBLE, DOUBLE, INT, INT, INT, DOUBLE, DOUBLE)) + cls.ica = staticmethod(native( + 'perform_ica_with_options', DOUBLE, INT, INT, INT, DOUBLE, DOUBLE, + DOUBLE, DOUBLE, INT, ctypes.c_double, INT)) + + def transform(self, data, wavelet=3, level=2, extension=0): + coefficients = np.empty(data.size + 82 * level, dtype=np.float64) + lengths = np.empty(level + 1, dtype=np.int32) + self.assertEqual(self.forward(doubles(data), data.size, wavelet, level, extension, + doubles(coefficients), integers(lengths)), 0) + return coefficients[:int(lengths.sum())].copy(), lengths + + def reconstruct(self, coefficients, lengths, count, wavelet=3, level=2, extension=0): + output = np.empty(count, dtype=np.float64) + self.assertEqual(self.inverse( + doubles(coefficients), coefficients.size, count, wavelet, level, extension, + integers(lengths), lengths.size, doubles(output), output.size), 0) + return output + + def test_wavelet_roundtrips_all_families(self): + generator = np.random.default_rng(745) + for count in (256, 257): + data = generator.normal(size=count) + for wavelet in range(45): + for extension in (0, 1): + for level in (1, 2, 3): + with self.subTest(count=count, wavelet=wavelet, + extension=extension, level=level): + coefficients, lengths = self.transform( + data, wavelet, level, extension) + restored = self.reconstruct( + coefficients, lengths, count, wavelet, level, extension) + np.testing.assert_allclose(restored, data, atol=1e-9, rtol=1e-9) + + def test_inverse_rejects_inconsistent_metadata_before_access(self): + data = np.linspace(-1.0, 1.0, 64) + coefficients, lengths = self.transform(data) + output = np.full(64, 321.0) + for bad_lengths in (np.array([1000, 1000, 1000], dtype=np.int32), + np.array([-1, 19, 34], dtype=np.int32), + lengths[::-1].copy()): + with self.subTest(lengths=bad_lengths): + self.assertEqual(self.inverse( + doubles(coefficients), coefficients.size, 64, 3, 2, 0, + integers(bad_lengths), bad_lengths.size, doubles(output), output.size), + INVALID) + self.assertEqual(self.legacy_inverse( + doubles(coefficients), 64, 3, 2, 0, integers(bad_lengths), + doubles(output)), INVALID) + self.assertEqual(self.inverse( + doubles(coefficients), coefficients.size, 32, 3, 2, 0, + integers(lengths), lengths.size, doubles(output), output.size), INVALID) + np.testing.assert_array_equal(output, np.full(64, 321.0)) + + def test_inverse_rejects_short_actual_arrays(self): + coefficients, lengths = self.transform(np.arange(64, dtype=np.float64)) + output = np.full(64, 321.0) + self.assertEqual(self.inverse( + doubles(coefficients[:1].copy()), 1, 64, 3, 2, 0, + integers(lengths), 3, doubles(output), 64), INVALID) + self.assertEqual(self.inverse( + doubles(coefficients), coefficients.size, 64, 3, 2, 0, + integers(lengths[:1].copy()), 1, doubles(output), 64), INVALID) + self.assertEqual(self.inverse( + doubles(coefficients), coefficients.size, 64, 3, 2, 0, + integers(lengths), 3, doubles(output[:1]), 1), INVALID) + np.testing.assert_array_equal(output, np.full(64, 321.0)) + + def test_wavelet_rejects_nonfinite_samples_and_bad_levels(self): + output = np.full(500, 321.0) + lengths = np.zeros(101, dtype=np.int32) + for bad_value in (np.nan, np.inf, -np.inf): + data = np.arange(64, dtype=np.float64) + data[30] = bad_value + self.assertEqual(self.forward( + doubles(data), data.size, 3, 2, 0, doubles(output), integers(lengths)), + INVALID) + original = data.copy() + self.assertEqual(self.denoise(doubles(data), data.size, 3, 2, 0, 0, 0, 0), + INVALID) + np.testing.assert_array_equal(data, original) + for level in (0, -1, 101, 2**31 - 1): + self.assertEqual(self.forward( + doubles(np.ones(64)), 64, 3, level, 0, doubles(output), integers(lengths)), + INVALID) + self.assertEqual(self.forward( + doubles(np.ones(64)), 64, 3, 20, 0, doubles(output), integers(lengths)), + BUFFER_ERROR) + coefficients, valid_lengths = self.transform(np.ones(64)) + coefficients[0] = np.nan + self.assertEqual(self.inverse( + doubles(coefficients), coefficients.size, 64, 3, 2, 0, + integers(valid_lengths), valid_lengths.size, doubles(output), output.size), + INVALID) + np.testing.assert_array_equal(output, np.full(500, 321.0)) + + def test_detail_reconstruction_matches_coefficient_mask(self): + data = np.random.default_rng(13).normal(size=257) + for wavelet in (0, 3, 20, 35, 44): + coefficients, lengths = self.transform(data, wavelet, 3) + offsets = np.concatenate(([0], np.cumsum(lengths))) + for detail in (1, 2, 3): + masked = np.zeros_like(coefficients) + block = 4 - detail + masked[offsets[block]:offsets[block + 1]] = coefficients[ + offsets[block]:offsets[block + 1]] + expected = self.reconstruct(masked, lengths, data.size, wavelet, 3) + actual = np.empty_like(data) + self.assertEqual(self.restore( + doubles(data), data.size, wavelet, 3, detail, doubles(actual)), 0) + np.testing.assert_allclose(actual, expected, atol=1e-12, rtol=1e-12) + + def test_wavelet_denoising_preserves_constant_signals(self): + for method in (0, 1): + for threshold in (0, 1): + for extension in (0, 1): + for noise in (0, 1): + data = np.full(256, 12.5) + self.assertEqual(self.denoise( + doubles(data), data.size, 3, 3, method, threshold, extension, + noise), 0) + np.testing.assert_allclose(data, np.full(256, 12.5), atol=1e-10) + + def test_csp_whitens_and_diagonalizes_covariances(self): + data = np.random.default_rng(187).normal(size=(6, 3, 256)) + data[3:, 0] *= 4.0 + labels = np.array([0., 0., 0., 1., 1., 1.]) + filters, values = np.empty((3, 3)), np.empty(3) + self.assertEqual(self.csp( + doubles(data), doubles(labels), 6, 3, 256, doubles(filters), doubles(values)), 0) + centered = data - data.mean(axis=2, keepdims=True) + covariance = centered @ centered.transpose(0, 2, 1) / 256 + first, second = covariance[:3].mean(axis=0), covariance[3:].mean(axis=0) + np.testing.assert_allclose(filters @ (first + second) @ filters.T, + np.eye(3), atol=1e-12, rtol=1e-12) + np.testing.assert_allclose(filters @ first @ filters.T, + np.diag(values), atol=1e-12, rtol=1e-12) + + def test_csp_rejects_invalid_labels_rank_and_samples(self): + valid = np.random.default_rng(187).normal(size=(4, 3, 128)) + filters, values = np.full((3, 3), 321.0), np.full(3, 321.0) + labels = np.array([0., 0., 1., 1.]) + for bad_labels in (np.zeros(4), np.ones(4), np.array([0.1, 0.9, 1.1, 1.9]), + np.array([0., 0., 1., np.nan])): + self.assertEqual(self.csp( + doubles(valid), doubles(bad_labels), 4, 3, 128, + doubles(filters), doubles(values)), INVALID) + rank_one = np.tile(valid[:, :1], (1, 3, 1)) + for bad_data in (np.zeros_like(valid), np.ones_like(valid), rank_one, + np.full_like(valid, np.nan), np.full_like(valid, np.inf)): + self.assertEqual(self.csp( + doubles(bad_data), doubles(labels), 4, 3, 128, + doubles(filters), doubles(values)), INVALID) + self.assertEqual(self.csp( + doubles(valid), doubles(labels), 4, 3, 128, None, doubles(values)), INVALID) + np.testing.assert_array_equal(filters, np.full((3, 3), 321.0)) + np.testing.assert_array_equal(values, np.full(3, 321.0)) + + @staticmethod + def mixture(square=False): + generator = np.random.default_rng(2841) + sources = np.vstack((generator.laplace(size=5000), generator.uniform(-1, 1, 5000), + generator.standard_t(6, size=5000))) + mixing = np.array([[1., 0.4, -0.2], [-0.6, 1.3, 0.7], [0.3, -0.7, 1.2]]) + if not square: + sources, mixing = sources[:2], mixing[:, :2] + return np.ascontiguousarray(mixing @ sources + np.array([[10.], [-5.], [2.]])) + + def run_ica(self, data, components=2, iterations=1000, tolerance=1e-4, seed=42): + rows, columns = data.shape + outputs = (np.full((components, components), 321.0), + np.full((components, rows), 321.0), + np.full((rows, components), 321.0), + np.full((components, columns), 321.0)) + code = self.ica(doubles(data), rows, columns, components, + *(doubles(output) for output in outputs), + iterations, tolerance, seed) + return code, outputs + + def test_ica_rectangular_and_square_reconstruction(self): + for square in (False, True): + data = self.mixture(square) + code, (weights, whitening, mixing, sources) = self.run_ica( + data, 3 if square else 2) + self.assertEqual(code, 0) + centered = data - data.mean(axis=1, keepdims=True) + np.testing.assert_allclose(mixing @ sources, centered, atol=1e-10, rtol=1e-10) + np.testing.assert_allclose(mixing, np.linalg.pinv(weights @ whitening), + atol=1e-10, rtol=1e-10) + np.testing.assert_allclose(sources, weights @ whitening @ centered, + atol=1e-10, rtol=1e-10) + + def test_ica_seed_is_repeatable_and_scaling_stays_finite(self): + data = self.mixture() + first_code, first = self.run_ica(data) + second_code, second = self.run_ica(data) + self.assertEqual(first_code, 0) + self.assertEqual(second_code, 0) + for left, right in zip(first, second): + np.testing.assert_array_equal(left, right) + for scale in (1e-100, 1e100): + code, (_, _, mixing, sources) = self.run_ica(data * scale) + self.assertEqual(code, 0) + np.testing.assert_allclose(mixing @ sources / scale, + data - data.mean(axis=1, keepdims=True), + atol=1e-10, rtol=1e-10) + + def test_ica_rejects_bad_rank_nonfinite_and_nonconvergence(self): + data = self.mixture() + for invalid in (np.zeros((3, 100)), np.ones((3, 100)), + np.tile(np.arange(100.), (3, 1)), + np.full((3, 100), np.nan), np.full((3, 100), np.inf)): + code, outputs = self.run_ica(invalid) + self.assertEqual(code, INVALID) + for output in outputs: + self.assertTrue(np.all(output == 321.0)) + code, outputs = self.run_ica(data, iterations=1, tolerance=1e-14) + self.assertEqual(code, GENERAL_ERROR) + for output in outputs: + self.assertTrue(np.all(output == 321.0)) + for options in ({'iterations': 0}, {'tolerance': 0.0}, {'tolerance': np.nan}, + {'tolerance': 1.0}, {'seed': -2}): + self.assertEqual(self.run_ica(data, **options)[0], INVALID) + + +if __name__ == '__main__': + unittest.main() diff --git a/python_package/examples/tests/ica.py b/python_package/examples/tests/ica.py index 7523b857a..773dba7ec 100644 --- a/python_package/examples/tests/ica.py +++ b/python_package/examples/tests/ica.py @@ -1,32 +1,19 @@ -import time import numpy as np import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt -from brainflow.board_shim import BoardShim, BoardIds, BrainFlowInputParams from brainflow.data_filter import DataFilter def main(): - board_id = BoardIds.SYNTHETIC_BOARD - eeg_channels = BoardShim.get_eeg_channels(board_id) - - params = BrainFlowInputParams() - board = BoardShim(board_id, params) - board.prepare_session() - board.start_stream() - time.sleep(10) - data = board.get_board_data(500) - board.stop_stream() - board.release_session() - - channel_to_use = eeg_channels[4] - data = data[channel_to_use, :] - # provide 5 chunks of data for components selection - data = data.reshape(5, 100) - data = np.ascontiguousarray(data) + # Two simultaneous mixtures: rows are channels and columns are samples. + time = np.arange(1024, dtype=np.float64) / 256.0 + first = np.sin(2.0 * np.pi * 7.0 * time) + second = np.sin(2.0 * np.pi * 13.0 * time) ** 3 + data = np.vstack((first + 0.3 * second, 0.2 * first + second)) + # Component order and sign are arbitrary. w, k, a, s = DataFilter.perform_ica(data, 2) fig, axs = plt.subplots(2, 1) axs[0].plot(s[0, :]) diff --git a/python_package/examples/tests/ml_binding_regression.py b/python_package/examples/tests/ml_binding_regression.py new file mode 100644 index 000000000..9f2dba3f7 --- /dev/null +++ b/python_package/examples/tests/ml_binding_regression.py @@ -0,0 +1,82 @@ +"""Python ML buffer ownership and input-layout regressions; no native model needed.""" +import json +from pathlib import Path +import sys +import unittest +from unittest.mock import patch + +import numpy as np + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / 'python_package')) +from brainflow.board_shim import BrainFlowError +from brainflow.ml_model import BrainFlowModelParams, MLModel, MLModuleDLL + + +class MLBindingRegression(unittest.TestCase): + def test_output_capacity_matches_initial_serialized_settings(self): + params = BrainFlowModelParams(0, 0) + params.max_array_size = 4 + model = MLModel(params) + params.max_array_size = 1 + + def predict(data, size, output, output_len, serialized): + self.assertEqual(json.loads(serialized)['max_array_size'], 4) + self.assertEqual(len(output), 4) + output[:] = [0.1, 0.2, 0.3, 0.4] + output_len[0] = 4 + return 0 + + with patch.object(MLModuleDLL, 'get_instance') as library: + library.return_value.predict.side_effect = predict + np.testing.assert_array_equal(model.predict([1, 2, 3, 4, 5]), [0.1, 0.2, 0.3, 0.4]) + + def test_capacity_must_be_a_positive_native_integer(self): + for capacity in (0, -1, 1.5, True, np.bool_(True), '4', 2 ** 31): + params = BrainFlowModelParams(0, 0) + params.max_array_size = capacity + with self.subTest(capacity=capacity), self.assertRaises(BrainFlowError): + MLModel(params) + params = BrainFlowModelParams(0, 0) + params.max_array_size = np.int64(4) + self.assertEqual(json.loads(MLModel(params).serialized_params)['max_array_size'], 4) + + def test_strided_input_is_normalized_before_native_access(self): + model = MLModel(BrainFlowModelParams(0, 0)) + values = np.arange(10, dtype=np.float32)[::-2] + + def predict(data, size, output, output_len, serialized): + self.assertEqual(data.dtype, np.float64) + self.assertTrue(data.flags.c_contiguous) + np.testing.assert_array_equal(data, values) + self.assertEqual(size, 5) + output[0], output_len[0] = 0.5, 1 + return 0 + + with patch.object(MLModuleDLL, 'get_instance') as library: + library.return_value.predict.side_effect = predict + np.testing.assert_array_equal(model.predict(values), [0.5]) + + def test_invalid_inputs_do_not_reach_native_code(self): + model = MLModel(BrainFlowModelParams(0, 0)) + with patch.object(MLModuleDLL, 'get_instance') as library: + for values in ([], 1.0, [[1, 2]], [1, np.nan], [np.inf], [1 + 2j], ['not numeric']): + with self.subTest(values=values), self.assertRaises(BrainFlowError): + model.predict(values) + library.assert_not_called() + + def test_invalid_native_output_count_is_rejected(self): + params = BrainFlowModelParams(0, 0) + params.max_array_size = 2 + model = MLModel(params) + for invalid_count in (-1, 3): + def predict(data, size, output, output_len, serialized): + output_len[0] = invalid_count + return 0 + with patch.object(MLModuleDLL, 'get_instance') as library: + library.return_value.predict.side_effect = predict + with self.subTest(count=invalid_count), self.assertRaises(BrainFlowError): + model.predict([1, 2, 3, 4, 5]) + + +if __name__ == '__main__': + unittest.main() diff --git a/python_package/examples/tests/ml_export_regression.py b/python_package/examples/tests/ml_export_regression.py new file mode 100644 index 000000000..f4bdf5c1a --- /dev/null +++ b/python_package/examples/tests/ml_export_regression.py @@ -0,0 +1,343 @@ +"""Classifier export parity and native ML buffer/selection regression checks. + +Run after rebuilding MLModule with BUILD_ONNX=ON, using the local Python package: + python python_package/examples/tests/ml_export_regression.py +Training checks also require src/ml/train/requirements.txt. +""" + +import ctypes +import hashlib +from pathlib import Path +import re +import sys +import tempfile +import unittest +from unittest import mock +import warnings + +import numpy as np +import onnx +from onnx import TensorProto, helper +from scipy.special import expit +from sklearn.calibration import CalibratedClassifierCV +from sklearn.ensemble import (ExtraTreesClassifier, GradientBoostingClassifier, HistGradientBoostingClassifier, + RandomForestClassifier, StackingClassifier) +from sklearn.linear_model import LogisticRegression +from sklearn.neighbors import KNeighborsClassifier +from sklearn.neural_network import MLPClassifier +from sklearn.pipeline import make_pipeline +from sklearn.preprocessing import PolynomialFeatures, StandardScaler +from sklearn.svm import SVC + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT / "python_package")) +sys.path.insert(0, str(ROOT / "src/ml/train")) + +from brainflow.board_shim import BrainFlowError +from brainflow.ml_model import ( + BrainFlowClassifiers, BrainFlowMetrics, BrainFlowModelParams, MLModel, MLModuleDLL) +from training_export import export_model, extract_native_logistic, write_native_logistic + + +def samples(): + generator = np.random.default_rng(317) + data = generator.dirichlet(np.array([2, 3, 4, 2, 1]), size=160) + labels = (data @ np.array([-2, -1, 3, 1, -2]) > .4).astype(int) + probes = np.concatenate((data[-20:], np.eye(5), np.full((1, 5), .2))) + return data[:-20], labels[:-20], probes + + +def fitted_models(): + data, labels, _ = samples() + models = { + "logreg": make_pipeline(StandardScaler(), LogisticRegression(C=.7, random_state=4)), + "polynomial_logreg": make_pipeline(PolynomialFeatures(2, include_bias=False), + StandardScaler(), LogisticRegression(C=.1, random_state=4)), + "gradient_boosting": GradientBoostingClassifier(n_estimators=12, max_depth=2, random_state=4), + "svm": CalibratedClassifierCV(make_pipeline(StandardScaler(), SVC(C=.5, random_state=4)), + ensemble=False, cv=3, method="sigmoid"), + "forest": RandomForestClassifier(n_estimators=8, max_depth=4, random_state=4), + "extra_trees": ExtraTreesClassifier(n_estimators=8, max_depth=4, random_state=4), + "hist_gradient_boosting": HistGradientBoostingClassifier( + max_iter=15, max_leaf_nodes=7, min_samples_leaf=5, random_state=4), + "knn": make_pipeline(StandardScaler(), KNeighborsClassifier(n_neighbors=5, weights="distance")), + "mlp": make_pipeline(StandardScaler(), MLPClassifier( + hidden_layer_sizes=(6,), activation="logistic", solver="lbfgs", + max_iter=1000, random_state=4)), + "stacking": StackingClassifier(estimators=[ + ("linear", LogisticRegression(C=.7, random_state=4)), + ("trees", RandomForestClassifier(n_estimators=5, max_depth=3, random_state=4)), + ("neighbors", make_pipeline(StandardScaler(), KNeighborsClassifier( + n_neighbors=5, weights="distance")))], + final_estimator=LogisticRegression(C=.3), passthrough=True, cv=2, n_jobs=1), + } + return {name: model.fit(data, labels) for name, model in models.items()} + + +class ExportRegression(unittest.TestCase): + def test_folded_scaler_probability_parity(self): + data, labels, probes = samples() + for center, scale in ((True, True), (False, True), (True, False), (False, False)): + with self.subTest(center=center, scale=scale): + model = make_pipeline(StandardScaler(with_mean=center, with_std=scale), + LogisticRegression(C=.7, random_state=4)).fit(data, labels) + coefficients, intercept = extract_native_logistic(model) + np.testing.assert_allclose(expit(probes @ coefficients + intercept), + model.predict_proba(probes)[:, 1], atol=1e-14, rtol=0) + + def test_binary_multinomial_probability_parity(self): + data, labels, probes = samples() + with warnings.catch_warnings(): + warnings.simplefilter("ignore", FutureWarning) + model = make_pipeline(StandardScaler(), LogisticRegression( + C=.7, multi_class="multinomial", random_state=4)).fit(data, labels) + coefficients, intercept = extract_native_logistic(model) + np.testing.assert_allclose(expit(probes @ coefficients + intercept), + model.predict_proba(probes)[:, 1], atol=1e-14, rtol=0) + + def test_liblinear_without_intercept_folds_scalar_zero(self): + data, labels, probes = samples() + model = make_pipeline(StandardScaler(), LogisticRegression( + solver="liblinear", fit_intercept=False, random_state=4)).fit(data, labels) + coefficients, intercept = extract_native_logistic(model) + np.testing.assert_allclose(expit(probes @ coefficients + intercept), + model.predict_proba(probes)[:, 1], atol=1e-14, rtol=0) + + def test_native_writer_roundtrips_all_parameters(self): + data, labels, _ = samples() + model = make_pipeline(StandardScaler(), LogisticRegression(C=.7)).fit(data, labels) + coefficients, intercept = extract_native_logistic(model) + self.assertNotEqual(intercept, 0) + with tempfile.TemporaryDirectory() as directory: + path = Path(directory) / "mindfulness_model.cpp" + metadata = write_native_logistic(model, path) + content = path.read_text() + self.assertEqual(metadata["sha256"], hashlib.sha256(path.read_bytes()).hexdigest()) + saved = np.fromstring(re.search(r"\{([^}]+)\}", content).group(1), sep=",") + saved_intercept = float(re.search(r"intercept = ([^;]+)", content).group(1)) + np.testing.assert_array_equal(saved, coefficients) + self.assertEqual(saved_intercept, intercept) + + def test_all_model_families_export_with_probability_parity(self): + _, _, probes = samples() + with tempfile.TemporaryDirectory() as directory: + for name, model in fitted_models().items(): + with self.subTest(model=name): + path = Path(directory) / (name + ".onnx") + metadata = export_model(model, path, probes) + self.assertTrue(path.is_file()) + self.assertEqual(metadata["input_shape"], [1, 5]) + self.assertEqual(metadata["output_shape"], [1, 2]) + self.assertLessEqual(metadata["parity"]["max_absolute_error"], 2e-5) + onnx.checker.check_model(onnx.load(path)) + + def test_calibrated_svm_linear_and_rbf_ensembles_preserve_probabilities(self): + data, labels, probes = samples() + with tempfile.TemporaryDirectory() as directory: + for kernel in ("linear", "rbf"): + for ensemble in (False, True): + with self.subTest(kernel=kernel, ensemble=ensemble): + model = CalibratedClassifierCV(make_pipeline( + StandardScaler(), SVC(kernel=kernel, C=3.0)), + ensemble=ensemble, cv=3).fit(data, labels) + metadata = export_model(model, Path(directory) / "calibrated.onnx", probes) + self.assertEqual(metadata["exporter"], "double_precision_calibrated_svm") + self.assertLess(metadata["parity"]["max_absolute_error"], 1e-6) + + def test_export_failure_preserves_existing_artifact(self): + data, labels, probes = samples() + model = LogisticRegression().fit(data, labels) + with tempfile.TemporaryDirectory() as directory: + path = Path(directory) / "model.onnx" + path.write_bytes(b"previous validated artifact") + wrong = np.tile([1., 0.], (len(probes), 1)) + with mock.patch("training_export._runtime_probabilities", + return_value=(wrong, "test", "test")): + with self.assertRaisesRegex(ValueError, "parity failed"): + export_model(model, path, probes) + self.assertEqual(path.read_bytes(), b"previous validated artifact") + self.assertEqual(len(list(Path(directory).iterdir())), 1) + + def test_export_bytes_are_reproducible(self): + data, labels, probes = samples() + model = LogisticRegression().fit(data, labels) + expected = model.predict_proba(probes) + with tempfile.TemporaryDirectory() as directory: + first, second = Path(directory) / "first.onnx", Path(directory) / "second.onnx" + with mock.patch("training_export._runtime_probabilities", + return_value=(expected, "test", "test")): + export_model(model, first, probes) + export_model(model, second, probes) + self.assertEqual(first.read_bytes(), second.read_bytes()) + + def test_knn_exact_duplicate_and_near_zero_distance_weights(self): + data = np.array([[1, 0, 0, 0, 0], [1, 0, 0, 0, 0], [.75, .25, 0, 0, 0], + [.5, .5, 0, 0, 0], [.25, .75, 0, 0, 0]], dtype=np.float64) + labels = np.array([0, 1, 1, 1, 0]) + probes = np.array([[1, 0, 0, 0, 0], [1 - 2**-24, 2**-24, 0, 0, 0], + [.875, .125, 0, 0, 0], [.5, .5, 0, 0, 0]], dtype=np.float64) + with tempfile.TemporaryDirectory() as directory: + for metric in (1, 2): + with self.subTest(minkowski_p=metric): + model = KNeighborsClassifier(n_neighbors=4, weights="distance", p=metric).fit( + data, labels) + np.testing.assert_array_equal(model.predict_proba(probes[:1]), [[.5, .5]]) + metadata = export_model(model, Path(directory) / f"knn_p{metric}.onnx", probes) + self.assertEqual(metadata["distance_weight_repairs"], 1) + + def test_rejects_wrong_feature_or_class_contract(self): + data, labels, probes = samples() + with tempfile.TemporaryDirectory() as directory: + path = Path(directory) / "model.onnx" + with self.assertRaisesRegex(ValueError, "classes"): + export_model(LogisticRegression().fit(data, labels + 1), path, probes) + with self.assertRaisesRegex(ValueError, "shape"): + export_model(LogisticRegression().fit(data, labels), path, probes[:, :4]) + with self.assertRaisesRegex(ValueError, "finite"): + invalid = probes.copy() + invalid[0, 0] = np.nan + export_model(LogisticRegression().fit(data, labels), path, invalid) + + +class NativeMLRegression(unittest.TestCase): + @classmethod + def setUpClass(cls): + MLModel.disable_ml_logger() + cls.directory = tempfile.TemporaryDirectory() + cls.single = Path(cls.directory.name) / "single.onnx" + cls.multiple = Path(cls.directory.name) / "multiple.onnx" + cls.dynamic = Path(cls.directory.name) / "dynamic_output.onnx" + input_info = helper.make_tensor_value_info("input", TensorProto.FLOAT, [1, 5]) + + def save(path, nodes, outputs): + graph = helper.make_graph(nodes, "regression", [input_info], outputs) + model = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 11)]) + model.ir_version = 6 + onnx.checker.check_model(model) + onnx.save(model, path) + + positive = helper.make_tensor_value_info("positive", TensorProto.FLOAT, [1, 5]) + negative = helper.make_tensor_value_info("negative", TensorProto.FLOAT, [1, 5]) + save(cls.single, [helper.make_node("Identity", ["input"], ["positive"])], [positive]) + save(cls.multiple, [helper.make_node("Identity", ["input"], ["positive"]), + helper.make_node("Neg", ["input"], ["negative"])], [positive, negative]) + save(cls.dynamic, [helper.make_node("NonZero", ["input"], ["positions"])], + [helper.make_tensor_value_info("positions", TensorProto.INT64, [2, None])]) + library = MLModuleDLL.get_instance().lib + cls.raw_predict = staticmethod(ctypes.CFUNCTYPE( + ctypes.c_int, ctypes.POINTER(ctypes.c_double), ctypes.c_int, + ctypes.POINTER(ctypes.c_double), ctypes.POINTER(ctypes.c_int), ctypes.c_char_p)( + ("predict", library))) + + @classmethod + def tearDownClass(cls): + cls.directory.cleanup() + + def tearDown(self): + MLModel.release_all() + + def onnx_model(self, path, output_name="", capacity=16): + params = BrainFlowModelParams(BrainFlowMetrics.USER_DEFINED, BrainFlowClassifiers.ONNX_CLASSIFIER) + params.file = str(path) + params.output_name = output_name + params.max_array_size = capacity + return MLModel(params) + + def builtin(self, metric=BrainFlowMetrics.MINDFULNESS, capacity=1): + params = BrainFlowModelParams(metric, BrainFlowClassifiers.DEFAULT_CLASSIFIER) + params.max_array_size = capacity + return MLModel(params) + + def assert_error(self, code, operation): + with self.assertRaises(BrainFlowError) as failure: + operation() + self.assertEqual(failure.exception.exit_code, code) + + def test_builtin_matches_generated_weights_and_restfulness_complement(self): + content = (ROOT / "src/ml/generated/mindfulness_model.cpp").read_text() + coefficients = np.fromstring(re.search(r"\{([^}]+)\}", content).group(1), sep=",") + intercept = float(re.search(r"intercept = ([^;]+)", content).group(1)) + mind = self.builtin() + rest = self.builtin(BrainFlowMetrics.RESTFULNESS) + mind.prepare() + rest.prepare() + _, _, probes = samples() + for row in probes: + expected = expit(row @ coefficients + intercept) + self.assertAlmostEqual(mind.predict(row)[0], expected, places=13) + self.assertAlmostEqual(rest.predict(row)[0], 1 - expected, places=13) + np.testing.assert_array_equal(mind.predict(np.r_[probes[0], 1234.]), mind.predict(probes[0])) + + def test_builtin_rejects_invalid_inputs_and_capacity(self): + self.assert_error(13, lambda: self.builtin(capacity=0).prepare()) + model = self.builtin() + model.prepare() + for data in (np.ones(4), np.array([.2, .2, np.nan, .2, .2]), + np.array([.2, .2, np.inf, .2, .2])): + self.assert_error(13, lambda: model.predict(data)) + values = np.ones(5) + output = np.zeros(1) + self.assertEqual(self.raw_predict( + values.ctypes.data_as(ctypes.POINTER(ctypes.c_double)), 5, + output.ctypes.data_as(ctypes.POINTER(ctypes.c_double)), None, + model.serialized_params), 13) + + def test_registry_distinguishes_output_names_and_capacities(self): + positive = self.onnx_model(self.multiple, "positive", 5) + negative = self.onnx_model(self.multiple, "negative", 5) + larger = self.onnx_model(self.multiple, "positive", 6) + positive.prepare() + negative.prepare() + larger.prepare() + data = np.arange(5, dtype=np.float64) + np.testing.assert_array_equal(positive.predict(data), data) + np.testing.assert_array_equal(negative.predict(data), -data) + np.testing.assert_array_equal(larger.predict(data), data) + + def test_actual_dynamic_output_size_and_empty_output(self): + model = self.onnx_model(self.dynamic, capacity=8) + model.prepare() + np.testing.assert_array_equal(model.predict(np.array([0., .2, 0., .3, 0.])), [0, 0, 1, 3]) + self.assertEqual(model.predict(np.zeros(5)).size, 0) + + def test_output_capacity_rejects_instead_of_truncating(self): + model = self.onnx_model(self.single, capacity=2) + model.prepare() + values = np.arange(5, dtype=np.float64) + output = np.full(5, 12345., dtype=np.float64) + count = ctypes.c_int(-1) + self.assertEqual(self.raw_predict( + values.ctypes.data_as(ctypes.POINTER(ctypes.c_double)), 5, + output.ctypes.data_as(ctypes.POINTER(ctypes.c_double)), ctypes.byref(count), + model.serialized_params), 9) + self.assertEqual(count.value, 0) + np.testing.assert_array_equal(output, 12345.) + + def test_explicit_unknown_output_is_rejected_even_for_single_output(self): + self.assert_error(13, self.onnx_model(self.single, "not_an_output").prepare) + + def test_onnx_rejects_wrong_input_count_nonfinite_and_float_overflow(self): + model = self.onnx_model(self.single) + model.prepare() + for data in (np.ones(4), np.ones(6), np.full(5, np.nan), np.full(5, np.inf), + np.full(5, np.finfo(np.float64).max)): + self.assert_error(13, lambda: model.predict(data)) + + def test_exported_models_match_sklearn_in_bundled_runtime(self): + _, _, probes = samples() + for name, fitted in fitted_models().items(): + with self.subTest(model=name): + path = Path(self.directory.name) / (name + ".onnx") + metadata = export_model(fitted, path, probes) + model = self.onnx_model(path, metadata["output_name"], capacity=2) + model.prepare() + try: + probabilities = np.asarray([model.predict(row) for row in probes]) + finally: + model.release() + np.testing.assert_allclose(probabilities, fitted.predict_proba(probes), + atol=2e-5, rtol=0) + + +if __name__ == "__main__": + unittest.main() diff --git a/python_package/examples/tests/signal_metrics_regression.py b/python_package/examples/tests/signal_metrics_regression.py new file mode 100644 index 000000000..dcd27bcf7 --- /dev/null +++ b/python_package/examples/tests/signal_metrics_regression.py @@ -0,0 +1,211 @@ +"""PPG validity, rolling peaks, clipping, flatline and stable activity regressions.""" + +import ctypes +import unittest + +import numpy as np + +from brainflow.data_filter import DataHandlerDLL + + +DOUBLE = ctypes.POINTER(ctypes.c_double) +INT = ctypes.c_int +REAL = ctypes.c_double +INVALID = 13 +BUFFER_ERROR = 9 + + +def pointer(array): + return array.ctypes.data_as(DOUBLE) + + +class SignalMetricsRegression(unittest.TestCase): + @classmethod + def setUpClass(cls): + library = DataHandlerDLL.get_instance().lib + + def native(name, *arguments): + return staticmethod(ctypes.CFUNCTYPE(INT, *arguments)((name, library))) + + cls.heart_rate = native( + 'get_heart_rate', DOUBLE, DOUBLE, INT, INT, INT, DOUBLE) + cls.oxygen = native( + 'get_oxygen_level', DOUBLE, DOUBLE, INT, INT, REAL, REAL, REAL, DOUBLE) + cls.peaks = native( + 'detect_peaks_z_score', DOUBLE, INT, INT, REAL, REAL, DOUBLE) + cls.railed = native('get_railed_percentage', DOUBLE, INT, INT, DOUBLE) + cls.clipping = native( + 'get_clipping_percentage', DOUBLE, INT, REAL, REAL, DOUBLE) + cls.flatline = native('get_flatline_percentage', DOUBLE, INT, REAL, DOUBLE) + cls.activity = native( + 'get_activity_index', DOUBLE, DOUBLE, DOUBLE, INT, INT, INT, + REAL, REAL, REAL, DOUBLE) + + @staticmethod + def ppg(frequency=1.23, sampling_rate=128, seconds=32): + time = np.arange(sampling_rate * seconds) / sampling_rate + pulse = np.sin(2 * np.pi * frequency * time + 0.23) + return 1000.0 + 10.0 * pulse, 800.0 + 4.0 * pulse + + def test_heart_rate_rejects_absent_nonfinite_and_trend_only_pulses(self): + output = np.array([321.0]) + for data in (np.zeros(4096), np.full(4096, 1000.), np.full(4096, np.nan), + np.full(4096, np.inf), 1000. + np.arange(4096.)): + with self.subTest(value=data[0]): + self.assertEqual(self.heart_rate( + pointer(data), pointer(data), data.size, 128, 1024, pointer(output)), + INVALID) + self.assertEqual(output[0], 321.0) + + def test_heart_rate_interpolation_and_dc_scale_invariance(self): + for frequency in (0.6, 1.23, 2.2, 3.7): + ir, red = self.ppg(frequency) + output = np.empty(1) + self.assertEqual(self.heart_rate( + pointer(ir), pointer(red), ir.size, 128, 1024, pointer(output)), 0) + self.assertAlmostEqual(output[0], frequency * 60.0, delta=0.3) + ir, red = ir * 1e100, red * 1e-100 + self.assertEqual(self.heart_rate( + pointer(ir), pointer(red), ir.size, 128, 1024, pointer(output)), 0) + self.assertAlmostEqual(output[0], frequency * 60.0, delta=0.3) + + def test_ppg_rejects_noise_and_disagreeing_channels(self): + generator = np.random.default_rng(3) + ir_noise = 1000. + generator.normal(size=4096) + red_noise = 800. + generator.normal(size=4096) + first, _ = self.ppg(1.0) + _, second = self.ppg(2.0) + output = np.array([321.0]) + for ir, red in ((ir_noise, red_noise), (first, second)): + self.assertEqual(self.heart_rate( + pointer(ir), pointer(red), ir.size, 128, 1024, pointer(output)), INVALID) + self.assertEqual(self.oxygen( + pointer(ir), pointer(red), ir.size, 128, 1., 2., 3., pointer(output)), + INVALID) + self.assertEqual(output[0], 321.0) + + def test_heart_rate_rejects_invalid_sampling_fft_and_short_input(self): + ir, red = self.ppg() + output = np.array([321.0]) + for sampling_rate, fft_size, length in ((0, 1024, 4096), (7, 1024, 4096), + (128, 1023, 4096), (128, 512, 4096), + (1000, 1024, 4096), (128, 8192, 4096)): + self.assertEqual(self.heart_rate( + pointer(ir), pointer(red), length, sampling_rate, fft_size, pointer(output)), + INVALID) + self.assertEqual(output[0], 321.0) + + def test_oxygen_uses_measured_ac_dc_ratio_over_supported_pulse_range(self): + for frequency in (0.8, 1.23, 2.2, 3.2): + for sampling_rate in (64, 128, 250): + ir, red = self.ppg(frequency, sampling_rate) + output = np.empty(1) + self.assertEqual(self.oxygen( + pointer(ir), pointer(red), ir.size, sampling_rate, + 1., 2., 3., pointer(output)), 0) + # (red AC/red DC)/(IR AC/IR DC) = 0.5, with polynomial r*r+2*r+3. + self.assertAlmostEqual(output[0], 4.25, delta=0.003) + + def test_oxygen_rejects_invalid_inputs_and_insufficient_guard_data(self): + output = np.array([321.0]) + for data in (np.zeros(4096), np.full(4096, 1000.), np.full(4096, np.nan), + np.full(4096, np.inf), 1000. + np.arange(4096.)): + self.assertEqual(self.oxygen( + pointer(data), pointer(data), data.size, 128, 1., 2., 3., pointer(output)), + INVALID) + ir, red = self.ppg() + for sampling_rate, coefficient in ((0, 1.), (8, 1.), (128, np.nan), (128, np.inf)): + self.assertEqual(self.oxygen( + pointer(ir), pointer(red), ir.size, sampling_rate, + coefficient, 2., 3., pointer(output)), INVALID) + self.assertEqual(self.oxygen( + pointer(ir), pointer(red), 128, 128, 1., 2., 3., pointer(output)), BUFFER_ERROR) + self.assertEqual(output[0], 321.0) + + @staticmethod + def reference_peaks(data, lag, threshold, influence): + filtered = data.copy() + result = np.zeros_like(data) + for i in range(lag, data.size): + baseline = filtered[i - lag:i] + if abs(data[i] - baseline.mean()) > threshold * baseline.std(): + result[i] = 1.0 if data[i] > baseline.mean() else -1.0 + filtered[i] = influence * data[i] + (1 - influence) * filtered[i - 1] + return result + + def test_peak_detector_trailing_window_matches_reference(self): + data = np.arange(10., dtype=np.float64) + output = np.empty_like(data) + self.assertEqual(self.peaks( + pointer(data), data.size, 2, 3., 1., pointer(output)), 0) + np.testing.assert_array_equal(output, np.zeros_like(data)) + generator = np.random.default_rng(193) + data = generator.normal(size=5000) + data[100:105] += 10. + data[500] -= 20. + for lag in (2, 17, 100): + for influence in (0., 0.4, 1.): + expected = self.reference_peaks(data, lag, 3., influence) + output = np.empty_like(data) + self.assertEqual(self.peaks( + pointer(data), data.size, lag, 3., influence, pointer(output)), 0) + np.testing.assert_array_equal(output, expected) + + def test_peak_detector_rejects_nonfinite_and_invalid_parameters(self): + data = np.arange(10.) + output = np.full_like(data, 321.) + for threshold, influence in ((np.nan, 1.), (np.inf, 1.), (3., np.nan), + (3., np.inf), (3., 1.5), (3., -1.)): + self.assertEqual(self.peaks( + pointer(data), data.size, 2, threshold, influence, pointer(output)), INVALID) + data[2] = np.nan + self.assertEqual(self.peaks( + pointer(data), data.size, 2, 3., 1., pointer(output)), INVALID) + np.testing.assert_array_equal(output, np.full_like(data, 321.)) + + def test_clipping_and_flatline_have_explicit_distinct_semantics(self): + data = np.array([-2., -1., 0., 0., 0.05, 1., 2.]) + output = np.empty(1) + self.assertEqual(self.clipping( + pointer(data), data.size, -1., 1., pointer(output)), 0) + self.assertAlmostEqual(output[0], 400. / 7) + self.assertEqual(self.flatline( + pointer(data), data.size, 0.1, pointer(output)), 0) + self.assertAlmostEqual(output[0], 100. / 3) + self.assertEqual(self.flatline( + pointer(data), data.size, 0., pointer(output)), 0) + self.assertAlmostEqual(output[0], 100. / 6) + self.assertEqual(self.clipping( + pointer(data), data.size, 1., -1., pointer(output)), INVALID) + self.assertEqual(self.flatline( + pointer(data), data.size, -1., pointer(output)), INVALID) + data[0] = np.nan + self.assertEqual(self.clipping( + pointer(data), data.size, -1., 1., pointer(output)), INVALID) + self.assertEqual(self.flatline( + pointer(data), data.size, 0., pointer(output)), INVALID) + + def test_legacy_railed_metric_is_bounded_and_rejects_nonfinite_data(self): + output = np.empty(1) + data = np.array([0., 1e100, -1e100]) + self.assertEqual(self.railed(pointer(data), data.size, 24, pointer(output)), 0) + self.assertEqual(output[0], 100.) + data = np.full(128, np.nan) + self.assertEqual(self.railed(pointer(data), data.size, 24, pointer(output)), INVALID) + + def test_activity_remains_finite_when_variance_would_overflow(self): + output = np.empty(1) + constant = np.full(128, 1e308) + self.assertEqual(self.activity( + pointer(constant), pointer(constant), pointer(constant), 128, 128, 128, + 0., 0., 0., pointer(output)), 0) + self.assertEqual(output[0], 0.) + data = np.tile(np.array([-1e200, 1e200]), 64) + self.assertEqual(self.activity( + pointer(data), pointer(data), pointer(data), 128, 128, 128, + 0., 0., 0., pointer(output)), 0) + self.assertAlmostEqual(output[0] / 1e200, 1., places=12) + + +if __name__ == '__main__': + unittest.main() diff --git a/python_package/examples/tests/signal_processing_regression.py b/python_package/examples/tests/signal_processing_regression.py new file mode 100644 index 000000000..6c980d3d1 --- /dev/null +++ b/python_package/examples/tests/signal_processing_regression.py @@ -0,0 +1,200 @@ +"""Numerical and input-boundary regressions for the native signal-processing core. + +Run against freshly built libraries with this checkout's Python package on PYTHONPATH. +""" + +import tempfile +import unittest +from pathlib import Path + +import numpy as np +from scipy import signal + +from brainflow.data_filter import DataFilter, DataHandlerDLL +from brainflow.exit_codes import BrainFlowError, BrainFlowExitCodes + + +class SignalProcessingRegression(unittest.TestCase): + def assert_invalid(self, function, *args): + with self.assertRaises(BrainFlowError) as error: + function(*args) + self.assertEqual(error.exception.exit_code, BrainFlowExitCodes.INVALID_ARGUMENTS_ERROR.value) + + def test_periodogram_matches_scipy_for_every_window(self): + data = np.random.default_rng(21).normal(size=1000) + for window in range(4): + with self.subTest(window=window): + weights = DataFilter.get_window(window, len(data)) + frequencies, expected = signal.periodogram(data, fs=250, window=weights, detrend=False) + actual, actual_frequencies = DataFilter.get_psd(data, 250, window) + np.testing.assert_allclose(actual_frequencies, frequencies, atol=1e-13) + np.testing.assert_allclose(actual, expected, rtol=2e-12, atol=1e-15) + + def test_welch_matches_scipy_with_odd_recording_length(self): + data = np.random.default_rng(22).normal(size=2049) + for window in range(4): + with self.subTest(window=window): + weights = DataFilter.get_window(window, 256) + frequencies, expected = signal.welch(data, fs=256, window=weights, + nperseg=256, noverlap=97, detrend=False) + actual, actual_frequencies = DataFilter.get_psd_welch(data, 256, 97, 256, window) + self.assertEqual(len(actual), 129) + np.testing.assert_allclose(actual_frequencies, frequencies, atol=1e-13) + np.testing.assert_allclose(actual, expected, rtol=2e-12, atol=1e-15) + + def test_psd_scaling_avoids_integer_overflow(self): + data = np.cos(2 * np.pi * 31 * np.arange(4096) / 4096) + frequencies, expected = signal.periodogram(data, fs=1_000_000, detrend=False) + actual, actual_frequencies = DataFilter.get_psd(data, 1_000_000, 0) + np.testing.assert_allclose(actual_frequencies, frequencies) + np.testing.assert_allclose(actual, expected, rtol=1e-12, atol=1e-20) + + def test_fft_and_ifft_match_numpy_and_preserve_input(self): + data = np.random.default_rng(23).normal(size=1000) + original = data.copy() + for window in range(4): + with self.subTest(window=window): + weights = DataFilter.get_window(window, len(data)) + actual = DataFilter.perform_fft(data, window) + np.testing.assert_allclose(actual, np.fft.rfft(data * weights), rtol=1e-12, atol=1e-12) + np.testing.assert_allclose(DataFilter.perform_ifft(actual), data * weights, atol=1e-12) + np.testing.assert_array_equal(data, original) + + def test_spectral_nonfinite_inputs_are_rejected(self): + for value in (np.nan, np.inf, -np.inf): + data = np.ones(256) + data[100] = value + self.assert_invalid(DataFilter.perform_fft, data, 0) + self.assert_invalid(DataFilter.get_psd, data, 256, 0) + self.assert_invalid(DataFilter.get_psd_welch, data, 64, 32, 256, 0) + spectrum = np.ones(129, dtype=np.complex128) + spectrum[20] = complex(value, 0) + self.assert_invalid(DataFilter.perform_ifft, spectrum) + + def test_long_linear_detrend_matches_scipy(self): + data = 3.0 + 0.02 * np.arange(200_000, dtype=np.float64) + data += 0.5 * np.sin(np.arange(len(data)) * 0.11) + expected = signal.detrend(data) + DataFilter.detrend(data, 2) + np.testing.assert_allclose(data, expected, atol=5e-11, rtol=0) + + def test_singleton_and_large_magnitude_statistics(self): + for operation in (1, 2): + data = np.array([1e308]) + DataFilter.detrend(data, operation) + np.testing.assert_array_equal(data, [0]) + data = np.array([1e308, -1e308, 1e308, -1e308]) + self.assertAlmostEqual(DataFilter.calc_stddev(data) / 1e308, 1.0, places=14) + constant = np.full(20, 1e308) + DataFilter.detrend(constant, 1) + np.testing.assert_array_equal(constant, np.zeros(20)) + + def test_causal_butterworth_matches_scipy(self): + original = np.random.default_rng(24).normal(size=2048) + methods = ((DataFilter.perform_lowpass, 'lowpass', (30.0,)), + (DataFilter.perform_highpass, 'highpass', (5.0,)), + (DataFilter.perform_bandpass, 'bandpass', (5.0, 30.0)), + (DataFilter.perform_bandstop, 'bandstop', (48.0, 52.0))) + for method, kind, cutoffs in methods: + with self.subTest(kind=kind): + expected = signal.sosfilt(signal.butter(4, cutoffs[0] if len(cutoffs) == 1 else cutoffs, + btype=kind, fs=256, output='sos'), original) + actual = original.copy() + method(actual, 256, *cutoffs, 4, 0, 0.0) + np.testing.assert_allclose(actual, expected, atol=2e-11, rtol=1e-10) + + def test_zero_phase_filters_do_not_create_constant_edge_transients(self): + for method, cutoffs, expected in ((DataFilter.perform_lowpass, (30.0,), 17.0), + (DataFilter.perform_highpass, (5.0,), 0.0), + (DataFilter.perform_bandpass, (5.0, 30.0), 0.0), + (DataFilter.perform_bandstop, (48.0, 52.0), 17.0)): + with self.subTest(method=method.__name__): + actual = np.full(2048, 17.0) + method(actual, 256, *cutoffs, 4, 3, 0.0) + np.testing.assert_allclose(actual, expected, atol=1e-9, rtol=0) + + def test_both_mains_notches_are_applied_in_sequence(self): + original = np.random.default_rng(25).normal(size=4096) + combined = original.copy() + sequential = original.copy() + DataFilter.remove_environmental_noise(combined, 256, 2) + DataFilter.perform_bandstop(sequential, 256, 48.0, 52.0, 4, 3, 0.0) + DataFilter.perform_bandstop(sequential, 256, 58.0, 62.0, 4, 3, 0.0) + np.testing.assert_array_equal(combined, sequential) + + def test_invalid_filter_design_preserves_input(self): + original = np.arange(256, dtype=np.float64) + invalid_calls = ((DataFilter.perform_lowpass, (256, 128.0, 4, 0, 0.0)), + (DataFilter.perform_highpass, (256, 0.0, 4, 0, 0.0)), + (DataFilter.perform_bandpass, (256, 30.0, 5.0, 4, 0, 0.0)), + (DataFilter.perform_bandstop, (256, 48.0, np.nan, 4, 0, 0.0)), + (DataFilter.perform_lowpass, (256, 30.0, 9, 0, 0.0)), + (DataFilter.perform_lowpass, (256, 30.0, 4, 1, 0.0)), + (DataFilter.remove_environmental_noise, (100, 2))) + for method, args in invalid_calls: + with self.subTest(method=method.__name__, args=args): + actual = original.copy() + self.assert_invalid(method, actual, *args) + np.testing.assert_array_equal(actual, original) + + def test_rolling_mean_and_median_use_partial_warmup(self): + original = np.array([7., 2., 5., 1., 1., 8., -3., 4., 4.]) + for period in (1, 2, 4, 20): + for operation, aggregate in ((0, np.mean), (1, np.median)): + with self.subTest(period=period, operation=operation): + expected = [aggregate(original[max(0, i-period+1):i+1]) for i in range(len(original))] + actual = original.copy() + DataFilter.perform_rolling_filter(actual, period, operation) + np.testing.assert_allclose(actual, expected, atol=1e-14, rtol=0) + + def test_huge_constant_zero_phase_filter_does_not_overflow_padding(self): + data = np.full(128, 1e308) + DataFilter.perform_lowpass(data, 256, 20.0, 4, 3, 0.0) + np.testing.assert_allclose(data / 1e308, 1.0, atol=2e-14, rtol=0) + + def test_downsampling_without_a_complete_block_does_not_allocate_the_period(self): + data = np.arange(8, dtype=np.float64) + output = np.array([99.0]) + result = DataHandlerDLL.get_instance().perform_downsampling(data, len(data), 2147483647, 1, output) + self.assertEqual(result, 0) + np.testing.assert_array_equal(output, [99.0]) + + def test_nearest_power_of_two_checks_upper_overflow(self): + self.assertEqual(DataFilter.get_nearest_power_of_two(3), 4) + self.assertEqual(DataFilter.get_nearest_power_of_two(2**30), 2**30) + self.assertEqual(DataFilter.get_nearest_power_of_two(3 * 2**29 - 1), 2**30) + for value in (0, -1, 3 * 2**29, 2**31 - 1): + self.assert_invalid(DataFilter.get_nearest_power_of_two, value) + + def test_file_round_trip_preserves_full_precision_and_wide_rows(self): + data = np.random.default_rng(26).normal(size=(3000, 3)) + with tempfile.TemporaryDirectory() as directory: + path = str(Path(directory) / 'wide.tsv') + DataFilter.write_file(data, path, 'w') + np.testing.assert_array_equal(DataFilter.read_file(path), data) + file_path = Path(path) + file_path.write_bytes(file_path.read_bytes().rstrip(b'\r\n')) + np.testing.assert_array_equal(DataFilter.read_file(path), data) + + def test_file_parser_rejects_partial_tokens_and_ragged_rows(self): + with tempfile.TemporaryDirectory() as directory: + path = Path(directory) / 'invalid.tsv' + for content in ('1x\t2\n', '1\t2\n3\n', '1\t2\t\n', '1\tNaN\n'): + with self.subTest(content=content): + path.write_text(content) + self.assert_invalid(DataFilter.read_file, str(path)) + + def test_native_file_read_enforces_actual_capacity_without_writing(self): + with tempfile.TemporaryDirectory() as directory: + path = Path(directory) / 'data.tsv' + path.write_text('1\t2\n3\t4') + output = np.full(3, 99.0) + rows = np.zeros(1, dtype=np.int32) + cols = np.zeros(1, dtype=np.int32) + result = DataHandlerDLL.get_instance().read_file(output, rows, cols, str(path).encode(), len(output)) + self.assertEqual(result, BrainFlowExitCodes.INVALID_BUFFER_SIZE_ERROR.value) + np.testing.assert_array_equal(output, np.full(3, 99.0)) + + +if __name__ == '__main__': + unittest.main() diff --git a/r_package/examples/ICA.R b/r_package/examples/ICA.R index bcf7c0c2d..1f849d33c 100644 --- a/r_package/examples/ICA.R +++ b/r_package/examples/ICA.R @@ -1,15 +1,10 @@ library(brainflow) -params <- brainflow_python$BrainFlowInputParams() -board_shim <- brainflow_python$BoardShim(brainflow_python$BoardIds$SYNTHETIC_BOARD$value, params) -board_shim$prepare_session() -board_shim$start_stream() -Sys.sleep(time = 10) -board_shim$stop_stream() -data <- board_shim$get_board_data(as.integer(500)) -board_shim$release_session() -eeg_channels <- brainflow_python$BoardShim$get_eeg_channels(as.integer(-1)) -my_channel = eeg_channels[2] -numpy_data <- np$array(data[my_channel,]) -numpy_data <- numpy_data$reshape(as.integer(5),as.integer(100)) -ica <- brainflow_python$DataFilter$perform_ica(numpy_data, as.integer(2)) \ No newline at end of file +# Two simultaneous mixtures: rows are channels and columns are samples. +sample_times <- (0:1023) / 256 +source1 <- sin(2 * pi * 7 * sample_times) +source2 <- sin(2 * pi * 13 * sample_times)^3 +mixed_data <- rbind(source1 + 0.3 * source2, 0.2 * source1 + source2) +numpy_data <- np$array(mixed_data, dtype = np$float64, order = "C") +# Component order and sign are arbitrary. +ica <- brainflow_python$DataFilter$perform_ica(numpy_data, as.integer(2)) diff --git a/rust_package/brainflow/examples/ica.rs b/rust_package/brainflow/examples/ica.rs index a0a4e80ea..6b853283f 100644 --- a/rust_package/brainflow/examples/ica.rs +++ b/rust_package/brainflow/examples/ica.rs @@ -1,31 +1,17 @@ +use brainflow::data_filter; use ndarray::Array2; -use std::{thread, time::Duration}; +use std::f64::consts::PI; -use brainflow::{ - board_shim, brainflow_input_params::BrainFlowInputParamsBuilder, data_filter, BoardIds, BrainFlowPresets, -}; -use ndarray::s; - -fn main() { - brainflow::board_shim::enable_dev_board_logger().unwrap(); - - let board_id = BoardIds::SyntheticBoard; - let eeg_channels = board_shim::get_eeg_channels(board_id, BrainFlowPresets::DefaultPreset).unwrap(); - println!("{:?}", eeg_channels); - - let params = BrainFlowInputParamsBuilder::default().build(); - let board = board_shim::BoardShim::new(board_id, params).unwrap(); - - board.prepare_session().unwrap(); - board.start_stream(45000, "").unwrap(); - thread::sleep(Duration::from_secs(10)); - board.stop_stream().unwrap(); - let mut data = board.get_board_data(Some(500), BrainFlowPresets::DefaultPreset).unwrap(); - board.release_session().unwrap(); - - let my_channel = eeg_channels[4]; - let mut my_data = data.slice_mut(s![my_channel, ..]); - let data_my_channel = my_data.as_slice_mut().unwrap(); - let ica_data = Array2::from_shape_vec((5, 100), data_my_channel.to_vec()).unwrap(); - let _ica = data_filter::perform_ica(ica_data, 2).unwrap(); +fn main() -> Result<(), Box> { + // Two simultaneous mixtures: rows are channels and columns are samples. + let data = Array2::from_shape_fn((2, 1024), |(row, col)| { + let t = col as f64 / 256.0; + let first = (2.0 * PI * 7.0 * t).sin(); + let second = (2.0 * PI * 13.0 * t).sin().powi(3); + if row == 0 { first + 0.3 * second } else { 0.2 * first + second } + }); + let (_, _, _, sources) = data_filter::perform_ica(data, 2)?; + // Component order and sign are arbitrary. + println!("Recovered 2 sources from {} samples", sources.len() / 2); + Ok(()) } diff --git a/rust_package/brainflow/src/data_filter.rs b/rust_package/brainflow/src/data_filter.rs index 09a14c3e0..6d24621c2 100644 --- a/rust_package/brainflow/src/data_filter.rs +++ b/rust_package/brainflow/src/data_filter.rs @@ -5,6 +5,7 @@ use num_complex::Complex64; use std::os::raw::c_int; use std::{ffi::CString, ffi::CStr, os::raw::c_double}; use std::os::raw::c_char; +use std::convert::TryFrom; use crate::error::{BrainFlowError, Error}; use crate::ffi::data_handler; @@ -13,6 +14,32 @@ use crate::{ NoiseTypes, Result, WindowOperations, WaveletTypes, WaveletExtensionTypes, WaveletDenoisingTypes, ThresholdTypes, NoiseEstimationLevelTypes, }; +fn invalid_arguments() -> Error { + Error::BrainFlowError(BrainFlowError::InvalidArgumentsError) +} + +fn native_int(value: usize) -> Result { + c_int::try_from(value).map_err(|_| invalid_arguments()) +} + +fn checked_product(left: usize, right: usize) -> Result { + let value = left.checked_mul(right).ok_or_else(invalid_arguments)?; + native_int(value)?; + Ok(value) +} + +fn selected_data(data: &Array2, channels: &[usize]) -> Result> { + if channels.is_empty() || data.ncols() == 0 || channels.iter().any(|&c| c >= data.nrows()) { + return Err(invalid_arguments()); + } + let mut selected = Vec::with_capacity(checked_product(channels.len(), data.ncols())?); + // Preserve the requested order and duplicate channels consistently with other bindings. + for &channel in channels { + selected.extend(data.row(channel).iter().copied()); + } + Ok(selected) +} + /// Set BrainFlow data logger log level. /// Use it only if you want to write your own messages to BrainFlow logger. @@ -69,10 +96,10 @@ pub fn perform_lowpass( let res = unsafe { data_handler::perform_lowpass( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - sampling_rate as c_int, + native_int(data.len())?, + native_int(sampling_rate)?, cutoff as c_double, - order as c_int, + native_int(order)?, filter_type as c_int, ripple as c_double, ) @@ -93,10 +120,10 @@ pub fn perform_highpass( let res = unsafe { data_handler::perform_highpass( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - sampling_rate as c_int, + native_int(data.len())?, + native_int(sampling_rate)?, cutoff as c_double, - order as c_int, + native_int(order)?, filter_type as c_int, ripple as c_double, ) @@ -118,11 +145,11 @@ pub fn perform_bandpass( let res = unsafe { data_handler::perform_bandpass( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - sampling_rate as c_int, + native_int(data.len())?, + native_int(sampling_rate)?, start_freq as c_double, stop_freq as c_double, - order as c_int, + native_int(order)?, filter_type as c_int, ripple as c_double, ) @@ -144,11 +171,11 @@ pub fn perform_bandstop( let res = unsafe { data_handler::perform_bandstop( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - sampling_rate as c_int, + native_int(data.len())?, + native_int(sampling_rate)?, start_freq as c_double, stop_freq as c_double, - order as c_int, + native_int(order)?, filter_type as c_int, ripple as c_double, ) @@ -166,8 +193,8 @@ pub fn remove_environmental_noise( let res = unsafe { data_handler::remove_environmental_noise( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - sampling_rate as c_int, + native_int(data.len())?, + native_int(sampling_rate)?, noise_type as c_int, ) }; @@ -184,8 +211,8 @@ pub fn perform_rolling_filter( let res = unsafe { data_handler::perform_rolling_filter( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - period as c_int, + native_int(data.len())?, + native_int(period)?, agg_operation as c_int, ) }; @@ -199,12 +226,15 @@ pub fn calc_stddev( start_pos: usize, end_pos: usize ) -> Result { + if start_pos >= end_pos || end_pos > data.len() { + return Err(invalid_arguments()); + } let mut output = 0.0 as f64; let res = unsafe { data_handler::calc_stddev( data.as_mut_ptr() as *mut c_double, - start_pos as c_int, - end_pos as c_int, + native_int(start_pos)?, + native_int(end_pos)?, &mut output, ) }; @@ -218,12 +248,15 @@ pub fn get_railed_percentage( data_size: usize, gain: usize ) -> Result { + if data_size == 0 || data_size > data.len() { + return Err(invalid_arguments()); + } let mut output = 0.0 as f64; let res = unsafe { data_handler::get_railed_percentage( data.as_mut_ptr() as *mut c_double, - data_size as c_int, - gain as c_int, + native_int(data_size)?, + native_int(gain)?, &mut output, ) }; @@ -240,13 +273,16 @@ pub fn get_oxygen_level( coef2: f64, coef3: f64, ) -> Result { + if ppg_ir.len() != ppg_red.len() { + return Err(invalid_arguments()); + } let mut output = 0.0 as f64; let res = unsafe { data_handler::get_oxygen_level( ppg_ir.as_mut_ptr() as *mut c_double, ppg_red.as_mut_ptr() as *mut c_double, - ppg_red.len() as c_int, - sampling_rate as c_int, + native_int(ppg_red.len())?, + native_int(sampling_rate)?, coef1 as c_double, coef2 as c_double, coef3 as c_double, @@ -264,14 +300,17 @@ pub fn get_heart_rate( sampling_rate: usize, fft_size: usize, ) -> Result { + if ppg_ir.len() != ppg_red.len() { + return Err(invalid_arguments()); + } let mut output = 0.0 as f64; let res = unsafe { data_handler::get_heart_rate( ppg_ir.as_mut_ptr() as *mut c_double, ppg_red.as_mut_ptr() as *mut c_double, - ppg_red.len() as c_int, - sampling_rate as c_int, - fft_size as c_int, + native_int(ppg_red.len())?, + native_int(sampling_rate)?, + native_int(fft_size)?, &mut output, ) }; @@ -293,8 +332,8 @@ pub fn perform_downsampling( let res = unsafe { data_handler::perform_downsampling( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - period as c_int, + native_int(data.len())?, + native_int(period)?, agg_operation as c_int, output.as_mut_ptr() as *mut c_double, ) @@ -362,7 +401,13 @@ pub fn perform_wavelet_transform( decomposition_level: usize, extension: WaveletExtensionTypes, ) -> Result { - let capacity = data.len() + 2 * decomposition_level * (40 + 1); + if decomposition_level == 0 || decomposition_level > 100 || data.is_empty() { + return Err(invalid_arguments()); + } + native_int(data.len())?; + let capacity = data.len().checked_add(checked_product(decomposition_level, 82)?) + .ok_or_else(invalid_arguments)?; + native_int(capacity)?; let mut wavelet_transform = WaveletTransform::new( capacity, decomposition_level, @@ -370,21 +415,33 @@ pub fn perform_wavelet_transform( extension, data.len(), ); + let mut lengths = vec![0 as c_int; decomposition_level + 1]; let res = unsafe { let output = wavelet_transform.coefficients.as_mut_ptr() as *mut c_double; - let decomposition_lengths = - wavelet_transform.decomposition_lengths.as_mut_ptr() as *mut c_int; + let decomposition_lengths = lengths.as_mut_ptr(); data_handler::perform_wavelet_transform( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, + native_int(data.len())?, wavelet as c_int, - decomposition_level as c_int, + native_int(decomposition_level)?, extension as c_int, output, decomposition_lengths, ) }; check_brainflow_exit_code(res)?; + let mut total = 0usize; + for &length in &lengths { + if length <= 0 { + return Err(invalid_arguments()); + } + total = total.checked_add(length as usize).ok_or_else(invalid_arguments)?; + } + if total > capacity { + return Err(invalid_arguments()); + } + unsafe { wavelet_transform.coefficients.set_len(total); } + wavelet_transform.decomposition_lengths = lengths.into_iter().map(|v| v as usize).collect(); Ok(wavelet_transform) } @@ -401,10 +458,10 @@ pub fn restore_data_from_wavelet_detailed_coeffs( let res = unsafe { data_handler::restore_data_from_wavelet_detailed_coeffs( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, + native_int(data.len())?, wavelet as c_int, - decomposition_level as c_int, - level_to_restore as c_int, + native_int(decomposition_level)?, + native_int(level_to_restore)?, output.as_mut_ptr() as *mut c_double, ) }; @@ -425,8 +482,8 @@ pub fn detect_peaks_z_score( let res = unsafe { data_handler::detect_peaks_z_score( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - lag as c_int, + native_int(data.len())?, + native_int(lag)?, threshold as c_double, influence as c_double, output.as_mut_ptr() as *mut c_double, @@ -440,16 +497,36 @@ pub fn detect_peaks_z_score( /// Perform inverse wavelet transform. pub fn perform_inverse_wavelet_transform(wavelet_transform: WaveletTransform) -> Result> { let mut wavelet_transform = wavelet_transform; + let level = wavelet_transform.decomposition_level; + if level == 0 || level > 100 || wavelet_transform.decomposition_lengths.len() != level + 1 + || wavelet_transform.original_data_len == 0 + || wavelet_transform.original_data_len > wavelet_transform.coefficients.len() { + return Err(invalid_arguments()); + } + let mut lengths = Vec::with_capacity(level + 1); + let mut total = 0usize; + for &length in &wavelet_transform.decomposition_lengths { + if length == 0 { return Err(invalid_arguments()); } + lengths.push(native_int(length)?); + total = total.checked_add(length).ok_or_else(invalid_arguments)?; + } + if total != wavelet_transform.coefficients.len() { + return Err(invalid_arguments()); + } + native_int(wavelet_transform.original_data_len)?; let mut output = Vec::::with_capacity(wavelet_transform.original_data_len); let res = unsafe { - data_handler::perform_inverse_wavelet_transform( + data_handler::perform_inverse_wavelet_transform_checked( wavelet_transform.coefficients.as_mut_ptr() as *mut c_double, - wavelet_transform.original_data_len as c_int, + native_int(wavelet_transform.coefficients.len())?, + native_int(wavelet_transform.original_data_len)?, wavelet_transform.wavelet as c_int, - wavelet_transform.decomposition_level as c_int, + native_int(wavelet_transform.decomposition_level)?, wavelet_transform.extension as c_int, - wavelet_transform.decomposition_lengths.as_ptr() as *mut c_int, + lengths.as_mut_ptr(), + native_int(lengths.len())?, output.as_mut_ptr() as *mut c_double, + native_int(wavelet_transform.original_data_len)?, ) }; check_brainflow_exit_code(res)?; @@ -470,9 +547,9 @@ pub fn perform_wavelet_denoising( let res = unsafe { data_handler::perform_wavelet_denoising( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, + native_int(data.len())?, wavelet as c_int, - decomposition_level as c_int, + native_int(decomposition_level)?, wavelet_denoising as c_int, wavelet_threshold as c_int, extension as c_int, @@ -484,7 +561,7 @@ pub fn perform_wavelet_denoising( } /// Calculate filters and the corresponding eigenvalues using the Common Spatial Patterns. -pub fn get_csp( +pub fn get_csp( data: &Array3, labels: &Array1, ) -> Result<(Array2, Array1)> { @@ -492,6 +569,11 @@ pub fn get_csp( let n_epochs = shape[0]; let n_channels = shape[1]; let n_times = shape[2]; + if labels.len() != n_epochs || n_epochs == 0 || n_channels == 0 || n_times == 0 { + return Err(invalid_arguments()); + } + checked_product(n_channels, n_channels)?; + native_int(data.len())?; let data: Vec = data.into_iter().cloned().collect(); let labels: Vec = labels.into_iter().cloned().collect(); @@ -503,9 +585,9 @@ pub fn get_csp( data_handler::get_csp( data.as_ptr() as *const c_double, labels.as_ptr() as *const c_double, - n_epochs as c_int, - n_channels as c_int, - n_times as c_int, + native_int(n_epochs)?, + native_int(n_channels)?, + native_int(n_times)?, output_filters.as_mut_ptr() as *mut c_double, output_eigenvalues.as_mut_ptr() as *mut c_double, ) @@ -523,11 +605,12 @@ pub fn get_csp( /// Perform data windowing. pub fn get_window(window_function: WindowOperations, window_len: usize) -> Result> { + native_int(window_len)?; let mut output = Vec::::with_capacity(window_len); let res = unsafe { data_handler::get_window( window_function as c_int, - window_len as c_int, + native_int(window_len)?, output.as_mut_ptr() as *mut c_double, ) }; @@ -544,7 +627,7 @@ pub fn perform_fft(data: &mut [f64], window_function: WindowOperations) -> Resul let res = unsafe { data_handler::perform_fft( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, + native_int(data.len())?, window_function as c_int, output_re.as_mut_ptr() as *mut c_double, output_im.as_mut_ptr() as *mut c_double, @@ -564,6 +647,10 @@ pub fn perform_fft(data: &mut [f64], window_function: WindowOperations) -> Resul /// Perform inverse FFT. pub fn perform_ifft(data: &[Complex64], original_data_len: usize) -> Result> { + native_int(original_data_len)?; + if data.len() < 2 || original_data_len != checked_product(data.len() - 1, 2)? { + return Err(invalid_arguments()); + } let mut restored_data = Vec::::with_capacity(original_data_len); let (mut input_re, mut input_im): (Vec, Vec) = data.iter().map(|d| (d.re, d.im)).unzip(); @@ -571,7 +658,7 @@ pub fn perform_ifft(data: &[Complex64], original_data_len: usize) -> Result Result let res = unsafe { data_handler::detrend( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, + native_int(data.len())?, detrend_operation as c_int, ) }; @@ -612,8 +699,8 @@ pub fn get_psd( let res = unsafe { data_handler::get_psd( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - sampling_rate as c_int, + native_int(data.len())?, + native_int(sampling_rate)?, window_function as c_int, amplitude.as_mut_ptr() as *mut c_double, frequency.as_mut_ptr() as *mut c_double, @@ -637,15 +724,19 @@ pub fn get_psd_welch( sampling_rate: usize, window_function: WindowOperations, ) -> Result { + native_int(nfft)?; + if nfft == 0 || nfft > data.len() || nfft % 2 != 0 || overlap >= nfft { + return Err(invalid_arguments()); + } let mut amplitude = Vec::::with_capacity(nfft / 2 + 1); let mut frequency = Vec::::with_capacity(nfft / 2 + 1); let res = unsafe { data_handler::get_psd_welch( data.as_mut_ptr() as *mut c_double, - data.len() as c_int, - nfft as c_int, - overlap as c_int, - sampling_rate as c_int, + native_int(data.len())?, + native_int(nfft)?, + native_int(overlap)?, + native_int(sampling_rate)?, window_function as c_int, amplitude.as_mut_ptr() as *mut c_double, frequency.as_mut_ptr() as *mut c_double, @@ -677,14 +768,13 @@ pub fn perform_ica_select_channels( ) -> Result<(Vec, Vec, Vec, Vec)> { let shape = data.shape(); let (rows, cols) = (channels.len(), shape[1]); - let mut raw_data = data - .outer_iter() - .enumerate() - .filter(|(i, _)| channels.contains(i)) - .map(|(_, x)| x) - .flatten() - .copied() - .collect::>(); + if num_components < 2 || num_components > rows || cols < 2 { + return Err(invalid_arguments()); + } + let mut raw_data = selected_data(&data, &channels)?; + checked_product(num_components, num_components)?; + checked_product(rows, num_components)?; + checked_product(cols, num_components)?; let mut temp_w = Vec::with_capacity(num_components * num_components); let mut temp_k = Vec::with_capacity(rows * num_components); @@ -694,9 +784,9 @@ pub fn perform_ica_select_channels( let res = unsafe { data_handler::perform_ica( raw_data.as_mut_ptr() as *mut c_double, - rows as c_int, - cols as c_int, - num_components as c_int, + native_int(rows)?, + native_int(cols)?, + native_int(num_components)?, temp_w.as_mut_ptr() as *mut c_double, temp_k.as_mut_ptr() as *mut c_double, temp_a.as_mut_ptr() as *mut c_double, @@ -704,11 +794,12 @@ pub fn perform_ica_select_channels( ) }; check_brainflow_exit_code(res)?; - //let w = Array2::from_shape_vec((num_components, num_components), temp_w); - //let k = Array2::from_shape_vec((num_components, rows), temp_k); - //let a = Array2::from_shape_vec((rows, num_components), temp_a); - //let s = Array2::from_shape_vec((num_components, cols), temp_s); - //Ok((w,k,a,s)) + unsafe { + temp_w.set_len(num_components * num_components); + temp_k.set_len(rows * num_components); + temp_a.set_len(rows * num_components); + temp_s.set_len(cols * num_components); + } Ok((temp_w, temp_k, temp_a, temp_s)) } @@ -722,7 +813,17 @@ pub fn perform_ica( perform_ica_select_channels(data, num_components, channels) } -/// Calculate avg and stddev of BandPowers across all channels, bands are 1-4,4-8,8-13,13-30,30-50. +/// Return normalized channel-mean band powers and coefficients of variation (population +/// stddev / mean of absolute channel powers). Zero-power bands have zero variation; +/// an all-zero total returns zero normalized powers. +/// Filtering removes DC and applies padded, initialized zero-phase 48-52 and 58-62 Hz +/// notches only when their upper edges are below 0.9 * Nyquist. Preprocessing is independent +/// of the requested output bands; no automatic passband is applied. Margins estimated from +/// the filter cascade's impulse tail are discarded at both ends; supply surrounding samples and account +/// for the resulting delay in live analysis. Without filtering there is no preprocessing +/// or trimming. At least max(8, 2 * get_nearest_power_of_two(sampling_rate)) samples must remain. +/// Data and edges must be finite. Bands require 0 <= start < stop <= Nyquist. +/// Mains notches also attenuate overlapping bands. pub fn get_custom_band_powers( data: Array2, bands: Vec, @@ -732,14 +833,7 @@ pub fn get_custom_band_powers( ) -> Result<(Vec, Vec)> { let shape = data.shape(); let (rows, cols) = (eeg_channels.len(), shape[1]); - let mut raw_data = data - .outer_iter() - .enumerate() - .filter(|(i, _)| eeg_channels.contains(i)) - .map(|(_, x)| x) - .flatten() - .copied() - .collect::>(); + let mut raw_data = selected_data(&data, &eeg_channels)?; let (mut x, mut y): (Vec<_>, Vec<_>) = bands.into_iter().map(|Band{freq_start, freq_stop}| (freq_start, freq_stop)).unzip(); @@ -749,12 +843,12 @@ pub fn get_custom_band_powers( let res = unsafe { data_handler::get_custom_band_powers( raw_data.as_mut_ptr() as *mut c_double, - rows as c_int, - cols as c_int, + native_int(rows)?, + native_int(cols)?, x.as_mut_ptr() as *mut c_double, y.as_mut_ptr() as *mut c_double, - x.len() as c_int, - sampling_rate as c_int, + native_int(x.len())?, + native_int(sampling_rate)?, apply_filters as c_int, avg_band_powers.as_mut_ptr() as *mut c_double, stddev_band_powers.as_mut_ptr() as *mut c_double, @@ -767,6 +861,8 @@ pub fn get_custom_band_powers( Ok((avg_band_powers, stddev_band_powers)) } +/// Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. +/// Uses get_custom_band_powers preprocessing, minimum retained length, and variation semantics. pub fn get_avg_band_powers( data: Array2, eeg_channels: Vec, @@ -790,7 +886,7 @@ pub fn get_band_power(psd: &mut Psd, band: Band) -> Result { data_handler::get_band_power( psd.amplitude.as_mut_ptr() as *mut c_double, psd.frequency.as_mut_ptr() as *mut c_double, - psd.amplitude.len() as c_int, + native_int(psd.amplitude.len())?, band.freq_start, band.freq_stop, &mut band_power, @@ -803,7 +899,7 @@ pub fn get_band_power(psd: &mut Psd, band: Band) -> Result { /// Calculate nearest power of two. pub fn get_nearest_power_of_two(value: usize) -> Result { let mut output = 0; - let res = unsafe { data_handler::get_nearest_power_of_two(value as c_int, &mut output) }; + let res = unsafe { data_handler::get_nearest_power_of_two(native_int(value)?, &mut output) }; check_brainflow_exit_code(res)?; Ok(output as usize) } @@ -830,9 +926,16 @@ pub fn read_file>(file_name: S) -> Result> { }; check_brainflow_exit_code(res)?; - unsafe { data.set_len(num_elements as usize) }; + if rows <= 0 || cols <= 0 { + return Err(invalid_arguments()); + } + let actual_len = checked_product(rows as usize, cols as usize)?; + if actual_len > num_elements as usize { + return Err(invalid_arguments()); + } + unsafe { data.set_len(actual_len) }; let data = ArrayBase::from_vec(data); - let data = data.into_shape((rows as usize, cols as usize)).unwrap(); + let data = data.into_shape((rows as usize, cols as usize))?; Ok(data) } @@ -850,8 +953,8 @@ where let res = unsafe { data_handler::write_file( data.as_mut_ptr() as *mut c_double, - rows as c_int, - cols as c_int, + native_int(rows)?, + native_int(cols)?, file_name.as_ptr(), file_mode.as_ptr(), ) @@ -893,9 +996,9 @@ pub fn get_activity_index( accel_x.as_ptr() as *const c_double, accel_y.as_ptr() as *const c_double, accel_z.as_ptr() as *const c_double, - data_len as c_int, - sampling_rate as c_int, - period as c_int, + native_int(data_len)?, + native_int(sampling_rate)?, + native_int(period)?, noise_var_x, noise_var_y, noise_var_z, @@ -953,13 +1056,56 @@ mod tests { println!("{:?}", data); let wavelet_data = perform_wavelet_transform(&mut data, WaveletTypes::Db3, 3, WaveletExtensionTypes::Periodic).unwrap(); - let restored_wavelet = perform_inverse_wavelet_transform(wavelet_data).unwrap(); + assert_eq!(wavelet_data.decomposition_lengths().len(), 4); + assert_eq!(wavelet_data.coefficients().len(), wavelet_data.decomposition_lengths().iter().sum::()); + let restored_wavelet = perform_inverse_wavelet_transform(wavelet_data.clone()).unwrap(); println!("{:?}", restored_wavelet); for (d, r) in data.iter().zip(restored_wavelet) { assert_relative_eq!(*d, r, max_relative = 1e-14); } } + #[test] + fn rejects_mismatched_buffers_before_native_access() { + let mut short = vec![1.0; 4]; + let mut long = vec![1.0; 8]; + assert!(calc_stddev(&mut short, 0, 8).is_err()); + assert!(get_railed_percentage(&mut short, 8, 24).is_err()); + assert!(get_heart_rate(&mut short, &mut long, 64, 1024).is_err()); + assert!(get_oxygen_level(&mut short, &mut long, 64, 1.0, 1.0, 1.0).is_err()); + assert!(perform_ifft(&[Complex64::new(1.0, 0.0); 3], 8).is_err()); + assert!(get_csp(&Array3::zeros((2, 2, 8)), &Array1::zeros(1)).is_err()); + assert!(native_int(c_int::MAX as usize + 1).is_err()); + let invalid = WaveletTransform::with_coefficients(vec![0.0; 4], 2, vec![2, 2], + WaveletTypes::Db3, WaveletExtensionTypes::Periodic, 8); + assert!(perform_inverse_wavelet_transform(invalid).is_err()); + for original_length in [4, c_int::MAX as usize / 2, c_int::MAX as usize] { + let oversized = WaveletTransform::with_coefficients(vec![0.0; 2], 1, vec![1, 1], + WaveletTypes::Haar, WaveletExtensionTypes::Periodic, original_length); + assert!(perform_inverse_wavelet_transform(oversized).is_err()); + } + } + + #[test] + fn channel_selection_preserves_order_and_duplicates() { + let data = array![[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]; + assert_eq!(selected_data(&data, &[2, 0, 2]).unwrap(), vec![5.0, 6.0, 1.0, 2.0, 5.0, 6.0]); + assert!(selected_data(&data, &[0, 3]).is_err()); + } + + #[test] + fn ica_returns_initialized_output_vectors() { + let data = Array2::from_shape_fn((2, 1024), |(row, col)| { + let t = col as f64 / 256.0; + let first = (2.0 * PI * 7.0 * t).sin(); + let second = (2.0 * PI * 13.0 * t).sin().powi(3); + if row == 0 { first + 0.3 * second } else { 0.2 * first + second } + }); + let (w, k, a, s) = perform_ica_select_channels(data, 2, vec![1, 0]).unwrap(); + assert_eq!((w.len(), k.len(), a.len(), s.len()), (4, 4, 4, 2048)); + assert!(w.iter().chain(&k).chain(&a).chain(&s).all(|v| v.is_finite())); + } + #[test] fn read_written_data_is_same_as_input() { let data = array![[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]; diff --git a/rust_package/brainflow/src/ffi/data_handler.rs b/rust_package/brainflow/src/ffi/data_handler.rs index d66ef000d..c62bec941 100644 --- a/rust_package/brainflow/src/ffi/data_handler.rs +++ b/rust_package/brainflow/src/ffi/data_handler.rs @@ -4,6 +4,18 @@ extern "C" { + pub fn perform_inverse_wavelet_transform_checked( + wavelet_coeffs: *mut ::std::os::raw::c_double, + coeff_count: ::std::os::raw::c_int, + original_data_len: ::std::os::raw::c_int, + wavelet: ::std::os::raw::c_int, + decomposition_level: ::std::os::raw::c_int, + extension: ::std::os::raw::c_int, + decomposition_lengths: *mut ::std::os::raw::c_int, + lengths_count: ::std::os::raw::c_int, + output_data: *mut ::std::os::raw::c_double, + output_count: ::std::os::raw::c_int, + ) -> ::std::os::raw::c_int; pub fn perform_lowpass( data: *mut f64, data_len: ::std::os::raw::c_int, diff --git a/rust_package/brainflow/src/test_helpers.rs b/rust_package/brainflow/src/test_helpers.rs index 606a53951..5a023eb9c 100644 --- a/rust_package/brainflow/src/test_helpers.rs +++ b/rust_package/brainflow/src/test_helpers.rs @@ -10,5 +10,17 @@ pub(crate) mod assertions { #[cfg(test)] pub mod consts { - pub(crate) const VERSION_PATTERN: &str = r"^\d+\.\d+\.\d+$"; -} \ No newline at end of file + // Releases use a version number; CI builds embed the full Git commit ID. + pub(crate) const VERSION_PATTERN: &str = r"^(\d+\.\d+\.\d+|[0-9a-f]{40})$"; + + #[test] + fn version_pattern_accepts_release_and_commit_versions() { + let pattern = regex::Regex::new(VERSION_PATTERN).unwrap(); + for version in ["0.0.1", "5.23.0", "e4173893c5a910b1ecb0f5eafde8ccc6b37bc6bf"] { + assert!(pattern.is_match(version), "Rejected build version: {}", version); + } + for version in ["", "5.23", "not-a-version", "e4173893", "e4173893c5a910b1ecb0f5eafde8ccc6b37bc6bf0"] { + assert!(!pattern.is_match(version), "Accepted invalid version: {}", version); + } + } +} diff --git a/src/data_handler/build.cmake b/src/data_handler/build.cmake index 7aa3d5b50..9addf51cd 100644 --- a/src/data_handler/build.cmake +++ b/src/data_handler/build.cmake @@ -28,6 +28,9 @@ endif (CMAKE_SIZEOF_VOID_P EQUAL 8) SET (DATA_HANDLER_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/data_handler.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/signal_processing.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/signal_metrics.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/decomposition.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/data_handler/fastica.cpp ) diff --git a/src/data_handler/data_handler.cpp b/src/data_handler/data_handler.cpp index c13fa7c53..35dfec88d 100644 --- a/src/data_handler/data_handler.cpp +++ b/src/data_handler/data_handler.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -15,25 +16,15 @@ #include "brainflow_version.h" #include "common_data_handler_helpers.h" #include "data_handler.h" -#include "downsample_operators.h" -#include "rolling_filter.h" -#include "wavelet_helpers.h" +#include "filter_helpers.h" + #include "window_functions.h" #include "DspFilters/Dsp.h" -#include "Eigen/Dense" - -#include "wauxlib.h" -#include "wavelib.h" - -#include "kiss_fftr.h" - #include "spdlog/sinks/null_sink.h" #include "spdlog/spdlog.h" -#include "fastica.h" - #ifdef _OPENMP #include #endif @@ -52,7 +43,6 @@ std::shared_ptr data_logger = spdlog::stderr_logger_mt (LOGGER_N // its only for logging methods, other methods can be executed simultaneously std::mutex data_mutex; - int log_message_data_handler (int log_level, char *log_message) { // its a method for loggging from high level @@ -124,1684 +114,318 @@ int set_log_level_data_handler (int level) } -int perform_lowpass (double *data, int data_len, int sampling_rate, double cutoff, int order, - int filter_type, double ripple) -{ - if ((order < 1) || (order > MAX_FILTER_ORDER) || (!data) || (cutoff < 0) || (sampling_rate < 1)) - { - data_logger->error ( - "Order must be from 1-8 and data cannot be empty. Order:{} , Data:{} , Cutoff:{}", - order, (data != NULL), cutoff); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - double *filter_data[1]; - filter_data[0] = data; - Dsp::Filter *f = NULL; - - switch (static_cast (filter_type)) - { - case FilterTypes::BUTTERWORTH: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BUTTERWORTH_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::CHEBYSHEV_TYPE_1: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BESSEL: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BESSEL_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - default: - data_logger->error ("Filter type {} is Invalid", filter_type); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - Dsp::Params params; - params[0] = sampling_rate; // sample rate - params[1] = order; // order - params[2] = cutoff; // cutoff - if ((filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE)) - { - params[3] = ripple; // ripple - } - f->setParams (params); - f->process (data_len, filter_data); - if ((filter_type == (int)FilterTypes::BUTTERWORTH_ZERO_PHASE) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE) || - (filter_type == (int)FilterTypes::BESSEL_ZERO_PHASE)) - { - reverse_array (data, data_len); - f->process (data_len, filter_data); - reverse_array (data, data_len); - } - delete f; - - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int perform_highpass (double *data, int data_len, int sampling_rate, double cutoff, int order, - int filter_type, double ripple) -{ - if ((order < 1) || (order > MAX_FILTER_ORDER) || (!data) || (cutoff < 0) || (sampling_rate < 1)) - { - data_logger->error ( - "Order must be from 1-8 and data cannot be empty. Order:{} , Data:{} , Cutoff:{}", - order, (data != NULL), cutoff); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - Dsp::Filter *f = NULL; - double *filter_data[1]; - filter_data[0] = data; - - switch (static_cast (filter_type)) - { - case FilterTypes::BUTTERWORTH: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BUTTERWORTH_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::CHEBYSHEV_TYPE_1: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BESSEL: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BESSEL_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - default: - data_logger->error ("Filter type {} is Invalid", filter_type); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - Dsp::Params params; - params[0] = sampling_rate; // sample rate - params[1] = order; // order - params[2] = cutoff; // cutoff - if ((filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE)) - { - params[3] = ripple; // ripple - } - f->setParams (params); - f->process (data_len, filter_data); - if ((filter_type == (int)FilterTypes::BUTTERWORTH_ZERO_PHASE) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE) || - (filter_type == (int)FilterTypes::BESSEL_ZERO_PHASE)) - { - reverse_array (data, data_len); - f->process (data_len, filter_data); - reverse_array (data, data_len); - } - delete f; - - return (int)BrainFlowExitCodes::STATUS_OK; -} +// inside wavelib inverse transform uses internal state from direct transform, dirty hack to restore +// it here -int perform_bandpass (double *data, int data_len, int sampling_rate, double start_freq, - double stop_freq, int order, int filter_type, double ripple) +int get_window (int window_function, int window_len, double *output_window) { - if ((order < 1) || (order > MAX_FILTER_ORDER) || (!data) || (stop_freq <= start_freq) || - (start_freq < 0) || (sampling_rate < 1)) + if ((window_len <= 0) || (window_function < 0) || (output_window == NULL)) { - data_logger->error ("Order must be from 1-8 and data cannot be empty. Order:{} , Data:{} , " - "Start Freq:{} , Stop Freq:{}", - order, (data != NULL), start_freq, stop_freq); + data_logger->error ("Please check the arguments: data_len must be > 0, window_function >= " + "0 and output_window cannot be empty."); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - - double center_freq = (start_freq + stop_freq) / 2.0; - double band_width = stop_freq - start_freq; - Dsp::Filter *f = NULL; - double *filter_data[1]; - filter_data[0] = data; - - switch (static_cast (filter_type)) + // from https://www.edn.com/windowing-functions-improve-fft-results-part-i/ + switch (static_cast (window_function)) { - case FilterTypes::BUTTERWORTH: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BUTTERWORTH_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::CHEBYSHEV_TYPE_1: - f = new Dsp::FilterDesign, 1> (); + case WindowOperations::NO_WINDOW: + no_window_function (window_len, output_window); break; - case FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); + case WindowOperations::HAMMING: + hamming_function (window_len, output_window); break; - case FilterTypes::BESSEL: - f = new Dsp::FilterDesign, 1> (); + case WindowOperations::HANNING: + hanning_function (window_len, output_window); break; - case FilterTypes::BESSEL_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); + case WindowOperations::BLACKMAN_HARRIS: + blackman_harris_function (window_len, output_window); break; default: - data_logger->error ("Filter type {} is Invalid. ", filter_type); + data_logger->error ("Invalid Window function. Window function:{}", window_function); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - - Dsp::Params params; - params.clear (); - params[0] = sampling_rate; // sample rate - params[1] = order; // order - params[2] = center_freq; // center freq - params[3] = band_width; // band width - if ((filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE)) - { - // band pass and band stop chebyshev designs take 5 params and expect the ripple after - // the band width, unlike the low pass and high pass designs which take 4 - params[4] = ripple; // ripple - } - f->setParams (params); - f->process (data_len, filter_data); - if ((filter_type == (int)FilterTypes::BUTTERWORTH_ZERO_PHASE) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE) || - (filter_type == (int)FilterTypes::BESSEL_ZERO_PHASE)) - { - reverse_array (data, data_len); - f->process (data_len, filter_data); - reverse_array (data, data_len); - } - delete f; - return (int)BrainFlowExitCodes::STATUS_OK; } -int perform_bandstop (double *data, int data_len, int sampling_rate, double start_freq, - double stop_freq, int order, int filter_type, double ripple) -{ - if ((order < 1) || (order > MAX_FILTER_ORDER) || (!data) || (stop_freq <= start_freq) || - (start_freq < 0) || (sampling_rate < 1)) - { - data_logger->error ("Order must be from 1-8 and data cannot be empty. Order:{} , Data:{} , " - "Start Freq:{} , Stop Freq:{}", - order, (data != NULL), start_freq, stop_freq); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - double center_freq = (start_freq + stop_freq) / 2.0; - double band_width = stop_freq - start_freq; - Dsp::Filter *f = NULL; - double *filter_data[1]; - filter_data[0] = data; - - switch (static_cast (filter_type)) - { - case FilterTypes::BUTTERWORTH: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BUTTERWORTH_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::CHEBYSHEV_TYPE_1: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BESSEL: - f = new Dsp::FilterDesign, 1> (); - break; - case FilterTypes::BESSEL_ZERO_PHASE: - f = new Dsp::FilterDesign, 1> (); - break; - default: - data_logger->error ("Filter type {} is Invalid", filter_type); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - Dsp::Params params; - params.clear (); - params[0] = sampling_rate; // sample rate - params[1] = order; // order - params[2] = center_freq; // center freq - params[3] = band_width; // band width - if ((filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE)) - { - // band pass and band stop chebyshev designs take 5 params and expect the ripple after - // the band width, unlike the low pass and high pass designs which take 4 - params[4] = ripple; // ripple - } - f->setParams (params); - f->process (data_len, filter_data); - if ((filter_type == (int)FilterTypes::BUTTERWORTH_ZERO_PHASE) || - (filter_type == (int)FilterTypes::CHEBYSHEV_TYPE_1_ZERO_PHASE) || - (filter_type == (int)FilterTypes::BESSEL_ZERO_PHASE)) - { - reverse_array (data, data_len); - f->process (data_len, filter_data); - reverse_array (data, data_len); - } - delete f; - - return (int)BrainFlowExitCodes::STATUS_OK; -} -int remove_environmental_noise (double *data, int data_len, int sampling_rate, int noise_type) +int get_band_power (double *ampl, double *freq, int data_len, double freq_start, double freq_end, + double *band_power) { - if ((data_len < 1) || (sampling_rate < 1) || (!data)) + if ((ampl == NULL) || (freq == NULL) || (band_power == NULL) || (data_len < 2) || + !std::isfinite (freq_start) || !std::isfinite (freq_end) || (freq_start < 0.0) || + (freq_start >= freq_end)) { + data_logger->error ("Band bounds must be finite and satisfy 0 <= start < end."); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - - int res = (int)BrainFlowExitCodes::STATUS_OK; - - switch (static_cast (noise_type)) + for (int i = 0; i < data_len; i++) { - case NoiseTypes::FIFTY: - res = perform_bandstop (data, data_len, sampling_rate, 48.0, 52.0, 4, - (int)FilterTypes::BUTTERWORTH_ZERO_PHASE, 0.0); - break; - case NoiseTypes::SIXTY: - res = perform_bandstop (data, data_len, sampling_rate, 58.0, 62.0, 4, - (int)FilterTypes::BUTTERWORTH_ZERO_PHASE, 0.0); - break; - case NoiseTypes::FIFTY_AND_SIXTY: - res = perform_bandstop (data, data_len, sampling_rate, 48.0, 52.0, 4, - (int)FilterTypes::BUTTERWORTH_ZERO_PHASE, 0.0); - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - res = perform_bandstop (data, data_len, sampling_rate, 58.0, 62.0, 4, - (int)FilterTypes::BUTTERWORTH, 0.0); - } - break; - default: - data_logger->error ("Invalid noise type"); + if (!std::isfinite (freq[i]) || !std::isfinite (ampl[i]) || (ampl[i] < 0.0) || + (freq[i] < 0.0) || ((i > 0) && (freq[i] <= freq[i - 1]))) + { + data_logger->error ("PSD must be finite and nonnegative with increasing frequencies."); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } } - - return res; -} - -int perform_rolling_filter (double *data, int data_len, int period, int agg_operation) -{ - if ((data == NULL) || (period <= 0)) + if ((freq_start < freq[0]) || (freq_end > freq[data_len - 1])) { - data_logger->error ("Period must be >= 0 and data cannot be empty. Data:{} , Period:{}", - period, (data != NULL)); + data_logger->error ("Band bounds must be within the PSD frequency range."); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - RollingFilter *filter = NULL; - switch (static_cast (agg_operation)) - { - case AggOperations::MEAN: - filter = new RollingAverage (period); - break; - case AggOperations::MEDIAN: - filter = new RollingMedian (period); - break; - case AggOperations::EACH: - return (int)BrainFlowExitCodes::STATUS_OK; - default: - data_logger->error ("Invalid aggregate opteration:{}", agg_operation); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - for (int i = 0; i < data_len; i++) + double res = 0.0; + for (int i = 0; (i < data_len - 1) && (freq[i] < freq_end); i++) { - filter->add_data (data[i]); - data[i] = filter->get_value (); + const double left = std::max (freq_start, freq[i]); + const double right = std::min (freq_end, freq[i + 1]); + if (right > left) + { + const double width = freq[i + 1] - freq[i]; + const double left_fraction = (left - freq[i]) / width; + const double right_fraction = (right - freq[i]) / width; + const double left_power = (1.0 - left_fraction) * ampl[i] + left_fraction * ampl[i + 1]; + const double right_power = + (1.0 - right_fraction) * ampl[i] + right_fraction * ampl[i + 1]; + res += (right - left) * (0.5 * left_power + 0.5 * right_power); + } } - delete filter; - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int perform_downsampling ( - double *data, int data_len, int period, int agg_operation, double *output_data) -{ - if ((data == NULL) || (data_len <= 0) || (period <= 0) || (output_data == NULL)) + if (!std::isfinite (res)) { - data_logger->error ("Period must be >= 0 and data and output_data cannot be NULL."); + data_logger->error ("Band power overflowed."); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - double (*downsampling_op) (double *, int); - switch (static_cast (agg_operation)) - { - case AggOperations::MEAN: - downsampling_op = downsample_mean; - break; - case AggOperations::MEDIAN: - downsampling_op = downsample_median; - break; - case AggOperations::EACH: - downsampling_op = downsample_each; - break; - default: - data_logger->error ( - "Invalid aggregate opteration:{}. Must be mean,median, or each", agg_operation); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - int num_values = data_len / period; - for (int i = 0; i < num_values; i++) - { - output_data[i] = downsampling_op (data + i * period, period); - } + *band_power = res; return (int)BrainFlowExitCodes::STATUS_OK; } -// https://github.com/rafat/wavelib/wiki/DWT-Example-Code -int perform_wavelet_transform (double *data, int data_len, int wavelet, int decomposition_level, - int extension, double *output_data, int *decomposition_lengths) +namespace { - std::string wavelet_str = get_wavelet_name (wavelet); - std::string extension_str = get_extension_type (extension); - if ((data == NULL) || (data_len <= 0) || (wavelet_str.empty ()) || (output_data == NULL) || - (extension_str.empty ()) || (decomposition_lengths == NULL) || (decomposition_level <= 0)) - { - data_logger->error ("Please review arguments."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - wave_object obj = NULL; - wt_object wt = NULL; - - try + bool prepare_band_power (int fs, int apply, int &nfft, double low, double high, int mains, + std::vector §ions, int &guard) { - obj = wave_init (wavelet_str.c_str ()); - wt = wt_init (obj, "dwt", data_len, decomposition_level); - setDWTExtension (wt, extension_str.c_str ()); - setWTConv (wt, "direct"); - dwt (wt, data); - for (int i = 0; i < wt->outlength; i++) + if (fs < 1 || fs > std::numeric_limits::max () / 4 || apply < 0 || apply > 1 || + !std::isfinite (low) || !std::isfinite (high) || low < 0 || high < 0 || + low >= fs / 2.0 || high >= fs / 2.0 || (low > 0 && high > 0 && low >= high) || + mains < -1 || mains > 3) + return false; + if (nfft == 0) { - output_data[i] = wt->output[i]; + if (get_nearest_power_of_two (fs, &nfft)) + return false; + nfft = std::max (8, 2 * nfft); } - for (int i = 0; i < decomposition_level + 1; i++) + if (nfft < 2 || (nfft & (nfft - 1))) + return false; + guard = 0; + if (!apply) + return true; + double radius = 0.0; + for (int i = 0; i < 2; i++) { - decomposition_lengths[i] = wt->length[i]; + const double center = i == 0 ? 50.0 : 60.0; + // Automatic mains removal excludes the poorly conditioned region next to Nyquist. + const bool enabled = mains == -1 ? center + 2 < 0.9 * fs / 2.0 : (mains & (1 << i)); + if (enabled && + !filter_helpers::design (3, fs, center - 2, center + 2, 4, 0, 0, sections, radius)) + return false; } - wave_free (obj); - obj = NULL; - wt_free (wt); - wt = NULL; - } - catch (const std::exception &e) - { - if (obj) + if (low > 0 && high > 0) { - wave_free (obj); - obj = NULL; + if (!filter_helpers::design (2, fs, low, high, 4, 0, 0, sections, radius)) + return false; } - if (wt) + else if (low > 0 || high > 0) { - wt_free (wt); - wt = NULL; + if (!filter_helpers::design ( + low > 0 ? 1 : 0, fs, low > 0 ? low : high, 0, 4, 0, 0, sections, radius)) + return false; } - // more likely exception here occured because input buffer is to small to perform wavelet - // transform - data_logger->error ("Exception in wavelib: {}", e.what ()); - return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + return filter_helpers::settling_samples (sections, radius, guard); } - return (int)BrainFlowExitCodes::STATUS_OK; } -// inside wavelib inverse transform uses internal state from direct transform, dirty hack to restore -// it here -int perform_inverse_wavelet_transform (double *wavelet_coeffs, int original_data_len, int wavelet, - int decomposition_level, int extension, int *decomposition_lengths, double *output_data) +int get_band_power_settings (int fs, int apply, int nfft, double low, double high, int mains, + int *effective_nfft, int *edge_samples) +try { - std::string wavelet_str = get_wavelet_name (wavelet); - std::string extension_str = get_extension_type (extension); - if ((wavelet_coeffs == NULL) || (decomposition_level <= 0) || (original_data_len <= 0) || - (output_data == NULL) || (wavelet_str.empty ()) || (extension_str.empty ()) || - (decomposition_lengths == NULL)) - { - data_logger->error ("Please review arguments."); + if (!effective_nfft || !edge_samples) return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - wave_object obj = NULL; - wt_object wt = NULL; - - try - { - obj = wave_init (wavelet_str.c_str ()); - wt = wt_init (obj, "dwt", original_data_len, decomposition_level); - setDWTExtension (wt, extension_str.c_str ()); - setWTConv (wt, "direct"); - int total_len = 0; - for (int i = 0; i < decomposition_level + 1; i++) - { - wt->length[i] = decomposition_lengths[i]; - total_len += decomposition_lengths[i]; - } - for (int i = 0; i < total_len; i++) - { - wt->output[i] = wavelet_coeffs[i]; - } - idwt (wt, output_data); - wave_free (obj); - obj = NULL; - wt_free (wt); - wt = NULL; - } - catch (const std::exception &e) - { - if (obj) - { - wave_free (obj); - obj = NULL; - } - if (wt) - { - wt_free (wt); - wt = NULL; - } - data_logger->error ("Exception in wavelib: {}", e.what ()); - // more likely exception here occured because input buffer is to small to perform wavelet - // transform - return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; - } + std::vector sections; + int guard; + if (!prepare_band_power (fs, apply, nfft, low, high, mains, sections, guard) || + (int64_t)nfft + 2LL * guard > std::numeric_limits::max ()) + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + *effective_nfft = nfft; + *edge_samples = guard; return (int)BrainFlowExitCodes::STATUS_OK; } +catch (...) +{ + return (int)BrainFlowExitCodes::GENERAL_ERROR; +} + +int get_custom_band_powers (double *raw_data, int rows, int cols, double *start_freqs, + double *stop_freqs, int num_bands, int sampling_rate, int apply_filters, + double *avg_band_powers, double *stddev_band_powers) +{ + return get_custom_band_powers_with_options (raw_data, rows, cols, start_freqs, stop_freqs, + num_bands, sampling_rate, apply_filters, 0, 0, 0, -1, apply_filters ? 1 : 0, + avg_band_powers, stddev_band_powers); +} -int perform_wavelet_denoising (double *data, int data_len, int wavelet, int decomposition_level, - int wavelet_denoising, int threshold, int extenstion_type, int noise_level) +int get_custom_band_powers_with_options (double *raw_data, int rows, int cols, double *start_freqs, + double *stop_freqs, int num_bands, int sampling_rate, int apply_filters, int nfft, + double low_cutoff, double high_cutoff, int mains, int detrend_operation, + double *avg_band_powers, double *stddev_band_powers) +try { - std::string wavelet_str = get_wavelet_name (wavelet); - std::string denoising_str = get_wavelet_denoising_type (wavelet_denoising); - std::string threshold_str = get_threshold_type (threshold); - std::string extension_str = get_extension_type (extenstion_type); - std::string noise_str = get_noise_estimation_type (noise_level); - if ((data == NULL) || (data_len <= 0) || (decomposition_level <= 0) || (wavelet_str.empty ()) || - (denoising_str.empty ()) || (threshold_str.empty ()) || (extension_str.empty ()) || - (noise_str.empty ())) + if ((sampling_rate < 1) || (sampling_rate > std::numeric_limits::max () / 4) || + (raw_data == NULL) || (rows < 1) || (cols < 1) || (avg_band_powers == NULL) || + (stddev_band_powers == NULL) || (start_freqs == NULL) || (stop_freqs == NULL) || + (num_bands < 1) || detrend_operation < 0 || detrend_operation > 2 || + (int64_t)rows * cols > std::numeric_limits::max () || + (int64_t)rows * num_bands > std::numeric_limits::max ()) { - data_logger->error ("Please review arguments."); + data_logger->error ("Please review your arguments."); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - denoise_object obj = NULL; - double *temp = new double[data_len]; - try + const double nyquist = sampling_rate / 2.0; + for (int i = 0; i < num_bands; i++) { - obj = denoise_init (data_len, decomposition_level, wavelet_str.c_str ()); - setDenoiseMethod (obj, denoising_str.c_str ()); - setDenoiseWTMethod (obj, "dwt"); - setDenoiseWTExtension (obj, extension_str.c_str ()); - setDenoiseParameters (obj, threshold_str.c_str (), noise_str.c_str ()); - denoise (obj, data, temp); - for (int i = 0; i < data_len; i++) + if (!std::isfinite (start_freqs[i]) || !std::isfinite (stop_freqs[i]) || + (start_freqs[i] < 0.0) || (start_freqs[i] >= stop_freqs[i]) || + (stop_freqs[i] > nyquist)) { - data[i] = temp[i]; + data_logger->error ("Bands must satisfy 0 <= start < end <= Nyquist."); + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - delete[] temp; - temp = NULL; - denoise_free (obj); - obj = NULL; } - catch (const std::exception &e) + + int guard = 0; + std::vector sections; + if (!prepare_band_power ( + sampling_rate, apply_filters, nfft, low_cutoff, high_cutoff, mains, sections, guard)) + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + const int64_t required = (int64_t)nfft + 2 * (int64_t)guard; + if (cols < required) { - if (temp) - { - delete[] temp; - temp = NULL; - } - if (obj) - { - denoise_free (obj); - obj = NULL; - } - // more likely exception here occured because input buffer is to small to perform wavelet - // transform - data_logger->error ("Exception in wavelib: {}", e.what ()); + data_logger->error ("Band powers need at least {} samples: {} for Welch and {} at each " + "edge for filter settling; received {}.", + required, nfft, guard, cols); return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; } - return (int)BrainFlowExitCodes::STATUS_OK; -} + const int retained = cols - 2 * guard; + std::vector exit_codes (rows, (int)BrainFlowExitCodes::STATUS_OK); + std::vector> bands (num_bands, std::vector (rows, 0.0)); -int get_csp (const double *data, const double *labels, int n_epochs, int n_channels, int n_times, - double *output_w, double *output_d) -{ - if ((!data) || (!labels) || n_epochs <= 0 || n_channels <= 0 || n_times <= 0) - { - data_logger->error ("Invalid function arguments provided. Please verify that all integer " - "arguments are positive and data and labels arrays aren't empty."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - try +#pragma omp parallel for + for (int i = 0; i < rows; i++) { - Eigen::Matrix sum1 ( - n_channels, n_channels); - Eigen::Matrix sum2 ( - n_channels, n_channels); - - sum1.setZero (); - sum2.setZero (); - - int n_class1 = 0; - int n_class2 = 0; - - // Compute an averaged covariance matrix for each class - for (int e = 0; e < n_epochs; e++) + try { - Eigen::Matrix X ( - n_channels, n_times); - for (int c = 0; c < n_channels; c++) + const double *channel = raw_data + (size_t)i * cols; + std::vector thread_data (channel, channel + cols); + for (double sample : thread_data) { - for (int t = 0; t < n_times; t++) + if (!std::isfinite (sample)) { - X (c, t) = data[e * n_channels * n_times + c * n_times + t]; + exit_codes[i] = (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + break; } } - - // center data - for (int i = 0; i < n_channels; i++) + if (exit_codes[i] != (int)BrainFlowExitCodes::STATUS_OK) { - double ctr = X.row (i).mean (); - for (int j = 0; j < n_times; j++) - { - X (i, j) -= ctr; - } + continue; + } + exit_codes[i] = detrend (thread_data.data (), cols, detrend_operation); + if (exit_codes[i] != (int)BrainFlowExitCodes::STATUS_OK) + continue; + if (!sections.empty () && + !band_power_helpers::filter_with_padding (thread_data, sections, guard)) + { + exit_codes[i] = (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + continue; } - // For centered data cov(X) = (X * X_T) / n - switch (int (labels[e])) + std::vector ampls (nfft / 2 + 1); + std::vector freqs (nfft / 2 + 1); + // Filter the complete input first, then exclude the settling margins from Welch. + exit_codes[i] = + get_psd_welch (thread_data.data () + guard, retained, nfft, (int)(4LL * nfft / 5), + sampling_rate, (int)WindowOperations::HANNING, ampls.data (), freqs.data ()); + for (int band_num = 0; band_num < num_bands; band_num++) { - case 0: - sum1 += ((X * X.transpose ()).eval ()) / double (n_times); - n_class1++; - break; - case 1: - sum2 += ((X * X.transpose ()).eval ()) / double (n_times); - n_class2++; - break; - default: - data_logger->error ("Invalid class label. Current class label: {}", labels[e]); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + if (exit_codes[i] != (int)BrainFlowExitCodes::STATUS_OK) + { break; + } + exit_codes[i] = get_band_power (ampls.data (), freqs.data (), nfft / 2 + 1, + start_freqs[band_num], stop_freqs[band_num], &bands[band_num][i]); } } + catch (...) + { + exit_codes[i] = (int)BrainFlowExitCodes::GENERAL_ERROR; + } + } - sum1 /= double (n_class1); - sum2 /= double (n_class2); + for (int code : exit_codes) + { + if (code != (int)BrainFlowExitCodes::STATUS_OK) + { + return code; + } + } - // Compute the CSP filters - Eigen::GeneralizedSelfAdjointEigenSolver< - Eigen::Matrix> - ges (sum1, sum1 + sum2); + // A common scale preserves channel weighting while avoiding overflow when accumulating + // powers or squaring deviations. This is still mean absolute power followed by normalization. + double scale = 0.0; + for (const auto &band : bands) + { + for (double power : band) + { + scale = std::max (scale, power); + } + } + if (scale == 0.0) + { + std::fill (avg_band_powers, avg_band_powers + num_bands, 0.0); + std::fill (stddev_band_powers, stddev_band_powers + num_bands, 0.0); + return (int)BrainFlowExitCodes::STATUS_OK; + } - for (int i = 0; i < n_channels; i++) + std::vector means (num_bands, 0.0); + std::vector deviations (num_bands, 0.0); + double total = 0.0; + for (int i = 0; i < num_bands; i++) + { + for (double power : bands[i]) { - output_d[i] = ges.eigenvalues () (i); - for (int j = 0; j < n_channels; j++) - { - output_w[i * n_channels + j] = ges.eigenvectors () (j, i); - } + means[i] += (power / scale) / rows; + } + for (double power : bands[i]) + { + const double difference = power / scale - means[i]; + deviations[i] += difference * difference / rows; } + total += means[i]; } - catch (...) + for (int i = 0; i < num_bands; i++) { - data_logger->error ("Error with doing CSP filtering."); - return (int)BrainFlowExitCodes::GENERAL_ERROR; + avg_band_powers[i] = means[i] / total; + // The second output is the population coefficient of variation of absolute channel + // powers, not the standard deviation of the normalized averages. Define silent bands as 0. + stddev_band_powers[i] = (means[i] > 0.0) ? std::sqrt (deviations[i]) / means[i] : 0.0; } return (int)BrainFlowExitCodes::STATUS_OK; } -int get_window (int window_function, int window_len, double *output_window) +catch (...) { - if ((window_len <= 0) || (window_function < 0) || (output_window == NULL)) - { - data_logger->error ("Please check the arguments: data_len must be > 0, window_function >= " - "0 and output_window cannot be empty."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - // from https://www.edn.com/windowing-functions-improve-fft-results-part-i/ - switch (static_cast (window_function)) - { - case WindowOperations::NO_WINDOW: - no_window_function (window_len, output_window); - break; - case WindowOperations::HAMMING: - hamming_function (window_len, output_window); - break; - case WindowOperations::HANNING: - hanning_function (window_len, output_window); - break; - case WindowOperations::BLACKMAN_HARRIS: - blackman_harris_function (window_len, output_window); - break; - default: - data_logger->error ("Invalid Window function. Window function:{}", window_function); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int perform_fft ( - double *data, int data_len, int window_function, double *output_re, double *output_im) -{ - if ((!data) || (!output_re) || (!output_im) || (data_len <= 0) || (data_len % 2 == 1)) - { - data_logger->error ( - "Please check to make sure all arguments aren't empty and data_len is even."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - double *windowed_data = new double[data_len]; - int window_res = get_window (window_function, data_len, windowed_data); - if (window_res != (int)BrainFlowExitCodes::STATUS_OK) - { - delete[] windowed_data; - return window_res; - } - for (int i = 0; i < data_len; i++) - { - windowed_data[i] *= data[i]; - } - kiss_fft_cpx *sout = new kiss_fft_cpx[data_len]; - kiss_fftr_cfg cfg = NULL; - try - { - cfg = kiss_fftr_alloc (data_len, 0, 0, 0); - kiss_fftr (cfg, windowed_data, sout); - for (int i = 0; i < data_len / 2 + 1; i++) - { - output_re[i] = sout[i].r; - output_im[i] = sout[i].i; - } - delete[] sout; - delete[] windowed_data; - windowed_data = NULL; - sout = NULL; - kiss_fftr_free (cfg); - } - catch (...) - { - if (sout) - { - delete[] sout; - } - if (windowed_data) - { - delete[] windowed_data; - } - if (cfg) - { - kiss_fftr_free (cfg); - } - data_logger->error ("Error with doing FFT processing."); - return (int)BrainFlowExitCodes::GENERAL_ERROR; - } - return (int)BrainFlowExitCodes::STATUS_OK; -} - -// data_len here is an original size, not len of input_re input_im -int perform_ifft (double *input_re, double *input_im, int data_len, double *restored_data) -{ - if ((!restored_data) || (!input_re) || (!input_im) || (data_len <= 0) || (data_len % 2 == 1)) - { - data_logger->error ( - "Please check to make sure all arguments aren't empty and data_len is even."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - double *temp = new double[data_len]; - kiss_fft_cpx *cin = new kiss_fft_cpx[data_len]; - for (int i = 0; i < data_len / 2 + 1; i++) - { - cin[i].r = input_re[i]; - cin[i].i = input_im[i]; - } - kiss_fftr_cfg cfg = NULL; - try - { - cfg = kiss_fftr_alloc (data_len, 1, 0, 0); - kiss_fftri (cfg, cin, temp); - for (int i = 0; i < data_len; i++) - { - restored_data[i] = temp[i] / data_len; - } - delete[] cin; - cin = NULL; - delete[] temp; - temp = NULL; - kiss_fftr_free (cfg); - } - catch (...) - { - if (temp) - { - delete[] temp; - } - if (cin) - { - delete[] cin; - } - if (cfg) - { - kiss_fftr_free (cfg); - } - data_logger->error ("Error with doing inverse FFT."); - return (int)BrainFlowExitCodes::GENERAL_ERROR; - } - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_psd (double *data, int data_len, int sampling_rate, int window_function, - double *output_ampl, double *output_freq) -{ - if ((data == NULL) || (sampling_rate < 1) || (data_len < 1) || (data_len % 2 == 1) || - (output_ampl == NULL) || (output_freq == NULL)) - { - data_logger->error ("Please check to make sure all arguments aren't empty, sampling rate " - "is >=1 and data_len is even."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - double *re = new double[data_len / 2 + 1]; - double *im = new double[data_len / 2 + 1]; - int res = perform_fft (data, data_len, window_function, re, im); - if (res != (int)BrainFlowExitCodes::STATUS_OK) - { - delete[] re; - delete[] im; - return res; - } - double freq_res = (double)sampling_rate / (double)data_len; - for (int i = 0; i < data_len / 2 + 1; i++) - { - // https://www.mathworks.com/help/signal/ug/power-spectral-density-estimates-using-fft.html - output_ampl[i] = (re[i] * re[i] + im[i] * im[i]) / ((double)(sampling_rate * data_len)); - if ((i != 0) && (i != data_len / 2)) - { - output_ampl[i] *= 2; - } - output_freq[i] = i * freq_res; - } - delete[] re; - delete[] im; - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_band_power (double *ampl, double *freq, int data_len, double freq_start, double freq_end, - double *band_power) -{ - if ((ampl == NULL) || (freq == NULL) || (freq_start > freq_end) || (band_power == NULL) || - (data_len < 2)) - { - data_logger->error ("Please check to make sure all arguments aren't empty, freq_start > " - "freq_end and data_len >=2"); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - double res = 0.0; - int counter = 0; - double freq_res = freq[1] - freq[0]; - for (int i = 0; i < data_len - 1; i++) - { - if (freq[i] > freq_end) - { - break; - } - if (freq[i] >= freq_start) - { - res += 0.5 * freq_res * (ampl[i] + ampl[i + 1]); - counter++; - } - } - if (counter == 0) - { - data_logger->error ("No data between freq_end and freq_start."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - *band_power = res; - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_nearest_power_of_two (int value, int *output) -{ - if (value < 0) - { - data_logger->error ("Value must be postive. Value:{}", value); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - if (value == 1) - { - *output = 2; - return (int)BrainFlowExitCodes::STATUS_OK; - } - - int32_t v = (int32_t)value; - v--; - v |= v >> 1; - v |= v >> 2; - v |= v >> 4; - v |= v >> 8; - v |= v >> 16; - v++; // next power of 2 - int x = v >> 1; // previous power of 2 - *output = (v - value) > (value - x) ? x : v; - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int write_file ( - const double *data, int num_rows, int num_cols, const char *file_name, const char *file_mode) -{ - if ((strcmp (file_mode, "w") != 0) && (strcmp (file_mode, "w+") != 0) && - (strcmp (file_mode, "a") != 0) && (strcmp (file_mode, "a+") != 0)) - { - data_logger->error ("Incorrect file_mode. File_mode:{}", file_mode); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - FILE *fp; - fp = fopen (file_name, file_mode); - if (fp == NULL) - { - data_logger->error ( - "Couldn't open file with file_name and file_mode argument. File_Mode:{}, File_name:{}", - file_mode, file_name); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - // in read/write file data is transposed! - for (int i = 0; i < num_cols; i++) - { - for (int j = 0; j < num_rows - 1; j++) - { - fprintf (fp, "%lf\t", data[j * num_cols + i]); - } - fprintf (fp, "%lf\n", data[(num_rows - 1) * num_cols + i]); - } - fclose (fp); - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int read_file (double *data, int *num_rows, int *num_cols, const char *file_name, int num_elements) -{ - if (num_elements <= 0) - { - data_logger->error ("Nummber or elements must be greater than 0."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - FILE *fp; - fp = fopen (file_name, "r"); - if (fp == NULL) - { - data_logger->error ("Couldn't read file {}", file_name); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - char buf[4096]; - // rows and cols in tsv file, in data array its transposed! - int total_rows = 0; - int total_cols = 0; - - // count rows - char c; - for (c = getc (fp); !feof (fp); c = getc (fp)) - { - if (c == '\n') - { - total_rows++; - } - } - - fseek (fp, 0, SEEK_SET); - int current_row = 0; - int cur_pos = 0; - while (fgets (buf, sizeof (buf), fp) != NULL) - { - std::string tsv_string (buf); - std::stringstream ss (tsv_string); - std::vector splitted; - std::string tmp; - char sep = '\t'; - if (tsv_string.find ('\t') == std::string::npos) - { - sep = ','; - } - while (std::getline (ss, tmp, sep)) - { - if (tmp != "\n") - { - splitted.push_back (tmp); - } - } - if ((total_cols != 0) && (total_cols != (int)splitted.size ())) - { - data_logger->error ("some rows have more cols than others, invalid input file"); - fclose (fp); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - total_cols = (int)splitted.size (); - for (int i = 0; i < total_cols; i++) - { - try - { - data[i * total_rows + current_row] = std::stod (splitted[i]); - } - catch (const std::invalid_argument &) - { - fclose (fp); - data_logger->error ("found not a number in data file"); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - if (cur_pos == (num_elements - 1)) - { - *num_cols = current_row + 1; - *num_rows = total_cols; - fclose (fp); - return (int)BrainFlowExitCodes::STATUS_OK; - } - cur_pos++; - } - current_row++; - } - // more likely code below is unreachable - *num_cols = total_rows; - *num_rows = total_cols; - fclose (fp); - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int calc_stddev (double *data, int start_pos, int end_pos, double *output) -{ - if ((data == NULL) || (output == NULL) || (end_pos - start_pos < 2)) - { - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - double mean = 0; - for (int i = start_pos; i < end_pos; i++) - { - mean += data[i]; - } - mean /= (end_pos - start_pos); - double stddev = 0; - for (int i = start_pos; i < end_pos; i++) - { - stddev += (data[i] - mean) * (data[i] - mean); - } - stddev /= (end_pos - start_pos); - *output = sqrt (stddev); - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_num_elements_in_file (const char *file_name, int *num_elements) -{ - FILE *fp; - fp = fopen (file_name, "r"); - if (fp == NULL) - { - data_logger->error ("Couldn't read file {}", file_name); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - char buf[4096]; - int total_rows = 0; - - // count rows - char c; - for (c = getc (fp); !feof (fp); c = getc (fp)) - { - if (c == '\n') - { - total_rows++; - } - } - if (total_rows == 0) - { - *num_elements = 0; - fclose (fp); - data_logger->error ("Empty file {}", file_name); - return (int)BrainFlowExitCodes::EMPTY_BUFFER_ERROR; - } - - fseek (fp, 0, SEEK_SET); - while (fgets (buf, sizeof (buf), fp) != NULL) - { - std::string tsv_string (buf); - std::stringstream ss (tsv_string); - std::vector splitted; - std::string tmp; - char sep = '\t'; - if (tsv_string.find ('\t') == std::string::npos) - { - sep = ','; - } - while (std::getline (ss, tmp, sep)) - { - if (tmp != "\n") - { - splitted.push_back (tmp); - } - } - *num_elements = (int)splitted.size () * total_rows; - fclose (fp); - return (int)BrainFlowExitCodes::STATUS_OK; - } - *num_elements = 0; - fclose (fp); - data_logger->error ("File contents", file_name); - return (int)BrainFlowExitCodes::EMPTY_BUFFER_ERROR; -} - -int detrend (double *data, int data_len, int detrend_operation) -{ - if ((data == NULL) || (data_len < 1)) - { - data_logger->error ( - "Incorrect Data arguments. Data must not be empty and data_len must be >=1"); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - if (detrend_operation == (int)DetrendOperations::NO_DETREND) - { - return (int)BrainFlowExitCodes::STATUS_OK; - } - if (detrend_operation == (int)DetrendOperations::CONSTANT) - { - double mean = 0.0; - // subtract mean from data - for (int i = 0; i < data_len; i++) - { - mean += data[i]; - } - mean /= data_len; - for (int i = 0; i < data_len; i++) - { - data[i] -= mean; - } - return (int)BrainFlowExitCodes::STATUS_OK; - } - if (detrend_operation == (int)DetrendOperations::LINEAR) - { - // use mean and gradient to find a line - double mean_x = (data_len - 1) / 2.0; - double mean_y = 0; - for (int i = 0; i < data_len; i++) - { - mean_y += data[i]; - } - mean_y /= data_len; - double temp_xy = 0.0; - double temp_xx = 0.0; - for (int i = 0; i < data_len; i++) - { - temp_xy += i * data[i]; - temp_xx += i * i; - } - double s_xy = temp_xy / data_len - mean_x * mean_y; - double s_xx = temp_xx / data_len - mean_x * mean_x; - double grad = s_xy / s_xx; - double y_int = mean_y - grad * mean_x; - for (int i = 0; i < data_len; i++) - { - data[i] = data[i] - (grad * i + y_int); - } - return (int)BrainFlowExitCodes::STATUS_OK; - } - data_logger->error ("Detrend operation is incorrect. Detrend:{}", detrend_operation); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; -} - -int get_psd_welch (double *data, int data_len, int nfft, int overlap, int sampling_rate, - int window_function, double *output_ampl, double *output_freq) -{ - if ((data == NULL) || (data_len < 1) || (nfft & (nfft - 1)) || (output_ampl == NULL) || - (output_freq == NULL) || (sampling_rate < 1) || (overlap < 0) || (overlap >= nfft)) - { - data_logger->error ("Please review your arguments."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - double *ampls = new double[nfft / 2 + 1]; - int counter = 0; - for (int i = 0; i < nfft / 2 + 1; i++) - { - output_ampl[i] = 0.0; - } - for (int pos = 0; (pos + nfft) <= data_len; pos += (nfft - overlap), counter++) - { - int res = get_psd (data + pos, nfft, sampling_rate, window_function, ampls, output_freq); - if (res != (int)BrainFlowExitCodes::STATUS_OK) - { - delete[] ampls; - return res; - } - for (int i = 0; i < nfft / 2 + 1; i++) - { - output_ampl[i] += ampls[i]; - } - } - delete[] ampls; - if (counter == 0) - { - data_logger->error ("Nfft must be less than data_len."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - // average data - for (int i = 0; i < nfft / 2 + 1; i++) - { - output_ampl[i] /= counter; - } - - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_custom_band_powers (double *raw_data, int rows, int cols, double *start_freqs, - double *stop_freqs, int num_bands, int sampling_rate, int apply_filters, - double *avg_band_powers, double *stddev_band_powers) -{ - if ((sampling_rate < 1) || (raw_data == NULL) || (rows < 1) || (cols < 1) || - (avg_band_powers == NULL) || (stddev_band_powers == NULL) || (start_freqs == NULL) || - (stop_freqs == NULL) || (num_bands < 1)) - { - data_logger->error ("Please review your arguments."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - // rows - channels, cols - datapoints - int *exit_codes = new int[rows]; - for (int i = 0; i < rows; i++) - { - exit_codes[i] = (int)BrainFlowExitCodes::STATUS_OK; - } - int nfft = 0; - get_nearest_power_of_two (sampling_rate, &nfft); - nfft *= 2; // for resolution ~ 0.5 - // handle the case if nfft > number of data points - // its valid case but results will not be accurate - while (nfft > cols) - { - nfft /= 2; - } - if (nfft < 8) - { - data_logger->error ("Not enough data for calculation."); - delete[] exit_codes; - return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; - } - double **bands = new double *[num_bands]; - for (int i = 0; i < num_bands; i++) - { - bands[i] = new double[rows]; - // to make valgrind happy - for (int j = 0; j < rows; j++) - { - bands[i][j] = 0.0; - } - } - -#pragma omp parallel for - for (int i = 0; i < rows; i++) - { - double *ampls = new double[nfft / 2 + 1]; - double *freqs = new double[nfft / 2 + 1]; - double *thread_data = new double[cols]; - memcpy (thread_data, raw_data + i * cols, sizeof (double) * cols); - - if (apply_filters) - { - exit_codes[i] = detrend (thread_data, cols, (int)DetrendOperations::CONSTANT); - if (exit_codes[i] == (int)BrainFlowExitCodes::STATUS_OK) - { - exit_codes[i] = perform_bandstop (thread_data, cols, sampling_rate, 48.0, 52.0, 4, - (int)FilterTypes::BUTTERWORTH_ZERO_PHASE, 0.0); - } - if (exit_codes[i] == (int)BrainFlowExitCodes::STATUS_OK) - { - exit_codes[i] = perform_bandstop (thread_data, cols, sampling_rate, 58.0, 62.0, 4, - (int)FilterTypes::BUTTERWORTH_ZERO_PHASE, 0.0); - } - if (exit_codes[i] == (int)BrainFlowExitCodes::STATUS_OK) - { - exit_codes[i] = perform_bandpass (thread_data, cols, sampling_rate, 2.0, 45.0, 4, - (int)FilterTypes::BUTTERWORTH_ZERO_PHASE, 0.0); - } - } - - // use 80% overlap, as long as it works fast overlap param can be big - exit_codes[i] = get_psd_welch (thread_data, cols, nfft, 4 * nfft / 5, sampling_rate, - (int)WindowOperations::HANNING, ampls, freqs); - for (int band_num = 0; band_num < num_bands; band_num++) - { - if (exit_codes[i] == (int)BrainFlowExitCodes::STATUS_OK) - { - exit_codes[i] = get_band_power (ampls, freqs, nfft / 2 + 1, start_freqs[band_num], - stop_freqs[band_num], &bands[band_num][i]); - } - } - - delete[] ampls; - delete[] freqs; - delete[] thread_data; - } - - for (int i = 0; i < rows; i++) - { - if (exit_codes[i] != (int)BrainFlowExitCodes::STATUS_OK) - { - int ec = exit_codes[i]; - delete[] exit_codes; - for (int j = 0; j < num_bands; j++) - { - delete[] bands[j]; - } - delete[] bands; - return ec; - } - } - - // find average and stddev - double *avg_bands = new double[num_bands]; - double *std_bands = new double[num_bands]; - memset (avg_bands, 0, sizeof (double) * num_bands); - memset (std_bands, 0, sizeof (double) * num_bands); - for (int i = 0; i < num_bands; i++) - { - for (int j = 0; j < rows; j++) - { - avg_bands[i] += bands[i][j]; - } - avg_bands[i] /= rows; - for (int j = 0; j < rows; j++) - { - std_bands[i] += (bands[i][j] - avg_bands[i]) * (bands[i][j] - avg_bands[i]); - } - std_bands[i] /= rows; - std_bands[i] = sqrt (std_bands[i]); - } - // use relative band powers - double sum = 0.0; - for (int i = 0; i < num_bands; i++) - { - sum += avg_bands[i]; - } - for (int i = 0; i < num_bands; i++) - { - avg_band_powers[i] = avg_bands[i] / sum; - // use relative stddev to 'normalize'(doesnt ensure range between 0 and 1) it and keep - // information about variance, division by max doesnt make any sense for stddev, it will - // lose information about ratio between mean and deviation - stddev_band_powers[i] = std_bands[i] / avg_bands[i]; - } - - delete[] exit_codes; - for (int j = 0; j < num_bands; j++) - { - delete[] bands[j]; - } - delete[] bands; - delete[] avg_bands; - delete[] std_bands; - - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_railed_percentage (double *raw_data, int data_len, int gain, double *output) -{ - if ((raw_data == NULL) || (data_len < 1) || (gain < 1) || (output == NULL)) - { - data_logger->error ("Please review your arguments."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - double scaler = (4.5 / (pow (2, 23) - 1) / gain * 1000000.); - double max_val = scaler * pow (2, 23); - double cur_max = abs (raw_data[0]); - bool is_straight_line = true; - for (int i = 1; i < data_len; i++) - { - if (abs (raw_data[i]) > cur_max) - { - cur_max = abs (raw_data[i]); - } - if ((abs (raw_data[i - 1] - raw_data[i]) > 0.00001) && (abs (raw_data[i]) > 0.00001)) - { - is_straight_line = false; - } - } - - if (is_straight_line) - { - *output = 100.0; - } - else - { - *output = (cur_max / max_val) * 100; - } - - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_oxygen_level (double *ppg_ir, double *ppg_red, int data_size, int sampling_rate, - double callib_coef1, double callib_coef2, double callib_coef3, double *oxygen_level) -{ - if ((ppg_red == NULL) || (ppg_ir == NULL) || (data_size < 40) || (sampling_rate < 1) || - (oxygen_level == NULL)) - { - data_logger->error ("invalid inputs for get_oxygen_level, ir {}, red {}, size {}, sampling " - "{}, output {}, min size is 40", - (ppg_ir != NULL), (ppg_red != NULL), data_size, sampling_rate, (oxygen_level != NULL)); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - int res = (int)BrainFlowExitCodes::STATUS_OK; - - double *red_raw = new double[data_size]; - double *ir_raw = new double[data_size]; - int filter_shift = 25; // to get rif of filtereing artifact, dont use first elements - int new_size = data_size - filter_shift; - double *new_red_raw = red_raw + filter_shift; - double *new_ir_raw = ir_raw + filter_shift; - memcpy (red_raw, ppg_red, data_size * sizeof (double)); - memcpy (ir_raw, ppg_ir, data_size * sizeof (double)); - - // need prefiltered mean of red and ir for dc - double mean_red = mean (new_red_raw, new_size); - double mean_ir = mean (new_ir_raw, new_size); - - // filtering(full size) - res = detrend (red_raw, data_size, (int)DetrendOperations::CONSTANT); - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - res = detrend (ir_raw, data_size, (int)DetrendOperations::CONSTANT); - } - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - res = perform_bandpass ( - red_raw, data_size, sampling_rate, 0.7, 1.5, 4, (int)FilterTypes::BUTTERWORTH, 0.0); - } - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - res = perform_bandpass ( - ir_raw, data_size, sampling_rate, 0.7, 1.5, 4, (int)FilterTypes::BUTTERWORTH, 0.0); - } - - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - // calculate AC & DC components using mean & rms: - double redac = rms (new_red_raw, new_size); - double irac = rms (new_ir_raw, new_size); - double reddc = mean_red; - double irdc = mean_ir; - - // https://www.maximintegrated.com/en/design/technical-documents/app-notes/6/6845.html - double r = (redac / reddc) / (irac / irdc); - data_logger->trace ("r is: {}", r); - double spo2 = callib_coef1 * r * r + callib_coef2 * r + callib_coef3; - if (spo2 > 100.0) - { - spo2 = 100.0; - } - if (spo2 < 0) - { - spo2 = 0.0; - } - *oxygen_level = spo2; - } - - delete[] red_raw; - delete[] ir_raw; - - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int restore_data_from_wavelet_detailed_coeffs (double *data, int data_len, int wavelet, - int decomposition_level, int level_to_restore, double *output) -{ - int extension = (int)WaveletExtensionTypes::SYMMETRIC; - if ((data == NULL) || (data_len <= 20) || (output == NULL) || (decomposition_level <= 0) || - (level_to_restore <= 0) || (level_to_restore > decomposition_level)) - { - data_logger->error ("Invalid input for restore_data_from_wavelet_detailed_coeffs."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - int max_wavelet_output_len = data_len + 2 * decomposition_level * (40 + 1); - double *wavelet_output = new double[max_wavelet_output_len]; - int *decomposition_lengths = new int[decomposition_level + 1]; - - int res = perform_wavelet_transform (data, data_len, wavelet, decomposition_level, extension, - wavelet_output, decomposition_lengths); - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - // zero approx coefs - for (int j = 0; j < decomposition_lengths[0]; j++) - { - wavelet_output[j] = 0.0; - } - int cur_sum = decomposition_lengths[0]; - // zero detailed coefs not from level_to_restore - for (int i = 1; i < decomposition_level + 1; i++) - { - int cur_level = decomposition_level + 1 - i; - if (cur_level != level_to_restore) - { - for (int j = cur_sum; j < cur_sum + decomposition_lengths[i]; j++) - { - wavelet_output[j] = 0.0; - } - } - cur_sum += decomposition_lengths[i]; - } - res = perform_inverse_wavelet_transform (wavelet_output, data_len, wavelet, - decomposition_level, extension, decomposition_lengths, output); - } - - delete[] wavelet_output; - delete[] decomposition_lengths; - - return res; -} - -// https://stackoverflow.com/a/22640362 -int detect_peaks_z_score ( - double *data, int data_len, int lag, double threshold, double influence, double *output) -{ - if ((data == NULL) || (data_len < lag) || (lag < 2) || (lag > data_len) || (threshold < 0) || - (influence < 0) || (output == NULL)) - { - data_logger->error ("invalid inputs for detect_peaks_z_score"); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - memset (output, 0, sizeof (double) * data_len); - double *filtered_data = new double[data_len]; - double *avg_filter = new double[data_len]; - double *std_filter = new double[data_len]; - memcpy (filtered_data, data, sizeof (double) * data_len); - - avg_filter[lag - 1] = mean (data, lag); - std_filter[lag - 1] = stddev (data, lag); - - for (int i = lag; i < data_len; i++) - { - if (abs (data[i] - avg_filter[i - 1]) > threshold * std_filter[i - 1]) - { - if (data[i] > avg_filter[i - 1]) - { - output[i] = 1; - } - else - { - output[i] = -1; - } - filtered_data[i] = influence * data[i] + (1 - influence) * filtered_data[i - 1]; - } - else - { - output[i] = 0; - } - avg_filter[i] = mean (filtered_data + i - lag, lag); - std_filter[i] = stddev (filtered_data + i - lag, lag); - } - - delete[] filtered_data; - delete[] avg_filter; - delete[] std_filter; - - return (int)BrainFlowExitCodes::STATUS_OK; -} - -int get_heart_rate ( - double *ppg_ir, double *ppg_red, int data_size, int sampling_rate, int fft_size, double *rate) -{ - if ((ppg_red == NULL) || (ppg_ir == NULL) || (data_size < fft_size) || (sampling_rate < 1) || - (rate == NULL) || (fft_size < 1024) || (fft_size % 2 != 0)) - { - data_logger->error ( - "invalid inputs for get_heart_rate, fft_len should be even and at least 1024"); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - int psd_size = fft_size / 2 + 1; - double *output_ampl_ir = new double[psd_size]; - double *output_ampl_red = new double[psd_size]; - double *output_freq = new double[psd_size]; - - int res = get_psd_welch (ppg_ir, data_size, fft_size, fft_size / 2, sampling_rate, - (int)WindowOperations::HANNING, output_ampl_ir, output_freq); - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - res = get_psd_welch (ppg_red, data_size, fft_size, fft_size / 2, sampling_rate, - (int)WindowOperations::HANNING, output_ampl_red, output_freq); - } - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - // calc HR using red/ir psd. HR range 35bpm-230bpm - // average ampls for red and ir, store in red - for (int i = 0; i < psd_size; i++) - { - output_ampl_red[i] = (output_ampl_red[i] + output_ampl_ir[i]) / 2; - } - double min_hr = 35.0 / 60.0; - double max_hr = 230.0 / 60.0; - // find max amplitude - double max_ampl = 0.0; - int max_ampl_index = 0; - for (int i = 0; i < psd_size; i++) - { - if (output_freq[i] > min_hr && output_freq[i] < max_hr && output_ampl_red[i] > max_ampl) - { - max_ampl = output_ampl_red[i]; - max_ampl_index = i; - } - else if (output_freq[i] > max_hr) - { - break; - } - } - double heart_rate = output_freq[max_ampl_index] * 60; - *rate = heart_rate; - } - - delete[] output_ampl_ir; - delete[] output_ampl_red; - delete[] output_freq; - - return res; -} - -int perform_ica (double *data, int rows, int cols, int num_components, double *w_mat, double *k_mat, - double *a_mat, double *s_mat) -{ - if ((data == NULL) || (rows < 2) || (cols < 2) || (num_components < 2) || (w_mat == NULL) || - (k_mat == NULL) || (a_mat == NULL) || (s_mat == NULL)) - { - data_logger->error ("invalid inputs for perform_ica."); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - Eigen::MatrixXd input_matrix = - Eigen::Map> ( - data, rows, cols); - - FastICA ica (num_components); - int res = ica.compute (input_matrix); - if (res == (int)BrainFlowExitCodes::STATUS_OK) - { - res = ica.get_matrixes (w_mat, k_mat, a_mat, s_mat); - } - return res; + return (int)BrainFlowExitCodes::GENERAL_ERROR; } -int get_activity_index (const double *accel_x, const double *accel_y, const double *accel_z, - int data_len, int sampling_rate, int period, double noise_var_x, double noise_var_y, - double noise_var_z, double *output) -{ - if ((accel_x == NULL) || (accel_y == NULL) || (accel_z == NULL) || (output == NULL) || - (data_len <= 0) || (sampling_rate <= 0) || (period < sampling_rate) || - (data_len < period) || (period % sampling_rate != 0) || !std::isfinite (noise_var_x) || - (noise_var_x < 0.0) || !std::isfinite (noise_var_y) || (noise_var_y < 0.0) || - !std::isfinite (noise_var_z) || (noise_var_z < 0.0)) - { - data_logger->error ("Invalid arguments for get_activity_index: accel_x {}, accel_y {}, " - "accel_z {}, output {}, data_len {}, sampling_rate {}, period {}, " - "noise_var_x {}, noise_var_y {}, noise_var_z {}", - (accel_x != NULL), (accel_y != NULL), (accel_z != NULL), (output != NULL), data_len, - sampling_rate, period, noise_var_x, noise_var_y, noise_var_z); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - - for (int i = 0; i < data_len; i++) - { - if (!std::isfinite (accel_x[i]) || !std::isfinite (accel_y[i]) || - !std::isfinite (accel_z[i])) - { - data_logger->error ("Non-finite sample in accelerometer data at index {}", i); - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; - } - } - - int sec_per_epoch = period / sampling_rate; - int num_epochs = data_len / period; - - for (int epoch = 0; epoch < num_epochs; epoch++) - { - double epoch_ai = 0.0; - int epoch_start_sec = epoch * sec_per_epoch; - for (int sec = 0; sec < sec_per_epoch; sec++) - { - int sec_idx = epoch_start_sec + sec; - int start_pos = sec_idx * sampling_rate; - int end_pos = start_pos + sampling_rate; - - double mean_x = 0.0, mean_y = 0.0, mean_z = 0.0; - for (int i = start_pos; i < end_pos; i++) - { - mean_x += accel_x[i]; - mean_y += accel_y[i]; - mean_z += accel_z[i]; - } - mean_x /= sampling_rate; - mean_y /= sampling_rate; - mean_z /= sampling_rate; - - double var_x = 0.0, var_y = 0.0, var_z = 0.0; - for (int i = start_pos; i < end_pos; i++) - { - var_x += (accel_x[i] - mean_x) * (accel_x[i] - mean_x); - var_y += (accel_y[i] - mean_y) * (accel_y[i] - mean_y); - var_z += (accel_z[i] - mean_z) * (accel_z[i] - mean_z); - } - var_x /= sampling_rate; - var_y /= sampling_rate; - var_z /= sampling_rate; - - double adj_x = var_x - noise_var_x; - double adj_y = var_y - noise_var_y; - double adj_z = var_z - noise_var_z; - double mean_adj = (adj_x + adj_y + adj_z) / 3.0; - double ai_1sec = sqrt (std::max (0.0, mean_adj)); - epoch_ai += ai_1sec; - } - output[epoch] = epoch_ai; - } - - return (int)BrainFlowExitCodes::STATUS_OK; -} int get_version_data_handler (char *version, int *num_chars, int max_chars) { diff --git a/src/data_handler/decomposition.cpp b/src/data_handler/decomposition.cpp new file mode 100644 index 000000000..028d2ab16 --- /dev/null +++ b/src/data_handler/decomposition.cpp @@ -0,0 +1,404 @@ +#include +#include +#include +#include +#include +#include + +#include "data_handler.h" +#include "fastica.h" +#include "spdlog/spdlog.h" +#include "wauxlib.h" +#include "wavelet_helpers.h" +#include "wavelib.h" + +extern std::shared_ptr data_logger; + +namespace +{ + typedef std::unique_ptr Wave; + typedef std::unique_ptr Transform; + typedef std::unique_ptr Denoiser; + typedef Eigen::Matrix RowMatrix; + + bool finite_samples (const double *data, size_t count) + { + if (!data) + { + return false; + } + for (size_t i = 0; i < count; i++) + { + if (!std::isfinite (data[i])) + { + return false; + } + } + return true; + } + + bool valid_wavelet_configuration (int count, int level, wave_object wave) + { + if (count <= 0 || level <= 0 || level > 100) + { + return false; + } + // Wavelib uses int offsets and allocates count + 2*level*(filter_length+1). + long long capacity = (long long)count + 2LL * level * (wave->filtlength + 1); + if (capacity > std::numeric_limits::max ()) + { + return false; + } + double maximum = std::log2 ((double)count / (wave->filtlength - 1)); + return level <= maximum; + } + + int inverse_wavelet (double *coefficients, int coefficient_count, int original_count, + int wavelet, int level, int extension, int *lengths, int lengths_count, double *output, + int output_count, bool checked) + { + std::string wavelet_name = get_wavelet_name (wavelet); + std::string extension_name = get_extension_type (extension); + if (!coefficients || !lengths || !output || original_count <= 0 || level <= 0 || + level > 100 || wavelet_name.empty () || extension_name.empty () || + (checked && + (lengths_count != level + 1 || output_count < original_count || + coefficient_count < original_count))) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + Wave wave (wave_init (wavelet_name.c_str ()), wave_free); + if (!valid_wavelet_configuration (original_count, level, wave.get ())) + { + return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + } + // Derive metadata from the configuration, never from caller-provided sizes. + std::vector expected (level + 1); + int count = original_count; + int total = 0; + for (int i = level; i > 0; i--) + { + count = (int)(((long long)count + + (extension == (int)WaveletExtensionTypes::PERIODIC ? + 1 : + wave->filtlength - 1)) / + 2); + expected[i] = count; + total += count; + } + expected[0] = expected[1]; + total += expected[0]; + for (int i = 0; i <= level; i++) + { + if (lengths[i] != expected[i]) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + } + if (checked && coefficient_count != total) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + if (!finite_samples (coefficients, total)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + Transform transform (wt_init (wave.get (), "dwt", original_count, level), wt_free); + setDWTExtension (transform.get (), extension_name.c_str ()); + setWTConv (transform.get (), "direct"); + std::copy (expected.begin (), expected.end (), transform->length); + transform->length[level + 1] = original_count; + transform->outlength = total; + transform->zpad = 0; + std::copy (coefficients, coefficients + total, transform->output); + std::vector restored (original_count); + idwt (transform.get (), restored.data ()); + if (!finite_samples (restored.data (), restored.size ())) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + std::copy (restored.begin (), restored.end (), output); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Inverse wavelet failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + } +} + +int perform_wavelet_transform (double *data, int data_len, int wavelet, int decomposition_level, + int extension, double *output_data, int *decomposition_lengths) +{ + std::string wavelet_name = get_wavelet_name (wavelet); + std::string extension_name = get_extension_type (extension); + if (data_len <= 0 || decomposition_level <= 0 || decomposition_level > 100 || + wavelet_name.empty () || extension_name.empty () || !output_data || + !decomposition_lengths || !finite_samples (data, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + Wave wave (wave_init (wavelet_name.c_str ()), wave_free); + if (!valid_wavelet_configuration (data_len, decomposition_level, wave.get ())) + { + return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + } + Transform transform (wt_init (wave.get (), "dwt", data_len, decomposition_level), wt_free); + setDWTExtension (transform.get (), extension_name.c_str ()); + setWTConv (transform.get (), "direct"); + dwt (transform.get (), data); + if (!finite_samples (transform->output, transform->outlength)) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + std::copy (transform->output, transform->output + transform->outlength, output_data); + std::copy ( + transform->length, transform->length + decomposition_level + 1, decomposition_lengths); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Wavelet transform failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int perform_inverse_wavelet_transform (double *coefficients, int original_count, int wavelet, + int level, int extension, int *lengths, double *output) +{ + // Legacy raw-pointer ABI cannot know actual allocation sizes. All bindings should + // use the checked entry point; this entry still rejects inconsistent metadata. + return inverse_wavelet ( + coefficients, 0, original_count, wavelet, level, extension, lengths, 0, output, 0, false); +} + +int perform_inverse_wavelet_transform_checked (double *coefficients, int coefficient_count, + int original_count, int wavelet, int level, int extension, int *lengths, int lengths_count, + double *output, int output_count) +{ + return inverse_wavelet (coefficients, coefficient_count, original_count, wavelet, level, + extension, lengths, lengths_count, output, output_count, true); +} + +int perform_wavelet_denoising (double *data, int data_len, int wavelet, int decomposition_level, + int wavelet_denoising, int threshold, int extension, int noise_level) +{ + std::string wavelet_name = get_wavelet_name (wavelet); + std::string denoising_name = get_wavelet_denoising_type (wavelet_denoising); + std::string threshold_name = get_threshold_type (threshold); + std::string extension_name = get_extension_type (extension); + std::string noise_name = get_noise_estimation_type (noise_level); + if (data_len <= 0 || decomposition_level <= 0 || decomposition_level > 100 || + wavelet_name.empty () || denoising_name.empty () || threshold_name.empty () || + extension_name.empty () || noise_name.empty () || !finite_samples (data, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + Wave wave (wave_init (wavelet_name.c_str ()), wave_free); + if (!valid_wavelet_configuration (data_len, decomposition_level, wave.get ())) + { + return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + } + Denoiser denoiser ( + denoise_init (data_len, decomposition_level, wavelet_name.c_str ()), denoise_free); + setDenoiseMethod (denoiser.get (), denoising_name.c_str ()); + setDenoiseWTMethod (denoiser.get (), "dwt"); + setDenoiseWTExtension (denoiser.get (), extension_name.c_str ()); + setDenoiseParameters (denoiser.get (), threshold_name.c_str (), noise_name.c_str ()); + std::vector result (data_len); + denoise (denoiser.get (), data, result.data ()); + if (!finite_samples (result.data (), result.size ())) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + std::copy (result.begin (), result.end (), data); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Wavelet denoising failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int restore_data_from_wavelet_detailed_coeffs (double *data, int data_len, int wavelet, + int decomposition_level, int level_to_restore, double *output) +{ + std::string wavelet_name = get_wavelet_name (wavelet); + if (data_len <= 0 || decomposition_level <= 0 || decomposition_level > 100 || + level_to_restore <= 0 || level_to_restore > decomposition_level || wavelet_name.empty () || + !output || !finite_samples (data, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + Wave wave (wave_init (wavelet_name.c_str ()), wave_free); + if (!valid_wavelet_configuration (data_len, decomposition_level, wave.get ())) + { + return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + } + Transform transform (wt_init (wave.get (), "dwt", data_len, decomposition_level), wt_free); + setDWTExtension (transform.get (), "sym"); + setWTConv (transform.get (), "direct"); + dwt (transform.get (), data); + int offset = 0; + for (int i = 0; i <= decomposition_level; i++) + { + if (i == 0 || decomposition_level + 1 - i != level_to_restore) + { + std::fill (transform->output + offset, + transform->output + offset + transform->length[i], 0.0); + } + offset += transform->length[i]; + } + std::vector restored (data_len); + idwt (transform.get (), restored.data ()); + if (!finite_samples (restored.data (), restored.size ())) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + std::copy (restored.begin (), restored.end (), output); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Wavelet detail reconstruction failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int get_csp (const double *data, const double *labels, int n_epochs, int n_channels, int n_times, + double *output_w, double *output_d) +{ + if (!data || !labels || !output_w || !output_d || n_epochs < 2 || n_channels <= 0 || + n_times < 2 || (long long)n_channels * n_times > std::numeric_limits::max () || + (long long)n_channels * n_channels > std::numeric_limits::max () || + (long long)n_epochs * n_channels * n_times > std::numeric_limits::max ()) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + int class_counts[2] = {0, 0}; + for (int epoch = 0; epoch < n_epochs; epoch++) + { + if (labels[epoch] != 0.0 && labels[epoch] != 1.0) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + class_counts[(int)labels[epoch]]++; + } + size_t total = (size_t)n_epochs * n_channels * n_times; + if (!class_counts[0] || !class_counts[1] || !finite_samples (data, total)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + double scale = 0.0; + for (size_t i = 0; i < total; i++) + { + scale = std::max (scale, std::abs (data[i])); + } + if (!(scale > 0.0)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + Eigen::MatrixXd covariances[2] = {Eigen::MatrixXd::Zero (n_channels, n_channels), + Eigen::MatrixXd::Zero (n_channels, n_channels)}; + for (int epoch = 0; epoch < n_epochs; epoch++) + { + Eigen::MatrixXd centered = + Eigen::Map ( + data + (size_t)epoch * n_channels * n_times, n_channels, n_times) / + scale; + Eigen::VectorXd means = centered.rowwise ().mean (); + centered.colwise () -= means; + covariances[(int)labels[epoch]] += centered * (centered / (double)n_times).transpose (); + } + covariances[0] /= (double)class_counts[0]; + covariances[1] /= (double)class_counts[1]; + Eigen::MatrixXd composite = covariances[0] + covariances[1]; + Eigen::SelfAdjointEigenSolver rank_solver ( + composite, Eigen::EigenvaluesOnly); + if (rank_solver.info () != Eigen::Success || !rank_solver.eigenvalues ().allFinite ()) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + double largest = rank_solver.eigenvalues ()[n_channels - 1]; + if (!(largest > 0.0) || + rank_solver.eigenvalues ()[0] <= + largest * std::numeric_limits::epsilon () * std::max (n_channels, n_times)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + Eigen::GeneralizedSelfAdjointEigenSolver solver ( + covariances[0], composite); + if (solver.info () != Eigen::Success || !solver.eigenvalues ().allFinite () || + !solver.eigenvectors ().allFinite ()) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + Eigen::MatrixXd filters = solver.eigenvectors ().transpose () / scale; + if (!filters.allFinite ()) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + Eigen::Map output_filters (output_w, n_channels, n_channels); + Eigen::Map output_values (output_d, n_channels); + output_filters = filters; + output_values = solver.eigenvalues (); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("CSP failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int perform_ica_with_options (double *data, int rows, int cols, int num_components, double *w_mat, + double *k_mat, double *a_mat, double *s_mat, int max_iterations, double tolerance, int seed) +{ + if (!data || !w_mat || !k_mat || !a_mat || !s_mat || rows < 2 || cols < 3 || + num_components < 2 || num_components > std::min (rows, cols - 1) || + (long long)rows * cols > std::numeric_limits::max () || max_iterations <= 0 || + !std::isfinite (tolerance) || tolerance <= 0.0 || tolerance >= 1.0 || seed < -1) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + Eigen::MatrixXd input = Eigen::Map (data, rows, cols); + FastICA ica (num_components, max_iterations, tolerance, seed); + int result = ica.compute (input); + if (result == (int)BrainFlowExitCodes::STATUS_OK) + { + result = ica.get_matrixes (w_mat, k_mat, a_mat, s_mat); + } + else if (result == (int)BrainFlowExitCodes::GENERAL_ERROR) + { + data_logger->error ( + "ICA failed to converge to a finite solution in {} iterations", max_iterations); + } + return result; + } + catch (const std::exception &error) + { + data_logger->error ("ICA failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int perform_ica (double *data, int rows, int cols, int num_components, double *w_mat, double *k_mat, + double *a_mat, double *s_mat) +{ + return perform_ica_with_options ( + data, rows, cols, num_components, w_mat, k_mat, a_mat, s_mat, 1000, 0.0001, -1); +} diff --git a/src/data_handler/fastica.cpp b/src/data_handler/fastica.cpp index 2b9b39f09..9251f7270 100644 --- a/src/data_handler/fastica.cpp +++ b/src/data_handler/fastica.cpp @@ -1,183 +1,167 @@ #include "fastica.h" +#include #include +#include #include -// https://en.wikipedia.org/wiki/FastICA -// https://arnauddelorme.com/ica_for_dummies/ -int FastICA::compute (Eigen::MatrixXd &X) +namespace { - int rows = (int)X.rows (); - int cols = (int)X.cols (); - int min_rows_cols = rows < cols ? rows : cols; - if ((num_components < 2) || (max_it < 1) || (rows < 2) || (cols < 2) || - (num_components > min_rows_cols)) + bool decorrelate (Eigen::MatrixXd &matrix) { - return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + if (!matrix.allFinite ()) + { + return false; + } + Eigen::JacobiSVD svd (matrix, Eigen::ComputeFullU | Eigen::ComputeFullV); + const Eigen::VectorXd &values = svd.singularValues (); + if (!values.allFinite () || values[0] <= 0.0 || + values[values.size () - 1] <= + values[0] * std::numeric_limits::epsilon () * matrix.rows ()) + { + return false; + } + // The polar factor is symmetric decorrelation without dividing by small + // singular values or explicitly forming an inverse. + matrix = svd.matrixU () * svd.matrixV ().transpose (); + return matrix.allFinite (); } - - W.resize (num_components, num_components); - A.resize (rows, num_components); - K.resize (num_components, rows); - S.resize (num_components, cols); - - scale (X, true, row_norm); - - // Whitening - // X %*% t(X)/rows - Eigen::MatrixXd V = X * (X.array () / cols).matrix ().transpose (); - // s <- La.svd(V) - Eigen::BDCSVD s (V, Eigen::ComputeThinU | Eigen::ComputeThinV); - // D <- diag(c(1/sqrt(s$d))) - Eigen::MatrixXd D = s.singularValues ().array ().sqrt ().inverse ().matrix ().asDiagonal (); - // K <- D %*% t(s$u) - Eigen::MatrixXd K_temp = D * s.matrixU ().transpose (); - // K <- matrix( K[1:rows.comp, ], rows.comp, cols) - Eigen::MatrixXd K_temp2 = K_temp.block (0, 0, num_components, rows); - // X1 <- K %*% X - Eigen::MatrixXd X1 = K_temp2 * X; - Eigen::MatrixXd a = fast_ica_parallel_compute (X1); - // w <- a %*% K - Eigen::MatrixXd w = a * K_temp2; - // S <- w %*% X - S = w * X; - // A <- t(w) %*% solve(w %*% t(w)) - A = w.transpose () * (w * w.transpose ()).inverse (); - A.transposeInPlace (); - K = K_temp2; - W = a; - - return (int)BrainFlowExitCodes::STATUS_OK; } -Eigen::MatrixXd FastICA::fast_ica_parallel_compute (const Eigen::MatrixXd &X) +int FastICA::compute (Eigen::MatrixXd &X) { + int rows = (int)X.rows (); int cols = (int)X.cols (); - Eigen::MatrixXd W (num_components, num_components); - random_normal (W); - - // sW <- La.svd(W) - Eigen::BDCSVD sW (W, Eigen::ComputeThinU | Eigen::ComputeThinV); - // W <- sW$u %*% Diag(1/sW$d) %*% t(sW$u) %*% W - W = sW.matrixU () * (sW.singularValues ().array ().inverse ()).matrix ().asDiagonal () * - sW.matrixU ().transpose () * W; - Eigen::MatrixXd W1 = W; - // lim <- rep(1000, maxit) - std::vector lim (max_it, 1000); - // iteration counter - int it = 0; - - while (lim[it] > tol && it < (max_it - 1)) + if ((num_components < 2) || (max_it < 1) || (rows < 2) || (cols < 3) || + (num_components > std::min (rows, cols - 1)) || !std::isfinite (tol) || (tol <= 0.0) || + (tol >= 1.0) || (seed < -1) || !X.allFinite ()) { - // wx <- W %*% X - // gwx <- tanh(alpha * wx) - // alpha = 1 , so ignore - Eigen::MatrixXd gwx = (W * X).array ().tanh ().matrix (); - // v1 <- gwx %*% t(X)/cols - Eigen::MatrixXd v1 = gwx * (X.array () / cols).matrix ().transpose (); - // g.wx <- alpha * (1 - (gwx)^2) - // nb alpha == 1 - gwx = 1 - gwx.array ().square (); - // v2 <- Diag(apply(g.wx, 1, FUN = mean)) %*% W - Eigen::MatrixXd v2 = gwx.array ().rowwise ().mean ().matrix ().asDiagonal () * W; - // W1 <- v1 - v2 - W1 = v1 - v2; - // sW1 <- La.svd(W1) - Eigen::BDCSVD sW1 (W1, Eigen::ComputeThinU | Eigen::ComputeThinV); - // W1 <- sW1$u %*% Diag(1/sW1$d) %*% t(sW1$u) %*% W1 - W1 = sW1.matrixU () * (sW1.singularValues ().array ().inverse ()).matrix ().asDiagonal () * - sW1.matrixU ().transpose () * W1; - // lim[it + 1] <- max( Mod( Mod( diag(W1 %*% t(W) ) ) - 1 ) ) - lim[it + 1] = ((W1 * W.transpose ()).diagonal ().array ().abs () - 1).abs ().maxCoeff (); - // W <- W1 - W = W1; - ++it; + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - return W; -} - -void FastICA::scale (Eigen::Ref M, bool center, bool normalize, - bool ignore_invariants, std::vector *zeros) -{ - int rows = (int)M.rows (); - Eigen::Array means = M.rowwise ().mean (); - - if (normalize) + // Work at unit scale so centering and covariance do not overflow for otherwise + // representable signals. K and A below retain their original physical units. + double input_scale = X.cwiseAbs ().maxCoeff (); + if (!(input_scale > 0.0)) { - // TODO: This block has not been tested yet - Eigen::Array sds = - ((M.array ().rowwise () - means).square ().colwise ().sum () / (rows - 1)).sqrt (); + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + X /= input_scale; + Eigen::VectorXd means = X.rowwise ().mean (); + X.colwise () -= means; + Eigen::MatrixXd covariance = X * (X / (double)cols).transpose (); + Eigen::SelfAdjointEigenSolver solver (covariance); + if (solver.info () != Eigen::Success || !solver.eigenvalues ().allFinite ()) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } - for (int i = 0; i < sds.size (); i++) - { - if (sds[i] == 0) - { - if (!ignore_invariants) - return; - if (zeros != NULL) - zeros->push_back (i); - sds[i] = 1.0; - } - } + double largest = solver.eigenvalues ()[rows - 1]; + double rank_tolerance = + largest * std::numeric_limits::epsilon () * std::max (rows, cols); + if (!(largest > 0.0) || solver.eigenvalues ()[rows - num_components] <= rank_tolerance) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } - if (center) - { - M.array ().rowwise () -= means; - } - M.array ().rowwise () /= sds; + Eigen::MatrixXd basis (rows, num_components); + Eigen::VectorXd scales (num_components); + for (int i = 0; i < num_components; i++) + { + basis.col (i) = solver.eigenvectors ().col (rows - 1 - i); + scales[i] = std::sqrt (solver.eigenvalues ()[rows - 1 - i]); } - else + Eigen::MatrixXd whitening = scales.cwiseInverse ().asDiagonal () * basis.transpose (); + Eigen::MatrixXd whitened = whitening * X; + Eigen::MatrixXd weights; + if (!whitened.allFinite () || !fast_ica_parallel_compute (whitened, weights)) + { + // A nonconverged estimate must not be silently returned as successful ICA. + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + + W = weights; + K = whitening / input_scale; + S = weights * whitened; + // W is orthogonal, so this is pinv(W*K), without an unstable matrix inverse. + // Keep A channels-by-components, matching every documented output shape. + A = (basis * scales.asDiagonal () * weights.transpose ()) * input_scale; + if (!W.allFinite () || !K.allFinite () || !S.allFinite () || !A.allFinite ()) { - M.array ().transpose ().rowwise () -= means; + return (int)BrainFlowExitCodes::GENERAL_ERROR; } + return (int)BrainFlowExitCodes::STATUS_OK; } -void FastICA::random_normal (Eigen::MatrixXd &M) +bool FastICA::fast_ica_parallel_compute (const Eigen::MatrixXd &X, Eigen::MatrixXd &result) { - std::random_device rd {}; - std::mt19937 gen {rd ()}; - std::normal_distribution d {0, 1}; + Eigen::MatrixXd weights (num_components, num_components); + random_normal (weights); + if (!decorrelate (weights)) + { + return false; + } - for (int r = 0; r < M.rows (); r++) + const double samples = (double)X.cols (); + for (int iteration = 0; iteration < max_it; iteration++) { - for (int c = 0; c < M.cols (); c++) + Eigen::MatrixXd activation = (weights * X).array ().tanh ().matrix (); + Eigen::VectorXd derivative = (1.0 - activation.array ().square ()).rowwise ().mean (); + Eigen::MatrixXd next = + activation * (X / samples).transpose () - derivative.asDiagonal () * weights; + if (!decorrelate (next)) + { + return false; + } + double change = + ((next * weights.transpose ()).diagonal ().array ().abs () - 1.0).abs ().maxCoeff (); + weights.swap (next); + if (change < tol) { - M (r, c) = d (gen); + result = weights; + return true; } } + return false; } -int FastICA::get_matrixes (double *w_mat, double *k_mat, double *a_mat, double *s_mat) +void FastICA::random_normal (Eigen::MatrixXd &matrix) { - for (int r = 0; r < (int)W.rows (); r++) + std::mt19937 generator; + if (seed < 0) { - for (int c = 0; c < (int)W.cols (); c++) - { - w_mat[r * W.cols () + c] = W (r, c); - } + std::random_device device; + generator.seed (device ()); } - for (int r = 0; r < (int)S.rows (); r++) + else { - for (int c = 0; c < (int)S.cols (); c++) - { - s_mat[r * S.cols () + c] = S (r, c); - } + generator.seed ((unsigned int)seed); } - for (int r = 0; r < (int)K.rows (); r++) + std::normal_distribution distribution (0.0, 1.0); + for (int row = 0; row < matrix.rows (); row++) { - for (int c = 0; c < (int)K.cols (); c++) + for (int col = 0; col < matrix.cols (); col++) { - k_mat[r * K.cols () + c] = K (r, c); + matrix (row, col) = distribution (generator); } } - for (int r = 0; r < (int)A.rows (); r++) +} + +int FastICA::get_matrixes (double *w_mat, double *k_mat, double *a_mat, double *s_mat) +{ + if (!w_mat || !k_mat || !a_mat || !s_mat || W.size () == 0 || K.size () == 0 || + A.size () == 0 || S.size () == 0) { - for (int c = 0; c < (int)A.cols (); c++) - { - a_mat[r * A.cols () + c] = A (r, c); - } + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - + typedef Eigen::Matrix RowMatrix; + Eigen::Map w_output (w_mat, W.rows (), W.cols ()); + Eigen::Map k_output (k_mat, K.rows (), K.cols ()); + Eigen::Map a_output (a_mat, A.rows (), A.cols ()); + Eigen::Map s_output (s_mat, S.rows (), S.cols ()); + w_output = W; + k_output = K; + a_output = A; + s_output = S; return (int)BrainFlowExitCodes::STATUS_OK; } diff --git a/src/data_handler/inc/band_power_helpers.h b/src/data_handler/inc/band_power_helpers.h new file mode 100644 index 000000000..460eafda4 --- /dev/null +++ b/src/data_handler/inc/band_power_helpers.h @@ -0,0 +1,89 @@ +#pragma once + +#include +#include +#include +#include + +#include "DspFilters/Dsp.h" + +namespace band_power_helpers +{ + struct Section + { + double b0, b1, b2, a1, a2; + }; + + // Keep the filter design in DSPFilters, but initialize the SOS states separately for + // each direction. Reusing the forward pass's final state produces a boundary transient. + inline void append_filter ( + Dsp::Cascade &filter, std::vector
§ions, double &pole_radius) + { + for (int i = 0; i < filter.getNumStages (); i++) + { + const Dsp::Biquad &stage = filter[i]; + const double a0 = stage.getA0 (); + sections.push_back ({stage.getB0 () / a0, stage.getB1 () / a0, stage.getB2 () / a0, + stage.getA1 () / a0, stage.getA2 () / a0}); + } + for (const auto &pair : filter.getPoleZeros ()) + { + pole_radius = std::max (pole_radius, std::abs (pair.poles.first)); + pole_radius = std::max (pole_radius, std::abs (pair.poles.second)); + } + } + + inline bool filter_direction ( + std::vector &data, const std::vector
§ions, bool steady_state = true) + { + for (const Section &s : sections) + { + // Steady state for a constant input equal to the endpoint, in transposed + // direct form II. Each section sees the preceding section's endpoint gain. + const double initial = steady_state ? data.front () : 0.0; + const double output = initial * (s.b0 + s.b1 + s.b2) / (1.0 + s.a1 + s.a2); + double z1 = output - s.b0 * initial; + double z2 = s.b2 * initial - s.a2 * output; + for (double &sample : data) + { + const double filtered = s.b0 * sample + z1; + z1 = s.b1 * sample - s.a1 * filtered + z2; + z2 = s.b2 * sample - s.a2 * filtered; + if (!std::isfinite (filtered)) + { + return false; + } + sample = filtered; + } + } + return true; + } + + inline bool filter_with_padding ( + std::vector &data, const std::vector
§ions, int guard) + { + if (data.empty () || guard < 0) + return false; + const size_t pad = std::min ((size_t)guard, data.size () - 1); + const size_t size = data.size (); + std::vector padded (size + 2 * pad); + std::copy (data.begin (), data.end (), padded.begin () + pad); + for (size_t i = 0; i < pad; i++) + { + padded[pad - 1 - i] = data.front () + (data.front () - data[i + 1]); + padded[pad + size + i] = data.back () + (data.back () - data[size - 2 - i]); + } + if (!filter_direction (padded, sections)) + { + return false; + } + std::reverse (padded.begin (), padded.end ()); + if (!filter_direction (padded, sections)) + { + return false; + } + std::reverse (padded.begin (), padded.end ()); + std::copy (padded.begin () + pad, padded.begin () + pad + size, data.begin ()); + return true; + } +} diff --git a/src/data_handler/inc/common_data_handler_helpers.h b/src/data_handler/inc/common_data_handler_helpers.h index 2fa4ec0b7..46dc5528a 100644 --- a/src/data_handler/inc/common_data_handler_helpers.h +++ b/src/data_handler/inc/common_data_handler_helpers.h @@ -1,39 +1,72 @@ #pragma once -#include -#include +#include +#include +#include + +inline bool finite_signal (const double *data, int n) +{ + if (!data || n <= 0) + return false; + for (int i = 0; i < n; i++) + if (!std::isfinite (data[i])) + return false; + return true; +} + +inline double signal_scale (const double *data, int n) +{ + double scale = 0.0; + for (int i = 0; i < n; i++) + scale = std::max (scale, std::abs (data[i])); + return scale; +} inline double rms (double x[], int n) { + const double scale = signal_scale (x, n); + if (scale == 0.0) + return 0.0; double sum = 0; for (int i = 0; i < n; i++) { - sum += x[i] * x[i]; + const double value = x[i] / scale; + sum += value * value / n; } - return sqrt (sum / n); + return scale * sqrt (std::min (1.0, sum)); } -inline double mean (double x[], int n) +inline double mean (const double x[], int n) { - double sum = 0; + const double scale = signal_scale (x, n); + if (scale == 0.0) + return 0.0; + double sum = 0, correction = 0; for (int i = 0; i < n; i++) { - sum += x[i]; + const double value = (x[i] / scale) / n - correction; + const double next = sum + value; + correction = (next - sum) - value; + sum = next; } - return sum / n; + return std::max (-1.0, std::min (1.0, sum)) * scale; } -inline double stddev (double data[], int len) +inline double stddev (const double data[], int len) { - double the_mean = mean (data, len); + const double scale = signal_scale (data, len); + if (scale == 0.0) + return 0.0; + double the_mean = mean (data, len) / scale; double deviation = 0.0; for (int i = 0; i < len; ++i) { - deviation += pow (data[i] - the_mean, 2); + const double delta = data[i] / scale - the_mean; + deviation += delta * delta / len; } - return sqrt (deviation / len); + return scale * sqrt (std::min (1.0, deviation)); } @@ -48,4 +81,4 @@ inline void reverse_array (double data[], int len) data[i] = data[len - i - 1]; data[len - i - 1] = temp; } -} \ No newline at end of file +} diff --git a/src/data_handler/inc/data_handler.h b/src/data_handler/inc/data_handler.h index 517623de2..600c964fc 100644 --- a/src/data_handler/inc/data_handler.h +++ b/src/data_handler/inc/data_handler.h @@ -24,12 +24,29 @@ extern "C" double *data, int data_len, int period, int agg_operation); SHARED_EXPORT int CALLING_CONVENTION perform_downsampling ( double *data, int data_len, int period, int agg_operation, double *output_data); + // FIR decimation: floor(data_len/factor) outputs, first sample aligned to input[0]. + SHARED_EXPORT int CALLING_CONVENTION perform_decimation ( + const double *data, int data_len, int factor, double *output_data); + // Streaming causal filter kinds: lowpass=0, highpass=1, bandpass=2, bandstop=3. + SHARED_EXPORT int CALLING_CONVENTION get_filter_settling_samples (int kind, int sampling_rate, + double low_cutoff, double high_cutoff, int order, int filter_type, double ripple, + int *edge_samples); + SHARED_EXPORT int CALLING_CONVENTION create_streaming_filter (int kind, int sampling_rate, + double low_cutoff, double high_cutoff, int order, int filter_type, double ripple, + int *handle); + SHARED_EXPORT int CALLING_CONVENTION perform_streaming_filter ( + int handle, double *data, int data_len); + SHARED_EXPORT int CALLING_CONVENTION reset_streaming_filter (int handle); + SHARED_EXPORT int CALLING_CONVENTION release_streaming_filter (int handle); SHARED_EXPORT int CALLING_CONVENTION perform_wavelet_transform (double *data, int data_len, int wavelet, int decomposition_level, int extension, double *output_data, int *decomposition_lengths); SHARED_EXPORT int CALLING_CONVENTION perform_inverse_wavelet_transform (double *wavelet_coeffs, int original_data_len, int wavelet, int decomposition_level, int extension, int *decomposition_lengths, double *output_data); + SHARED_EXPORT int CALLING_CONVENTION perform_inverse_wavelet_transform_checked (double *coeffs, + int coeff_count, int original_data_len, int wavelet, int level, int extension, int *lengths, + int lengths_count, double *output, int output_count); SHARED_EXPORT int CALLING_CONVENTION perform_wavelet_denoising (double *data, int data_len, int wavelet, int decomposition_level, int wavelet_denoising, int threshold, int extenstion_type, int noise_level); @@ -56,8 +73,21 @@ extern "C" SHARED_EXPORT int CALLING_CONVENTION get_custom_band_powers (double *raw_data, int rows, int cols, double *start_freqs, double *stop_freqs, int num_bands, int sampling_rate, int apply_filters, double *avg_band_powers, double *stddev_band_powers); + // nfft=0 selects the default; cutoff=0 disables that passband edge. + // mains: -1=automatic, 0=none, 1=50Hz, 2=60Hz, 3=both. + SHARED_EXPORT int CALLING_CONVENTION get_band_power_settings (int sampling_rate, + int apply_filters, int nfft, double low_cutoff, double high_cutoff, int mains, + int *effective_nfft, int *edge_samples); + SHARED_EXPORT int CALLING_CONVENTION get_custom_band_powers_with_options (double *raw_data, + int rows, int cols, double *start_freqs, double *stop_freqs, int num_bands, + int sampling_rate, int apply_filters, int nfft, double low_cutoff, double high_cutoff, + int mains, int detrend_operation, double *avg_band_powers, double *stddev_band_powers); SHARED_EXPORT int CALLING_CONVENTION get_railed_percentage ( double *raw_data, int data_len, int gain, double *output); + SHARED_EXPORT int CALLING_CONVENTION get_clipping_percentage ( + const double *data, int data_len, double lower_bound, double upper_bound, double *output); + SHARED_EXPORT int CALLING_CONVENTION get_flatline_percentage ( + const double *data, int data_len, double tolerance, double *output); SHARED_EXPORT int CALLING_CONVENTION get_oxygen_level (double *ppg_ir, double *ppg_red, int data_size, int sampling_rate, double callib_coef1, double callib_coef2, double callib_coef3, double *oxygen_level); @@ -69,6 +99,9 @@ extern "C" double *data, int data_len, int lag, double threshold, double influence, double *output); SHARED_EXPORT int CALLING_CONVENTION perform_ica (double *data, int rows, int cols, int num_components, double *w_mat, double *k_mat, double *a_mat, double *s_mat); + SHARED_EXPORT int CALLING_CONVENTION perform_ica_with_options (double *data, int rows, int cols, + int num_components, double *w_mat, double *k_mat, double *a_mat, double *s_mat, + int max_iterations, double tolerance, int seed); SHARED_EXPORT int CALLING_CONVENTION get_activity_index (const double *accel_x, const double *accel_y, const double *accel_z, int data_len, int sampling_rate, int period, double noise_var_x, double noise_var_y, double noise_var_z, double *activity_index); diff --git a/src/data_handler/inc/fastica.h b/src/data_handler/inc/fastica.h index f0f5b08e4..bf58df879 100644 --- a/src/data_handler/inc/fastica.h +++ b/src/data_handler/inc/fastica.h @@ -1,8 +1,5 @@ #pragma once -#include -#include - #include "Eigen/Dense" #include "brainflow_constants.h" @@ -11,13 +8,12 @@ class FastICA { public: - FastICA (int num_components, int max_it = 300, double tol = 0.0001) + FastICA (int num_components, int max_it = 1000, double tol = 0.0001, int seed = -1) { this->max_it = max_it; this->num_components = num_components; this->tol = tol; - alpha = 1; - row_norm = false; + this->seed = seed; } int compute (Eigen::MatrixXd &X); @@ -29,14 +25,11 @@ class FastICA Eigen::MatrixXd A; Eigen::MatrixXd S; - Eigen::MatrixXd fast_ica_parallel_compute (const Eigen::MatrixXd &X); - void scale (Eigen::Ref m, bool, bool, bool ignore_invariants = false, - std::vector *zeros = NULL); + bool fast_ica_parallel_compute (const Eigen::MatrixXd &X, Eigen::MatrixXd &result); void random_normal (Eigen::MatrixXd &m); int max_it; int num_components; double tol; - int alpha; - bool row_norm; + int seed; }; diff --git a/src/data_handler/inc/filter_helpers.h b/src/data_handler/inc/filter_helpers.h new file mode 100644 index 000000000..ee958b919 --- /dev/null +++ b/src/data_handler/inc/filter_helpers.h @@ -0,0 +1,116 @@ +#pragma once + +#include "band_power_helpers.h" +#include "common_data_handler_helpers.h" + +namespace filter_helpers +{ + using band_power_helpers::Section; + + template + struct AccessibleFilter : Dsp::FilterDesign + { + Dsp::Cascade &cascade () + { + return this->m_design; + } + }; + + template + void append (const Dsp::Params ¶ms, std::vector
§ions, double &radius) + { + AccessibleFilter filter; + filter.setParams (params); + band_power_helpers::append_filter (filter.cascade (), sections, radius); + } + + // kind: lowpass=0, highpass=1, bandpass=2, bandstop=3. + inline bool design (int kind, int fs, double low, double high, int order, int type, + double ripple, std::vector
§ions, double &radius) + { + if (fs < 1 || order < 1 || order > 8 || type < 0 || type > 5 || kind < 0 || kind > 3 || + !std::isfinite (low) || low <= 0.0 || low >= fs / 2.0 || + (kind >= 2 && (!std::isfinite (high) || high <= low || high >= fs / 2.0)) || + (type % 3 == 1 && (!std::isfinite (ripple) || ripple <= 0.0))) + return false; + Dsp::Params params; + params[0] = fs; + params[1] = order; + params[2] = kind < 2 ? low : (low + high) / 2.0; + params[3] = kind < 2 ? ripple : high - low; + params[4] = ripple; +#define APPEND_FAMILY(FAMILY) \ + switch (kind) \ + { \ + case 0: \ + append> (params, sections, radius); \ + break; \ + case 1: \ + append> (params, sections, radius); \ + break; \ + case 2: \ + append> (params, sections, radius); \ + break; \ + case 3: \ + append> (params, sections, radius); \ + break; \ + } + switch (type % 3) + { + case 0: + APPEND_FAMILY (Butterworth); + break; + case 1: + APPEND_FAMILY (ChebyshevI); + break; + case 2: + APPEND_FAMILY (Bessel); + break; + } +#undef APPEND_FAMILY + if (!std::isfinite (radius) || radius >= 1.0) + return false; + for (const auto &s : sections) + if (!std::isfinite (s.b0) || !std::isfinite (s.b1) || !std::isfinite (s.b2) || + !std::isfinite (s.a1) || !std::isfinite (s.a2) || 1 + s.a1 + s.a2 <= 0) + return false; + return true; + } + + // Measure the complete cascade's impulse tail, instead of assigning a unit-amplitude + // transient to every pole. This remains an estimate, not a bound for arbitrary signals. + inline bool settling_samples (const std::vector
§ions, double radius, int &guard) + { + guard = 0; + if (sections.empty ()) + return true; + if (radius == 0.0) + { + guard = 1; + return true; + } + if (!(radius > 0 && radius < 1)) + return false; + const double horizon = std::ceil (std::log (1e-9) / std::log (radius)); + if (!std::isfinite (horizon) || horizon > 1000000) + return false; + std::vector impulse (std::max (32, (int)horizon), 0.0); + impulse[0] = 1.0; + if (!band_power_helpers::filter_direction (impulse, sections, false)) + return false; + double total = 0.0; + for (double value : impulse) + total += std::abs (value); + double tail = 0.0; + for (int i = (int)impulse.size () - 1; i >= 0; i--) + { + tail += std::abs (impulse[i]); + if (tail > 1e-3 * total) + { + guard = i + 1; + break; + } + } + return true; + } +} diff --git a/src/data_handler/signal_metrics.cpp b/src/data_handler/signal_metrics.cpp new file mode 100644 index 000000000..fca4e48d5 --- /dev/null +++ b/src/data_handler/signal_metrics.cpp @@ -0,0 +1,449 @@ +#include +#include +#include +#include +#include + +#include "brainflow_constants.h" +#include "common_data_handler_helpers.h" +#include "data_handler.h" +#include "filter_helpers.h" +#include "spdlog/spdlog.h" + +extern std::shared_ptr data_logger; + +namespace +{ + const double minimum_pulse_hz = 35.0 / 60.0; + const double maximum_pulse_hz = 230.0 / 60.0; + + int insufficient_pulse () + { + data_logger->error ("PPG has insufficient pulse energy or no distinct shared pulse peak"); + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + + bool center_ppg (const double *data, int count, std::vector ¢ered) + { + double scale = signal_scale (data, count); + if (!(scale > 0.0)) + { + return false; + } + centered.resize (count); + for (int i = 0; i < count; i++) + { + centered[i] = data[i] / scale; + } + if (detrend (centered.data (), count, (int)DetrendOperations::LINEAR) != + (int)BrainFlowExitCodes::STATUS_OK) + { + return false; + } + return stddev (centered.data (), count) > 64 * std::numeric_limits::epsilon (); + } + + int pulse_spectrum (double *data, int count, int sampling_rate, int fft_size, + std::vector &spectrum, std::vector &frequencies, bool periodogram = false) + { + spectrum.resize (fft_size / 2 + 1); + frequencies.resize (spectrum.size ()); + int result = periodogram ? + get_psd (data, fft_size, sampling_rate, (int)WindowOperations::HANNING, + spectrum.data (), frequencies.data ()) : + get_psd_welch (data, count, fft_size, fft_size / 2, sampling_rate, + (int)WindowOperations::HANNING, spectrum.data (), frequencies.data ()); + if (result != (int)BrainFlowExitCodes::STATUS_OK) + { + return result; + } + double total = 0.0; + for (size_t i = 0; i < spectrum.size (); i++) + { + if (frequencies[i] >= minimum_pulse_hz && frequencies[i] <= maximum_pulse_hz) + { + total += spectrum[i]; + } + } + if (!std::isfinite (total) || !(total > std::numeric_limits::min ())) + { + return insufficient_pulse (); + } + for (double &value : spectrum) + { + value /= total; + } + return (int)BrainFlowExitCodes::STATUS_OK; + } + + bool pulse_peak ( + const std::vector &spectrum, const std::vector &frequencies, int &peak) + { + std::vector background; + double total = 0.0; + peak = -1; + for (int i = 1; i + 1 < (int)spectrum.size (); i++) + { + if (frequencies[i] >= minimum_pulse_hz && frequencies[i] <= maximum_pulse_hz) + { + background.push_back (spectrum[i]); + total += spectrum[i]; + if (peak < 0 || spectrum[i] > spectrum[peak]) + { + peak = i; + } + } + } + if (background.size () < 5 || peak < 0 || !(total > 0.0)) + { + return false; + } + std::nth_element ( + background.begin (), background.begin () + background.size () / 2, background.end ()); + double median = background[background.size () / 2]; + double local = spectrum[peak - 1] + spectrum[peak] + spectrum[peak + 1]; + // A Hann-windowed pulse should concentrate power around a peak. This numerical + // quality gate rejects flat/noisy spectra; it is not a clinical validity claim. + return spectrum[peak] > 4.0 * median && local >= 0.45 * total && + spectrum[peak] >= spectrum[peak - 1] && spectrum[peak] >= spectrum[peak + 1]; + } +} + +int get_railed_percentage (double *raw_data, int data_len, int gain, double *output) +{ + if (!output || gain < 1 || !finite_signal (raw_data, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + bool flat = true; + for (int i = 1; i < data_len; i++) + { + if (std::abs (raw_data[i - 1] - raw_data[i]) > 0.00001 && std::abs (raw_data[i]) > 0.00001) + { + flat = false; + } + } + // Preserve the legacy ADS1299 4.5 V, 24-bit, microvolt peak metric and its flatline + // convention. get_clipping_percentage measures an actual clipped sample fraction. + double full_scale = (4.5 / (8388608.0 - 1.0) / gain * 1000000.0) * 8388608.0; + double fraction = std::min (1.0, signal_scale (raw_data, data_len) / full_scale); + *output = flat ? 100.0 : 100.0 * fraction; + return (int)BrainFlowExitCodes::STATUS_OK; +} + +int get_clipping_percentage ( + const double *data, int data_len, double lower_bound, double upper_bound, double *output) +{ + if (!output || !std::isfinite (lower_bound) || !std::isfinite (upper_bound) || + lower_bound >= upper_bound || !finite_signal (data, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + int count = 0; + for (int i = 0; i < data_len; i++) + { + if (data[i] <= lower_bound || data[i] >= upper_bound) + { + count++; + } + } + *output = 100.0 * ((double)count / data_len); + return (int)BrainFlowExitCodes::STATUS_OK; +} + +int get_flatline_percentage (const double *data, int data_len, double tolerance, double *output) +{ + if (!output || data_len < 2 || !std::isfinite (tolerance) || tolerance < 0.0 || + !finite_signal (data, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + int count = 0; + for (int i = 1; i < data_len; i++) + { + if (std::abs (data[i] - data[i - 1]) <= tolerance) + { + count++; + } + } + *output = 100.0 * ((double)count / (data_len - 1)); + return (int)BrainFlowExitCodes::STATUS_OK; +} + +int get_oxygen_level (double *ppg_ir, double *ppg_red, int data_size, int sampling_rate, + double coefficient1, double coefficient2, double coefficient3, double *oxygen_level) +{ + if (!oxygen_level || sampling_rate <= 8 || !std::isfinite (coefficient1) || + !std::isfinite (coefficient2) || !std::isfinite (coefficient3) || + !finite_signal (ppg_ir, data_size) || !finite_signal (ppg_red, data_size)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + // The previous 0.7-1.5 Hz passband excluded otherwise supported pulse rates. + std::vector sections; + double radius = 0.0; + int guard = 0; + if (!filter_helpers::design (2, sampling_rate, 0.5, 4.0, 2, + (int)FilterTypes::BUTTERWORTH_ZERO_PHASE, 0.0, sections, radius) || + !filter_helpers::settling_samples (sections, radius, guard)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + if ((long long)data_size < 2LL * guard + 4LL * sampling_rate) + { + data_logger->error ( + "Oxygen estimation needs at least {} samples including {} at each boundary", + 2LL * guard + 4LL * sampling_rate, guard); + return (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + } + int retained = data_size - 2 * guard; + double ir_scale = signal_scale (ppg_ir, data_size); + double red_scale = signal_scale (ppg_red, data_size); + std::vector ir, red; + if (!center_ppg (ppg_ir, data_size, ir) || !center_ppg (ppg_red, data_size, red)) + { + return insufficient_pulse (); + } + double dc_ir = mean (ppg_ir + guard, retained) / ir_scale; + double dc_red = mean (ppg_red + guard, retained) / red_scale; + const double minimum_fraction = 64 * std::numeric_limits::epsilon (); + if (!(dc_ir > minimum_fraction) || !(dc_red > minimum_fraction)) + { + return insufficient_pulse (); + } + if (!band_power_helpers::filter_with_padding (ir, sections, guard) || + !band_power_helpers::filter_with_padding (red, sections, guard)) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + int fft_size = retained - retained % 2; + std::vector ir_spectrum, red_spectrum, frequencies; + int result = pulse_spectrum ( + ir.data () + guard, retained, sampling_rate, fft_size, ir_spectrum, frequencies, true); + if (result != (int)BrainFlowExitCodes::STATUS_OK) + { + return result; + } + result = pulse_spectrum (red.data () + guard, retained, sampling_rate, fft_size, + red_spectrum, frequencies, true); + if (result != (int)BrainFlowExitCodes::STATUS_OK) + { + return result; + } + int ir_peak, red_peak; + if (!pulse_peak (ir_spectrum, frequencies, ir_peak) || + !pulse_peak (red_spectrum, frequencies, red_peak) || std::abs (ir_peak - red_peak) > 1) + { + return insufficient_pulse (); + } + double ac_ir = rms (ir.data () + guard, retained); + double ac_red = rms (red.data () + guard, retained); + if (!(ac_ir > minimum_fraction) || !(ac_red > minimum_fraction)) + { + return insufficient_pulse (); + } + double ratio = (ac_red / dc_red) / (ac_ir / dc_ir); + double saturation = (coefficient1 * ratio + coefficient2) * ratio + coefficient3; + if (!std::isfinite (ratio) || !std::isfinite (saturation)) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + *oxygen_level = std::max (0.0, std::min (100.0, saturation)); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Oxygen estimation failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int get_heart_rate ( + double *ppg_ir, double *ppg_red, int data_size, int sampling_rate, int fft_size, double *rate) +{ + if (!rate || sampling_rate < 8 || fft_size < 1024 || fft_size % 2 != 0 || + data_size < fft_size || (double)sampling_rate / fft_size > 0.25 || + !finite_signal (ppg_ir, data_size) || !finite_signal (ppg_red, data_size)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + std::vector ir, red; + if (!center_ppg (ppg_ir, data_size, ir) || !center_ppg (ppg_red, data_size, red)) + { + return insufficient_pulse (); + } + std::vector ir_spectrum, red_spectrum, frequencies; + int result = pulse_spectrum ( + ir.data (), data_size, sampling_rate, fft_size, ir_spectrum, frequencies); + if (result != (int)BrainFlowExitCodes::STATUS_OK) + { + return result; + } + result = pulse_spectrum ( + red.data (), data_size, sampling_rate, fft_size, red_spectrum, frequencies); + if (result != (int)BrainFlowExitCodes::STATUS_OK) + { + return result; + } + int ir_peak, red_peak; + if (!pulse_peak (ir_spectrum, frequencies, ir_peak) || + !pulse_peak (red_spectrum, frequencies, red_peak) || std::abs (ir_peak - red_peak) > 1) + { + return insufficient_pulse (); + } + for (size_t i = 0; i < ir_spectrum.size (); i++) + { + ir_spectrum[i] = (ir_spectrum[i] + red_spectrum[i]) / 2.0; + } + int peak; + if (!pulse_peak (ir_spectrum, frequencies, peak)) + { + return insufficient_pulse (); + } + // Log-parabolic interpolation reduces FFT-bin quantization of a validated peak. + double offset = 0.0; + if (ir_spectrum[peak - 1] > 0.0 && ir_spectrum[peak + 1] > 0.0) + { + double left = std::log (ir_spectrum[peak - 1]); + double middle = std::log (ir_spectrum[peak]); + double right = std::log (ir_spectrum[peak + 1]); + double curvature = left - 2.0 * middle + right; + if (curvature < 0.0) + { + offset = std::max (-0.5, std::min (0.5, 0.5 * (left - right) / curvature)); + } + } + double frequency = (peak + offset) * ((double)sampling_rate / fft_size); + if (frequency < minimum_pulse_hz || frequency > maximum_pulse_hz) + { + return insufficient_pulse (); + } + *rate = frequency * 60.0; + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Heart-rate estimation failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int detect_peaks_z_score ( + double *data, int data_len, int lag, double threshold, double influence, double *output) +{ + if (!output || lag < 2 || lag > data_len || !std::isfinite (threshold) || threshold < 0.0 || + !std::isfinite (influence) || influence < 0.0 || influence > 1.0 || + !finite_signal (data, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + double scale = signal_scale (data, data_len); + if (scale == 0.0) + { + std::fill (output, output + data_len, 0.0); + return (int)BrainFlowExitCodes::STATUS_OK; + } + std::vector filtered (data_len), peaks (data_len, 0.0); + for (int i = 0; i < data_len; i++) + { + filtered[i] = data[i] / scale; + } + double baseline = mean (filtered.data (), lag); + double deviation = stddev (filtered.data (), lag); + double squared_deviation = deviation * deviation * lag; + for (int i = lag; i < data_len; i++) + { + double current = data[i] / scale; + double limit = threshold * std::sqrt (std::max (0.0, squared_deviation) / lag); + if (std::abs (current - baseline) > + limit + 32 * std::numeric_limits::epsilon ()) + { + peaks[i] = current > baseline ? 1.0 : -1.0; + filtered[i] = influence * current + (1.0 - influence) * filtered[i - 1]; + } + // The next baseline includes this filtered sample and excludes i-lag. + double previous = filtered[i - lag]; + double next_baseline = baseline + (filtered[i] - previous) / lag; + squared_deviation += + (filtered[i] - previous) * (filtered[i] - next_baseline + previous - baseline); + baseline = next_baseline; + // Periodic recomputation bounds drift while retaining O(data_len) work. + if ((i - lag + 1) % lag == 0) + { + baseline = mean (filtered.data () + i - lag + 1, lag); + deviation = stddev (filtered.data () + i - lag + 1, lag); + squared_deviation = deviation * deviation * lag; + } + } + std::copy (peaks.begin (), peaks.end (), output); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Peak detection failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} + +int get_activity_index (const double *accel_x, const double *accel_y, const double *accel_z, + int data_len, int sampling_rate, int period, double noise_var_x, double noise_var_y, + double noise_var_z, double *output) +{ + if (!output || sampling_rate <= 0 || period < sampling_rate || data_len < period || + period % sampling_rate != 0 || !std::isfinite (noise_var_x) || noise_var_x < 0.0 || + !std::isfinite (noise_var_y) || noise_var_y < 0.0 || !std::isfinite (noise_var_z) || + noise_var_z < 0.0 || !finite_signal (accel_x, data_len) || + !finite_signal (accel_y, data_len) || !finite_signal (accel_z, data_len)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + try + { + const double noise[] = { + std::sqrt (noise_var_x), std::sqrt (noise_var_y), std::sqrt (noise_var_z)}; + const double *axes[] = {accel_x, accel_y, accel_z}; + std::vector result (data_len / period, 0.0); + for (int epoch = 0; epoch < (int)result.size (); epoch++) + { + for (int second = 0; second < period / sampling_rate; second++) + { + int start = epoch * period + second * sampling_rate; + double deviations[3]; + double scale = std::max (noise[0], std::max (noise[1], noise[2])); + for (int axis = 0; axis < 3; axis++) + { + deviations[axis] = stddev (axes[axis] + start, sampling_rate); + scale = std::max (scale, deviations[axis]); + } + if (scale > 0.0) + { + double variance = 0.0; + for (int axis = 0; axis < 3; axis++) + { + double deviation = deviations[axis] / scale; + double floor = noise[axis] / scale; + variance += (deviation * deviation - floor * floor) / 3.0; + } + result[epoch] += scale * std::sqrt (std::max (0.0, variance)); + } + if (!std::isfinite (result[epoch])) + { + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } + } + } + std::copy (result.begin (), result.end (), output); + return (int)BrainFlowExitCodes::STATUS_OK; + } + catch (const std::exception &error) + { + data_logger->error ("Activity index failed: {}", error.what ()); + return (int)BrainFlowExitCodes::GENERAL_ERROR; + } +} diff --git a/src/data_handler/signal_processing.cpp b/src/data_handler/signal_processing.cpp new file mode 100644 index 000000000..fdaaa334f --- /dev/null +++ b/src/data_handler/signal_processing.cpp @@ -0,0 +1,729 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "brainflow_constants.h" +#include "common_data_handler_helpers.h" +#include "data_handler.h" +#include "filter_helpers.h" +#include "kiss_fftr.h" + +namespace +{ + const int ok = (int)BrainFlowExitCodes::STATUS_OK; + const int invalid = (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + const int failure = (int)BrainFlowExitCodes::GENERAL_ERROR; + const int short_buffer = (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + + struct StreamingFilterState + { + std::vector sections; + std::vector z1, z2; + std::mutex mutex; + }; + std::mutex streaming_registry_mutex; + std::map> streaming_filters; + int64_t next_streaming_handle = 1; + + std::shared_ptr find_streaming_filter (int handle) + { + std::lock_guard lock (streaming_registry_mutex); + auto found = streaming_filters.find (handle); + return found == streaming_filters.end () ? nullptr : found->second; + } + + int filter_signal (double *data, int n, int fs, double low, double high, int order, int type, + double ripple, int kind) + { + if (!finite_signal (data, n)) + return invalid; + std::vector sections; + double radius = 0.0; + if (!filter_helpers::design (kind, fs, low, high, order, type, ripple, sections, radius)) + return invalid; + std::vector result (data, data + n); + const double scale = signal_scale (data, n); + if (scale > 0.0) + for (double &sample : result) + sample /= scale; + if (type >= 3) + { + int guard; + if (!filter_helpers::settling_samples (sections, radius, guard) || + !band_power_helpers::filter_with_padding (result, sections, guard)) + return invalid; + } + else if (!band_power_helpers::filter_direction (result, sections, false)) + return invalid; + for (double &sample : result) + { + sample *= scale; + if (!std::isfinite (sample)) + return invalid; + } + std::copy (result.begin (), result.end (), data); + return ok; + } + + struct FftPlan + { + kiss_fftr_cfg cfg; + explicit FftPlan (int n, bool inverse = false) : cfg (kiss_fftr_alloc (n, inverse, 0, 0)) + { + if (!cfg) + throw std::bad_alloc (); + } + ~FftPlan () + { + kiss_fftr_free (cfg); + } + FftPlan (const FftPlan &) = delete; + FftPlan &operator= (const FftPlan &) = delete; + }; + + int spectrum (double *data, int n, int nfft, int overlap, int fs, int window, + double *amplitudes, double *frequencies) + { + if (!amplitudes || !frequencies || nfft < 2 || nfft % 2 || n < nfft || fs < 1 || + overlap < 0 || overlap >= nfft || !finite_signal (data, n)) + return invalid; + std::vector weights (nfft), input (nfft), result (nfft / 2 + 1, 0.0); + std::vector output (nfft / 2 + 1); + int res = get_window (window, nfft, weights.data ()); + if (res != ok) + return res; + double energy = 0.0; + for (double value : weights) + energy += value * value; + if (!(energy > 0.0)) + return invalid; + const double denominator = std::sqrt ((double)fs * energy); + const int step = nfft - overlap; + const int count = 1 + (n - nfft) / step; + FftPlan plan (nfft); + for (int segment = 0; segment < count; segment++) + { + const size_t start = (size_t)segment * step; + // Normalize before the transform to avoid overflowing an otherwise representable PSD. + for (int i = 0; i < nfft; i++) + input[i] = data[start + i] * (weights[i] / denominator); + kiss_fftr (plan.cfg, input.data (), output.data ()); + for (int i = 0; i <= nfft / 2; i++) + { + const double magnitude = std::hypot (output[i].r, output[i].i); + const double factor = (i == 0 || i == nfft / 2) ? 1.0 : 2.0; + const double averaged_magnitude = magnitude / std::sqrt ((double)count); + const double value = averaged_magnitude * averaged_magnitude * factor; + if (!std::isfinite (value)) + return invalid; + result[i] += value; + if (!std::isfinite (result[i])) + return invalid; + } + } + std::copy (result.begin (), result.end (), amplitudes); + for (int i = 0; i <= nfft / 2; i++) + frequencies[i] = i * ((double)fs / nfft); + return ok; + } + + int parse_file (const char *name, std::vector &values, int &rows, int &cols) + { + if (!name) + return invalid; + std::ifstream stream (name); + stream.imbue (std::locale::classic ()); + if (!stream) + return invalid; + rows = cols = 0; + std::string line; + while (std::getline (stream, line)) + { + if (!line.empty () && line.back () == '\r') + line.pop_back (); + if (line.empty ()) + return invalid; + const char separator = line.find ('\t') != std::string::npos ? '\t' : ','; + if (line.back () == separator) + return invalid; + std::istringstream row (line); + std::string token; + int width = 0; + while (std::getline (row, token, separator)) + { + std::istringstream number (token); + number.imbue (std::locale::classic ()); + double value; + if (!(number >> value) || !std::isfinite (value)) + return invalid; + number >> std::ws; + if (!number.eof () || values.size () >= (size_t)std::numeric_limits::max ()) + return invalid; + values.push_back (value); + width++; + } + if (!width || (cols && cols != width)) + return invalid; + cols = width; + rows++; + } + return stream.bad () || !rows ? invalid : ok; + } +} + +int perform_lowpass (double *data, int n, int fs, double cutoff, int order, int type, double ripple) +try +{ + return filter_signal (data, n, fs, cutoff, 0, order, type, ripple, 0); +} +catch (...) +{ + return failure; +} + +int get_filter_settling_samples (int kind, int fs, double low, double high, int order, int type, + double ripple, int *edge_samples) +try +{ + if (!edge_samples) + return invalid; + std::vector sections; + double radius = 0.0; + int guard; + if (!filter_helpers::design (kind, fs, low, high, order, type, ripple, sections, radius) || + !filter_helpers::settling_samples (sections, radius, guard)) + return invalid; + *edge_samples = guard; + return ok; +} +catch (...) +{ + return failure; +} + +int create_streaming_filter ( + int kind, int fs, double low, double high, int order, int type, double ripple, int *handle) +try +{ + if (!handle || type < 0 || type > 2) + return invalid; + auto state = std::make_shared (); + double radius = 0; + if (!filter_helpers::design (kind, fs, low, high, order, type, ripple, state->sections, radius)) + return invalid; + state->z1.resize (state->sections.size (), 0); + state->z2.resize (state->sections.size (), 0); + std::lock_guard lock (streaming_registry_mutex); + if (next_streaming_handle > std::numeric_limits::max ()) + return failure; + const int identifier = (int)next_streaming_handle++; + streaming_filters.emplace (identifier, state); + *handle = identifier; + return ok; +} +catch (...) +{ + return failure; +} + +int perform_streaming_filter (int handle, double *data, int n) +try +{ + if (!finite_signal (data, n)) + return invalid; + auto state = find_streaming_filter (handle); + if (!state) + return invalid; + std::lock_guard lock (state->mutex); + std::vector result (data, data + n), z1 = state->z1, z2 = state->z2; + for (size_t i = 0; i < state->sections.size (); i++) + { + const auto &s = state->sections[i]; + for (double &sample : result) + { + const double filtered = s.b0 * sample + z1[i]; + z1[i] = s.b1 * sample - s.a1 * filtered + z2[i]; + z2[i] = s.b2 * sample - s.a2 * filtered; + if (!std::isfinite (filtered) || !std::isfinite (z1[i]) || !std::isfinite (z2[i])) + return invalid; + sample = filtered; + } + } + state->z1.swap (z1); + state->z2.swap (z2); + std::copy (result.begin (), result.end (), data); + return ok; +} +catch (...) +{ + return failure; +} + +int reset_streaming_filter (int handle) +try +{ + auto state = find_streaming_filter (handle); + if (!state) + return invalid; + std::lock_guard lock (state->mutex); + std::fill (state->z1.begin (), state->z1.end (), 0.0); + std::fill (state->z2.begin (), state->z2.end (), 0.0); + return ok; +} +catch (...) +{ + return failure; +} + +int release_streaming_filter (int handle) +try +{ + std::lock_guard lock (streaming_registry_mutex); + return streaming_filters.erase (handle) ? ok : invalid; +} +catch (...) +{ + return failure; +} + +int perform_decimation (const double *data, int n, int factor, double *output) +try +{ + if (!output || factor < 1 || factor > n || factor > std::numeric_limits::max () / 20 || + !finite_signal (data, n)) + return invalid; + if (factor == 1) + { + std::copy (data, data + n, output); + return ok; + } + const int half = 10 * factor; + const double pi = std::acos (-1.0), cutoff = 0.4 / factor; + std::vector coefficients (2 * half + 1); + double sum = 0; + for (int i = -half; i <= half; i++) + { + const double sinc = i == 0 ? 2 * cutoff : std::sin (2 * pi * cutoff * i) / (pi * i); + coefficients[i + half] = sinc * (0.54 + 0.46 * std::cos (pi * i / half)); + sum += coefficients[i + half]; + } + const double scale = signal_scale (data, n); + std::vector result (n / factor, 0.0); + if (scale > 0) + { + const int64_t reflection_period = 2LL * (n - 1); + for (int j = 0; j < n / factor; j++) + { + double value = 0; + for (int k = -half; k <= half; k++) + { + int64_t index = ((int64_t)j * factor + k) % reflection_period; + if (index < 0) + index += reflection_period; + if (index >= n) + index = reflection_period - index; + value += (data[index] / scale) * (coefficients[k + half] / sum); + } + result[j] = value * scale; + if (!std::isfinite (result[j])) + return invalid; + } + } + std::copy (result.begin (), result.end (), output); + return ok; +} +catch (...) +{ + return failure; +} + +int perform_highpass ( + double *data, int n, int fs, double cutoff, int order, int type, double ripple) +try +{ + return filter_signal (data, n, fs, cutoff, 0, order, type, ripple, 1); +} +catch (...) +{ + return failure; +} + +int perform_bandpass ( + double *data, int n, int fs, double low, double high, int order, int type, double ripple) +try +{ + return filter_signal (data, n, fs, low, high, order, type, ripple, 2); +} +catch (...) +{ + return failure; +} + +int perform_bandstop ( + double *data, int n, int fs, double low, double high, int order, int type, double ripple) +try +{ + return filter_signal (data, n, fs, low, high, order, type, ripple, 3); +} +catch (...) +{ + return failure; +} + +int remove_environmental_noise (double *data, int n, int fs, int noise_type) +try +{ + if (noise_type < 0 || noise_type > 2 || !finite_signal (data, n) || fs <= 0 || + ((noise_type == 0 || noise_type == 2) && fs / 2.0 <= 52) || + ((noise_type == 1 || noise_type == 2) && fs / 2.0 <= 62)) + return invalid; + std::vector result (data, data + n); + int res = ok; + if (noise_type == 0 || noise_type == 2) + res = perform_bandstop (result.data (), n, fs, 48, 52, 4, 3, 0); + if (res == ok && (noise_type == 1 || noise_type == 2)) + res = perform_bandstop (result.data (), n, fs, 58, 62, 4, 3, 0); + if (res == ok) + std::copy (result.begin (), result.end (), data); + return res; +} +catch (...) +{ + return failure; +} + +int perform_fft (double *data, int n, int window, double *re, double *im) +try +{ + if (!re || !im || n < 2 || n % 2 || !finite_signal (data, n)) + return invalid; + std::vector input (n); + int res = get_window (window, n, input.data ()); + if (res != ok) + return res; + for (int i = 0; i < n; i++) + input[i] *= data[i]; + std::vector output (n / 2 + 1); + FftPlan plan (n); + kiss_fftr (plan.cfg, input.data (), output.data ()); + for (auto value : output) + if (!std::isfinite (value.r) || !std::isfinite (value.i)) + return invalid; + for (int i = 0; i <= n / 2; i++) + { + re[i] = output[i].r; + im[i] = output[i].i; + } + return ok; +} +catch (...) +{ + return failure; +} + +int perform_ifft (double *re, double *im, int n, double *restored) +try +{ + if (!restored || n < 2 || n % 2 || !finite_signal (re, n / 2 + 1) || + !finite_signal (im, n / 2 + 1)) + return invalid; + std::vector input (n / 2 + 1); + for (int i = 0; i <= n / 2; i++) + { + input[i].r = re[i] / n; + input[i].i = im[i] / n; + } + std::vector output (n); + FftPlan plan (n, true); + kiss_fftri (plan.cfg, input.data (), output.data ()); + if (!finite_signal (output.data (), n)) + return invalid; + std::copy (output.begin (), output.end (), restored); + return ok; +} +catch (...) +{ + return failure; +} + +int get_psd (double *data, int n, int fs, int window, double *ampl, double *freq) +try +{ + return spectrum (data, n, n, 0, fs, window, ampl, freq); +} +catch (...) +{ + return failure; +} + +int get_psd_welch ( + double *data, int n, int nfft, int overlap, int fs, int window, double *ampl, double *freq) +try +{ + if (nfft < 2 || (nfft & (nfft - 1))) + return invalid; + return spectrum (data, n, nfft, overlap, fs, window, ampl, freq); +} +catch (...) +{ + return failure; +} + +int get_nearest_power_of_two (int value, int *output) +{ + if (!output || value < 1) + return invalid; + int64_t lower = 1; + while (lower * 2 <= value) + lower *= 2; + const int64_t upper = lower * 2; + const int64_t result = value - lower < upper - value ? lower : upper; + if (result > std::numeric_limits::max ()) + return invalid; + *output = (int)result; + return ok; +} + +int calc_stddev (double *data, int start, int end, double *output) +{ + if (!data || !output || start < 0 || end <= start || !finite_signal (data + start, end - start)) + return invalid; + const double result = stddev (data + start, end - start); + if (!std::isfinite (result)) + return invalid; + *output = result; + return ok; +} + +int detrend (double *data, int n, int operation) +try +{ + if (operation < 0 || operation > 2 || !finite_signal (data, n)) + return invalid; + if (operation == 0) + return ok; + const double scale = signal_scale (data, n); + if (scale == 0.0) + return ok; + const double average = mean (data, n) / scale; + double slope = 0.0; + if (operation == 2 && n > 1) + { + const double center = (n - 1) / 2.0; + double covariance = 0.0, correction = 0.0; + for (int i = 0; i < n; i++) + { + const double value = ((i - center) / n) * (data[i] / scale - average) / n - correction; + const double next = covariance + value; + correction = (next - covariance) - value; + covariance = next; + } + slope = covariance / ((1.0 - 1.0 / ((double)n * n)) / 12.0); + } + std::vector result (n); + for (int i = 0; i < n; i++) + result[i] = ((data[i] / scale - average) - slope * ((i - (n - 1) / 2.0) / n)) * scale; + if (!finite_signal (result.data (), n)) + return invalid; + std::copy (result.begin (), result.end (), data); + return ok; +} +catch (...) +{ + return failure; +} + +int perform_rolling_filter (double *data, int n, int period, int operation) +try +{ + if (period <= 0 || operation < 0 || operation > 2 || !finite_signal (data, n)) + return invalid; + if (operation == 2) + return ok; + const double scale = signal_scale (data, n); + if (scale == 0.0) + return ok; + std::vector original (data, data + n); + std::multiset lower, upper; + double sum = 0.0, correction = 0.0; + auto add_sum = [&] (double value) + { + const double adjusted = value - correction; + const double next = sum + adjusted; + correction = (next - sum) - adjusted; + sum = next; + }; + for (int i = 0; i < n; i++) + { + if (operation == 0) + { + if (i >= period) + add_sum (-original[i - period] / scale); + add_sum (original[i] / scale); + data[i] = std::max (-1.0, std::min (1.0, sum / std::min (period, i + 1))) * scale; + } + else + { + if (i >= period) + { + auto it = lower.find (original[i - period]); + if (it != lower.end ()) + lower.erase (it); + else + upper.erase (upper.find (original[i - period])); + } + if (lower.empty () || original[i] <= *lower.rbegin ()) + lower.insert (original[i]); + else + upper.insert (original[i]); + while (lower.size () > upper.size () + 1) + { + auto it = std::prev (lower.end ()); + upper.insert (*it); + lower.erase (it); + } + while (lower.size () < upper.size ()) + { + auto it = upper.begin (); + lower.insert (*it); + upper.erase (it); + } + // Removing the sole lower element can leave its replacement above upper's minimum. + if (!upper.empty () && *lower.rbegin () > *upper.begin ()) + { + auto l = std::prev (lower.end ()); + auto u = upper.begin (); + double a = *l, b = *u; + lower.erase (l); + upper.erase (u); + lower.insert (b); + upper.insert (a); + } + data[i] = lower.size () == upper.size () ? *lower.rbegin () / 2 + *upper.begin () / 2 : + *lower.rbegin (); + } + } + return ok; +} +catch (...) +{ + return failure; +} + +int perform_downsampling (double *data, int n, int period, int operation, double *output) +try +{ + if (!output || period < 1 || operation < 0 || operation > 2 || !finite_signal (data, n)) + return invalid; + // No complete block means no output, even when period is much larger than the input. + if (period > n) + return ok; + std::vector block; + if (operation == 1) + block.resize (period); + for (int i = 0; i < n / period; i++) + { + const double *start = data + (size_t)i * period; + if (operation == 0) + output[i] = mean (start, period); + else if (operation == 2) + output[i] = start[period - 1]; + else + { + std::copy (start, start + period, block.begin ()); + std::sort (block.begin (), block.end ()); + output[i] = + period % 2 ? block[period / 2] : block[period / 2 - 1] / 2 + block[period / 2] / 2; + } + } + return ok; +} +catch (...) +{ + return failure; +} + +int write_file (const double *data, int rows, int cols, const char *name, const char *mode) +try +{ + if (!data || !name || !mode || rows < 1 || cols < 1 || + (int64_t)rows * cols > std::numeric_limits::max () || + !finite_signal (data, rows * cols)) + return invalid; + const std::string selected (mode); + if (selected != "w" && selected != "w+" && selected != "a" && selected != "a+") + return invalid; + std::ofstream stream ( + name, std::ios::out | (selected[0] == 'a' ? std::ios::app : std::ios::trunc)); + stream.imbue (std::locale::classic ()); + if (!stream) + return invalid; + stream << std::setprecision (std::numeric_limits::max_digits10); + for (int i = 0; i < cols; i++) + { + for (int j = 0; j < rows; j++) + { + if (j) + stream << '\t'; + stream << data[(size_t)j * cols + i]; + } + stream << '\n'; + } + stream.close (); + return stream ? ok : failure; +} +catch (...) +{ + return failure; +} + +int get_num_elements_in_file (const char *name, int *count) +try +{ + if (!count) + return invalid; + std::vector values; + int rows, cols; + int res = parse_file (name, values, rows, cols); + if (res == ok) + *count = (int)values.size (); + return res; +} +catch (...) +{ + return failure; +} + +int read_file (double *data, int *rows, int *cols, const char *name, int capacity) +try +{ + if (!data || !rows || !cols || capacity <= 0) + return invalid; + std::vector values; + int file_rows, file_cols; + int res = parse_file (name, values, file_rows, file_cols); + if (res != ok) + return res; + if (values.size () > (size_t)capacity) + return short_buffer; + for (int i = 0; i < file_rows; i++) + for (int j = 0; j < file_cols; j++) + data[(size_t)j * file_rows + i] = values[(size_t)i * file_cols + j]; + *rows = file_cols; + *cols = file_rows; + return ok; +} +catch (...) +{ + return failure; +} diff --git a/src/ml/generated/mindfulness_model.cpp b/src/ml/generated/mindfulness_model.cpp index c6f117772..4c1a89e57 100644 --- a/src/ml/generated/mindfulness_model.cpp +++ b/src/ml/generated/mindfulness_model.cpp @@ -1,6 +1,6 @@ - #include "mindfulness_model.h" + // clang-format off -const double mindfulness_coefficients[5] = {-1.4060899708538128,2.597693987367105,-30.96470526503066,12.04593986553724,45.773017975354556}; -double mindfulness_intercept = 0.000000; +const double mindfulness_coefficients[5] = {0.7498839050366688,6.5799521937192189,-28.99411366453635,-0.87503878875158769,76.86709227040761}; +double mindfulness_intercept = -2.1467613529400662; // clang-format on diff --git a/src/ml/inc/brainflow_model_params.h b/src/ml/inc/brainflow_model_params.h index 3dedebf04..bdea5a3f0 100644 --- a/src/ml/inc/brainflow_model_params.h +++ b/src/ml/inc/brainflow_model_params.h @@ -28,7 +28,7 @@ struct BrainFlowModelParams bool operator< (const struct BrainFlowModelParams &other) const { return std::tie (metric, classifier, file, other_info, output_name, max_array_size) < - std::tie (other.metric, other.classifier, other.file, other.other_info, output_name, - max_array_size); + std::tie (other.metric, other.classifier, other.file, other.other_info, + other.output_name, other.max_array_size); } }; diff --git a/src/ml/mindfulness_classifier.cpp b/src/ml/mindfulness_classifier.cpp index ca1006a1e..a7182df44 100644 --- a/src/ml/mindfulness_classifier.cpp +++ b/src/ml/mindfulness_classifier.cpp @@ -9,18 +9,31 @@ int MindfulnessClassifier::calculate (double *data, int data_len, double *output, int *output_len) { - if ((data_len < 5) || (data == NULL) || (output == NULL)) + if ((data_len < 5) || (data == NULL) || (output == NULL) || (output_len == NULL) || + (params.max_array_size < 1)) { safe_logger (spdlog::level::err, "Incorrect arguments. Null pointers or invalid feature vector size."); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } - double value = 0.0; - for (int i = 0; i < std::min (data_len, 5); i++) + *output_len = 0; + double value = mindfulness_intercept; + // Preserve the historical contract: additional features are ignored. + for (int i = 0; i < 5; i++) { + if (!std::isfinite (data[i])) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } value += mindfulness_coefficients[i] * data[i]; } - double mindfulness = 1.0 / (1.0 + exp (-1.0 * (mindfulness_intercept + value))); + if (!std::isfinite (value)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + const double exponential = std::exp (-std::abs (value)); + double mindfulness = + (value >= 0.0) ? 1.0 / (1.0 + exponential) : exponential / (1.0 + exponential); *output = mindfulness; *output_len = 1; return (int)BrainFlowExitCodes::STATUS_OK; diff --git a/src/ml/ml_module.cpp b/src/ml/ml_module.cpp index 55e8ebaaf..45010292d 100644 --- a/src/ml/ml_module.cpp +++ b/src/ml/ml_module.cpp @@ -26,6 +26,10 @@ std::mutex models_mutex; int prepare (const char *json_params) { + if (json_params == NULL) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } std::lock_guard lock (models_mutex); std::shared_ptr model = NULL; @@ -82,6 +86,12 @@ int prepare (const char *json_params) int predict (double *data, int data_len, double *output, int *output_len, const char *json_params) { + if ((json_params == NULL) || (data == NULL) || (data_len <= 0) || (output == NULL) || + (output_len == NULL)) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + *output_len = 0; std::lock_guard lock (models_mutex); struct BrainFlowModelParams key ( (int)BrainFlowMetrics::MINDFULNESS, (int)BrainFlowClassifiers::DEFAULT_CLASSIFIER); @@ -102,6 +112,10 @@ int predict (double *data, int data_len, double *output, int *output_len, const int release (const char *json_params) { + if (json_params == NULL) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } std::lock_guard lock (models_mutex); struct BrainFlowModelParams key ( @@ -136,6 +150,10 @@ int string_to_brainflow_model_params (const char *json_params, struct BrainFlowM params->output_name = config["output_name"]; params->other_info = config["other_info"]; params->max_array_size = config["max_array_size"]; + if (params->max_array_size < 1) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } return (int)BrainFlowExitCodes::STATUS_OK; } catch (json::exception &e) @@ -199,4 +217,4 @@ int get_version_ml_module (char *version, int *num_chars, int max_chars) strncpy (version, BRAINFLOW_VERSION_STRING, max_chars); *num_chars = std::min (max_chars, (int)strlen (BRAINFLOW_VERSION_STRING)); return (int)BrainFlowExitCodes::STATUS_OK; -} \ No newline at end of file +} diff --git a/src/ml/onnx/onnx_classifier.cpp b/src/ml/onnx/onnx_classifier.cpp index eb2678eb5..54fe1065b 100644 --- a/src/ml/onnx/onnx_classifier.cpp +++ b/src/ml/onnx/onnx_classifier.cpp @@ -2,6 +2,9 @@ #include "brainflow_constants.h" #include "get_dll_dir.h" +#include +#include + void log_onnx_msg (void *param, OrtLoggingLevel severity, const char *category, const char *logid, const char *code_location, const char *message) @@ -69,11 +72,39 @@ int OnnxClassifier::calculate (double *data, int data_len, double *output, int * { return (int)BrainFlowExitCodes::CLASSIFIER_IS_NOT_PREPARED_ERROR; } - if ((data == NULL) || (data_len < 1) || (output == NULL) || (output_len == NULL)) + if ((data == NULL) || (data_len < 1) || (output == NULL) || (output_len == NULL) || + (params.max_array_size < 1)) { safe_logger (spdlog::level::err, "invalid input arguments"); return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; } + *output_len = 0; + + size_t input_size = 1; + for (int64_t dimension : input_node_dims) + { + if ((dimension <= 0) || ((uint64_t)dimension > (size_t)data_len / input_size)) + { + safe_logger (spdlog::level::err, + "Input dimensions must be fixed and match the feature vector size"); + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + input_size *= (size_t)dimension; + } + if (input_size != (size_t)data_len) + { + safe_logger (spdlog::level::err, "Feature vector size does not match the input tensor"); + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + for (int i = 0; i < data_len; i++) + { + if (!std::isfinite (data[i]) || + ((input_type == ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT) && + (std::abs (data[i]) > std::numeric_limits::max ()))) + { + return (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; + } + } // todo add support for ints and float16 float *float_data = NULL; @@ -100,6 +131,7 @@ int OnnxClassifier::calculate (double *data, int data_len, double *output, int * OrtMemoryInfo *memory_info = NULL; OrtValue *input_tensor = NULL; OrtValue *output_tensor = NULL; + OrtTensorTypeAndShapeInfo *output_shape = NULL; OrtStatus *onnx_status = ort->CreateCpuMemoryInfo (OrtArenaAllocator, OrtMemTypeDefault, &memory_info); if (onnx_status != NULL) @@ -202,20 +234,42 @@ int OnnxClassifier::calculate (double *data, int data_len, double *output, int * } } - // Get pointer to output tensor float values - size_t output_size = 1; + // Symbolic output dimensions are resolved only after running the graph. Never use + // the session metadata to decide how many elements to read from an actual tensor. + size_t output_size = 0; if (res == (int)BrainFlowExitCodes::STATUS_OK) { - for (int64_t output_dim : output_node_dims) + onnx_status = ort->GetTensorTypeAndShape (output_tensor, &output_shape); + if (onnx_status != NULL) { - output_size *= output_dim; + safe_logger (spdlog::level::err, "GetTensorTypeAndShape failed: {}", + ort->GetErrorMessage (onnx_status)); + ort->ReleaseStatus (onnx_status); + res = (int)BrainFlowExitCodes::GENERAL_ERROR; } - if (output_size > (uint64_t)params.max_array_size) + else if (output_shape == NULL) { - safe_logger (spdlog::level::warn, "output is bigger than allocated array"); - output_size = params.max_array_size; + res = (int)BrainFlowExitCodes::GENERAL_ERROR; } - + } + if (res == (int)BrainFlowExitCodes::STATUS_OK) + { + onnx_status = ort->GetTensorShapeElementCount (output_shape, &output_size); + if (onnx_status != NULL) + { + safe_logger (spdlog::level::err, "GetTensorShapeElementCount failed: {}", + ort->GetErrorMessage (onnx_status)); + ort->ReleaseStatus (onnx_status); + res = (int)BrainFlowExitCodes::GENERAL_ERROR; + } + else if (output_size > (size_t)params.max_array_size) + { + safe_logger (spdlog::level::err, "Output is bigger than max_array_size"); + res = (int)BrainFlowExitCodes::INVALID_BUFFER_SIZE_ERROR; + } + } + if ((res == (int)BrainFlowExitCodes::STATUS_OK) && (output_size != 0)) + { void *output_tensor_data = NULL; onnx_status = ort->GetTensorMutableData (output_tensor, &output_tensor_data); if (onnx_status != NULL) @@ -232,7 +286,6 @@ int OnnxClassifier::calculate (double *data, int data_len, double *output, int * } else { - *output_len = (int)output_size; switch (output_type) { case ONNX_TENSOR_ELEMENT_DATA_TYPE_UNDEFINED: @@ -370,6 +423,15 @@ int OnnxClassifier::calculate (double *data, int data_len, double *output, int * } } + if (res == (int)BrainFlowExitCodes::STATUS_OK) + { + *output_len = (int)output_size; + } + if (output_shape != NULL) + { + ort->ReleaseTensorTypeAndShapeInfo (output_shape); + } + if (output_tensor != NULL) { ort->ReleaseValue (output_tensor); @@ -398,13 +460,26 @@ int OnnxClassifier::release_classifier () { OrtStatus *status = ort->AllocatorFree ( allocator, const_cast (reinterpret_cast (node_name))); + if (status != NULL) + { + ort->ReleaseStatus (status); + } } for (const char *node_name : output_node_names) { OrtStatus *status = ort->AllocatorFree ( allocator, const_cast (reinterpret_cast (node_name))); + if (status != NULL) + { + ort->ReleaseStatus (status); + } } } + input_node_names.clear (); + output_node_names.clear (); + input_node_dims.clear (); + output_node_dims.clear (); + allocator = NULL; if ((session_options != NULL) && (ort != NULL)) { ort->ReleaseSessionOptions (session_options); @@ -764,12 +839,12 @@ int OnnxClassifier::get_output_info () else { safe_logger (spdlog::level::info, "found output node: {}", output_name); - if (((num_output_nodes == 1) || + if (((!params.output_name.empty ()) && (strcmp (params.output_name.c_str (), output_name) == 0)) || ((params.output_name.empty ()) && - (strcmp (output_name, "output_probability") == 0)) || - ((params.output_name.empty ()) && - (strcmp (output_name, "probabilities") == 0))) + ((num_output_nodes == 1) || + (strcmp (output_name, "output_probability") == 0) || + (strcmp (output_name, "probabilities") == 0)))) { output_node_names.resize (1); output_node_names[0] = output_name; @@ -779,6 +854,10 @@ int OnnxClassifier::get_output_info () else { onnx_status = ort->AllocatorFree (allocator, output_name); + if (onnx_status != NULL) + { + ort->ReleaseStatus (onnx_status); + } } } } @@ -787,7 +866,7 @@ int OnnxClassifier::get_output_info () if (!node_found) { safe_logger (spdlog::level::err, - "Model has multiple output nodes, you need to provide correct node name via " + "Unable to select an output node. Provide a correct node name via " "BrainFlowModelParams.output_name, you can use https://netron.app/ to inspect the " "model"); res = (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR; @@ -840,7 +919,7 @@ int OnnxClassifier::get_output_info () } else { - safe_logger (spdlog::level::info, "output type is: {}", (int)input_type); + safe_logger (spdlog::level::info, "output type is: {}", (int)output_type); } } diff --git a/src/ml/train/DATASET.md b/src/ml/train/DATASET.md new file mode 100644 index 000000000..302740cc3 --- /dev/null +++ b/src/ml/train/DATASET.md @@ -0,0 +1,139 @@ +# Recording data and feature caches + +The training directory contains `relaxed/` and `focused/` class directories. These +directory names are the label source: relaxed is `0`, focused is `1`. Recordings +are headerless, tab-separated numeric files with one **sample per line** and one +board channel per column, matching the files written by `DataFilter.write_file`. +The `.csv` extension does not imply comma separators. In memory, BrainFlow uses +the transpose: channels by samples. + +Two layouts are supported: + +```text +data/relaxed/recording.csv +data/focused/recording.csv + +data/relaxed/7/recording.csv +data/focused/7/recording.csv +``` + +For the flat layout, supply a board ID explicitly or provide a manifest with board +metadata. For the legacy nested layout, the numeric parent directory supplies the +board ID when no explicit ID is given. The loader does not guess board identity +from the number of columns. A manifest entry takes precedence over the default +board ID. + +## Manifest + +Paths are relative to the training data directory, use `/` separators, and must +refer to existing CSV files. Entries can cover only the recordings that need +overrides. The remaining recordings use the explicit default board ID or legacy +directory metadata. + +```json +{ + "recordings": [ + { + "path": "relaxed/recording.csv", + "board_id": 7, + "subject_id": "participant-01", + "session_id": "visit-01" + }, + { + "path": "focused/recording.csv", + "board_id": 7, + "subject_id": "participant-01", + "session_id": "visit-01" + } + ] +} +``` + +`subject_id` keeps all recordings from that subject together, including different +sessions and labels. Without a subject ID, `session_id` is used. An explicit +`group_id` overrides both. Without any of these fields, the loader groups by the +UTC date of the first valid Unix timestamp. Use stable globally unique IDs; do not +reuse a session ID for unrelated sessions. Filename suffixes are not interpreted +as subject or session identifiers. + +Optional `sampling_rate`, `eeg_channels`, and `timestamp_channel` fields override +the board descriptor. Channel indices are zero-based board columns. A manifest +without a board ID must provide all three fields. For example, an explicitly +described four-channel recording can use: + +```json +{ + "recordings": [ + { + "path": "focused/custom.csv", + "sampling_rate": 250, + "eeg_channels": [1, 2, 3, 4], + "timestamp_channel": 10, + "subject_id": "participant-02" + } + ] +} +``` + +## Feature extraction + +`training_data.extract_dataset` returns a `FeatureDataset` containing `X` (five +float64 band powers), `y`, `groups`, `recording_ids`, `augmented`, and JSON-compatible +metadata. It calls the current `DataFilter.get_avg_band_powers` implementation, +with bands 2–4, 4–8, 8–13, 13–30, and 30–45 Hz. + +Defaults skip the first 10 seconds, distribute nonoverlapping eight-second +canonical windows across each recording, and cap them at 128 per recording. Extra +five- and twelve-second windows are marked `augmented=True`. Their cap is applied +separately to each duration. Optional channel subsets also produce augmented +rows. All augmented rows must remain in training folds; validation and test +scores use canonical rows only. Every row retains its recording and group ID. + +The loader queries the native filter guards before extracting features. A window +must include the required margins and retained FFT segment. At 250 Hz with the +current defaults, the minimum is 1,172 samples (4.688 seconds), including 330 +discarded samples at each edge. A shorter augmentation duration is reported and +skipped without discarding valid windows from the recording. Nonfinite signal +windows, zero total power, parsing errors, and native errors are logged and +included in `metadata["issues"]`; missing files are never silently ignored. + +Feature caches are compressed NPZ files containing numeric/string arrays and JSON +metadata. Loading never enables pickle. Cache fingerprints include relative +source paths, file sizes and modification times, extraction options, manifest +contents, resolved board/channel metadata, native guard settings, and SHA-256 +hashes of the DSP binary, Python DSP wrapper, and extractor. A mismatch triggers +fresh extraction. If external tooling edits a raw file while preserving both its +size and nanosecond modification time, delete the cache to force regeneration. +Cache files and raw data are local artifacts and should not be committed. + +## Current local collection + +The inspected collection contains 50 recordings: 29 focused recordings (about +4.90 hours at nominal 250 Hz) and 21 relaxed recordings (about 10.49 hours). Their +12-column schema matches BrainBit board 7: EEG columns 1–4, counter column 0, +resistance columns 5–8, battery column 9, timestamp column 10, and marker column 11. +The user has confirmed that this collection uses BrainBit board 7. Supply that +board ID explicitly because the files do not themselves store it. Subject and +session identifiers have not been provided. + +Most long-interval timestamp rates agree with nominal 250 Hz. Several older +focused recordings have substantial timestamp batching or clock drift; adjacent +timestamp spacing is not a reliable sampling-rate estimate. Thirty-six older +files end with a zero timestamp despite populated signal data. Group inference +ignores invalid timestamps, while feature extraction uses the configured nominal +rate and sample order. + +The collection has 25 UTC recording-day groups. Focused recordings span six days +in 2020; relaxed recordings span 20 days, including 14 files from 2022. Only one +day contains both labels. Day, era, and recording setup can therefore confound +classification. Holding out complete days prevents overlap leakage but does not +demonstrate generalization to new subjects. Report grouped metrics and the +2020-only sensitivity analysis alongside aggregate scores. Acquire explicit +subject/session metadata and both labels across comparable recording conditions +for stronger validation. + +The inspection found no identical complete recordings, identical complete EEG +arrays, or repeated aligned ten-second EEG blocks. A limited cross-file +correlation screen found strong shared 50 Hz contamination; correlation alone +does not establish duplicated recordings or common subjects. The detailed local +inventory is `build/reviews/training_data_inventory.json`. diff --git a/src/ml/train/README.md b/src/ml/train/README.md new file mode 100644 index 000000000..072ea625a --- /dev/null +++ b/src/ml/train/README.md @@ -0,0 +1,188 @@ +# Classifier training + +Run training from the repository root with Python 3.11 and the current checkout's +Python binding and native libraries. The classifier inputs are the five normalized +band powers produced by the current `DataFilter.get_avg_band_powers`: 2–4, 4–8, +8–13, 13–30, and 30–45 Hz. Relaxed is class 0; focused/mindfulness is class 1. + +## Setup + +Use a dedicated Python 3.11 environment and the pinned training/export packages: + +```sh +python -B -m pip install -r src/ml/train/requirements.txt +python -B -m pip install --no-deps -e python_package +python tools/build.py --onnx +``` + +The editable install uses this checkout. A PyPI BrainFlow wheel may contain older +DSP behavior and does not substitute for rebuilt `DataHandler`, `BoardController`, +and `MLModule` libraries. The build must include ONNX support for native inference +and export regression checks. See the repository build instructions for platform +compiler prerequisites. The Python ONNX Runtime package validates exports; the +BrainFlow-native ONNX runtime is built and packaged separately. + +## Train and reproduce + +For the local collection, confirmed by the user as BrainBit board 7: + +```sh +python -B src/ml/train/train_classifiers.py --board-id 7 --cache build/reviews/classifier_features.npz +``` + +Flat `data/relaxed/*.csv` and `data/focused/*.csv` directories require explicit +board metadata. Legacy `data///*.csv` directories are also +supported. [DATASET.md](DATASET.md) describes the file layout, manifest schema, +grouping rules, and limitations of the current collection. + +Useful options: + +| Option | Purpose/default | +| --- | --- | +| `--data-dir` | Raw recordings; defaults to `src/ml/train/data`. | +| `--manifest` | Per-recording board, subject, session, or group metadata. | +| `--cache` | NPZ feature cache; defaults to `/features.npz`. | +| `--work-dir` | Search checkpoints and evaluation artifacts; defaults to `build/classifier_training`. | +| `--output-dir` | Final models and reports; defaults to `src/ml/train`. | +| `--jobs` | Parallel search workers; defaults to 6. | +| `--quick` | Reduced candidate search for a faster pipeline check. | +| `--extract-only` | Extract or validate the feature cache without fitting classifiers. | +| `--seed` | Deterministic seed; defaults to 42. | +| `--cv-folds` | Grouped model-selection folds; defaults to 4. | +| `--holdout-folds`, `--holdout-fold` | Holdout partition count/index; defaults to 5 and 0. | +| `--window-seconds` | Canonical window duration; defaults to 8 seconds. | +| `--augmentation-windows` | Extra training durations; defaults to 5 and 12 seconds. Supply no values to disable. | +| `--max-windows-per-recording` | Canonical cap and cap for each augmentation duration; defaults to 128. | +| `--skip-seconds` | Initial samples excluded from each recording; defaults to 10 seconds. | +| `--channel-subsets` | Enable additional training-only channel-subset features. | + +For example, use an isolated output directory for a quick smoke run: + +```sh +python -B src/ml/train/train_classifiers.py --board-id 7 --quick --jobs 4 --cache build/reviews/classifier_features.npz --work-dir build/classifier_training_quick --output-dir build/classifier_models_quick +``` + +Canonical windows are nonoverlapping and uniformly distributed through each +recording after the initial skip. Augmented rows retain their recording and group +IDs and are used only in training. Native guard requirements are queried before +extraction. With the current defaults at 250 Hz, an input needs at least 1,172 +samples (4.688 seconds), including 330 discarded samples at each edge; the default +five-, eight-, and twelve-second windows satisfy this requirement. + +Cache fingerprints include source file sizes/modification times, manifest and +extraction options, resolved board metadata, filter settings, and hashes of the +native DSP binary, Python DSP wrapper, and extractor. Changed inputs or DSP cause +re-extraction. The cache contains NumPy arrays and JSON, with pickle disabled. +Search/checkpoint artifacts also record the data and model configuration needed +to audit a run. Keep raw data and generated local work directories out of commits. + +## Evaluation and model selection + +The holdout uses complete groups. Model selection uses grouped cross-validation +inside the development partition, with learned preprocessing fitted within each +training fold. By default, a group is the recording's UTC start date across both +labels; manifest subject/session metadata can supply stronger grouping. + +Only canonical windows contribute validation and holdout scores. Extra durations +and channel subsets stay within their group's training side. SVM probability +calibration uses group-disjoint folds. Stacking trains its meta-model from grouped +out-of-fold base predictions, rather than predictions on the same rows used to fit +the base estimators. Its training rows are canonical; it does not introduce an +ordinary random-window inner split. Recording-aware fitting limits domination by +long recordings and dense augmentation. + +The search covers logistic regression, calibrated SVM, random forest, KNN, MLP, +extra trees, histogram gradient boosting, polynomial logistic regression, +standard gradient boosting, and a grouped stacking ensemble. Read +the generated report for selection scores, held-out results, configuration, +feature provenance, and export parity. A model's final deployment fit uses the +available data after evaluation; its held-out result belongs to the separately +saved evaluation model, not to a fresh test of that final fit. + +## Outputs and native integration + +The output directory receives ten ONNX models, preserving the strongest +cross-validation configuration from each family: + +- `logreg_mindfulness.onnx` +- `svm_mindfulness.onnx` +- `forest_mindfulness.onnx` +- `knn_mindfulness.onnx` +- `mlp_mindfulness.onnx` +- `stacking_mindfulness.onnx` +- `extra_trees_mindfulness.onnx` +- `hist_gradient_boosting_mindfulness.onnx` +- `polynomial_logreg_mindfulness.onnx` +- `gradient_boosting_mindfulness.onnx` + +Exports have a fixed float32 input of shape `[1, 5]` and a dense probability output +of shape `[1, 2]`, ordered `[relaxed, focused]`. The exporter verifies ONNX +structure and probability agreement with scikit-learn before replacing a model. +Scaling and learned preprocessing remain inside the ONNX graph. +Calibrated SVMs use double-precision arithmetic internally to avoid cancellation +from quantized support-vector coefficients; their external input/output types +remain float32. Distance-weighted KNN export preserves inverse-distance voting +and the special handling of exactly coincident neighbors. +Export parity compares identical float32 input values, with an absolute +probability tolerance of `2e-5`. It separately reports and bounds changes caused +by rounding the original float64 features (`1e-4`); exact training-row KNN probes +can be sensitive to that input rounding. The saved-model verification also checks +all held-out predictions against the original scikit-learn results. + +The selected logistic regression also produces native coefficients with its +affine scaler folded into the five weights and intercept. With the default output +directory it updates `src/ml/generated/mindfulness_model.cpp`; with a custom +output directory it writes `mindfulness_model.cpp` there. Rebuild `MLModule` after +updating the generated native source before using the built-in classifier. ONNX +files remain usable through `ONNX_CLASSIFIER` with the rebuilt native runtime. + +`training_report.json` and `training_report.md` are saved to the output and work +directories. The work directory also contains `splits.json`, `selection.json`, +`search.json`, `training.log`, held-out prediction arrays, and +`evaluation_models/*.onnx`. Reports include fold means and standard deviations +for macro F1, precision, recall, accuracy, balanced accuracy, ROC AUC, Brier score, +and log loss. These group-based folds must not be interpreted as thousands of +independent EEG trials. + +After rebuilding with the new coefficients, verify the complete saved model set: + +```sh +python -B src/ml/train/verify_classifiers.py --output src/ml/train/verification_report.json +``` + +This checks artifact hashes, all held-out evaluation probabilities against saved +scikit-learn predictions, production models in both ONNX runtimes, and native +mindfulness/restfulness against the generated logistic coefficients. The runtime +verification report is separate from training metrics. + +## Tests + +After setup and rebuilding the native libraries, run from the repository root: + +```sh +python -B -m unittest discover -s src/ml/train -p test_training_data.py +python -B -m unittest discover -s src/ml/train/tests -p "test_*.py" +python -B python_package/examples/tests/ml_binding_regression.py +python -B python_package/examples/tests/ml_export_regression.py +``` + +The extraction tests check grouping, augmentation isolation, native window +requirements, reporting malformed files, and cache invalidation. Model tests +check grouped fitting/calibration/stacking. Export tests compare scikit-learn, +ONNX, and native predictions and exercise native buffer/output selection. + +## Limits of the current data + +The local collection has 50 recordings and 25 UTC day groups. All focused +recordings are from six days in 2020; relaxed recordings span 20 days, including +14 files from 2022. Only one day contains both labels. There are no recorded +subject IDs. Consequently, grouped scores can still reflect day, era, or setup +differences and cannot establish performance on unseen people. Report these +limits alongside accuracy and use the 2020-only sensitivity results when +assessing era confounding. Several older recordings also have batched/drifting +timestamps; feature extraction uses the explicit nominal board sampling rate. + +Retraining changes the numerical behavior of the built-in classifier and exported +models. Evaluate application thresholds and any downstream smoothing against the +new models and preprocessing before treating their scores as interchangeable +with a previous release. diff --git a/src/ml/train/extra_trees_mindfulness.onnx b/src/ml/train/extra_trees_mindfulness.onnx new file mode 100644 index 000000000..ce8acc934 Binary files /dev/null and b/src/ml/train/extra_trees_mindfulness.onnx differ diff --git a/src/ml/train/forest_mindfulness.onnx b/src/ml/train/forest_mindfulness.onnx new file mode 100644 index 000000000..602b2afa1 Binary files /dev/null and b/src/ml/train/forest_mindfulness.onnx differ diff --git a/src/ml/train/gradient_boosting_mindfulness.onnx b/src/ml/train/gradient_boosting_mindfulness.onnx new file mode 100644 index 000000000..52d6c8298 Binary files /dev/null and b/src/ml/train/gradient_boosting_mindfulness.onnx differ diff --git a/src/ml/train/hist_gradient_boosting_mindfulness.onnx b/src/ml/train/hist_gradient_boosting_mindfulness.onnx new file mode 100644 index 000000000..ebebe53c7 Binary files /dev/null and b/src/ml/train/hist_gradient_boosting_mindfulness.onnx differ diff --git a/src/ml/train/knn_mindfulness.onnx b/src/ml/train/knn_mindfulness.onnx new file mode 100644 index 000000000..674be68a5 Binary files /dev/null and b/src/ml/train/knn_mindfulness.onnx differ diff --git a/src/ml/train/logreg_mindfulness.onnx b/src/ml/train/logreg_mindfulness.onnx index d49727549..177831710 100644 Binary files a/src/ml/train/logreg_mindfulness.onnx and b/src/ml/train/logreg_mindfulness.onnx differ diff --git a/src/ml/train/mlp_mindfulness.onnx b/src/ml/train/mlp_mindfulness.onnx new file mode 100644 index 000000000..3ec538c41 Binary files /dev/null and b/src/ml/train/mlp_mindfulness.onnx differ diff --git a/src/ml/train/polynomial_logreg_mindfulness.onnx b/src/ml/train/polynomial_logreg_mindfulness.onnx new file mode 100644 index 000000000..90b64660e Binary files /dev/null and b/src/ml/train/polynomial_logreg_mindfulness.onnx differ diff --git a/src/ml/train/requirements.txt b/src/ml/train/requirements.txt index fc658311d..bdfbffd4f 100644 --- a/src/ml/train/requirements.txt +++ b/src/ml/train/requirements.txt @@ -1,5 +1,11 @@ -scikit-learn -brainflow -metric-learn -libsvm -skl2onnx \ No newline at end of file +# Reference training/export stack for Python 3.11. +# BrainFlow must come from this checkout with rebuilt native libraries; see README.md. +numpy==1.25.2 +scipy==1.11.2 +scikit-learn==1.5.1 +joblib==1.4.2 +threadpoolctl==3.5.0 +skl2onnx==1.17.0 +onnxconverter-common==1.14.0 +onnx==1.16.2 +onnxruntime==1.19.2 diff --git a/src/ml/train/stacking_mindfulness.onnx b/src/ml/train/stacking_mindfulness.onnx new file mode 100644 index 000000000..fc3e37499 Binary files /dev/null and b/src/ml/train/stacking_mindfulness.onnx differ diff --git a/src/ml/train/svm_mindfulness.onnx b/src/ml/train/svm_mindfulness.onnx new file mode 100644 index 000000000..b7adc7817 Binary files /dev/null and b/src/ml/train/svm_mindfulness.onnx differ diff --git a/src/ml/train/test_training_data.py b/src/ml/train/test_training_data.py new file mode 100644 index 000000000..814854cb4 --- /dev/null +++ b/src/ml/train/test_training_data.py @@ -0,0 +1,95 @@ +"""Recording/group/cache regressions using small synthetic BrainBit-layout files.""" +import os +from pathlib import Path +import sys +import tempfile +import unittest +from unittest.mock import patch + +import numpy as np + +sys.path.insert(0, str(Path(__file__).resolve().parents[3] / "python_package")) +from training_data import FeatureDataset, extract_dataset + + +class TrainingDataTests(unittest.TestCase): + def setUp(self): + self.temporary = tempfile.TemporaryDirectory() + self.root = Path(self.temporary.name) + for label in ("relaxed", "focused"): + (self.root / label).mkdir() + self.write_recording(label, seconds=20) + + def tearDown(self): + self.temporary.cleanup() + + def write_recording(self, label, seconds, timestamp=1700000000): + count = seconds * 250 + times = np.arange(count) / 250 + data = np.zeros((count, 12)) + data[:, 0] = np.arange(1, count + 1) + for channel in range(1, 5): + data[:, channel] = 1000 + np.sin(2 * np.pi * (channel + 7) * times) + data[:, 9] = 80 + data[:, 10] = timestamp + times + data[-1, 10] = 0 # Old recordings have an invalid final timestamp. + np.savetxt(self.root / label / "record.csv", data, delimiter="\t") + + def extract(self, **kwargs): + return extract_dataset(self.root, board_id=7, workers=1, **kwargs) + + def test_flat_files_require_explicit_board(self): + with self.assertRaisesRegex(ValueError, "require.*board"): + extract_dataset(self.root) + + def test_short_augmentation_does_not_discard_valid_recording(self): + result = self.extract() + self.assertEqual(result.X.shape, (6, 5)) + self.assertEqual(np.count_nonzero(~result.augmented), 2) + self.assertEqual(len(set(result.groups)), 1) # Both labels on one day stay together. + self.assertEqual(set(result.y), {0, 1}) + for record in result.metadata["recordings"]: + self.assertEqual(record["invalid_timestamp_count"], 1) + self.assertEqual(record["canonical_windows"], 1) + self.assertIn("recording_too_short_for_12s_after_initial_skip", record["skipped_windows"]) + + def test_manifest_subjects_override_date_and_subsets_are_training_only(self): + manifest = {"recordings": [ + {"path": f"{label}/record.csv", "subject_id": "person-a"} for label in ("relaxed", "focused") + ]} + result = self.extract(manifest=manifest, augmentation_windows=(), channel_subsets=True) + self.assertEqual(set(result.groups), {"subject:person-a"}) + self.assertEqual(np.count_nonzero(~result.augmented), 2) + self.assertEqual(np.count_nonzero(result.augmented), 8) + + def test_canonical_window_must_include_native_filter_guard(self): + with self.assertRaisesRegex(ValueError, "including filter guards"): + self.extract(window_seconds=0.5) + + def test_bad_recording_is_reported_and_other_recording_survives(self): + (self.root / "relaxed" / "broken.csv").write_text("not numeric\n", encoding="utf-8") + result = self.extract(augmentation_windows=()) + failures = [issue for issue in result.metadata["issues"] if issue["status"] == "failed"] + self.assertEqual(len(failures), 1) + self.assertEqual(failures[0]["recording_id"], "relaxed/broken.csv") + self.assertEqual(result.X.shape, (2, 5)) + + def test_cache_is_pickle_free_and_invalidates_on_source_changes(self): + cache = self.root / "features.npz" + result = self.extract(cache_path=cache, augmentation_windows=()) + loaded = FeatureDataset.load(cache) + np.testing.assert_array_equal(result.X, loaded.X) + with patch("training_data._extract_recording", side_effect=AssertionError("Cache was not reused")): + reused = self.extract(cache_path=cache, augmentation_windows=()) + self.assertEqual(result.metadata["fingerprint"], reused.metadata["fingerprint"]) + source = self.root / "focused" / "record.csv" + stat = source.stat() + os.utime(source, ns=(stat.st_atime_ns, stat.st_mtime_ns + 1000000)) + refreshed = self.extract(cache_path=cache, augmentation_windows=()) + self.assertNotEqual(result.metadata["fingerprint"], refreshed.metadata["fingerprint"]) + with np.load(cache, allow_pickle=False) as contents: + self.assertTrue(all(contents[key].dtype.kind != "O" for key in contents.files)) + + +if __name__ == "__main__": + unittest.main() diff --git a/src/ml/train/tests/test_training_models.py b/src/ml/train/tests/test_training_models.py new file mode 100644 index 000000000..0d21d162d --- /dev/null +++ b/src/ml/train/tests/test_training_models.py @@ -0,0 +1,102 @@ +"""Small group-safety and deployment tests, independent of the EEG recordings.""" +import json +from pathlib import Path +import sys +import unittest + +import numpy as np +from onnx import checker +from skl2onnx import convert_sklearn +from skl2onnx.common.data_types import FloatTensorType +from threadpoolctl import threadpool_limits + +sys.path.insert(0, str(Path(__file__).resolve().parents[1])) +from training_models import (build_model, build_stacking, candidate_specs, + fit_model, grouped_splits, _recording_weights, _uniform_recording_indices) + + +class TrainingModelsTests(unittest.TestCase): + def setUp(self): + self.recordings = np.repeat(np.arange(12), 12) + self.y = np.repeat(np.arange(12) % 2, 12) + self.groups = self.recordings.copy() + self.X = np.random.default_rng(5).dirichlet(np.ones(5), size=len(self.y)).astype(np.float32) + self.X[:, 0] += 0.15 * self.y + self.X /= self.X.sum(axis=1, keepdims=True) + + def test_specs_are_json_and_deterministic(self): + full = candidate_specs() + self.assertEqual(json.loads(json.dumps(full)), full) + self.assertEqual(full, candidate_specs()) + self.assertEqual(len({spec['name'] for spec in full}), len(full)) + self.assertLess(len(candidate_specs(quick=True)), len(full)) + + def test_group_folds_cover_rows_once_without_leakage(self): + folds = grouped_splits(self.y, self.groups) + all_validation = [] + for training, validation in folds: + self.assertFalse(set(self.groups[training]) & set(self.groups[validation])) + self.assertEqual(set(self.y[training]), {0, 1}) + self.assertEqual(set(self.y[validation]), {0, 1}) + all_validation.extend(validation) + np.testing.assert_array_equal(np.sort(all_validation), np.arange(len(self.y))) + + def test_group_folds_fallback_without_sample_level_cv(self): + groups = np.repeat(np.arange(4), 5) + labels = np.repeat([0, 0, 1, 1], 5) + self.assertEqual(len(grouped_splits(labels, groups, n_splits=4)), 2) + with self.assertRaises(ValueError): + grouped_splits(np.repeat([0, 1], 5), np.repeat([0, 1], 5)) + + def test_recording_class_weights_do_not_follow_duration(self): + recording_ids = np.repeat(np.arange(5), [3, 10, 30, 7, 20]) + labels = np.repeat([0, 0, 1, 1, 1], [3, 10, 30, 7, 20]) + weights = _recording_weights(labels, recording_ids) + self.assertAlmostEqual(weights[labels == 0].sum(), weights[labels == 1].sum()) + self.assertAlmostEqual(weights[recording_ids == 0].sum(), weights[recording_ids == 1].sum()) + self.assertAlmostEqual(weights[recording_ids == 2].sum(), weights[recording_ids == 3].sum()) + + def assertExport(self, model): + predictions = model.predict_proba(self.X) + self.assertEqual(predictions.shape, (len(self.y), 2)) + self.assertTrue(np.isfinite(predictions).all()) + np.testing.assert_allclose(predictions.sum(axis=1), 1., atol=1e-6) + final = model.steps[-1][1] if hasattr(model, 'steps') else model + graph = convert_sklearn(model, initial_types=[('mindfulness_input', FloatTensorType([1, 5]))], + target_opset=11, options={id(final): {'zipmap': False}}) + checker.check_model(graph) + self.assertEqual(graph.graph.input[0].type.tensor_type.shape.dim[1].dim_value, 5) + self.assertIn('probabilities', [output.name for output in graph.graph.output]) + + def test_short_recording_does_not_shrink_all_training_data(self): + records = np.repeat(np.arange(4), [13, 128, 128, 128]) + labels = np.repeat([0, 0, 1, 1], [13, 128, 128, 128]) + selected = _uniform_recording_indices(labels, records) + self.assertEqual(len(selected), 4 * 128) + self.assertEqual(len(np.unique(selected[records[selected] == 0])), 13) + for recording in range(1, 4): + self.assertEqual(len(np.unique(selected[records[selected] == recording])), 128) + + def test_every_family_fits_and_exports(self): + selected = {} + for spec in candidate_specs(quick=True): + selected.setdefault(spec['family'], spec) + with threadpool_limits(limits=1): + for family, spec in selected.items(): + with self.subTest(family=family): + model = fit_model(build_model(spec, self.X, self.y, self.groups), + self.X, self.y, self.recordings) + self.assertExport(model) + + def test_stacking_fits_and_exports_with_group_cv(self): + specs = candidate_specs(quick=True) + chosen = [next(spec for spec in specs if spec['family'] == family) + for family in ('logreg', 'random_forest', 'knn', 'mlp')] + with threadpool_limits(limits=1): + model = fit_model(build_stacking(chosen, self.X, self.y, self.groups), + self.X, self.y, self.recordings) + self.assertExport(model) + + +if __name__ == '__main__': + unittest.main() diff --git a/src/ml/train/tests/test_training_selection.py b/src/ml/train/tests/test_training_selection.py new file mode 100644 index 000000000..813aec210 --- /dev/null +++ b/src/ml/train/tests/test_training_selection.py @@ -0,0 +1,104 @@ +"""End-to-end checks that recording groups and holdout data remain isolated.""" +from pathlib import Path +import sys +import unittest + +import numpy as np + +ROOT = Path(__file__).resolve().parents[4] +sys.path[:0] = [str(ROOT / "python_package"), str(ROOT / "src/ml/train")] +from training_data import FeatureDataset +from train_classifiers import evaluate_candidate, freeze_splits, score_predictions + + +def dataset_fixture(): + generator = np.random.default_rng(915) + X, y, groups, recordings, augmented = [], [], [], [], [] + for day in range(12): + for label in (0, 1): + values = generator.dirichlet(np.ones(5), size=4) + values[:, label] += 0.4 + values /= values.sum(axis=1, keepdims=True) + # Augmentations intentionally duplicate canonical observations, so + # accidentally scoring them would reproduce overlapping-window leakage. + X.extend(np.concatenate((values, values[:3]))) + y.extend([label] * 7) + groups.extend([f"day-{day:02}"] * 7) + recordings.extend([f"day-{day:02}/class-{label}"] * 7) + augmented.extend([False] * 4 + [True] * 3) + return FeatureDataset(np.asarray(X), np.asarray(y), np.asarray(groups), + np.asarray(recordings), np.asarray(augmented), {}).validate() + + +def take_rows(data, rows): + return FeatureDataset(data.X[rows], data.y[rows], data.groups[rows], + data.recording_ids[rows], data.augmented[rows], {}).validate() + + +class TrainingSelectionTests(unittest.TestCase): + def test_group_holdout_and_cv_keep_all_augmentations_on_training_side(self): + data = dataset_fixture() + development, holdout, folds, _ = freeze_splits(data, cv_folds=3, holdout_folds=4) + holdout_groups = set(data.groups[holdout]) + self.assertFalse(holdout_groups.intersection(data.groups[development])) + self.assertFalse(data.augmented[holdout].any()) + validation_rows = [] + for train, validation in folds: + self.assertFalse(set(data.groups[train]).intersection(data.groups[validation])) + self.assertFalse(holdout_groups.intersection(data.groups[train])) + self.assertFalse(holdout_groups.intersection(data.groups[validation])) + self.assertTrue(data.augmented[train].any()) + self.assertFalse(data.augmented[validation].any()) + self.assertEqual(set(data.y[train]), {0, 1}) + self.assertEqual(set(data.y[validation]), {0, 1}) + validation_rows.extend(validation) + expected = development[~data.augmented[development]] + np.testing.assert_array_equal(np.sort(validation_rows), np.sort(expected)) + self.assertEqual(len(validation_rows), len(set(validation_rows))) + + def test_split_assignment_is_invariant_to_recording_duration(self): + data = dataset_fixture() + description = freeze_splits(data, cv_folds=3, holdout_folds=4)[3] + selected = data.recording_ids == data.recording_ids[0] + # One much longer recording must not alter representative-level splits. + rows = np.concatenate((np.arange(len(data.X)), np.tile(np.flatnonzero(selected), 40))) + longer = take_rows(data, rows) + modified = freeze_splits(longer, cv_folds=3, holdout_folds=4)[3] + for field in ("development_groups", "holdout_groups", "development_recordings", "holdout_recordings"): + self.assertEqual(description[field], modified[field]) + for original, changed in zip(description["folds"], modified["folds"]): + for field in ("train_groups", "validation_groups", "train_recordings", "validation_recordings"): + self.assertEqual(original[field], changed[field]) + + def test_candidate_scores_do_not_read_heldout_features(self): + data = dataset_fixture() + _, holdout, folds, _ = freeze_splits(data, cv_folds=3, holdout_folds=4) + spec = dict(name="isolation-check", family="logreg", params={"C": 0.7}, augmentation=True) + before = evaluate_candidate(spec, data.X, data.y, data.groups, data.recording_ids, + data.augmented, folds, seed=42) + self.assertEqual(before["status"], "ok") + changed = data.X.copy() + # Include held-out augmented rows as well as the canonical scoring rows. + hidden = np.isin(data.groups, data.groups[holdout]) + changed[hidden] = np.nan + after = evaluate_candidate(spec, changed, data.y, data.groups, data.recording_ids, + data.augmented, folds, seed=42) + self.assertEqual(after["status"], "ok") + self.assertEqual(before["mean_macro_f1"], after["mean_macro_f1"]) + self.assertEqual(before["pooled"], after["pooled"]) + self.assertEqual(before["folds"], after["folds"]) + + def test_recording_weighted_metrics_are_invariant_to_duplicate_windows(self): + y = np.array([0, 0, 0, 0, 1, 1, 1, 1]) + probability = np.array([0.1, 0.4, 0.6, 0.2, 0.4, 0.8, 0.6, 0.9]) + recordings = np.repeat(["a", "b", "c", "d"], 2) + original = score_predictions(y, probability, recordings) + rows = np.concatenate((np.arange(len(y)), np.tile(np.flatnonzero(recordings == "a"), 30))) + duplicated = score_predictions(y[rows], probability[rows], recordings[rows]) + for level in ("window", "recording"): + for name, value in original[level].items(): + np.testing.assert_allclose(value, duplicated[level][name], rtol=0, atol=1e-13) + + +if __name__ == "__main__": + unittest.main() diff --git a/src/ml/train/train_classifiers.py b/src/ml/train/train_classifiers.py index 06de987f0..4a7b8907d 100644 --- a/src/ml/train/train_classifiers.py +++ b/src/ml/train/train_classifiers.py @@ -1,227 +1,506 @@ -import glob +"""Select five-band classifiers on development groups, evaluate a frozen holdout, +then refit production models on all recordings. Reports distinguish both stages. +""" import argparse -import os -import pickle +from datetime import datetime, timezone +import hashlib +import importlib.metadata +import json import logging +from pathlib import Path +import platform +import shutil +import sys +import traceback + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[2] +sys.path.insert(0, str(ROOT / "python_package")) import numpy as np -from sklearn.svm import SVC -from sklearn.linear_model import LogisticRegression -from sklearn.ensemble import RandomForestClassifier -from sklearn.ensemble import StackingClassifier -from sklearn.neighbors import KNeighborsClassifier -from sklearn.neural_network import MLPClassifier -from sklearn.model_selection import cross_val_score - -from brainflow.board_shim import BoardShim -from brainflow.data_filter import DataFilter - -from skl2onnx import convert_sklearn -from skl2onnx.common.data_types import FloatTensorType - - -def write_model(intercept, coefs, model_type): - coefficients_string = '%s' % (','.join([str(x) for x in coefs[0]])) - file_content = ''' -#include "%s" -// clang-format off -const double %s_coefficients[%d] = {%s}; -double %s_intercept = %lf; -// clang-format on -''' % (f'{model_type}_model.h', model_type, len(coefs[0]), coefficients_string, model_type, intercept) - file_name = f'{model_type}_model.cpp' - file_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..', 'generated', file_name) - with open(file_path, 'w') as f: - f.write(file_content) - -def prepare_data(first_class, second_class, blacklisted_channels=None): - # use different windows, its kinda data augmentation - window_sizes = [4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0] - overlaps = [0.5, 0.475, 0.45, 0.425, 0.4, 0.375, 0.35] # percentage of window_size - dataset_x = list() - dataset_y = list() - for data_type in (first_class, second_class): - for file in glob.glob(os.path.join('data', data_type, '*', '*.csv')): - data_x_temp = list() - data_y_temp = list() - logging.info(file) - board_id = os.path.basename(os.path.dirname(file)) - try: - board_id = int(board_id) - data = DataFilter.read_file(file) - sampling_rate = BoardShim.get_sampling_rate(board_id) - eeg_channels = get_eeg_channels(board_id, blacklisted_channels) - for num, window_size in enumerate(window_sizes): - cur_pos = sampling_rate * 10 - while cur_pos + int(window_size * sampling_rate) < data.shape[1]: - data_in_window = data[:, cur_pos:cur_pos + int(window_size * sampling_rate)] - data_in_window = np.ascontiguousarray(data_in_window) - bands = DataFilter.get_avg_band_powers(data_in_window, eeg_channels, sampling_rate, True) - feature_vector = bands[0] - feature_vector = feature_vector.astype(float) - dataset_x.append(feature_vector) - data_x_temp.append(feature_vector) - if data_type == first_class: - dataset_y.append(0) - data_y_temp.append(0) - else: - dataset_y.append(1) - data_y_temp.append(0) - cur_pos = cur_pos + int(window_size * overlaps[num] * sampling_rate) - except Exception as e: - logging.error(str(e), exc_info=True) - print_dataset_info((data_x_temp, data_y_temp)) - - logging.info('1st Class: %d 2nd Class: %d' % (len([x for x in dataset_y if x == 0]), len([x for x in dataset_y if x == 1]))) - - with open('dataset_x.pickle', 'wb') as f: - pickle.dump(dataset_x, f, protocol=3) - with open('dataset_y.pickle', 'wb') as f: - pickle.dump(dataset_y, f, protocol=3) - - return dataset_x, dataset_y - -def get_eeg_channels(board_id, blacklisted_channels): - eeg_channels = BoardShim.get_eeg_channels(board_id) +from joblib import Parallel, delayed, parallel_config +from scipy.special import expit +from sklearn.metrics import (accuracy_score, balanced_accuracy_score, brier_score_loss, + confusion_matrix, f1_score, log_loss, precision_score, recall_score, + roc_auc_score) +from threadpoolctl import threadpool_limits +from training_data import extract_dataset +from training_export import export_model, write_native_logistic +from training_models import build_model, build_stacking, candidate_specs, fit_model, grouped_splits + +FILENAMES = {"logreg": "logreg_mindfulness.onnx", "svm": "svm_mindfulness.onnx", + "random_forest": "forest_mindfulness.onnx", "knn": "knn_mindfulness.onnx", + "mlp": "mlp_mindfulness.onnx", "stacking": "stacking_mindfulness.onnx", + "extra_trees": "extra_trees_mindfulness.onnx", + "hist_gradient_boosting": "hist_gradient_boosting_mindfulness.onnx", + "polynomial_logreg": "polynomial_logreg_mindfulness.onnx", + "gradient_boosting": "gradient_boosting_mindfulness.onnx"} +LEGACY_COEFFICIENTS = np.array([-1.4060899708538128, 2.597693987367105, + -30.96470526503066, 12.04593986553724, 45.773017975354556]) + + +def _json(value): + return json.dumps(value, sort_keys=True, indent=2, allow_nan=False) + + +def _write_json(path, value): + path = Path(path) + path.parent.mkdir(parents=True, exist_ok=True) + temporary = path.with_suffix(path.suffix + ".tmp") + temporary.write_text(_json(value) + "\n", encoding="utf-8") + temporary.replace(path) + + +def _sha256(path): + digest = hashlib.sha256() + with Path(path).open("rb") as stream: + for block in iter(lambda: stream.read(1024 * 1024), b""): + digest.update(block) + return digest.hexdigest() + + +def _metrics(y, probabilities, weights=None): + y, probabilities = np.asarray(y), np.asarray(probabilities, dtype=np.float64) + if (len(y) != len(probabilities) or not np.isfinite(probabilities).all() + or np.any(probabilities < 0) or np.any(probabilities > 1)): + raise ValueError("Scoring requires one finite probability in [0, 1] per row") + predicted = (probabilities >= 0.5).astype(np.int64) + return {"macro_f1": float(f1_score(y, predicted, labels=[0, 1], average="macro", sample_weight=weights, zero_division=0)), + "macro_precision": float(precision_score(y, predicted, labels=[0, 1], average="macro", sample_weight=weights, zero_division=0)), + "macro_recall": float(recall_score(y, predicted, labels=[0, 1], average="macro", sample_weight=weights, zero_division=0)), + "accuracy": float(accuracy_score(y, predicted, sample_weight=weights)), + "confusion_matrix": confusion_matrix(y, predicted, labels=[0, 1], sample_weight=weights).tolist(), + "balanced_accuracy": float(balanced_accuracy_score(y, predicted, sample_weight=weights)), + "roc_auc": float(roc_auc_score(y, probabilities, sample_weight=weights)), + "brier": float(brier_score_loss(y, probabilities, sample_weight=weights)), + "log_loss": float(log_loss(y, np.column_stack((1 - probabilities, probabilities)), labels=[0, 1], sample_weight=weights))} + + +def score_predictions(y, probabilities, recording_ids): + """Weight windows equally per recording; separately score mean probabilities.""" + y, probabilities, recording_ids = map(np.asarray, (y, probabilities, recording_ids)) + _, inverse, counts = np.unique(recording_ids, return_inverse=True, return_counts=True) + record_y, record_probability, records = [], [], [] + for recording in np.unique(recording_ids): + selected = recording_ids == recording + labels = np.unique(y[selected]) + if len(labels) != 1: + raise ValueError("Every recording must have one label") + probability = float(np.mean(probabilities[selected])) + record_y.append(int(labels[0])) + record_probability.append(probability) + records.append({"recording_id": str(recording), "label": int(labels[0]), "probability": probability, + "windows": int(selected.sum())}) + return {"window": _metrics(y, probabilities, 1.0 / counts[inverse]), + "recording": _metrics(record_y, record_probability), + "window_count": len(y), "recording_count": len(records), "recordings": records} + + +def year_sensitivity(dataset, rows, probabilities, year=2020): + """A descriptive holdout slice using recording timestamps, not group names.""" + records = {record["recording_id"] for record in dataset.metadata.get("recordings", []) + if str(record.get("recording_day_utc", "")).startswith(f"{year}-")} + selected = np.isin(dataset.recording_ids[rows], list(records)) + subset = rows[selected] + if len(np.unique(dataset.y[subset])) != 2: + return {"status": "unavailable", "year": year, "window_count": len(subset), + "reason": "The timestamp-defined holdout slice must contain both classes"} + return {"status": "ok", "year": year, "interpretation": "descriptive slice; never used for selection", + **score_predictions(dataset.y[subset], np.asarray(probabilities)[selected], dataset.recording_ids[subset])} + + +def parity_probes(dataset, observed_rows, seed): + observed = dataset.X[observed_rows[np.linspace(0, len(observed_rows) - 1, min(128, len(observed_rows)), dtype=int)]] + # Cover feature boundaries and interior compositions as well as observed EEG. + rng = np.random.default_rng(seed) + return np.vstack((observed, np.eye(5), np.full((1, 5), .2), + rng.dirichlet(np.full(5, .3), size=64), rng.dirichlet(np.ones(5), size=64))) + + +def freeze_splits(dataset, cv_folds=4, holdout_folds=5, holdout_fold=0, seed=42): + """Stratify one representative per recording, never thousands of windows.""" + canonical, representative = ~dataset.augmented, [] + for recording in np.unique(dataset.recording_ids): + all_rows = dataset.recording_ids == recording + indices = np.flatnonzero(all_rows & canonical) + if not len(indices): + raise ValueError(f"Recording {recording} has no canonical feature windows") + if len(np.unique(dataset.y[all_rows])) != 1 or len(np.unique(dataset.groups[all_rows])) != 1: + raise ValueError(f"Recording {recording} must have one label and one group") + representative.append(indices[0]) + representative = np.asarray(representative, dtype=np.int64) + holdouts = grouped_splits(dataset.y[representative], dataset.groups[representative], n_splits=holdout_folds, seed=seed) + if holdout_fold < 0 or holdout_fold >= len(holdouts): + raise ValueError(f"holdout-fold must be in [0, {len(holdouts) - 1}] for these groups") + development_rep, holdout_rep = (representative[indices] for indices in holdouts[holdout_fold]) + development_groups, holdout_groups = np.unique(dataset.groups[development_rep]), np.unique(dataset.groups[holdout_rep]) + development = np.flatnonzero(np.isin(dataset.groups, development_groups)) + holdout = np.flatnonzero(np.isin(dataset.groups, holdout_groups) & canonical) + cv = grouped_splits(dataset.y[development_rep], dataset.groups[development_rep], n_splits=cv_folds, seed=seed) + folds, serialized = [], [] + for train_rep, validation_rep in cv: + train_groups = np.unique(dataset.groups[development_rep[train_rep]]) + validation_groups = np.unique(dataset.groups[development_rep[validation_rep]]) + train = np.flatnonzero(np.isin(dataset.groups, train_groups)) + validation = np.flatnonzero(np.isin(dataset.groups, validation_groups) & canonical) + folds.append((train, validation)) + serialized.append({"train_groups": train_groups.tolist(), "validation_groups": validation_groups.tolist(), + "train_recordings": np.unique(dataset.recording_ids[train]).tolist(), + "validation_recordings": np.unique(dataset.recording_ids[validation]).tolist(), + "canonical_validation_windows": len(validation)}) + description = {"seed": seed, "stratification_unit": "one canonical representative per recording", + "grouping": "dataset groups; recording UTC day unless overridden by manifest", + "requested_holdout_folds": holdout_folds, "actual_holdout_folds": len(holdouts), + "holdout_fold": holdout_fold, "requested_cv_folds": cv_folds, "actual_cv_folds": len(cv), + "development_groups": development_groups.tolist(), "holdout_groups": holdout_groups.tolist(), + "development_recordings": np.unique(dataset.recording_ids[development]).tolist(), + "holdout_recordings": np.unique(dataset.recording_ids[holdout]).tolist(), + "holdout_canonical_windows": len(holdout), "folds": serialized} + return development, holdout, folds, description + + +def _training_indices(indices, augmented, spec): + return indices if spec["augmentation"] else indices[~augmented[indices]] + + +def _build(spec, X, y, groups, seed): + if spec["family"] == "stacking": + model = build_stacking(spec["params"]["base_specs"], X, y, groups, seed=seed) + model.set_params(passthrough=spec["params"]["passthrough"]) + model.final_estimator.set_params(C=spec["params"]["C"]) + return model + return build_model(spec, X, y, groups, seed=seed) + + +def _probabilities(model, X): + if not np.array_equal(model.classes_, [0, 1]): + raise ValueError("Expected classes [0, 1] with focused probability in column 1") + return np.asarray(model.predict_proba(X), dtype=np.float64)[:, 1] + + +def evaluate_candidate(spec, X, y, groups, recording_ids, augmented, folds, seed): + """Worker entry point; folds contain development rows exclusively.""" + try: + validation_rows, validation_probability, fold_metrics, summaries = [], [], [], [] + with threadpool_limits(limits=1): + for fold_number, (train_rows, validation) in enumerate(folds): + train = _training_indices(train_rows, augmented, spec) + model = _build(spec, X[train], y[train], groups[train], seed + fold_number) + fit_model(model, X[train], y[train], recording_ids[train]) + probability = _probabilities(model, X[validation]) + fold_metrics.append(score_predictions(y[validation], probability, recording_ids[validation])) + summaries.append(model._brainflow_fit_summary) + validation_rows.append(validation) + validation_probability.append(probability) + rows, probability = np.concatenate(validation_rows), np.concatenate(validation_probability) + return {"spec": spec, "status": "ok", "folds": fold_metrics, + "mean_macro_f1": float(np.mean([fold["window"]["macro_f1"] for fold in fold_metrics])), + "std_macro_f1": float(np.std([fold["window"]["macro_f1"] for fold in fold_metrics])), + "pooled": score_predictions(y[rows], probability, recording_ids[rows]), "fit_summaries": summaries} + except Exception as error: + return {"spec": spec, "status": "failed", "error": f"{type(error).__name__}: {error}", + "traceback": traceback.format_exc(limit=5)} + + +def _spec_key(spec): + return json.dumps({key: spec[key] for key in ("family", "params", "augmentation")}, sort_keys=True) + + +def _ranking(result): + return (-result["mean_macro_f1"], -result["pooled"]["window"]["macro_f1"], + -result["pooled"]["window"]["roc_auc"], result["spec"]["name"]) + + +def run_search(specs, dataset, folds, args, checkpoint): + existing = {_spec_key(result["spec"]) for result in checkpoint["results"]} + pending = [] + for spec in specs: + if _spec_key(spec) not in existing: + pending.append(spec) + existing.add(_spec_key(spec)) + if not pending: + return + logging.info("Evaluating %d candidates with %d workers", len(pending), args.jobs) + with parallel_config(backend="loky", inner_max_num_threads=1): + results = Parallel(n_jobs=args.jobs, return_as="generator_unordered")( + delayed(evaluate_candidate)(spec, dataset.X, dataset.y, dataset.groups, dataset.recording_ids, + dataset.augmented, folds, args.seed) for spec in pending) + for result in results: + checkpoint["results"].append(result) + _write_json(args.work_dir / "search.json", checkpoint) + if result["status"] == "ok": + logging.info("%s: CV macro F1 %.4f", result["spec"]["name"], result["mean_macro_f1"]) + else: + logging.error("%s failed: %s", result["spec"]["name"], result["error"]) + + +def _winners(results): + winners = {} + for result in sorted((item for item in results if item["status"] == "ok"), key=_ranking): + winners.setdefault(result["spec"]["family"], result) + return winners + + +def _versions(): + versions = {"python": platform.python_version(), "platform": platform.platform()} + for package in ("numpy", "scipy", "scikit-learn", "joblib", "threadpoolctl", "onnx", "skl2onnx", "onnxruntime"): + try: + versions[package] = importlib.metadata.version(package) + except importlib.metadata.PackageNotFoundError: + versions[package] = None + return versions + + +def _fingerprint(dataset, splits, quick): + sources = {name: _sha256(HERE / name) for name in + ("train_classifiers.py", "training_models.py", "training_data.py", "training_export.py")} + digest = hashlib.sha256() + for value in (dataset.X, dataset.y, dataset.groups, dataset.recording_ids, dataset.augmented): + value = np.ascontiguousarray(value) + digest.update(str((value.dtype, value.shape)).encode()) + digest.update(value.tobytes()) + identity = {"dataset_fingerprint": dataset.metadata.get("fingerprint"), "feature_arrays_sha256": digest.hexdigest(), + "sources": sources, "splits": splits, "quick": quick, "versions": _versions()} + return hashlib.sha256(_json(identity).encode()).hexdigest(), identity + + +def _write_report(args, report): + for winner in report["models"].values(): + winner["cv_summary"] = { + metric: {"mean": float(np.mean([fold["window"][metric] for fold in winner["cv"]["folds"]])), + "std": float(np.std([fold["window"][metric] for fold in winner["cv"]["folds"]]))} + for metric in ("macro_f1", "macro_precision", "macro_recall", "accuracy", "balanced_accuracy", + "roc_auc", "brier", "log_loss")} + lines = ["# Mindfulness classifier training", "", + "Selection used development group cross-validation. Holdout scores below precede refitting on all recordings.", "", + f"CV-selected family: **{report['selected_global_family']}**. The portable native default remains **logreg**.", "", + "## Cross-validation", "", + f"Means across {report['splits']['actual_cv_folds']} group-disjoint folds; F1 spread is the fold standard deviation, not a confidence interval.", "", + "| Family | Macro F1 (mean +/- SD) | Macro precision | Macro recall / balanced accuracy | ROC AUC |", + "| --- | ---: | ---: | ---: | ---: |"] + for family, winner in sorted(report["models"].items(), key=lambda item: -item[1]["cv"]["mean_macro_f1"]): + cv = winner["cv_summary"] + lines.append(f"| {family} | {cv['macro_f1']['mean']:.4f} +/- {cv['macro_f1']['std']:.4f} | {cv['macro_precision']['mean']:.4f} | {cv['balanced_accuracy']['mean']:.4f} | {cv['roc_auc']['mean']:.4f} |") + lines.extend(["", "## Frozen holdout", "", + "These scores are reported after model selection; they are not used to choose hyperparameters or model families.", "", + "| Family | Window macro F1 | Window accuracy | Recording accuracy | Window ROC AUC |", + "| --- | ---: | ---: | ---: | ---: |"]) + for family, winner in report["models"].items(): + holdout = winner["holdout"] + lines.append(f"| {family} | {holdout['window']['macro_f1']:.4f} | {holdout['window']['accuracy']:.4f} | {holdout['recording']['accuracy']:.4f} | {holdout['window']['roc_auc']:.4f} |") + baseline = report["historical_native_baseline"]["holdout"] + lines.extend([f"| Historical native weights on current DSP | {baseline['window']['macro_f1']:.4f} | {baseline['window']['accuracy']:.4f} | {baseline['recording']['accuracy']:.4f} | {baseline['window']['roc_auc']:.4f} |", "", + f"Canonical windows: {report['dataset']['canonical_windows']}; augmented training windows: {report['dataset']['augmented_windows']}; recordings: {report['dataset']['recordings']}; groups: {report['dataset']['groups']}.", "", + "Window metrics give each recording equal total weight. Recording metrics threshold mean window probability. Selection maximizes mean fold window macro F1 at probability 0.5.", "", + "## Limitations", ""]) + lines.extend("- " + limitation for limitation in report["limitations"]) + lines.extend(["", "## Holdout sensitivity within 2020", "", + "This descriptive slice uses recording timestamps and is not used to select models.", "", + "| Family | Recordings | Macro F1 | Accuracy |", + "| --- | ---: | ---: | ---: |"]) + for family, winner in report["models"].items(): + sensitivity = winner["holdout_2020_only"] + if sensitivity["status"] == "ok": + lines.append(f"| {family} | {sensitivity['recording_count']} | {sensitivity['window']['macro_f1']:.4f} | {sensitivity['window']['accuracy']:.4f} |") + else: + lines.append(f"| {family} | unavailable | - | - |") + lines.extend(["", "The JSON report includes splits, candidate scores, extraction provenance, model hashes, export parity, and versions.", + "Evaluation ONNX files and holdout_predictions.npz in the work directory preserve the evaluation. Production ONNX files are refit on all groups and have no independent test score.", ""]) + for directory in {args.work_dir, args.output_dir}: + _write_json(directory / "training_report.json", report) + (directory / "training_report.md").write_text("\n".join(lines), encoding="utf-8") + + +def parse_args(argv=None): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--board-id", type=int) + parser.add_argument("--manifest", type=Path) + parser.add_argument("--data-dir", type=Path, default=HERE / "data") + parser.add_argument("--cache", type=Path) + parser.add_argument("--work-dir", type=Path, default=ROOT / "build" / "classifier_training") + parser.add_argument("--output-dir", type=Path, default=HERE) + parser.add_argument("--jobs", type=int, default=6) + parser.add_argument("--quick", action="store_true", help="Small search for smoke tests") + parser.add_argument("--seed", type=int, default=42) + parser.add_argument("--cv-folds", "--cvfolds", type=int, default=4) + parser.add_argument("--holdout-folds", "--holdoutfolds", type=int, default=5) + parser.add_argument("--holdout-fold", "--holdoutfold", type=int, default=0) + parser.add_argument("--extract-only", action="store_true") + parser.add_argument("--reuse-dataset", action="store_true", + help="Deprecated: validated NPZ cache is reused automatically; legacy pickles are unsupported") + parser.add_argument("--window-seconds", type=float, default=8.0) + parser.add_argument("--augmentation-windows", type=float, nargs="*", default=[5.0, 12.0]) + parser.add_argument("--max-windows-per-recording", type=int, default=128) + parser.add_argument("--skip-seconds", type=float, default=10.0) + parser.add_argument("--channel-subsets", action="store_true", help="Add leave-one-channel-out training augmentation") + args = parser.parse_args(argv) + if args.jobs < 1 or args.cv_folds < 2 or args.holdout_folds < 2: + parser.error("jobs must be positive and CV/holdout folds must be at least two") + args.work_dir, args.output_dir = args.work_dir.resolve(), args.output_dir.resolve() + args.cache = (args.cache or args.work_dir / "features.npz").resolve() + return args + + +def main(argv=None): + args = parse_args(argv) + args.work_dir.mkdir(parents=True, exist_ok=True) + args.output_dir.mkdir(parents=True, exist_ok=True) + logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s", + handlers=[logging.StreamHandler(), logging.FileHandler( + args.work_dir / "training.log", encoding="utf-8")]) + dataset = extract_dataset(args.data_dir, board_id=args.board_id, manifest=args.manifest, + window_seconds=args.window_seconds, augmentation_windows=args.augmentation_windows, + max_windows_per_recording=args.max_windows_per_recording, seed=args.seed, + cache_path=args.cache, workers=args.jobs, skip_seconds=args.skip_seconds, + channel_subsets=True if args.channel_subsets else None) + logging.info("Features: %d canonical, %d augmented, %d recordings, %d groups", int((~dataset.augmented).sum()), + int(dataset.augmented.sum()), len(np.unique(dataset.recording_ids)), len(np.unique(dataset.groups))) + if args.extract_only: + return 0 + development, holdout, folds, splits = freeze_splits(dataset, args.cv_folds, args.holdout_folds, args.holdout_fold, args.seed) + fingerprint, identity = _fingerprint(dataset, splits, args.quick) + _write_json(args.work_dir / "splits.json", {"fingerprint": fingerprint, **splits}) + checkpoint = {"fingerprint": fingerprint, "identity": identity, "results": []} + checkpoint_path = args.work_dir / "search.json" + prior_attempts = [] + if checkpoint_path.is_file(): + try: + previous = json.loads(checkpoint_path.read_text(encoding="utf-8")) + if previous.get("fingerprint") == fingerprint: + checkpoint = previous + logging.info("Resuming %d checkpointed candidates", len(checkpoint["results"])) + else: + logging.info("Ignoring checkpoint with changed data, code, splits or environment") + prior_attempts.append({"fingerprint": previous.get("fingerprint"), + "completed_candidates": len(previous.get("results", [])), + "reason": "Pipeline or environment changed; prior search is not reused"}) + except (ValueError, KeyError, OSError) as error: + logging.warning("Ignoring unreadable search checkpoint: %s", error) + _write_json(checkpoint_path, checkpoint) + initial_specs = candidate_specs(seed=args.seed, quick=args.quick) + run_search(initial_specs, dataset, folds, args, checkpoint) + initial_keys = {_spec_key(spec) for spec in initial_specs} + alternates = [] + for family in sorted({spec["family"] for spec in initial_specs}): + successful = sorted((item for item in checkpoint["results"] if item["status"] == "ok" + and item["spec"]["family"] == family + and _spec_key(item["spec"]) in initial_keys), key=_ranking) + for result in successful[:3]: + spec = dict(result["spec"]) + spec["augmentation"] = not spec["augmentation"] + spec["name"] += "_augmented" if spec["augmentation"] else "_canonical" + alternates.append(spec) + run_search(alternates, dataset, folds, args, checkpoint) + base_winners = _winners(checkpoint["results"]) + expected = set(FILENAMES) - {"stacking"} + if expected - set(base_winners): + raise RuntimeError(f"No successful candidate for families: {sorted(expected - set(base_winners))}") + base_specs = [base_winners[family]["spec"] for family in ("logreg", "random_forest", "knn", "mlp")] + stacks = [{"name": f"stacking_C{strength:g}_passthrough{int(passthrough)}", "family": "stacking", + "params": {"C": strength, "passthrough": passthrough, "base_specs": base_specs}, "augmentation": False} + for strength in ([1.0] if args.quick else [0.1, 1.0, 10.0]) for passthrough in (False, True)] + run_search(stacks, dataset, folds, args, checkpoint) + winners = _winners(checkpoint["results"]) + if set(FILENAMES) - set(winners): + raise RuntimeError("Stacking has no successful group-isolated candidate") + global_winner = min(winners.values(), key=_ranking) + selection = {"fingerprint": fingerprint, "selection_metric": "mean fold recording-weighted window macro F1", + "selected_global_family": global_winner["spec"]["family"], "selected_global_spec": global_winner["spec"], + "families": {family: result["spec"] for family, result in winners.items()}} + _write_json(args.work_dir / "selection.json", selection) + logging.info("Selection frozen before holdout evaluation. CV winner: %s", global_winner["spec"]["name"]) + report = {"schema_version": 1, "created_utc": datetime.now(timezone.utc).isoformat(), "fingerprint": fingerprint, + "identity": identity, "versions": _versions(), + "prior_attempts": prior_attempts, + "board_metadata_source": "explicit --board-id" if args.board_id is not None else "manifest", + "arguments": {key: str(value) if isinstance(value, Path) else value for key, value in vars(args).items()}, + "dataset": {"canonical_windows": int((~dataset.augmented).sum()), "augmented_windows": int(dataset.augmented.sum()), + "recordings": len(np.unique(dataset.recording_ids)), "groups": len(np.unique(dataset.groups)), + "provenance": dataset.metadata}, "splits": splits, "selection": selection, + "selected_global_family": selection["selected_global_family"], "native_default_family": "logreg", + "search_results": checkpoint["results"], "models": {}, "limitations": [ + "Subject identities are unavailable unless supplied in the manifest; day grouping does not establish subject-independent generalization.", + "Collection era and class are confounded in the supplied dataset: focused recordings are from 2020, while many relaxed recordings are from 2022. Models may learn session or hardware differences.", + "Only one frozen grouped holdout is evaluated; small numbers of independent groups make scores uncertain. Inspect recording-level results as well as pooled metrics.", + "CV selects hyperparameters, augmentation and stacking bases; selected CV scores are optimistic. The untouched holdout evaluates this selection procedure.", + "Aborted export-validation attempts may precede this run. Pipeline fixes are not selected using holdout scores; rerunning the same split does not create a new independent validation study.", + "Labels describe the recording task and are not independently validated mental-state measurements.", + "Holdout scores belong to development-only evaluation models. Final production models are refit on all recordings, including the former holdout."]} + baseline_probability = expit(dataset.X[holdout] @ LEGACY_COEFFICIENTS) + report["historical_native_baseline"] = {"coefficients": LEGACY_COEFFICIENTS.tolist(), "intercept": 0.0, + "feature_source": "current DSP, not historical extraction", + "holdout": score_predictions(dataset.y[holdout], baseline_probability, dataset.recording_ids[holdout]), + "holdout_2020_only": year_sensitivity(dataset, holdout, baseline_probability)} + predictions = {"X": dataset.X[holdout], "y": dataset.y[holdout], "recording_ids": dataset.recording_ids[holdout], + "groups": dataset.groups[holdout], "historical_native": baseline_probability} + probes = parity_probes(dataset, development[~dataset.augmented[development]], args.seed) + staging = args.work_dir / "release_staging" / fingerprint + staging.mkdir(parents=True, exist_ok=True) + publications = [] + all_rows, final_logistic = np.arange(len(dataset.y)), None + with threadpool_limits(limits=1): + for family in FILENAMES: + result, spec = winners[family], winners[family]["spec"] + logging.info("Evaluating frozen %s winner", family) + train = _training_indices(development, dataset.augmented, spec) + model = _build(spec, dataset.X[train], dataset.y[train], dataset.groups[train], args.seed) + fit_model(model, dataset.X[train], dataset.y[train], dataset.recording_ids[train]) + probability = _probabilities(model, dataset.X[holdout]) + predictions[family] = probability + staged_evaluation = staging / "evaluation_models" / FILENAMES[family] + evaluation_target = args.work_dir / "evaluation_models" / FILENAMES[family] + evaluation = export_model(model, staged_evaluation, probes) + evaluation["path"] = str(evaluation_target) + publications.append((staged_evaluation, evaluation_target)) + entry = {"spec": spec, "cv": result, "holdout": score_predictions(dataset.y[holdout], probability, dataset.recording_ids[holdout]), + "holdout_2020_only": year_sensitivity(dataset, holdout, probability), + "evaluation_export": evaluation, "evaluation_fit": model._brainflow_fit_summary} + logging.info("Refitting %s on all recording groups", family) + train = _training_indices(all_rows, dataset.augmented, spec) + final_model = _build(spec, dataset.X[train], dataset.y[train], dataset.groups[train], args.seed) + fit_model(final_model, dataset.X[train], dataset.y[train], dataset.recording_ids[train]) + staged_production = staging / "production_models" / FILENAMES[family] + production_target = args.output_dir / FILENAMES[family] + entry["production_export"] = export_model(final_model, staged_production, probes) + entry["production_export"]["path"] = str(production_target) + publications.append((staged_production, production_target)) + entry["production_fit"] = final_model._brainflow_fit_summary + report["models"][family] = entry + if family == "logreg": + final_logistic = final_model + _write_json(args.work_dir / "training_report.partial.json", report) + with (args.work_dir / "holdout_predictions.npz.tmp").open("wb") as stream: + np.savez_compressed(stream, **predictions) + (args.work_dir / "holdout_predictions.npz.tmp").replace(args.work_dir / "holdout_predictions.npz") + native_path = (HERE.parent / "generated" / "mindfulness_model.cpp" if args.output_dir == HERE + else args.output_dir / "mindfulness_model.cpp") + staged_native = staging / "mindfulness_model.cpp" + native = write_native_logistic(final_logistic, staged_native) + native_probability = expit(probes @ np.asarray(native["coefficients"]) + native["intercept"]) + native["parity_max_absolute_error"] = float(np.max(np.abs(native_probability - _probabilities(final_logistic, probes)))) + if native["parity_max_absolute_error"] > 1e-10: + raise RuntimeError("Folded native logistic coefficients failed probability parity") + report["native_logistic"] = {"path": str(native_path), **native} + publications.append((staged_native, native_path)) + # Only publish after every evaluation/production graph and native parameters + # pass validation. Each replacement is atomic, including across source drives. + for source, target in publications: + target.parent.mkdir(parents=True, exist_ok=True) + temporary = target.with_suffix(target.suffix + ".tmp") + shutil.copyfile(source, temporary) + temporary.replace(target) + report["publication"] = {"validated_before_publish": True, "artifact_count": len(publications), + "staging_directory": str(staging), "atomicity": "per-file replacement"} + report["holdout_predictions_sha256"] = _sha256(args.work_dir / "holdout_predictions.npz") + report["completed_utc"] = datetime.now(timezone.utc).isoformat() + _write_report(args, report) + logging.info("Training complete: %s", args.output_dir / "training_report.md") + return 0 + + +if __name__ == "__main__": try: - eeg_names = BoardShim.get_eeg_names(board_id) - selected_channels = list() - if blacklisted_channels is None: - blacklisted_channels = set() - for i, channel in enumerate(eeg_names): - if not channel in blacklisted_channels: - selected_channels.append(eeg_channels[i]) - eeg_channels = selected_channels - except Exception as e: - logging.warn(str(e)) - logging.info('channels to use: %s' % str(eeg_channels)) - return eeg_channels - -def print_dataset_info(data): - x, y = data - first_class_ids = [idx[0] for idx in enumerate(y) if idx[1] == 0] - second_class_ids = [idx[0] for idx in enumerate(y) if idx[1] == 1] - x_first_class = list() - x_second_class = list() - - for i, x_data in enumerate(x): - if i in first_class_ids: - x_first_class.append(x_data.tolist()) - elif i in second_class_ids: - x_second_class.append(x_data.tolist()) - second_class_np = np.array(x_second_class) - first_class_np = np.array(x_first_class) - - logging.info('1st Class Dataset Info:') - logging.info('Mean:') - logging.info(np.mean(first_class_np, axis=0)) - logging.info('2nd Class Dataset Info:') - logging.info('Mean:') - logging.info(np.mean(second_class_np, axis=0)) - -def train_regression_mindfulness(data): - model = LogisticRegression(solver='liblinear', max_iter=4000, - penalty='l2', random_state=2, fit_intercept=False, intercept_scaling=3) - logging.info('#### Logistic Regression ####') - scores = cross_val_score(model, data[0], data[1], cv=5, scoring='f1_macro', n_jobs=8) - logging.info('f1 macro %s' % str(scores)) - model.fit(data[0], data[1]) - logging.info(model.intercept_) - logging.info(model.coef_) - - initial_type = [('mindfulness_input', FloatTensorType([1, 5]))] - onx = convert_sklearn(model, initial_types=initial_type, target_opset=11, options={type(model): {'zipmap': False}}) - with open('logreg_mindfulness.onnx', 'wb') as f: - f.write(onx.SerializeToString()) - write_model(model.intercept_, model.coef_, 'mindfulness') - -def train_svm_mindfulness(data): - model = SVC(kernel='linear', verbose=True, random_state=1, class_weight='balanced', probability=True) - logging.info('#### SVM ####') - model.fit(data[0], data[1]) - initial_type = [('mindfulness_input', FloatTensorType([1, 5]))] - onx = convert_sklearn(model, initial_types=initial_type, target_opset=11, options={type(model): {'zipmap': False}}) - with open('svm_mindfulness.onnx', 'wb') as f: - f.write(onx.SerializeToString()) - -def train_random_forest_mindfulness(data): - model = RandomForestClassifier(class_weight='balanced', random_state=1, n_jobs=15, n_estimators=200) - logging.info('#### Random Forest ####') - scores = cross_val_score(model, data[0], data[1], cv=5, scoring='f1_macro', n_jobs=15) - logging.info('f1 macro %s' % str(scores)) - model.fit(data[0], data[1]) - - initial_type = [('mindfulness_input', FloatTensorType([1, 5]))] - onx = convert_sklearn(model, initial_types=initial_type, target_opset=11, options={type(model): {'zipmap': False}}) - with open('forest_mindfulness.onnx', 'wb') as f: - f.write(onx.SerializeToString()) - -def train_knn_mindfulness(data): - model = KNeighborsClassifier(n_neighbors=10, n_jobs=8) - logging.info('#### KNN ####') - scores = cross_val_score(model, data[0], data[1], cv=5, scoring='f1_macro', n_jobs=15) - logging.info('f1 macro %s' % str(scores)) - model.fit(data[0], data[1]) - - initial_type = [('mindfulness_input', FloatTensorType([1, 5]))] - onx = convert_sklearn(model, initial_types=initial_type, target_opset=11, options={type(model): {'zipmap': False}}) - with open('knn_mindfulness.onnx', 'wb') as f: - f.write(onx.SerializeToString()) - -def train_mlp_mindfulness(data): - model = MLPClassifier(hidden_layer_sizes=(100, 20),learning_rate='adaptive', max_iter=1000, - random_state=1, verbose=True, activation='logistic', solver='adam') - logging.info('#### MLP ####') - scores = cross_val_score(model, data[0], data[1], cv=5, scoring='f1_macro', n_jobs=15) - logging.info('f1 macro %s' % str(scores)) - model.fit(data[0], data[1]) - - initial_type = [('mindfulness_input', FloatTensorType([1, 5]))] - onx = convert_sklearn(model, initial_types=initial_type, target_opset=11, options={type(model): {'zipmap': False}}) - with open('mlp_mindfulness.onnx', 'wb') as f: - f.write(onx.SerializeToString()) - -def train_stacking_classifier(data): - model1 = MLPClassifier(hidden_layer_sizes=(100, 20),learning_rate='adaptive', max_iter=1000, - random_state=1, verbose=True, activation='logistic', solver='adam') - model2 = KNeighborsClassifier(n_neighbors=10, n_jobs=8) - model3 = RandomForestClassifier(class_weight='balanced', random_state=1, n_jobs=8, n_estimators=200) - meta_model = LogisticRegression() - sclf = StackingClassifier(estimators=[('MLPClassifier', model1), ('KNeighborsClassifier', model2), ('RandomForestClassifier', model3)], - final_estimator=meta_model, n_jobs=15, - passthrough=True) - logging.info('#### Stacking ####') - scores = cross_val_score(sclf, data[0], data[1], cv=5, scoring='f1_macro', n_jobs=15) - logging.info('f1 macro %s' % str(scores)) - sclf.fit(data[0], data[1]) - - initial_type = [('mindfulness_input', FloatTensorType([1, 5]))] - onx = convert_sklearn(sclf, initial_types=initial_type, target_opset=11, options={type(sclf): {'zipmap': False}}) - with open('stacking_mindfulness.onnx', 'wb') as f: - f.write(onx.SerializeToString()) - -def main(): - logging.basicConfig(level=logging.INFO) - parser = argparse.ArgumentParser() - parser.add_argument('--reuse-dataset', action='store_true') - args = parser.parse_args() - - if args.reuse_dataset: - with open('dataset_x.pickle', 'rb') as f: - dataset_x = pickle.load(f) - with open('dataset_y.pickle', 'rb') as f: - dataset_y = pickle.load(f) - data = dataset_x, dataset_y - else: - data = prepare_data('relaxed', 'focused') - print_dataset_info(data) - train_regression_mindfulness(data) - train_svm_mindfulness(data) - train_knn_mindfulness(data) - train_random_forest_mindfulness(data) - train_mlp_mindfulness(data) - train_stacking_classifier(data) - - -if __name__ == '__main__': - main() + raise SystemExit(main()) + except Exception: + logging.exception("Training failed; validated search results remain in the work directory") + raise diff --git a/src/ml/train/training_data.py b/src/ml/train/training_data.py new file mode 100644 index 000000000..08cca0c9c --- /dev/null +++ b/src/ml/train/training_data.py @@ -0,0 +1,364 @@ +"""Deterministic, recording-aware extraction of the five runtime band-power features. + +Flat directories require an explicit board ID. A manifest can supply per-recording +board/subject/session metadata; filenames and signal similarity never imply subjects. +Cache files contain ordinary NumPy arrays and JSON metadata, never pickle objects. +""" +from concurrent.futures import ThreadPoolExecutor +from dataclasses import dataclass +from datetime import datetime, timezone +import hashlib +import json +import logging +import os +from pathlib import Path +import tempfile + +import numpy as np + +from brainflow.board_shim import BoardShim +from brainflow.data_filter import DataFilter, DataHandlerDLL + + +FEATURE_SCHEMA = "avg-band-powers-2-4_4-8_8-13_13-30_30-45-v1" +LABELS = {"relaxed": 0, "focused": 1} + + +def _json(value): + return json.dumps(value, sort_keys=True, separators=(",", ":"), allow_nan=False) + + +def _sha256(path): + digest = hashlib.sha256() + with Path(path).open("rb") as stream: + for chunk in iter(lambda: stream.read(1024 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +@dataclass +class FeatureDataset: + X: np.ndarray + y: np.ndarray + groups: np.ndarray + recording_ids: np.ndarray + augmented: np.ndarray + metadata: dict + + def validate(self): + self.X = np.asarray(self.X, dtype=np.float64) + self.y = np.asarray(self.y, dtype=np.int64) + self.groups = np.asarray(self.groups, dtype=str) + self.recording_ids = np.asarray(self.recording_ids, dtype=str) + self.augmented = np.asarray(self.augmented, dtype=bool) + count = len(self.X) + if self.X.ndim != 2 or self.X.shape[1] != 5 or not np.isfinite(self.X).all(): + raise ValueError("Features must be a finite N x 5 float64 array") + for values in (self.y, self.groups, self.recording_ids, self.augmented): + if values.shape != (count,): + raise ValueError("Dataset arrays must have the same number of rows") + if not np.isin(self.y, [0, 1]).all() or np.any(self.groups == "") or np.any(self.recording_ids == ""): + raise ValueError("Invalid labels or missing recording/group identifiers") + return self + + def save(self, path): + self.validate() + target = Path(path) + target.parent.mkdir(parents=True, exist_ok=True) + temporary = None + try: + with tempfile.NamedTemporaryFile(dir=target.parent, suffix=".npz", delete=False) as stream: + temporary = Path(stream.name) + np.savez_compressed(stream, X=self.X, y=self.y, groups=self.groups, + recording_ids=self.recording_ids, augmented=self.augmented, + metadata=np.asarray(_json(self.metadata))) + os.replace(temporary, target) + finally: + if temporary is not None and temporary.exists(): + temporary.unlink() + + @classmethod + def load(cls, path): + with np.load(path, allow_pickle=False) as cache: + dataset = cls(X=cache["X"], y=cache["y"], groups=cache["groups"], + recording_ids=cache["recording_ids"], augmented=cache["augmented"], + metadata=json.loads(str(cache["metadata"].item()))) + return dataset.validate() + + +def save_dataset(dataset, path): + dataset.save(path) + + +def load_dataset(path): + return FeatureDataset.load(path) + + +def _read_manifest(manifest): + if manifest is None: + return {}, {} + document = json.loads(Path(manifest).read_text(encoding="utf-8")) if isinstance(manifest, (str, Path)) else manifest + entries = document.get("recordings", document) if isinstance(document, dict) else document + if isinstance(entries, list): + indexed = {} + for entry in entries: + key = entry.get("path", entry.get("recording_id")) + if not key or str(key).replace("\\", "/") in indexed: + raise ValueError("Every manifest recording needs a unique path") + indexed[str(key).replace("\\", "/")] = dict(entry) + elif isinstance(entries, dict): + indexed = {str(key).replace("\\", "/"): dict(value) for key, value in entries.items()} + else: + raise ValueError("Manifest must contain a recording list or a path-keyed object") + return indexed, document + + +def _descriptor(path, root, board_id, manifest): + relative = path.relative_to(root).as_posix() + parts = Path(relative).parts + if len(parts) < 2 or parts[0] not in LABELS: + raise ValueError(f"Unknown class directory for {relative}; expected relaxed/ or focused/") + entry = manifest.get(relative, {}) + selected_board = entry.get("board_id", board_id) + if selected_board is None and len(parts) >= 3: + try: + selected_board = int(parts[-2]) + except ValueError: + pass + if selected_board is None and not all(key in entry for key in ("sampling_rate", "eeg_channels", "timestamp_channel")): + raise ValueError(f"{relative}: flat recordings require --board-id or manifest board metadata") + if selected_board is not None: + selected_board = int(selected_board) + description = BoardShim.get_board_descr(selected_board) + else: + description = {} + rate = int(entry.get("sampling_rate", description.get("sampling_rate", 0))) + channels = entry.get("eeg_channels", description.get("eeg_channels", [])) + if rate <= 0 or not isinstance(channels, (list, tuple)) or not channels: + raise ValueError(f"{relative}: positive sampling_rate and EEG channels are required") + if any(not isinstance(channel, (int, np.integer)) or channel < 0 for channel in channels) or len(set(channels)) != len(channels): + raise ValueError(f"{relative}: EEG channels must be distinct nonnegative integer indices") + timestamp_channel = entry.get("timestamp_channel", description.get("timestamp_channel")) + explicit_group = None + for key, prefix in (("group_id", "manifest"), ("subject_id", "subject"), ("session_id", "session")): + if entry.get(key) is not None: + explicit_group = f"{prefix}:{entry[key]}" + break + if timestamp_channel is None and explicit_group is None: + raise ValueError(f"{relative}: grouping requires a timestamp channel or manifest group/subject/session") + return dict(recording_id=relative, label=parts[0], y=LABELS[parts[0]], board_id=selected_board, + sampling_rate=rate, eeg_channels=list(channels), timestamp_channel=timestamp_channel, + expected_columns=description.get("num_rows"), explicit_group=explicit_group, + manifest=entry) + + +def _starts(samples, skip, length, cap): + count = min(cap, max(0, (samples - skip) // length)) + if count == 0: + return np.empty(0, dtype=np.int64) + last = samples - length + if count == 1: + return np.asarray([(skip + last) // 2], dtype=np.int64) + # Since count <= available/length, even the uncapped windows do not overlap. + return np.linspace(skip, last, count, dtype=np.int64) + + +def _extract_recording(task): + path, descriptor, config, native_info = task + record = dict(descriptor) + record.pop("manifest", None) + record["status"] = "failed" + record["skipped_windows"] = {} + features, augmentation = [], [] + + def skip(reason, amount=1): + record["skipped_windows"][reason] = record["skipped_windows"].get(reason, 0) + amount + + try: + # BrainFlow's TSV files store samples as rows. np.loadtxt parses much faster + # than the generic native CSV reader for this well-defined training format. + disk_data = np.loadtxt(path, delimiter="\t", ndmin=2) + rows, columns = disk_data.shape + record.update(samples=rows, columns=columns) + expected = descriptor["expected_columns"] + if expected is not None and columns != expected: + raise ValueError(f"Expected {expected} columns for board {descriptor['board_id']}, found {columns}") + channels = descriptor["eeg_channels"] + if max(channels) >= columns: + raise ValueError("EEG channel index exceeds the file column count") + rate = descriptor["sampling_rate"] + timestamp_channel = descriptor["timestamp_channel"] + valid_ts = np.empty(0) + timestamp_indices = np.empty(0, dtype=np.int64) + if timestamp_channel is not None: + if not isinstance(timestamp_channel, int) or timestamp_channel < 0 or timestamp_channel >= columns: + raise ValueError("Invalid timestamp channel") + timestamps = disk_data[:, timestamp_channel] + valid = np.isfinite(timestamps) & (timestamps > 946684800) & (timestamps < 4102444800) + timestamp_indices = np.flatnonzero(valid) + valid_ts = timestamps[valid] + record["invalid_timestamp_count"] = int((~valid).sum()) + if valid_ts.size: + day = datetime.fromtimestamp(float(valid_ts[0]), timezone.utc).date().isoformat() + record.update(recording_day_utc=day, first_timestamp=float(valid_ts[0]), last_timestamp=float(valid_ts[-1])) + if valid_ts.size > 1 and valid_ts[-1] > valid_ts[0]: + record["timestamp_rate_hz"] = float((timestamp_indices[-1] - timestamp_indices[0]) / (valid_ts[-1] - valid_ts[0])) + record["timestamp_nonpositive_steps"] = int(np.count_nonzero(np.diff(valid_ts) <= 0)) + elif descriptor["explicit_group"] is None: + raise ValueError("No valid Unix timestamp for grouping; supply a manifest group") + group = descriptor["explicit_group"] or f"utc-day:{record['recording_day_utc']}" + record["group"] = group + record["duration_seconds"] = rows / rate + signal = np.ascontiguousarray(disk_data[:, channels].T) + del disk_data + record["nonfinite_eeg_values"] = int(np.count_nonzero(~np.isfinite(signal))) + skip_samples = int(round(config["skip_seconds"] * rate)) + selected = list(range(len(channels))) + subsets = [] + if config["channel_subsets"] is True: + subsets = [[index for index in selected if index != omitted] for omitted in selected] if len(selected) > 1 else [] + elif config["channel_subsets"]: + for subset in config["channel_subsets"]: + if not subset or any(channel not in channels for channel in subset) or len(set(subset)) != len(subset): + raise ValueError("Augmentation subsets must contain distinct EEG channel indices from this board") + if list(subset) != channels: + subsets.append([channels.index(channel) for channel in subset]) + windows = [(config["window_seconds"], False)] + windows += [(seconds, True) for seconds in config["augmentation_windows"] if seconds != config["window_seconds"]] + for seconds, is_augmented in windows: + length = int(round(seconds * rate)) + if length < native_info["minimum_samples"]: + skip(f"window_{seconds:g}s_below_native_minimum_{native_info['minimum_samples']}_samples") + continue + starts = _starts(rows, skip_samples, length, config["max_windows_per_recording"]) + if starts.size == 0: + skip(f"recording_too_short_for_{seconds:g}s_after_initial_skip") + continue + for start in starts: + window = np.ascontiguousarray(signal[:, start:start + length]) + # Channel subsets apply to canonical durations only: avoid a large + # Cartesian expansion of durations and channel combinations. + selections = [(selected, is_augmented)] + if not is_augmented: + selections += [(subset, True) for subset in subsets] + for selected_channels, augmented in selections: + try: + if not np.isfinite(window[selected_channels]).all(): + skip("window_contains_nonfinite_eeg") + continue + powers, _ = DataFilter.get_avg_band_powers(window, selected_channels, rate, config["apply_filter"]) + powers = np.asarray(powers, dtype=np.float64) + if powers.shape != (5,) or not np.isfinite(powers).all() or np.any(powers < 0): + skip("invalid_band_power_output") + continue + if powers.sum() <= 0: + skip("window_has_zero_total_band_power") + continue + features.append(powers) + augmentation.append(augmented) + except Exception as error: + skip(f"band_power_error:{type(error).__name__}:{error}") + record["canonical_windows"] = sum(not flag for flag in augmentation) + record["augmented_windows"] = sum(augmentation) + record["status"] = "ok" if features else "skipped" + if not features: + record["reason"] = "No usable feature windows; see skipped_windows" + return features, augmentation, record + except Exception as error: + record["reason"] = f"{type(error).__name__}: {error}" + return [], [], record + + +def extract_dataset(data_root, board_id=None, manifest=None, window_seconds=8.0, + augmentation_windows=(5.0, 12.0), max_windows_per_recording=128, + seed=42, cache_path=None, workers=4, skip_seconds=10.0, + channel_subsets=None, apply_filter=True): + """Extract canonical and training-only augmented feature rows. + + ``groups`` defaults to UTC recording day across both classes. Manifest fields + ``group_id``, ``subject_id``, or ``session_id`` override it in that order. + Manifest paths are relative to ``data_root``. ``eeg_channels`` and optional + augmentation subsets use board row indices, not positions in the EEG list. + Canonical windows are uniformly spread, nonoverlapping, and capped per file; + all extra durations/subsets have augmented=True and must stay out of scoring. + File/window failures are retained in metadata["issues"] and logged. + """ + root = Path(data_root).resolve() + if not root.is_dir(): + raise ValueError(f"Training data directory does not exist: {root}") + if not isinstance(max_windows_per_recording, int) or max_windows_per_recording < 1 or workers < 1: + raise ValueError("max_windows_per_recording and workers must be positive integers") + if not np.isfinite(window_seconds) or window_seconds <= 0 or not np.isfinite(skip_seconds) or skip_seconds < 0: + raise ValueError("Window must be positive and initial skip must be nonnegative") + augmentation_windows = sorted(set(float(value) for value in augmentation_windows)) + if any(not np.isfinite(value) or value <= 0 for value in augmentation_windows): + raise ValueError("Augmentation windows must be finite and positive") + manifest_entries, manifest_document = _read_manifest(manifest) + paths = sorted(root.rglob("*.csv")) + if not paths: + raise ValueError(f"No CSV recordings found in {root}") + descriptors = [_descriptor(path, root, board_id, manifest_entries) for path in paths] + unknown_manifest_paths = set(manifest_entries) - {descriptor["recording_id"] for descriptor in descriptors} + if unknown_manifest_paths: + raise ValueError(f"Manifest paths were not found under data_root: {sorted(unknown_manifest_paths)}") + native_info = {rate: DataFilter.get_band_power_info(rate, bool(apply_filter)) + for rate in sorted({descriptor["sampling_rate"] for descriptor in descriptors})} + for rate, info in native_info.items(): + if round(window_seconds * rate) < info["minimum_samples"]: + raise ValueError(f"Canonical window {window_seconds}s at {rate}Hz needs at least {info['minimum_samples']} samples including filter guards") + config = dict(feature_schema=FEATURE_SCHEMA, board_id=board_id, window_seconds=float(window_seconds), + augmentation_windows=augmentation_windows, max_windows_per_recording=max_windows_per_recording, + seed=int(seed), skip_seconds=float(skip_seconds), channel_subsets=channel_subsets, + apply_filter=bool(apply_filter), labels=LABELS) + source_files = [] + for path, descriptor in zip(paths, descriptors): + stat = path.stat() + source_files.append(dict(path=descriptor["recording_id"], size=stat.st_size, mtime_ns=stat.st_mtime_ns)) + dll_path = Path(DataHandlerDLL.get_instance().lib._name).resolve() + backend_path = Path(__import__(DataFilter.__module__, fromlist=["__file__"]).__file__).resolve() + identity = dict(config=config, manifest=manifest_document, source_files=source_files, + resolved_recordings=descriptors, native_band_power_info=native_info, + source_fingerprint_mode="relative_path_size_mtime_ns", + native_dsp_sha256=_sha256(dll_path), python_dsp_sha256=_sha256(backend_path), + extractor_sha256=_sha256(__file__)) + fingerprint = hashlib.sha256(_json(identity).encode("utf-8")).hexdigest() + if cache_path is not None and Path(cache_path).is_file(): + try: + cached = FeatureDataset.load(cache_path) + if cached.metadata.get("fingerprint") == fingerprint: + logging.info("Reusing feature cache %s", cache_path) + return cached + logging.info("Feature cache fingerprint changed; extracting current data") + except (ValueError, KeyError, OSError) as error: + logging.warning("Ignoring unreadable feature cache %s: %s", cache_path, error) + # Initialize all native singletons before launching threads. Each job owns its + # NumPy data and filter state; output order stays tied to sorted file paths. + tasks = [(path, descriptor, config, native_info[descriptor["sampling_rate"]]) + for path, descriptor in zip(paths, descriptors)] + X, y, groups, recording_ids, augmented, recordings = [], [], [], [], [], [] + with ThreadPoolExecutor(max_workers=int(workers)) as pool: + for values, flags, record in pool.map(_extract_recording, tasks): + recordings.append(record) + X.extend(values) + y.extend([record["y"]] * len(values)) + groups.extend([record.get("group", "")] * len(values)) + recording_ids.extend([record["recording_id"]] * len(values)) + augmented.extend(flags) + logging.info("%s: %s, %d canonical + %d augmented windows", record["recording_id"], record["status"], + record.get("canonical_windows", 0), record.get("augmented_windows", 0)) + if record["status"] != "ok" or record["skipped_windows"]: + logging.warning("Recording issues: %s", _json(record)) + issues = [dict(recording_id=record["recording_id"], status=record["status"], + reason=record.get("reason"), skipped_windows=record["skipped_windows"]) + for record in recordings if record["status"] != "ok" or record["skipped_windows"]] + if not X: + raise ValueError("No usable training features: " + _json(issues)) + metadata = dict(fingerprint=fingerprint, config=config, identity=identity, recordings=recordings, + issues=issues, native_band_power_info={str(rate): info for rate, info in native_info.items()}, + created_utc=datetime.now(timezone.utc).isoformat(), workers=int(workers), + grouping_caveat="UTC recording day is a conservative proxy, not evidence of independent subjects.") + dataset = FeatureDataset(np.asarray(X, dtype=np.float64), np.asarray(y), np.asarray(groups), + np.asarray(recording_ids), np.asarray(augmented), metadata).validate() + if cache_path is not None: + dataset.save(cache_path) + return dataset diff --git a/src/ml/train/training_export.py b/src/ml/train/training_export.py new file mode 100644 index 000000000..97827ea59 --- /dev/null +++ b/src/ml/train/training_export.py @@ -0,0 +1,448 @@ +"""Export the five-band classifier contract and check executable probability parity.""" + +import hashlib +import os +from pathlib import Path +import tempfile + +import numpy as np +import onnx +from onnx import TensorProto, helper, numpy_helper +from sklearn.calibration import CalibratedClassifierCV +from sklearn.linear_model import LogisticRegression +from sklearn.pipeline import Pipeline +from sklearn.preprocessing import StandardScaler +from sklearn.svm import SVC +from skl2onnx import convert_sklearn +from skl2onnx.common.data_types import FloatTensorType + + +FEATURE_COUNT = 5 +ONNX_OPSET = 11 +PARITY_ATOL = 2e-5 +INPUT_ROUNDING_ATOL = 1e-4 + + +def _classifier(model): + while isinstance(model, Pipeline): + model = model.steps[-1][1] + classes = np.asarray(getattr(model, "classes_", [])) + if classes.shape != (2,) or not np.array_equal(classes, [0, 1]): + raise ValueError("The classifier must have classes [0, 1]: relaxed, focused") + return model + + +def _probes(probe_X): + data = np.asarray(probe_X, dtype=np.float64) + if data.ndim != 2 or data.shape[1] != FEATURE_COUNT or data.shape[0] == 0: + raise ValueError("Parity probes must have shape (n, 5), with n > 0") + if not np.isfinite(data).all() or np.max(np.abs(data)) > np.finfo(np.float32).max: + raise ValueError("Parity probes must be finite and representable as float32") + return np.ascontiguousarray(data) + + +def _probabilities(values, count): + values = np.asarray(values, dtype=np.float64) + if values.shape != (count, 2) or not np.isfinite(values).all(): + raise ValueError("The classifier must return finite probabilities with shape (n, 2)") + if (np.any(values < -PARITY_ATOL) or np.any(values > 1 + PARITY_ATOL) + or not np.allclose(values.sum(axis=1), 1, atol=PARITY_ATOL, rtol=0)): + raise ValueError("Classifier probabilities must be in [0, 1] and sum to one") + return values + + +def _conversion_options(model, classifier): + options = {id(classifier): {"zipmap": False}} + visited = set() + + def visit(estimator): + if id(estimator) in visited: + return + visited.add(id(estimator)) + if isinstance(estimator, CalibratedClassifierCV): + for calibrated in estimator.calibrated_classifiers_: + base = (calibrated.estimator if hasattr(calibrated, "estimator") + else calibrated.base_estimator) + leaf = _classifier(base) + if isinstance(leaf, SVC): + # skl2onnx does not forward this option through the calibrated + # estimator's Pipeline. Without it binary SVC scores have the + # opposite sign from sklearn.decision_function. + options.setdefault(id(leaf), {})["raw_scores"] = True + visit(base) + if isinstance(estimator, Pipeline): + for _, step in estimator.steps: + visit(step) + for fitted in getattr(estimator, "estimators_", []): + visit(fitted) + + visit(model) + return options + + +def _repair_distance_weights(model): + """Correct skl2onnx 1.17's opset-11 KNN sign and zero-neighbor weighting. + + Its TopK selects positive distances, but the following Mul(-1)/Max(1e-6) + chain turns all inverse-distance weights into equal weights. Match that + exact pattern, retaining the converter's stable subtraction-based distances. + The replacement follows sklearn: if any selected neighbors have distance + zero, only those neighbors vote, with equal weight; otherwise use 1/distance. + """ + initializers = {item.name: numpy_helper.to_array(item) for item in model.graph.initializer} + producers = {output: node for node in model.graph.node for output in node.output} + replacements = {} + removed = set() + obsolete_constants = set() + + def scalar(name, expected): + value = initializers.get(name) + return value is not None and value.size == 1 and float(value.ravel()[0]) == expected + + for index, node in enumerate(model.graph.node): + if node.op_type != "Reciprocal": + continue + maximum = producers.get(node.input[0]) + if maximum is None or maximum.op_type != "Max" or len(maximum.input) != 2: + continue + signed = next((producers.get(name) for name in maximum.input + if name not in initializers), None) + if signed is None or signed.op_type != "Mul" or len(signed.input) != 2: + continue + distances = next((name for name in signed.input if not scalar(name, -1.)), None) + if distances is None or not any(scalar(name, -1.) for name in signed.input): + continue + topk = producers.get(distances) + if (topk is None or topk.op_type != "TopK" or distances != topk.output[0] + or not any(attr.name == "largest" and attr.i == 0 for attr in topk.attribute)): + continue + + prefix = f"brainflow_knn_weights_{index}_" + zero, one = prefix + "zero", prefix + "one" + model.graph.initializer.extend([ + numpy_helper.from_array(np.array(0, dtype=np.float32), name=zero), + numpy_helper.from_array(np.array(1, dtype=np.float32), name=one), + ]) + zero_mask, zero_weights = prefix + "zero_mask", prefix + "zero_weights" + zero_count, has_zero = prefix + "zero_count", prefix + "has_zero" + safe_distance, inverse = prefix + "safe_distance", prefix + "inverse" + replacements[index] = [ + helper.make_node("Equal", [distances, zero], [zero_mask]), + helper.make_node("Cast", [zero_mask], [zero_weights], to=TensorProto.FLOAT), + helper.make_node("ReduceSum", [zero_weights], [zero_count], axes=[1], keepdims=1), + helper.make_node("Greater", [zero_count, zero], [has_zero]), + helper.make_node("Where", [zero_mask, one, distances], [safe_distance]), + helper.make_node("Reciprocal", [safe_distance], [inverse]), + helper.make_node("Where", [has_zero, zero_weights, inverse], list(node.output)), + ] + removed.update((signed.output[0], maximum.output[0])) + obsolete_constants.update(name for name in (*signed.input, *maximum.input) + if name in initializers) + + if replacements: + rewritten = [] + for index, node in enumerate(model.graph.node): + if index in replacements: + rewritten.extend(replacements[index]) + elif not any(output in removed for output in node.output): + rewritten.append(node) + del model.graph.node[:] + model.graph.node.extend(rewritten) + # Constants may be shared with other estimators in a stacking graph. + def used_names(graph): + names = {name for item in graph.node for name in item.input} + names.update(item.name for item in (*graph.input, *graph.output)) + for item in graph.node: + for attribute in item.attribute: + if attribute.type == onnx.AttributeProto.GRAPH: + names.update(used_names(attribute.g)) + elif attribute.type == onnx.AttributeProto.GRAPHS: + for subgraph in attribute.graphs: + names.update(used_names(subgraph)) + return names + + used = used_names(model.graph) + retained = [item for item in model.graph.initializer + if item.name not in obsolete_constants or item.name in used] + del model.graph.initializer[:] + model.graph.initializer.extend(retained) + return len(replacements) + + +def _runtime_probabilities(path, data, output_name): + """Prefer the training runtime; native BrainFlow is an equivalent fallback.""" + try: + import onnxruntime as ort + except ImportError: + from brainflow.ml_model import ( + BrainFlowClassifiers, BrainFlowMetrics, BrainFlowModelParams, MLModel) + + params = BrainFlowModelParams( + BrainFlowMetrics.USER_DEFINED, BrainFlowClassifiers.ONNX_CLASSIFIER) + params.file = str(Path(path).resolve()) + params.output_name = output_name + params.max_array_size = 2 + runtime = MLModel(params) + runtime.prepare() + try: + values = np.asarray([runtime.predict(row) for row in data], dtype=np.float64) + finally: + runtime.release() + return values, "brainflow_native", MLModel.get_version() + + options = ort.SessionOptions() + options.intra_op_num_threads = 1 + options.inter_op_num_threads = 1 + session = ort.InferenceSession( + str(path), sess_options=options, providers=["CPUExecutionProvider"]) + input_name = session.get_inputs()[0].name + values = [session.run([output_name], {input_name: row.reshape(1, FEATURE_COUNT)})[0][0] + for row in np.asarray(data, dtype=np.float32)] + return np.asarray(values, dtype=np.float64), "onnxruntime", ort.__version__ + + +def _calibrated_svm_graph(model): + """Evaluate binary calibrated SVMs in double precision inside a float API. + + The ai.onnx.ml SVM operator stores its many support vectors/coefficients as + floats. Cancellation in a real fitted model can exceed the export tolerance. + Core ONNX arithmetic preserves sklearn's parameters and sigmoid calibration, + without changing the five-float input or two-float probability output. + """ + if not isinstance(model, CalibratedClassifierCV) or model.method != "sigmoid": + return None + fitted = model.calibrated_classifiers_ + for calibrated in fitted: + estimator = calibrated.estimator + leaf = _classifier(estimator) + if not isinstance(leaf, SVC) or leaf.kernel not in ("linear", "rbf"): + return None + if len(calibrated.calibrators) != 1: + return None + if isinstance(estimator, Pipeline) and any( + not isinstance(step, StandardScaler) for _, step in estimator.steps[:-1]): + return None + nodes, constants, probabilities = [], [], [] + + def constant(name, value): + constants.append(numpy_helper.from_array(np.asarray(value, dtype=np.float64), name=name)) + return name + + def node(operation, inputs, output, **attributes): + nodes.append(helper.make_node(operation, inputs, [output], **attributes)) + return output + + raw = node("Cast", ["mindfulness_input"], "double_input", to=TensorProto.DOUBLE) + for index, calibrated in enumerate(fitted): + prefix = f"svm{index}_" + estimator, value = calibrated.estimator, raw + if isinstance(estimator, Pipeline): + for number, (_, scaler) in enumerate(estimator.steps[:-1]): + name = prefix + f"scale{number}_" + if scaler.with_mean: + value = node("Sub", [value, constant(name + "mean", scaler.mean_)], name + "centered") + if scaler.with_std: + value = node("Div", [value, constant(name + "scale", scaler.scale_)], name + "scaled") + svc = _classifier(estimator) + if svc.kernel == "linear": + kernels = node("MatMul", [value, constant(prefix + "support", svc.support_vectors_.T)], prefix + "kernels") + else: + difference = node("Sub", [value, constant(prefix + "support", svc.support_vectors_)], prefix + "difference") + squared = node("Mul", [difference, difference], prefix + "squared") + distance = node("ReduceSum", [squared], prefix + "distance", axes=[1], keepdims=0) + exponent = node("Mul", [distance, constant(prefix + "negative_gamma", -svc._gamma)], prefix + "exponent") + vector = node("Exp", [exponent], prefix + "kernel_vector") + kernels = node("Unsqueeze", [vector], prefix + "kernels", axes=[0]) + weighted = node("MatMul", [kernels, constant(prefix + "dual", svc.dual_coef_.T)], prefix + "weighted") + decision = node("Add", [weighted, constant(prefix + "intercept", svc.intercept_[0])], prefix + "decision") + calibration = calibrated.calibrators[0] + scaled = node("Mul", [decision, constant(prefix + "negative_a", -calibration.a_)], prefix + "scaled_decision") + logit = node("Add", [scaled, constant(prefix + "negative_b", -calibration.b_)], prefix + "logit") + probabilities.append(node("Sigmoid", [logit], prefix + "positive_probability")) + positive = probabilities[0] + if len(probabilities) > 1: + # Older CPU runtimes do not implement Mean for doubles, while Add/Div + # support them. Preserve sklearn's sum-then-divide ensemble arithmetic. + for index, probability in enumerate(probabilities[1:], 1): + positive = node("Add", [positive, probability], f"probability_sum_{index}") + positive = node("Div", [positive, constant("ensemble_count", len(probabilities))], "mean_probability") + negative = node("Sub", [constant("one", 1.), positive], "negative_probability") + dense = node("Concat", [negative, positive], "double_probabilities", axis=1) + node("Cast", [dense], "probabilities", to=TensorProto.FLOAT) + node("ArgMax", ["probabilities"], "label", axis=1, keepdims=0) + graph = helper.make_graph(nodes, "brainflow_calibrated_svm", + [helper.make_tensor_value_info("mindfulness_input", TensorProto.FLOAT, [1, FEATURE_COUNT])], + [helper.make_tensor_value_info("label", TensorProto.INT64, [1]), + helper.make_tensor_value_info("probabilities", TensorProto.FLOAT, [1, 2])], constants) + return helper.make_model(graph, producer_name="brainflow", ir_version=6, + opset_imports=[helper.make_opsetid("", ONNX_OPSET)]) + + +def export_model(model, path, probe_X): + """Write ONNX only after checking its contract and sklearn probability parity. + + The fixed single-row float input and dense two-column output work with the + bundled ONNX Runtime 1.11. Probability column 1 means focused/mindfulness; + column 0 means relaxed/restfulness. A failed export leaves an existing file intact. + """ + classifier = _classifier(model) + data = _probes(probe_X) + original = _probabilities(model.predict_proba(data), len(data)) + # The published API takes float32. Compare execution on exactly those input + # values, keeping sklearn's fitted transforms/parameters at their precision. + # KNN probes coincident with float64 training rows are particularly sensitive + # to the unavoidable input rounding; measure and bound that separately. + rounded = data.astype(np.float32).astype(np.float64) + expected = _probabilities(model.predict_proba(rounded), len(data)) + rounding_error = float(np.max(np.abs(expected - original))) + if rounding_error > INPUT_ROUNDING_ATOL: + raise ValueError(f"Float32 input rounding changes probabilities by {rounding_error:.8g}") + exported = _calibrated_svm_graph(model) + exporter = "double_precision_calibrated_svm" if exported is not None else "skl2onnx" + if exported is None: + exported = convert_sklearn( + model, name="brainflow_mindfulness", + initial_types=[("mindfulness_input", FloatTensorType([1, FEATURE_COUNT]))], + target_opset={"": ONNX_OPSET, "ai.onnx.ml": 1}, + options=_conversion_options(model, classifier)) + distance_repairs = _repair_distance_weights(exported) + operator_sets = sorted(exported.opset_import, key=lambda item: (item.domain, item.version)) + del exported.opset_import[:] + exported.opset_import.extend(operator_sets) + if exported.ir_version > 7: + raise ValueError("Export requires an ONNX IR newer than the bundled runtime supports") + if any(item.domain in ("", "ai.onnx") and item.version > ONNX_OPSET + for item in exported.opset_import): + raise ValueError("Export exceeded the supported ONNX operator set") + if any(item.domain == "ai.onnx.ml" and item.version > 1 for item in exported.opset_import): + raise ValueError("Export exceeded the bundled runtime's ai.onnx.ml operator set") + if any(node.op_type == "ZipMap" for node in exported.graph.node): + raise ValueError("Native BrainFlow requires dense probabilities, without ZipMap") + if len(exported.graph.input) != 1: + raise ValueError("The exported model must have exactly one input") + input_type = exported.graph.input[0].type.tensor_type + if (input_type.elem_type != TensorProto.FLOAT + or [dim.dim_value for dim in input_type.shape.dim] != [1, FEATURE_COUNT]): + raise ValueError("The exported input must be a float tensor with shape [1, 5]") + probability_outputs = [value for value in exported.graph.output + if value.name in ("probabilities", "output_probability")] + if len(probability_outputs) != 1: + raise ValueError("Export must expose one probabilities or output_probability tensor") + output = probability_outputs[0] + output_type = output.type.tensor_type + if (output_type.elem_type != TensorProto.FLOAT or len(output_type.shape.dim) != 2 + or output_type.shape.dim[1].dim_value != 2): + raise ValueError("The exported probabilities must be a float tensor with shape [1, 2]") + if output_type.shape.dim[0].HasField("dim_value") and output_type.shape.dim[0].dim_value != 1: + raise ValueError("The exported probabilities must contain exactly one row") + # Some sklearn converters leave the batch dimension symbolic even for fixed input. + output_type.shape.dim[0].dim_value = 1 + onnx.checker.check_model(exported) + blob = exported.SerializeToString() + + destination = Path(path) + destination.parent.mkdir(parents=True, exist_ok=True) + descriptor, temporary = tempfile.mkstemp( + prefix=destination.stem + ".", suffix=".onnx", dir=destination.parent) + try: + with os.fdopen(descriptor, "wb") as stream: + stream.write(blob) + actual, backend, runtime_version = _runtime_probabilities(temporary, data, output.name) + actual = _probabilities(actual, len(data)) + maximum_error = float(np.max(np.abs(expected - actual))) + if maximum_error > PARITY_ATOL: + raise ValueError( + f"ONNX probability parity failed: max error {maximum_error:.8g} > {PARITY_ATOL}") + os.replace(temporary, destination) + finally: + if os.path.exists(temporary): + os.unlink(temporary) + + return { + "path": str(destination), + "sha256": hashlib.sha256(blob).hexdigest(), + "bytes": len(blob), + "input_name": exported.graph.input[0].name, + "input_shape": [1, FEATURE_COUNT], + "input_dtype": "float32", + "output_name": output.name, + "output_shape": [1, 2], + "classes": [0, 1], + "positive_class": 1, + "exporter": exporter, + "distance_weight_repairs": distance_repairs, + "ir_version": exported.ir_version, + "opsets": {item.domain or "ai.onnx": item.version for item in exported.opset_import}, + "parity": { + "backend": backend, "runtime_version": runtime_version, + "probe_count": len(data), "max_absolute_error": maximum_error, + "absolute_tolerance": PARITY_ATOL, + "reference_input": "float32 input values evaluated by sklearn in float64", + "input_rounding_max_error": rounding_error, + "input_rounding_tolerance": INPUT_ROUNDING_ATOL, + "original_float64_max_error": float(np.max(np.abs(original - actual))), + }, + } + + +def extract_native_logistic(model): + """Fold fitted StandardScaler steps into a binary logistic model's five weights.""" + classifier = _classifier(model) + if not isinstance(classifier, LogisticRegression): + raise ValueError("The native built-in requires a fitted LogisticRegression") + coefficients = np.asarray(classifier.coef_, dtype=np.float64) + # liblinear exposes a scalar 0.0 when fit_intercept=False; other solvers + # expose a length-one array. Both represent the same binary affine model. + intercept = np.atleast_1d(np.asarray(classifier.intercept_, dtype=np.float64)) + if coefficients.shape != (1, FEATURE_COUNT) or intercept.shape != (1,): + raise ValueError("The native built-in requires one intercept and five coefficients") + coefficients = coefficients[0].copy() + intercept = float(intercept[0]) + if getattr(classifier, "multi_class", None) == "multinomial": + # sklearn represents a binary softmax with logits (-decision, decision). + coefficients *= 2.0 + intercept *= 2.0 + + def preprocessing_steps(value): + if isinstance(value, Pipeline): + steps = [] + for _, step in value.steps[:-1]: + if isinstance(step, Pipeline): + steps.extend(transform for _, transform in step.steps) + else: + steps.append(step) + return steps + preprocessing_steps(value.steps[-1][1]) + return [] + + for step in reversed(preprocessing_steps(model)): + if step is None or (isinstance(step, str) and step == "passthrough"): + continue + if not isinstance(step, StandardScaler): + raise ValueError("Only StandardScaler preprocessing can be folded into native weights") + scale = np.asarray(step.scale_, dtype=np.float64) if step.with_std else np.ones(FEATURE_COUNT) + mean = np.asarray(step.mean_, dtype=np.float64) if step.with_mean else np.zeros(FEATURE_COUNT) + if (scale.shape != (FEATURE_COUNT,) or mean.shape != (FEATURE_COUNT,) + or not np.isfinite(scale).all() or np.any(scale <= 0)): + raise ValueError("The fitted scaler must have five finite, positive scales") + coefficients /= scale + intercept -= float(np.dot(coefficients, mean)) + if not np.isfinite(coefficients).all() or not np.isfinite(intercept): + raise ValueError("The folded native logistic parameters must be finite") + return coefficients, intercept + + +def write_native_logistic(model, cpp_path): + """Serialize the portable default with enough precision to round-trip each double.""" + coefficients, intercept = extract_native_logistic(model) + text = ( + '#include "mindfulness_model.h"\n\n// clang-format off\n' + 'const double mindfulness_coefficients[5] = {' + + ','.join(format(value, '.17g') for value in coefficients) + + '};\n' + + f'double mindfulness_intercept = {intercept:.17g};\n' + + '// clang-format on\n') + path = Path(cpp_path) + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(text.encode("utf-8")) + return {"coefficients": coefficients.tolist(), "intercept": intercept, + "sha256": hashlib.sha256(text.encode("utf-8")).hexdigest()} diff --git a/src/ml/train/training_models.py b/src/ml/train/training_models.py new file mode 100644 index 000000000..d7a37e33a --- /dev/null +++ b/src/ml/train/training_models.py @@ -0,0 +1,274 @@ +"""Small, deployable classifier searches with recording-aware fitting. + +All exported estimators consume five band powers. The logistic family uses only +an affine scaler, which can be folded into BrainFlow's native coefficients. +Build each estimator on the exact training subset: calibration and stacking CV +indices must never be reused after an outer split or row selection. +""" + +import inspect +import logging +import warnings + +import numpy as np +from sklearn import config_context +from sklearn.calibration import CalibratedClassifierCV +from sklearn.ensemble import (ExtraTreesClassifier, GradientBoostingClassifier, HistGradientBoostingClassifier, + RandomForestClassifier, StackingClassifier) +from sklearn.linear_model import LogisticRegression +from sklearn.model_selection import StratifiedGroupKFold +from sklearn.neighbors import KNeighborsClassifier +from sklearn.neural_network import MLPClassifier +from sklearn.pipeline import Pipeline +from sklearn.preprocessing import PolynomialFeatures, StandardScaler +from sklearn.svm import SVC + + +def grouped_splits(y, groups, n_splits=4, seed=42): + """Return deterministic group-disjoint folds, with both classes on each side. + + Fewer folds are tried when group composition makes the requested split + impossible. A failure is explicit; ordinary sample-level CV is never used. + Every input row appears in exactly one validation fold. + """ + y, groups = np.asarray(y), np.asarray(groups) + if y.ndim != 1 or groups.ndim != 1 or len(y) != len(groups) or len(np.unique(y)) != 2: + raise ValueError('Grouped binary CV requires matching one-dimensional labels and groups') + available = min(len(np.unique(groups[y == label])) for label in np.unique(y)) + maximum = min(int(n_splits), len(np.unique(groups)), available) + for count in range(maximum, 1, -1): + for attempt in range(12): + cv = StratifiedGroupKFold(count, shuffle=True, random_state=int(seed) + attempt) + folds = list(cv.split(np.zeros((len(y), 1)), y, groups)) + if all(len(np.unique(y[train])) == len(np.unique(y[test])) == 2 and + not np.intersect1d(groups[train], groups[test]).size for train, test in folds): + return folds + raise ValueError('Not enough independent groups to put both classes in every CV split') + + +def candidate_specs(seed=42, quick=False): + """Return a reproducible, JSON-serializable search of about 12 specs/family.""" + del seed # Estimator randomness belongs to build_model; the grid itself is fixed. + configurations = { + 'logreg': [dict(C=c, fit_intercept=True) for c in (0.001, 0.01, 0.1, 1., 10., 100.) + for _ in range(2)], + 'svm': ([dict(kernel='linear', C=c, gamma='scale') for c in (0.1, 1., 10.)] + + [dict(kernel='rbf', C=c, gamma=g) for c in (0.3, 3., 30.) for g in (0.1, 1., 'scale')]), + 'random_forest': [dict(max_depth=depth, min_samples_leaf=leaf, + max_features=1.0 if leaf in (3, 30) else 'sqrt') + for depth in (3, 6, None) for leaf in (3, 10, 30, 100)], + 'knn': [dict(n_neighbors=k, weights=weight, p=p) + for k in (7, 21, 51, 101) for weight, p in (('uniform', 2), ('distance', 2), ('distance', 1))], + 'mlp': [dict(hidden_layer_sizes=size, alpha=alpha, + activation='relu' if alpha in (0.1, 10.) else 'tanh') + for size in ([8], [16], [16, 8]) for alpha in (0.01, 0.1, 1., 10.)], + 'hist_gradient_boosting': [dict(max_leaf_nodes=leaves, l2_regularization=penalty) + for leaves in (3, 7, 15) for penalty in (0.1, 1., 10., 100.)], + 'extra_trees': [dict(max_depth=depth, min_samples_leaf=leaf, max_features=1.0) + for depth in (3, 6, None) for leaf in (3, 10, 30, 100)], + 'polynomial_logreg': [dict(degree=degree, C=c) for degree in (2, 3) + for c in (.001, .01, .1, 1., 10., 100.)], + 'gradient_boosting': [dict(max_depth=depth, min_samples_leaf=leaf, learning_rate=rate) + for depth in (1, 2, 3) for leaf in (5, 20) for rate in (.03, .1)], + } + quick_indices = {'logreg': (4, 6), 'svm': (1, 6), 'random_forest': (5, 10), + 'knn': (4, 6), 'mlp': (2, 7), 'hist_gradient_boosting': (5, 6), 'extra_trees': (5, 10), + 'polynomial_logreg': (2, 8), 'gradient_boosting': (3, 7)} + specs = [dict(name='logreg_legacy_hyperparameters', family='logreg', + params=dict(C=1., fit_intercept=False, solver='liblinear'), augmentation=False)] + for family, configurations_for_family in configurations.items(): + indices = quick_indices[family] if quick else range(len(configurations_for_family)) + for index in indices: + augmentation = (index % 2 == 1) if family == 'logreg' else (index % 3 == 2) + specs.append(dict(name=f'{family}_{index:02d}', family=family, + params=configurations_for_family[index], augmentation=augmentation)) + return specs + + +def _pipeline(classifier): + return Pipeline([('scaler', StandardScaler()), ('classifier', classifier)]) + + +def build_model(spec, X, y, groups, seed=42): + """Build an unfitted estimator, keeping all learned transforms in its graph.""" + family, params = spec['family'], dict(spec.get('params', {})) + if family == 'logreg': + options = dict(solver='lbfgs', C=1., max_iter=2000, tol=1e-7, + fit_intercept=True, random_state=seed, n_jobs=1) + options.update(params) + model = _pipeline(LogisticRegression(**options)) + elif family == 'polynomial_logreg': + degree = params.pop('degree') + model = Pipeline([('features', PolynomialFeatures(degree=degree, include_bias=False)), + ('scaler', StandardScaler()), + ('classifier', LogisticRegression(solver='lbfgs', max_iter=3000, + tol=1e-7, random_state=seed, n_jobs=1, **params))]) + elif family == 'svm': + options = dict(kernel='rbf', C=1., gamma='scale', probability=False, + cache_size=256, random_state=seed) + options.update(params) + options['probability'] = False + with config_context(enable_metadata_routing=True): + estimator = Pipeline([ + ('scaler', StandardScaler().set_fit_request(sample_weight=True)), + ('classifier', SVC(**options).set_fit_request(sample_weight=True))]) + model = CalibratedClassifierCV(estimator, method='sigmoid', ensemble=False, n_jobs=1, + cv=grouped_splits(y, groups, n_splits=3, seed=seed)) + elif family in ('random_forest', 'extra_trees'): + options = dict(n_estimators=256, n_jobs=1, random_state=seed) + options.update(params) + factory = RandomForestClassifier if family == 'random_forest' else ExtraTreesClassifier + model = factory(**options) + elif family == 'knn': + options = dict(n_neighbors=21, weights='distance', p=2, n_jobs=1) + options.update(params) + model = _pipeline(KNeighborsClassifier(**options)) + elif family == 'mlp': + options = dict(hidden_layer_sizes=(16,), solver='lbfgs', activation='tanh', + alpha=1., max_iter=3000, max_fun=50000, tol=1e-6, + early_stopping=False, random_state=seed) + options.update(params) + options['hidden_layer_sizes'] = tuple(options['hidden_layer_sizes']) + model = _pipeline(MLPClassifier(**options)) + elif family == 'hist_gradient_boosting': + options = dict(max_iter=150, learning_rate=0.05, min_samples_leaf=20, + early_stopping=False, random_state=seed) + options.update(params) + model = HistGradientBoostingClassifier(**options) + elif family == 'gradient_boosting': + options = dict(n_estimators=200, random_state=seed, n_iter_no_change=None) + options.update(params) + model = GradientBoostingClassifier(**options) + else: + raise ValueError(f'Unknown classifier family: {family}') + model._brainflow_seed = int(seed) + return model + + +def _recording_weights(y, recording_ids): + """Equal total mass per recording followed by equal total mass per class.""" + y, recording_ids = np.asarray(y), np.asarray(recording_ids) + _, inverse, counts = np.unique(recording_ids, return_inverse=True, return_counts=True) + weights = 1. / counts[inverse] + for label in np.unique(y): + selected = y == label + weights[selected] /= weights[selected].sum() + return weights * (len(y) / weights.sum()) + + +def _uniform_recording_indices(y, recording_ids, cap=256): + """Deterministic temporal coverage with equal recording/class contributions. + + These indices are used only in training for estimators without sample weights. + At most cap rows per recording are retained. Short recordings are repeated + deterministically to emulate equal recording weights without discarding the + temporal coverage of every longer recording. These repeats stay in their + original group and are never used for validation. Each recording has one label. + """ + y, recording_ids = np.asarray(y), np.asarray(recording_ids) + records = np.unique(recording_ids) + rows = [np.flatnonzero(recording_ids == recording) for recording in records] + labels = [] + for indices in rows: + labels_for_record = np.unique(y[indices]) + if len(labels_for_record) != 1: + raise ValueError('A recording must have one class for uniform recording sampling') + labels.append(labels_for_record[0]) + labels = np.asarray(labels) + per_class = {label: int(np.sum(labels == label)) for label in np.unique(labels)} + target = min(int(cap), max(map(len, rows))) + minority_records = min(per_class.values()) + selected = [] + for indices, label in zip(rows, labels): + count = max(1, int(target * minority_records / per_class[label])) + selected.extend(indices[np.linspace(0, len(indices) - 1, count, dtype=int)]) + return np.sort(np.asarray(selected, dtype=int)) + + +def _fit_model(model, X, y, recording_ids): + """Fit with recording/class-balanced weights, or uniformly capped windows. + + Returns the fitted estimator. Stacking must be built through build_stacking + so its group metadata can be adjusted when capped training rows are selected. + """ + X, y, recording_ids = np.asarray(X), np.asarray(y), np.asarray(recording_ids) + if len(X) != len(y) or len(y) != len(recording_ids) or len(y) == 0: + raise ValueError('Training arrays must have matching nonzero lengths') + classifier = model.named_steps['classifier'] if isinstance(model, Pipeline) else model + unweighted = isinstance(classifier, (KNeighborsClassifier, MLPClassifier, StackingClassifier)) + if unweighted: + indices = _uniform_recording_indices(y, recording_ids) + if isinstance(classifier, StackingClassifier): + if not hasattr(model, '_brainflow_groups') or len(model._brainflow_groups) != len(y): + raise ValueError('Build stacking on this exact training subset before fitting') + model.cv = grouped_splits(y[indices], model._brainflow_groups[indices], n_splits=3, + seed=model._brainflow_seed) + # Neighbors must also fit inside the smallest inner training fold. + minimum_train = min(len(train) for train, _ in model.cv) + for _, base in model.estimators: + inner = base.named_steps['classifier'] if isinstance(base, Pipeline) else base + if isinstance(inner, KNeighborsClassifier): + inner.set_params(n_neighbors=min(inner.n_neighbors, minimum_train)) + elif isinstance(classifier, KNeighborsClassifier): + classifier.set_params(n_neighbors=min(classifier.n_neighbors, len(indices))) + model.fit(X[indices], y[indices]) + used_rows = len(indices) + else: + weights = _recording_weights(y, recording_ids) + if isinstance(model, CalibratedClassifierCV): + with config_context(enable_metadata_routing=True): + model.fit(X, y, sample_weight=weights) + elif isinstance(model, Pipeline): + if 'sample_weight' not in inspect.signature(classifier.fit).parameters: + raise TypeError('Classifier does not support recording-balanced sample weights') + model.fit(X, y, classifier__sample_weight=weights, scaler__sample_weight=weights) + else: + model.fit(X, y, sample_weight=weights) + used_rows = len(y) + model._brainflow_fit_summary = dict(input_rows=len(y), fitted_rows=used_rows, + recordings=len(np.unique(recording_ids)), + weighting='uniform_recording_class_cap' if unweighted else 'equal_recording_class') + return model + + +def fit_model(model, X, y, recording_ids): + """Fit and preserve all fit warnings for candidate and deployment reports.""" + with warnings.catch_warnings(record=True) as caught: + warnings.simplefilter('always') + fitted = _fit_model(model, X, y, recording_ids) + messages = sorted({(warning.category.__name__, str(warning.message)) for warning in caught}) + fitted._brainflow_fit_summary['warnings'] = [dict(category=category, message=message) + for category, message in messages] + fitted._brainflow_fit_summary['warning_count'] = len(caught) + fitted._brainflow_fit_summary['convergence_warning'] = any( + category == 'ConvergenceWarning' for category, _ in messages) + for category, message in messages: + logging.warning('%s during model fit: %s', category, message) + classifier = fitted.named_steps['classifier'] if isinstance(fitted, Pipeline) else fitted + if hasattr(classifier, 'n_iter_'): + fitted._brainflow_fit_summary['iterations'] = np.asarray(classifier.n_iter_).tolist() + return fitted + + +def build_stacking(specs, X, y, groups, seed=42): + """Group-cross-fitted stack of LR/RF/KNN/MLP, using canonical training rows. + + SVM is excluded: its calibration group folds would require regeneration for + each stacking split. The caller must not pass augmented validation rows. + """ + allowed = {'logreg', 'random_forest', 'knn', 'mlp'} + chosen, families = [], set() + for spec in specs: + family = spec['family'] + if family in allowed and family not in families: + chosen.append((family, build_model(spec, X, y, groups, seed=seed))) + families.add(family) + if len(chosen) < 2: + raise ValueError('Stacking requires at least two eligible classifier families') + model = StackingClassifier( + estimators=chosen, final_estimator=LogisticRegression(C=1., max_iter=2000, random_state=seed, n_jobs=1), + cv=grouped_splits(y, groups, n_splits=3, seed=seed), stack_method='predict_proba', + passthrough=False, n_jobs=1) + model._brainflow_groups = np.asarray(groups).copy() + model._brainflow_seed = int(seed) + return model diff --git a/src/ml/train/training_report.json b/src/ml/train/training_report.json new file mode 100644 index 000000000..1f24b424c --- /dev/null +++ b/src/ml/train/training_report.json @@ -0,0 +1,126346 @@ +{ + "arguments": { + "augmentation_windows": [ + 5.0, + 12.0 + ], + "board_id": 7, + "cache": "D:\\workspace\\brainflow\\build\\reviews\\classifier_features.npz", + "channel_subsets": false, + "cv_folds": 4, + "data_dir": "D:\\workspace\\brainflow\\src\\ml\\train\\data", + "extract_only": false, + "holdout_fold": 0, + "holdout_folds": 5, + "jobs": 6, + "manifest": null, + "max_windows_per_recording": 128, + "output_dir": "D:\\workspace\\brainflow\\src\\ml\\train", + "quick": false, + "reuse_dataset": false, + "seed": 42, + "skip_seconds": 10.0, + "window_seconds": 8.0, + "work_dir": "D:\\workspace\\brainflow\\build\\classifier_training" + }, + "board_metadata_source": "explicit --board-id", + "completed_utc": "2026-10-04T23:43:17.691176+00:00", + "created_utc": "2026-10-04T23:41:10.000754+00:00", + "dataset": { + "augmented_windows": 9910, + "canonical_windows": 4835, + "groups": 25, + "provenance": { + "config": { + "apply_filter": true, + "augmentation_windows": [ + 5.0, + 12.0 + ], + "board_id": 7, + "channel_subsets": null, + "feature_schema": "avg-band-powers-2-4_4-8_8-13_13-30_30-45-v1", + "labels": { + "focused": 1, + "relaxed": 0 + }, + "max_windows_per_recording": 128, + "seed": 42, + "skip_seconds": 10.0, + "window_seconds": 8.0 + }, + "created_utc": "2026-09-28T20:48:37.676544+00:00", + "fingerprint": "322532ebf8fbf0e499b375a93e473e93ad1ff0493d05965662f6a703bc972962", + "grouping_caveat": "UTC recording day is a conservative proxy, not evidence of independent subjects.", + "identity": { + "config": { + "apply_filter": true, + "augmentation_windows": [ + 5.0, + 12.0 + ], + "board_id": 7, + "channel_subsets": null, + "feature_schema": "avg-band-powers-2-4_4-8_8-13_13-30_30-45-v1", + "labels": { + "focused": 1, + "relaxed": 0 + }, + "max_windows_per_recording": 128, + "seed": 42, + "skip_seconds": 10.0, + "window_seconds": 8.0 + }, + "extractor_sha256": "4b7bbf08be3e96e94d2b1ef7d03cee6bbb4acd834f37e4deeb58641333b7749b", + "manifest": {}, + "native_band_power_info": { + "250": { + "edge_samples": 330, + "edge_seconds": 1.32, + "frequency_resolution": 0.48828125, + "minimum_samples": 1172, + "nfft": 512 + } + }, + "native_dsp_sha256": "63a56e8462b9ebd583af12f23ba1d524fa2093f6896e09e6a6dbec35a7e7485d", + "python_dsp_sha256": "c7004dae67460b705f34a96009a76ca90dbb0b460ed0f34145228493c0da9688", + "resolved_recordings": [ + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play10.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play11.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play12.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play13.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play14.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play15.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play16.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play17.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play18.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play2.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play20.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play21.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play22.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play23.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play24.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play25.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play26.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play27.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play28.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play29.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play3.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play30.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play31.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play32.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play5.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play6.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play7.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play8.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "focused", + "manifest": {}, + "recording_id": "focused/play9.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 1 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine10.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine11.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine12.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine13.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine14.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine15.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine16.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine17.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine18.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine19.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine2.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine20.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine21.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine22.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine23.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine24.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine3.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine6.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine7.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine8.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + }, + { + "board_id": 7, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "label": "relaxed", + "manifest": {}, + "recording_id": "relaxed/wine9.csv", + "sampling_rate": 250, + "timestamp_channel": 10, + "y": 0 + } + ], + "source_files": [ + { + "mtime_ns": 1790623949441988500, + "path": "focused/play10.csv", + "size": 18084438 + }, + { + "mtime_ns": 1790623952004790200, + "path": "focused/play11.csv", + "size": 22697910 + }, + { + "mtime_ns": 1790623954500523100, + "path": "focused/play12.csv", + "size": 15907446 + }, + { + "mtime_ns": 1790623957766540300, + "path": "focused/play13.csv", + "size": 21778902 + }, + { + "mtime_ns": 1790623959974245800, + "path": "focused/play14.csv", + "size": 22145814 + }, + { + "mtime_ns": 1790623962168458000, + "path": "focused/play15.csv", + "size": 17560061 + }, + { + "mtime_ns": 1790623965979014300, + "path": "focused/play16.csv", + "size": 36071759 + }, + { + "mtime_ns": 1790623968633496900, + "path": "focused/play17.csv", + "size": 39246966 + }, + { + "mtime_ns": 1790623971515899800, + "path": "focused/play18.csv", + "size": 33766302 + }, + { + "mtime_ns": 1790623973502295300, + "path": "focused/play2.csv", + "size": 23097366 + }, + { + "mtime_ns": 1790623976044036800, + "path": "focused/play20.csv", + "size": 21759962 + }, + { + "mtime_ns": 1790623979115012800, + "path": "focused/play21.csv", + "size": 20579958 + }, + { + "mtime_ns": 1790623983388838700, + "path": "focused/play22.csv", + "size": 34795062 + }, + { + "mtime_ns": 1790623985264023600, + "path": "focused/play23.csv", + "size": 17314580 + }, + { + "mtime_ns": 1790623988388616200, + "path": "focused/play24.csv", + "size": 18777899 + }, + { + "mtime_ns": 1790623992842556300, + "path": "focused/play25.csv", + "size": 16267777 + }, + { + "mtime_ns": 1790623995035215000, + "path": "focused/play26.csv", + "size": 4039911 + }, + { + "mtime_ns": 1790623998607507700, + "path": "focused/play27.csv", + "size": 18590712 + }, + { + "mtime_ns": 1790624002299745000, + "path": "focused/play28.csv", + "size": 16650523 + }, + { + "mtime_ns": 1790624006611661500, + "path": "focused/play29.csv", + "size": 34776918 + }, + { + "mtime_ns": 1790624008975246200, + "path": "focused/play3.csv", + "size": 18305910 + }, + { + "mtime_ns": 1790624011931767200, + "path": "focused/play30.csv", + "size": 16064694 + }, + { + "mtime_ns": 1790624014999685200, + "path": "focused/play31.csv", + "size": 20184534 + }, + { + "mtime_ns": 1790624018010289900, + "path": "focused/play32.csv", + "size": 18538902 + }, + { + "mtime_ns": 1790624021301947700, + "path": "focused/play5.csv", + "size": 20711286 + }, + { + "mtime_ns": 1790624024393070300, + "path": "focused/play6.csv", + "size": 22332150 + }, + { + "mtime_ns": 1790624027177179000, + "path": "focused/play7.csv", + "size": 18436662 + }, + { + "mtime_ns": 1790624029851766500, + "path": "focused/play8.csv", + "size": 17674902 + }, + { + "mtime_ns": 1790624033646351100, + "path": "focused/play9.csv", + "size": 24251958 + }, + { + "mtime_ns": 1790623688784999300, + "path": "relaxed/wine10.csv", + "size": 63514773 + }, + { + "mtime_ns": 1790623696149756300, + "path": "relaxed/wine11.csv", + "size": 63553426 + }, + { + "mtime_ns": 1790623699148729900, + "path": "relaxed/wine12.csv", + "size": 62961053 + }, + { + "mtime_ns": 1790623711454779000, + "path": "relaxed/wine13.csv", + "size": 63262460 + }, + { + "mtime_ns": 1790623701099954100, + "path": "relaxed/wine14.csv", + "size": 63812408 + }, + { + "mtime_ns": 1790623701856804500, + "path": "relaxed/wine15.csv", + "size": 63479345 + }, + { + "mtime_ns": 1790623723074634500, + "path": "relaxed/wine16.csv", + "size": 64325568 + }, + { + "mtime_ns": 1790623714287580500, + "path": "relaxed/wine17.csv", + "size": 63183348 + }, + { + "mtime_ns": 1790623718064637100, + "path": "relaxed/wine18.csv", + "size": 62864506 + }, + { + "mtime_ns": 1790623711004956800, + "path": "relaxed/wine19.csv", + "size": 64466405 + }, + { + "mtime_ns": 1790623730321560600, + "path": "relaxed/wine2.csv", + "size": 64642806 + }, + { + "mtime_ns": 1790623726169031500, + "path": "relaxed/wine20.csv", + "size": 64073692 + }, + { + "mtime_ns": 1790623720720124700, + "path": "relaxed/wine21.csv", + "size": 64202587 + }, + { + "mtime_ns": 1790623733847936200, + "path": "relaxed/wine22.csv", + "size": 64639840 + }, + { + "mtime_ns": 1790623726915619100, + "path": "relaxed/wine23.csv", + "size": 65218368 + }, + { + "mtime_ns": 1790623737704989200, + "path": "relaxed/wine24.csv", + "size": 64808769 + }, + { + "mtime_ns": 1790623734625965900, + "path": "relaxed/wine3.csv", + "size": 64645686 + }, + { + "mtime_ns": 1790623747304176000, + "path": "relaxed/wine6.csv", + "size": 64580528 + }, + { + "mtime_ns": 1790623742171918400, + "path": "relaxed/wine7.csv", + "size": 63230452 + }, + { + "mtime_ns": 1790623751574174400, + "path": "relaxed/wine8.csv", + "size": 62409301 + }, + { + "mtime_ns": 1790623754895757700, + "path": "relaxed/wine9.csv", + "size": 63108995 + } + ], + "source_fingerprint_mode": "relative_path_size_mtime_ns" + }, + "issues": [], + "native_band_power_info": { + "250": { + "edge_samples": 330, + "edge_seconds": 1.32, + "frequency_resolution": 0.48828125, + "minimum_samples": 1172, + "nfft": 512 + } + }, + "recordings": [ + { + "augmented_windows": 140, + "board_id": 7, + "canonical_windows": 61, + "columns": 12, + "duration_seconds": 505.432, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597154791.246614, + "group": "utc-day:2020-08-11", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597155297.452893, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-11", + "recording_id": "focused/play10.csv", + "samples": 126358, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.61365599767578, + "y": 1 + }, + { + "augmented_windows": 175, + "board_id": 7, + "canonical_windows": 77, + "columns": 12, + "duration_seconds": 633.584, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597155877.458383, + "group": "utc-day:2020-08-11", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597156452.771831, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-11", + "recording_id": "focused/play11.csv", + "samples": 158396, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 275.31774298649935, + "y": 1 + }, + { + "augmented_windows": 122, + "board_id": 7, + "canonical_windows": 54, + "columns": 12, + "duration_seconds": 444.96, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597237213.897978, + "group": "utc-day:2020-08-12", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597237658.978963, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-12", + "recording_id": "focused/play12.csv", + "samples": 111240, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.92754979697384, + "y": 1 + }, + { + "augmented_windows": 168, + "board_id": 7, + "canonical_windows": 74, + "columns": 12, + "duration_seconds": 608.056, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597237935.129938, + "group": "utc-day:2020-08-12", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597238543.410666, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-12", + "recording_id": "focused/play13.csv", + "samples": 152014, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9043500430892, + "y": 1 + }, + { + "augmented_windows": 171, + "board_id": 7, + "canonical_windows": 76, + "columns": 12, + "duration_seconds": 618.248, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597238968.019005, + "group": "utc-day:2020-08-12", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597239586.500001, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-12", + "recording_id": "focused/play14.csv", + "samples": 154562, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.90258557050316, + "y": 1 + }, + { + "augmented_windows": 136, + "board_id": 7, + "canonical_windows": 60, + "columns": 12, + "duration_seconds": 494.32, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597514576.095342, + "group": "utc-day:2020-08-15", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597515070.480425, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-15", + "recording_id": "focused/play15.csv", + "samples": 123580, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.96304350462438, + "y": 1 + }, + { + "augmented_windows": 211, + "board_id": 7, + "canonical_windows": 124, + "columns": 12, + "duration_seconds": 1008.936, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597515210.566689, + "group": "utc-day:2020-08-15", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597516219.827395, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-15", + "recording_id": "focused/play16.csv", + "samples": 252234, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91758671819994, + "y": 1 + }, + { + "augmented_windows": 218, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1093.28, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597516489.694384, + "group": "utc-day:2020-08-15", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597517583.36062, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-15", + "recording_id": "focused/play17.csv", + "samples": 273320, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.90988203008888, + "y": 1 + }, + { + "augmented_windows": 205, + "board_id": 7, + "canonical_windows": 116, + "columns": 12, + "duration_seconds": 941.04, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597517820.062051, + "group": "utc-day:2020-08-15", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597518761.418046, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-15", + "recording_id": "focused/play18.csv", + "samples": 235260, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9139552566867, + "y": 1 + }, + { + "augmented_windows": 178, + "board_id": 7, + "canonical_windows": 79, + "columns": 12, + "duration_seconds": 644.68, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597064440.853964, + "group": "utc-day:2020-08-10", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597065067.841832, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-10", + "recording_id": "focused/play2.csv", + "samples": 161170, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 257.0512258191531, + "y": 1 + }, + { + "augmented_windows": 170, + "board_id": 7, + "canonical_windows": 75, + "columns": 12, + "duration_seconds": 611.608, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1598031307.130151, + "group": "utc-day:2020-08-21", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1598031918.847312, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-21", + "recording_id": "focused/play20.csv", + "samples": 152902, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.95211800990256, + "y": 1 + }, + { + "augmented_windows": 159, + "board_id": 7, + "canonical_windows": 70, + "columns": 12, + "duration_seconds": 574.752, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1598032158.711847, + "group": "utc-day:2020-08-21", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1598032733.679314, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-21", + "recording_id": "focused/play21.csv", + "samples": 143688, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9028350106316, + "y": 1 + }, + { + "augmented_windows": 207, + "board_id": 7, + "canonical_windows": 119, + "columns": 12, + "duration_seconds": 969.616, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1598032994.857972, + "group": "utc-day:2020-08-21", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1598033964.822568, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-21", + "recording_id": "focused/play22.csv", + "samples": 242404, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.90809045130237, + "y": 1 + }, + { + "augmented_windows": 134, + "board_id": 7, + "canonical_windows": 59, + "columns": 12, + "duration_seconds": 487.432, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600591106.485578, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600591594.002354, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play23.csv", + "samples": 121858, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.95242428000543, + "y": 1 + }, + { + "augmented_windows": 147, + "board_id": 7, + "canonical_windows": 65, + "columns": 12, + "duration_seconds": 532.08, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600591857.449616, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600592389.696988, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play24.csv", + "samples": 133020, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91762657760404, + "y": 1 + }, + { + "augmented_windows": 127, + "board_id": 7, + "canonical_windows": 56, + "columns": 12, + "duration_seconds": 461.376, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600592610.468179, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600593071.988621, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play25.csv", + "samples": 115344, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9174240211828, + "y": 1 + }, + { + "augmented_windows": 28, + "board_id": 7, + "canonical_windows": 13, + "columns": 12, + "duration_seconds": 114.92, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600593823.60069, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600593938.546281, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play26.csv", + "samples": 28730, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.92694106192988, + "y": 1 + }, + { + "augmented_windows": 144, + "board_id": 7, + "canonical_windows": 64, + "columns": 12, + "duration_seconds": 523.128, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600594815.739545, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600595339.018663, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play27.csv", + "samples": 130782, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.92398042592012, + "y": 1 + }, + { + "augmented_windows": 129, + "board_id": 7, + "canonical_windows": 57, + "columns": 12, + "duration_seconds": 468.856, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600595542.897288, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600596011.9033, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play28.csv", + "samples": 117214, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91577295447166, + "y": 1 + }, + { + "augmented_windows": 207, + "board_id": 7, + "canonical_windows": 119, + "columns": 12, + "duration_seconds": 969.112, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600601263.29206, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600602232.579361, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play29.csv", + "samples": 242278, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.95272272128798, + "y": 1 + }, + { + "augmented_windows": 141, + "board_id": 7, + "canonical_windows": 62, + "columns": 12, + "duration_seconds": 511.584, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597065653.848814, + "group": "utc-day:2020-08-10", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597066078.648089, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-10", + "recording_id": "focused/play3.csv", + "samples": 127896, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 301.0692521159761, + "y": 1 + }, + { + "augmented_windows": 123, + "board_id": 7, + "canonical_windows": 54, + "columns": 12, + "duration_seconds": 449.328, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600602673.613745, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600603123.045741, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play30.csv", + "samples": 112332, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.93770130516322, + "y": 1 + }, + { + "augmented_windows": 156, + "board_id": 7, + "canonical_windows": 69, + "columns": 12, + "duration_seconds": 563.768, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600603455.837379, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600604019.750717, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play31.csv", + "samples": 140942, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.93202060688233, + "y": 1 + }, + { + "augmented_windows": 143, + "board_id": 7, + "canonical_windows": 63, + "columns": 12, + "duration_seconds": 518.056, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600604240.580678, + "group": "utc-day:2020-09-20", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1600604758.757567, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-20", + "recording_id": "focused/play32.csv", + "samples": 129514, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.93781614663408, + "y": 1 + }, + { + "augmented_windows": 160, + "board_id": 7, + "canonical_windows": 71, + "columns": 12, + "duration_seconds": 578.4, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597067208.43654, + "group": "utc-day:2020-08-10", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597067794.06716, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-10", + "recording_id": "focused/play5.csv", + "samples": 144600, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 246.90990371938176, + "y": 1 + }, + { + "augmented_windows": 173, + "board_id": 7, + "canonical_windows": 76, + "columns": 12, + "duration_seconds": 623.424, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597068223.416812, + "group": "utc-day:2020-08-10", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597068883.913131, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-10", + "recording_id": "focused/play6.csv", + "samples": 155856, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 235.96497891593918, + "y": 1 + }, + { + "augmented_windows": 143, + "board_id": 7, + "canonical_windows": 63, + "columns": 12, + "duration_seconds": 515.216, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597069196.633053, + "group": "utc-day:2020-08-10", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597069667.021196, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-10", + "recording_id": "focused/play7.csv", + "samples": 128804, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 273.8206775933659, + "y": 1 + }, + { + "augmented_windows": 136, + "board_id": 7, + "canonical_windows": 60, + "columns": 12, + "duration_seconds": 494.056, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597153233.80729, + "group": "utc-day:2020-08-11", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597153728.042038, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-11", + "recording_id": "focused/play8.csv", + "samples": 123514, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9055368489082, + "y": 1 + }, + { + "augmented_windows": 183, + "board_id": 7, + "canonical_windows": 83, + "columns": 12, + "duration_seconds": 676.752, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1597153874.368038, + "group": "utc-day:2020-08-11", + "invalid_timestamp_count": 1, + "label": "focused", + "last_timestamp": 1597154489.820951, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-11", + "recording_id": "focused/play9.csv", + "samples": 169188, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 274.89674094269316, + "y": 1 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.856, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600470110.397749, + "group": "utc-day:2020-09-18", + "invalid_timestamp_count": 1, + "label": "relaxed", + "last_timestamp": 1600471909.755994, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-18", + "recording_id": "relaxed/wine10.csv", + "samples": 449714, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9291073448362, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.92, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1650057969.280542, + "group": "utc-day:2022-04-15", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1650059764.979898, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-04-15", + "recording_id": "relaxed/wine11.csv", + "samples": 449730, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 1, + "timestamp_rate_hz": 250.44782606704302, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1799.016, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1650230707.038171, + "group": "utc-day:2022-04-17", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1650232506.395898, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-04-17", + "recording_id": "relaxed/wine12.csv", + "samples": 449754, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.95196521436736, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1799.184, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1650498841.179173, + "group": "utc-day:2022-04-20", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1650500640.514451, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-04-20", + "recording_id": "relaxed/wine13.csv", + "samples": 449796, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.97842563916439, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1799.008, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1651268247.099378, + "group": "utc-day:2022-04-29", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1651270046.453566, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-04-29", + "recording_id": "relaxed/wine14.csv", + "samples": 449752, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9513453260432, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.992, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1651610546.17701, + "group": "utc-day:2022-05-03", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1651612345.515069, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-05-03", + "recording_id": "relaxed/wine15.csv", + "samples": 449748, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.95136281551208, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.92, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1654301038.252013, + "group": "utc-day:2022-06-04", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1654302837.576677, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-06-04", + "recording_id": "relaxed/wine16.csv", + "samples": 449730, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9432197918397, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1799.0, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1654470496.121144, + "group": "utc-day:2022-06-05", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1654472295.47613, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-06-05", + "recording_id": "relaxed/wine17.csv", + "samples": 449750, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.95012296695484, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.76, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1654839781.502295, + "group": "utc-day:2022-06-10", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1654841580.844148, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-06-10", + "recording_id": "relaxed/wine18.csv", + "samples": 449690, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91860177897536, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.768, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1655155913.197364, + "group": "utc-day:2022-06-13", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1655157712.538949, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-06-13", + "recording_id": "relaxed/wine19.csv", + "samples": 449692, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91975051795006, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.72, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1595974905.634649, + "group": "utc-day:2020-07-28", + "invalid_timestamp_count": 1, + "label": "relaxed", + "last_timestamp": 1595976704.992383, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-07-28", + "recording_id": "relaxed/wine2.csv", + "samples": 449680, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91028271466936, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.776, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1655427021.50025, + "group": "utc-day:2022-06-17", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1655428820.852958, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-06-17", + "recording_id": "relaxed/wine20.csv", + "samples": 449694, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91931711605005, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.984, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1655588028.246, + "group": "utc-day:2022-06-18", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1655589827.605277, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-06-18", + "recording_id": "relaxed/wine21.csv", + "samples": 449746, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.94730387994076, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.864, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1656199601.26773, + "group": "utc-day:2022-06-25", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1656201400.617296, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-06-25", + "recording_id": "relaxed/wine22.csv", + "samples": 449716, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9319801454823, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.736, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1656702481.196561, + "group": "utc-day:2022-07-01", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1656704280.566335, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-07-01", + "recording_id": "relaxed/wine23.csv", + "samples": 449684, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91138927167592, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.808, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1657841673.716652, + "group": "utc-day:2022-07-14", + "invalid_timestamp_count": 0, + "label": "relaxed", + "last_timestamp": 1657843473.112885, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2022-07-14", + "recording_id": "relaxed/wine24.csv", + "samples": 449702, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9177178057104, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.8, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1596159519.33367, + "group": "utc-day:2020-07-31", + "invalid_timestamp_count": 1, + "label": "relaxed", + "last_timestamp": 1596161318.713031, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-07-31", + "recording_id": "relaxed/wine3.csv", + "samples": 449700, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.9183939244095, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.776, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1598041507.729423, + "group": "utc-day:2020-08-21", + "invalid_timestamp_count": 1, + "label": "relaxed", + "last_timestamp": 1598043307.08957, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-08-21", + "recording_id": "relaxed/wine6.csv", + "samples": 449694, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91772811569342, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.816, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1599598201.438872, + "group": "utc-day:2020-09-08", + "invalid_timestamp_count": 1, + "label": "relaxed", + "last_timestamp": 1599600000.802111, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-08", + "recording_id": "relaxed/wine7.csv", + "samples": 449704, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.92285620830793, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1798.736, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1599600058.342702, + "group": "utc-day:2020-09-08", + "invalid_timestamp_count": 1, + "label": "relaxed", + "last_timestamp": 1599601857.70563, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-08", + "recording_id": "relaxed/wine8.csv", + "samples": 449684, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.91178431235988, + "y": 0 + }, + { + "augmented_windows": 256, + "board_id": 7, + "canonical_windows": 128, + "columns": 12, + "duration_seconds": 1799.08, + "eeg_channels": [ + 1, + 2, + 3, + 4 + ], + "expected_columns": 12, + "explicit_group": null, + "first_timestamp": 1600130077.041531, + "group": "utc-day:2020-09-15", + "invalid_timestamp_count": 1, + "label": "relaxed", + "last_timestamp": 1600131876.39933, + "nonfinite_eeg_values": 0, + "recording_day_utc": "2020-09-15", + "recording_id": "relaxed/wine9.csv", + "samples": 449770, + "sampling_rate": 250, + "skipped_windows": {}, + "status": "ok", + "timestamp_channel": 10, + "timestamp_nonpositive_steps": 0, + "timestamp_rate_hz": 249.96029155305274, + "y": 0 + } + ], + "workers": 4 + }, + "recordings": 50 + }, + "fingerprint": "315272f3d22f632e01c2e980515c9023eee702061e2afb6ee1c240c790fb3ceb", + "historical_native_baseline": { + "coefficients": [ + -1.4060899708538128, + 2.597693987367105, + -30.96470526503066, + 12.04593986553724, + 45.773017975354556 + ], + "feature_source": "current DSP, not historical extraction", + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04451708281170827, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.22210206563677215, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.7499100943458616, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7224292855345177, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.7186452673459022, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.842065190127969, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.19245241582885136, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038765029750007216, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12176563176852297, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2430530422122935, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8528790339663957, + "balanced_accuracy": 0.8528790339663956, + "brier": 0.09583103219069253, + "confusion_matrix": [ + [ + 3.5625, + 0.4375 + ], + [ + 0.7394677282688351, + 3.26053227173117 + ] + ], + "log_loss": 0.3246702802329685, + "macro_f1": 0.8526691231280255, + "macro_precision": 0.8549016296421678, + "macro_recall": 0.8528790339663961, + "roc_auc": 0.9419474552407121 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05614645691070175, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.26579524948869576, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.7499100943458616, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7224292855345177, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.7186452673459022, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.842065190127969, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.19245241582885136, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.8255439543462331, + "balanced_accuracy": 0.8411602839663956, + "brier": 0.10617400572428508, + "confusion_matrix": [ + [ + 0.8671875, + 0.1328125 + ], + [ + 0.7394677282688351, + 3.26053227173117 + ] + ], + "log_loss": 0.3263259267445798, + "macro_f1": 0.7736911794127062, + "macro_precision": 0.750303994109305, + "macro_recall": 0.8411602839663961, + "roc_auc": 0.9460153403860545 + }, + "window_count": 409, + "year": 2020 + }, + "intercept": 0.0 + }, + "holdout_predictions_sha256": "e336be0846a7584daef5a7a089e3d2cc4249774dae8ff3b90bb9585410eb13cd", + "identity": { + "dataset_fingerprint": "322532ebf8fbf0e499b375a93e473e93ad1ff0493d05965662f6a703bc972962", + "feature_arrays_sha256": "58da50315827bf2a8c29fb65e92257f57eda74066623f85512b320179f7cba79", + "quick": false, + "sources": { + "train_classifiers.py": "cb3a85af0f8dee60ff287d448580086850c65ff12619d0a1631a7d1829b4df89", + "training_data.py": "4b7bbf08be3e96e94d2b1ef7d03cee6bbb4acd834f37e4deeb58641333b7749b", + "training_export.py": "2620d6f2f79c64e28bf2b35e50adfaccf3f73a93860fc0f2165a1bf6b639ddee", + "training_models.py": "d36adbb55be53127504d425883d954485625f25997e30e5b70ea01adfa07c1e4" + }, + "splits": { + "actual_cv_folds": 4, + "actual_holdout_folds": 5, + "development_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-07-31", + "utc-day:2020-08-10", + "utc-day:2020-08-12", + "utc-day:2020-08-15", + "utc-day:2020-08-21", + "utc-day:2020-09-08", + "utc-day:2020-09-15", + "utc-day:2020-09-20", + "utc-day:2022-04-15", + "utc-day:2022-04-17", + "utc-day:2022-04-20", + "utc-day:2022-04-29", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-13", + "utc-day:2022-06-17", + "utc-day:2022-06-18", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "development_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play2.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play3.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine12.csv", + "relaxed/wine13.csv", + "relaxed/wine14.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine20.csv", + "relaxed/wine21.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine3.csv", + "relaxed/wine6.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv", + "relaxed/wine9.csv" + ], + "folds": [ + { + "canonical_validation_windows": 1068, + "train_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-08-10", + "utc-day:2020-08-12", + "utc-day:2020-08-21", + "utc-day:2020-09-15", + "utc-day:2020-09-20", + "utc-day:2022-04-15", + "utc-day:2022-04-17", + "utc-day:2022-04-20", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-13", + "utc-day:2022-06-17", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "train_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play2.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play3.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine12.csv", + "relaxed/wine13.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine20.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine6.csv", + "relaxed/wine9.csv" + ], + "validation_groups": [ + "utc-day:2020-07-31", + "utc-day:2020-08-15", + "utc-day:2020-09-08", + "utc-day:2022-04-29", + "utc-day:2022-06-18" + ], + "validation_recordings": [ + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "relaxed/wine14.csv", + "relaxed/wine21.csv", + "relaxed/wine3.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv" + ] + }, + { + "canonical_validation_windows": 863, + "train_groups": [ + "utc-day:2020-07-31", + "utc-day:2020-08-12", + "utc-day:2020-08-15", + "utc-day:2020-08-21", + "utc-day:2020-09-08", + "utc-day:2020-09-15", + "utc-day:2020-09-20", + "utc-day:2022-04-17", + "utc-day:2022-04-29", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-17", + "utc-day:2022-06-18", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "train_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "relaxed/wine12.csv", + "relaxed/wine14.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine20.csv", + "relaxed/wine21.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine3.csv", + "relaxed/wine6.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv", + "relaxed/wine9.csv" + ], + "validation_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-08-10", + "utc-day:2022-04-15", + "utc-day:2022-04-20", + "utc-day:2022-06-13" + ], + "validation_recordings": [ + "focused/play2.csv", + "focused/play3.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine13.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv" + ] + }, + { + "canonical_validation_windows": 980, + "train_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-07-31", + "utc-day:2020-08-10", + "utc-day:2020-08-15", + "utc-day:2020-09-08", + "utc-day:2020-09-20", + "utc-day:2022-04-15", + "utc-day:2022-04-20", + "utc-day:2022-04-29", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-13", + "utc-day:2022-06-18", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "train_recordings": [ + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play2.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play3.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine13.csv", + "relaxed/wine14.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine21.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine3.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv" + ], + "validation_groups": [ + "utc-day:2020-08-12", + "utc-day:2020-08-21", + "utc-day:2020-09-15", + "utc-day:2022-04-17", + "utc-day:2022-06-17" + ], + "validation_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "relaxed/wine12.csv", + "relaxed/wine20.csv", + "relaxed/wine6.csv", + "relaxed/wine9.csv" + ] + }, + { + "canonical_validation_windows": 1131, + "train_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-07-31", + "utc-day:2020-08-10", + "utc-day:2020-08-12", + "utc-day:2020-08-15", + "utc-day:2020-08-21", + "utc-day:2020-09-08", + "utc-day:2020-09-15", + "utc-day:2022-04-15", + "utc-day:2022-04-17", + "utc-day:2022-04-20", + "utc-day:2022-04-29", + "utc-day:2022-06-13", + "utc-day:2022-06-17", + "utc-day:2022-06-18" + ], + "train_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play2.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play3.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine12.csv", + "relaxed/wine13.csv", + "relaxed/wine14.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine20.csv", + "relaxed/wine21.csv", + "relaxed/wine3.csv", + "relaxed/wine6.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv", + "relaxed/wine9.csv" + ], + "validation_groups": [ + "utc-day:2020-09-20", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "validation_recordings": [ + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv" + ] + } + ], + "grouping": "dataset groups; recording UTC day unless overridden by manifest", + "holdout_canonical_windows": 793, + "holdout_fold": 0, + "holdout_groups": [ + "utc-day:2020-08-11", + "utc-day:2020-09-18", + "utc-day:2022-06-04", + "utc-day:2022-06-05", + "utc-day:2022-06-25" + ], + "holdout_recordings": [ + "focused/play10.csv", + "focused/play11.csv", + "focused/play8.csv", + "focused/play9.csv", + "relaxed/wine10.csv", + "relaxed/wine16.csv", + "relaxed/wine17.csv", + "relaxed/wine22.csv" + ], + "requested_cv_folds": 4, + "requested_holdout_folds": 5, + "seed": 42, + "stratification_unit": "one canonical representative per recording" + }, + "versions": { + "joblib": "1.4.2", + "numpy": "1.25.2", + "onnx": "1.16.2", + "onnxruntime": "1.19.2", + "platform": "Windows-10-10.0.22621-SP0", + "python": "3.11.4", + "scikit-learn": "1.5.1", + "scipy": "1.11.2", + "skl2onnx": "1.17.0", + "threadpoolctl": "3.5.0" + } + }, + "limitations": [ + "Subject identities are unavailable unless supplied in the manifest; day grouping does not establish subject-independent generalization.", + "Collection era and class are confounded in the supplied dataset: focused recordings are from 2020, while many relaxed recordings are from 2022. Models may learn session or hardware differences.", + "Only one frozen grouped holdout is evaluated; small numbers of independent groups make scores uncertain. Inspect recording-level results as well as pooled metrics.", + "CV selects hyperparameters, augmentation and stacking bases; selected CV scores are optimistic. The untouched holdout evaluates this selection procedure.", + "Aborted export-validation attempts may precede this run. Pipeline fixes are not selected using holdout scores; rerunning the same split does not create a new independent validation study.", + "Labels describe the recording task and are not independently validated mental-state measurements.", + "Holdout scores belong to development-only evaluation models. Final production models are refit on all recordings, including the former holdout." + ], + "models": { + "extra_trees": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04517730777094056, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1985558699660704, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9213836484047764, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815917681920261, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8666210147331305, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8784435420732681, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.022278309118381672, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05282040553161706, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4437494646027539, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22928096907794188, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3178979950419122, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8888746626910559, + "balanced_accuracy": 0.8952964955274381, + "brier": 0.08297589676928246, + "confusion_matrix": [ + [ + 4.1875, + 0.8125 + ], + [ + 0.18762803578049678, + 3.812371964219524 + ] + ], + "log_loss": 0.27193931965978346, + "macro_f1": 0.888681269012594, + "macro_precision": 0.8907171538784824, + "macro_recall": 0.895296495527438, + "roc_auc": 0.9632271862489713 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042032691327667376, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20685840275789394, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8170194940437735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7274025801559854, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7171055995849313, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7899831517653054, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7607965405164029, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10252219651771512, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03199685704317311, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034864013901939155, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27640240704636787, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8738764044462833, + "balanced_accuracy": 0.879457514001655, + "brier": 0.0875920549071175, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.8538623599834487, + 4.146137640016541 + ] + ], + "log_loss": 0.28753314925845064, + "macro_f1": 0.8735913448217874, + "macro_precision": 0.8748704595102299, + "macro_recall": 0.8794575140016552, + "roc_auc": 0.9624268620174261 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02709233613373101, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16730070708500186, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9021833620112519, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8718057744660318, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8621373758411811, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9179738103274345, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8281285456050819, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8106771100678027, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06137884888058345, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1446569948160187, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21189566693550116, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2901919569599193, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9172475554944596, + "balanced_accuracy": 0.9076021295787162, + "brier": 0.06302032911679777, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 0.26502444505540484, + 5.734975554944579 + ] + ], + "log_loss": 0.21641771339838992, + "macro_f1": 0.9126361471948503, + "macro_precision": 0.9195495515292975, + "macro_recall": 0.9076021295787162, + "roc_auc": 0.9704260580925675 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014196248576133197, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12021204462955301, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.910510875767745, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9331183532256865, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8857913887454613, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8653696900573997, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8695768025167817, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8431438292273512, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.87668832115915, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8239715599365472, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8826071886476667, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8462551587851785, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08273900384171942, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1362134433853108, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05755795163375228, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0340577909538398, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9667533176739196, + "balanced_accuracy": 0.9667663848717436, + "brier": 0.0337892961386153, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3326410525651261, + 9.667358947434783 + ] + ], + "log_loss": 0.1400107730620441, + "macro_f1": 0.9598643165893872, + "macro_precision": 0.9536222287041227, + "macro_recall": 0.9667663848717445, + "roc_auc": 0.9944937358651065 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9086932694046548, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029870496030729672, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16677867024236762, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9021833620112519, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8718057744660318, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8621373758411811, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9213836484047764, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815917681920261, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8666210147331305, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8784435420732681, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8170194940437735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9179738103274345, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8281285456050819, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8106771100678027, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.910510875767745, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9331183532256865, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8857913887454613, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8653696900573997, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8695768025167817, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8431438292273512, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.87668832115915, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7274025801559854, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8239715599365472, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8826071886476667, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8462551587851785, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7171055995849313, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7899831517653054, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7607965405164029, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10252219651771512, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06137884888058345, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03199685704317311, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022278309118381672, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08273900384171942, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1362134433853108, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034864013901939155, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27640240704636787, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1446569948160187, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05282040553161706, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05755795163375228, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0340577909538398, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4437494646027539, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21189566693550116, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22928096907794188, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3178979950419122, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2901919569599193, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9183757525384648, + "balanced_accuracy": 0.9145973968381931, + "brier": 0.06281821433800455, + "confusion_matrix": [ + [ + 15.2109375, + 1.7890625 + ], + [ + 1.6391558933844763, + 23.360844106615726 + ] + ], + "log_loss": 0.21808524231230056, + "macro_f1": 0.9151820500663497, + "macro_precision": 0.9157926538145799, + "macro_recall": 0.9145973968381926, + "roc_auc": 0.9709268887676871 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_09", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.03265979035589359 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9116879850764297, + "std": 0.03540219973855535 + }, + "balanced_accuracy": { + "mean": 0.9122806309948882, + "std": 0.03300152881973258 + }, + "brier": { + "mean": 0.06684439423295326, + "std": 0.021201142549216297 + }, + "log_loss": { + "mean": 0.22897523884466703, + "std": 0.05776527661501749 + }, + "macro_f1": { + "mean": 0.9086932694046548, + "std": 0.03265979035589359 + }, + "macro_precision": { + "mean": 0.9096898484055331, + "std": 0.029998419812749384 + }, + "macro_recall": { + "mean": 0.9122806309948884, + "std": 0.03300152881973291 + }, + "roc_auc": { + "mean": 0.9726434605560178, + "std": 0.012994195937919586 + } + }, + "evaluation_export": { + "bytes": 3146662, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 3.940822338732719e-07, + "original_float64_max_error": 3.940822338732719e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\extra_trees_mindfulness.onnx", + "positive_class": 1, + "sha256": "6108e3a556edf8fc6439176d1c6f8b8e7f962d27ddabe2e86accb41bc685e693" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 4042, + "input_rows": 4042, + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02855375691162692, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17112485222655507, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8425524173249805, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7821873654606899, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8169363423825751, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8947368808720948, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.213798493514115, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03143431515779624, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08925258945358831, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2386239856479904, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9031136413268039, + "balanced_accuracy": 0.9031136413268039, + "brier": 0.07211723727635615, + "confusion_matrix": [ + [ + 3.5234375, + 0.4765625 + ], + [ + 0.29852836938556865, + 3.701471630614434 + ] + ], + "log_loss": 0.24539415404869264, + "macro_f1": 0.9030656343525074, + "macro_precision": 0.9039137983901044, + "macro_recall": 0.9031136413268042, + "roc_auc": 0.9597736562885162 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03250690157457452, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19418844334346214, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8425524173249805, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7821873654606899, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8169363423825751, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8947368808720948, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.213798493514115, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.9027943261228863, + "balanced_accuracy": 0.8689339538268039, + "brier": 0.07357873549863599, + "confusion_matrix": [ + [ + 0.8125, + 0.1875 + ], + [ + 0.29852836938556865, + 3.701471630614434 + ] + ], + "log_loss": 0.24445909401443822, + "macro_f1": 0.8540792140909712, + "macro_precision": 0.8415455992729676, + "macro_recall": 0.8689339538268042, + "roc_auc": 0.9539291124672737 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 3780664, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 5.484921519471886e-07, + "original_float64_max_error": 5.484921519471886e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\extra_trees_mindfulness.onnx", + "positive_class": 1, + "sha256": "b903adff21a1f0c2a3cf25cb1edfb13cc3539ba6377a998d6c399b544ef27a38" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 4835, + "input_rows": 4835, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_09", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 10 + } + } + }, + "gradient_boosting": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.040892121812611266, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17898486182441287, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9478366143670786, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8925051780096844, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8816325827305278, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8995368727498817, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.016870680069275494, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016508970658251722, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4353774515224289, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2144572975993413, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30585393834997754, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8811218998475672, + "balanced_accuracy": 0.8883324498285133, + "brier": 0.08870548535923414, + "confusion_matrix": [ + [ + 4.1171875, + 0.8828125 + ], + [ + 0.18709040137189464, + 3.812909598628126 + ] + ], + "log_loss": 0.2938869684955848, + "macro_f1": 0.8809858636905166, + "macro_precision": 0.8842651404969222, + "macro_recall": 0.8883324498285132, + "roc_auc": 0.9563709264408005 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03742972171016977, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1880812909513294, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8583485830146649, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7047935222183999, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7370595617785726, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8102250349513134, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7807972714627051, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08740855506645835, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019850766943507646, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012759019044857626, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26125917842214874, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8761048387234907, + "balanced_accuracy": 0.8818537298511415, + "brier": 0.09384195415355376, + "confusion_matrix": [ + [ + 3.734375, + 0.265625 + ], + [ + 0.8494314514885832, + 4.150568548511406 + ] + ], + "log_loss": 0.3215715776139028, + "macro_f1": 0.8758393233086306, + "macro_precision": 0.8772703389278192, + "macro_recall": 0.8818537298511416, + "roc_auc": 0.9574572606654195 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02321001741787079, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1489470185018506, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9242880708676287, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8938739736825512, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.878195410333403, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9339847227095966, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.848367643212716, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8298611424641787, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04162854136953747, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.144222625889557, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17548356976238916, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3010707269134738, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.916712476242275, + "balanced_accuracy": 0.9058541468685625, + "brier": 0.062449943827807254, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.23912523757724996, + 5.760874762422733 + ] + ], + "log_loss": 0.21231104252660066, + "macro_f1": 0.9118237580977135, + "macro_precision": 0.9204836172053015, + "macro_recall": 0.9058541468685626, + "roc_auc": 0.9675008298620301 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.00999095292857124, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09840311575232094, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9181090919137318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9397172238285626, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9041753805825644, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.893078946208681, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8850800081432256, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8660854404971405, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8924468707468061, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8590584762927058, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9061714292863657, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8580964556302978, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04517585830459005, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11484043754663195, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040376493130398684, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02338745589876568, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9750302359768369, + "balanced_accuracy": 0.9731461651837858, + "brier": 0.02712636732818145, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.2245766963242825, + 9.775423303675618 + ] + ], + "log_loss": 0.11708796306561949, + "macro_f1": 0.9696369165762303, + "macro_precision": 0.966296908722317, + "macro_recall": 0.9731461651837863, + "roc_auc": 0.9944789324733998 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9095714654182727, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025639764449612728, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14692164715553999, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9242880708676287, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8938739736825512, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.878195410333403, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9478366143670786, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8925051780096844, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8816325827305278, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8995368727498817, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8583485830146649, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9339847227095966, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.848367643212716, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8298611424641787, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9181090919137318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9397172238285626, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9041753805825644, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.893078946208681, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8850800081432256, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8660854404971405, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8924468707468061, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7047935222183999, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8590584762927058, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9061714292863657, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8580964556302978, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7370595617785726, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8102250349513134, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7807972714627051, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08740855506645835, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04162854136953747, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019850766943507646, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016870680069275494, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04517585830459005, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11484043754663195, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012759019044857626, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26125917842214874, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.144222625889557, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016508970658251722, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040376493130398684, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02338745589876568, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4353774515224289, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17548356976238916, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2144572975993413, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30585393834997754, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3010707269134738, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9198235407913806, + "balanced_accuracy": 0.9150782448529953, + "brier": 0.06302846515446914, + "confusion_matrix": [ + [ + 15.1328125, + 1.8671875 + ], + [ + 1.5002237867620094, + 23.499776213238196 + ] + ], + "log_loss": 0.2214635434088111, + "macro_f1": 0.9165101642203631, + "macro_precision": 0.9180987595707173, + "macro_recall": 0.9150782448529949, + "roc_auc": 0.9657522096656775 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_11", + "params": { + "learning_rate": 0.1, + "max_depth": 3, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.03730926588183504 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9122423626975424, + "std": 0.039486398902063104 + }, + "balanced_accuracy": { + "mean": 0.9122966229330007, + "std": 0.03621195804477537 + }, + "brier": { + "mean": 0.06803093766719415, + "std": 0.026447952950956696 + }, + "log_loss": { + "mean": 0.23621438792542696, + "std": 0.07964680062982873 + }, + "macro_f1": { + "mean": 0.9095714654182727, + "std": 0.03730926588183504 + }, + "macro_precision": { + "mean": 0.91207900133809, + "std": 0.03533932965791812 + }, + "macro_recall": { + "mean": 0.912296622933001, + "std": 0.036211958044775554 + }, + "roc_auc": { + "mean": 0.9689519873604124, + "std": 0.015363451927725685 + } + }, + "evaluation_export": { + "bytes": 102405, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 3.1385121612714784e-07, + "original_float64_max_error": 3.1385121612714784e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\gradient_boosting_mindfulness.onnx", + "positive_class": 1, + "sha256": "a743b1d2ef41cfbfbd96e7e9784491618021108c66496c47d41b284568189b7f" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 12294, + "input_rows": 12294, + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026537485541726927, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16136417181256307, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8505045864275982, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8048440624519219, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8202060870222666, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9074217006076954, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.21847315747816293, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02952612416975324, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.060759677144731905, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2422282438495741, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8903297028864875, + "balanced_accuracy": 0.8903297028864874, + "brier": 0.07789652226477388, + "confusion_matrix": [ + [ + 3.5, + 0.5 + ], + [ + 0.37736237690810076, + 3.6226376230919026 + ] + ], + "log_loss": 0.2540670433333914, + "macro_f1": 0.8903039243316772, + "macro_precision": 0.8906969576994583, + "macro_recall": 0.8903297028864877, + "roc_auc": 0.9551459398293487 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02981236636802939, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18417712598575925, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8505045864275982, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8048440624519219, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8202060870222666, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9074217006076954, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.21847315747816293, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.8792150246183799, + "balanced_accuracy": 0.8395484528864874, + "brier": 0.07967704117873575, + "confusion_matrix": [ + [ + 0.7734375, + 0.2265625 + ], + [ + 0.37736237690810076, + 3.6226376230919026 + ] + ], + "log_loss": 0.2542681123918994, + "macro_f1": 0.8211341136996307, + "macro_precision": 0.8066136248878586, + "macro_recall": 0.8395484528864877, + "roc_auc": 0.9486820973215836 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 102983, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 2.3095868909028816e-07, + "original_float64_max_error": 2.3095868909028816e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\gradient_boosting_mindfulness.onnx", + "positive_class": 1, + "sha256": "08ef3b350eba51727d96344b253fba967f31731d79e7c9f7ead12dcad82b6617" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 14745, + "input_rows": 14745, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "spec": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_11", + "params": { + "learning_rate": 0.1, + "max_depth": 3, + "min_samples_leaf": 20 + } + } + }, + "hist_gradient_boosting": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04363173930464817, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19305115798011857, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9266721485526179, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815841775559161, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8732405048057746, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8959352654178616, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.037918904931491866, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03573208163717048, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43836043388808243, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22836243846047782, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3152222010357095, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8838179252667573, + "balanced_accuracy": 0.8909748534251021, + "brier": 0.08787401954194708, + "confusion_matrix": [ + [ + 4.1328125, + 0.8671875 + ], + [ + 0.17845117259918422, + 3.8215488274008367 + ] + ], + "log_loss": 0.2936629260880513, + "macro_f1": 0.8836787920714, + "macro_precision": 0.8868284661986829, + "macro_recall": 0.8909748534251021, + "roc_auc": 0.9559112998048682 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03953155612781256, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19845752183819065, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8518560462455845, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7148456342099171, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7315746622068133, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8069524351210294, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7656659623612385, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09893487959612154, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038990161979263374, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028747912668606254, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2759666840423622, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8757562052586549, + "balanced_accuracy": 0.8811493347327894, + "brier": 0.09115029327098961, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.8369441526721038, + 4.163055847327885 + ] + ], + "log_loss": 0.30300377671636725, + "macro_f1": 0.8754526669771026, + "macro_precision": 0.876501458836026, + "macro_recall": 0.8811493347327896, + "roc_auc": 0.9587267035104784 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02519773753691564, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15852480188302248, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9168901442571896, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8817873597417545, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8724517024638301, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9273752491157389, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8485648613077594, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8292264862554182, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06433414159107594, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16025320669089127, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18192027802234106, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3074765397119835, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9218361490221978, + "balanced_accuracy": 0.9111004366851647, + "brier": 0.062120448085046374, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.21132600977802216, + 5.7886739902219615 + ] + ], + "log_loss": 0.2151510215856814, + "macro_f1": 0.9172301586010876, + "macro_precision": 0.9261367478377642, + "macro_recall": 0.9111004366851649, + "roc_auc": 0.9692013347170585 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01212566635229822, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11132131921006323, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9075335396149966, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9309444117331519, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8997828802252466, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8580001959025463, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8748757664663894, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8696384136861791, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8866963534018417, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8543827639265101, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9012064589966173, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8473910686266606, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07716317204973798, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1271451755042736, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0542897755354792, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03773327372977607, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9726433162966842, + "balanced_accuracy": 0.9714753214076788, + "brier": 0.02922948569001806, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.2579935718464212, + 9.74200642815348 + ] + ], + "log_loss": 0.12971856223931216, + "macro_f1": 0.9668153944937687, + "macro_precision": 0.9624542932481349, + "macro_recall": 0.9714753214076794, + "roc_auc": 0.9938106017154483 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9107942530358397, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027862056266511382, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15874582395561648, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9168901442571896, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8817873597417545, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8724517024638301, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9266721485526179, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815841775559161, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8732405048057746, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8959352654178616, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8518560462455845, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9273752491157389, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8485648613077594, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8292264862554182, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9075335396149966, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9309444117331519, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8997828802252466, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8580001959025463, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8748757664663894, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8696384136861791, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8866963534018417, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7148456342099171, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8543827639265101, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9012064589966173, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8473910686266606, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7315746622068133, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8069524351210294, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7656659623612385, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09893487959612154, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06433414159107594, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038990161979263374, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037918904931491866, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07716317204973798, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1271451755042736, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028747912668606254, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2759666840423622, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16025320669089127, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03573208163717048, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0542897755354792, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03773327372977607, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43836043388808243, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18192027802234106, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22836243846047782, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3152222010357095, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3074765397119835, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9207508355501016, + "balanced_accuracy": 0.916077760685615, + "brier": 0.06289609751969398, + "confusion_matrix": [ + [ + 15.15625, + 1.84375 + ], + [ + 1.4847149068957304, + 23.515285093104474 + ] + ], + "log_loss": 0.22232310505826072, + "macro_f1": 0.9174822403030196, + "macro_precision": 0.9190368380668057, + "macro_recall": 0.9160777606856146, + "roc_auc": 0.9664816532306535 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_11", + "params": { + "l2_regularization": 100.0, + "max_leaf_nodes": 15 + } + }, + "status": "ok", + "std_macro_f1": 0.03593071492176041 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9135133989610735, + "std": 0.03831788788186231 + }, + "balanced_accuracy": { + "mean": 0.9136749865626839, + "std": 0.0350739258092419 + }, + "brier": { + "mean": 0.06759356164700028, + "std": 0.02483935321887687 + }, + "log_loss": { + "mean": 0.23538407165735303, + "std": 0.06989890124637055 + }, + "macro_f1": { + "mean": 0.9107942530358397, + "std": 0.03593071492176041 + }, + "macro_precision": { + "mean": 0.912980241530152, + "std": 0.034041858025997886 + }, + "macro_recall": { + "mean": 0.913674986562684, + "std": 0.035073925809242144 + }, + "roc_auc": { + "mean": 0.9694124849369634, + "std": 0.014931347991873284 + } + }, + "evaluation_export": { + "bytes": 160779, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 1.518418732970872e-07, + "original_float64_max_error": 1.518418732970872e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\hist_gradient_boosting_mindfulness.onnx", + "positive_class": 1, + "sha256": "0dd6862d9aebd64a1f8e53e8e5ecd0276ebb69a1e0485953e9fb86f8b0875558" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 12294, + "input_rows": 12294, + "iterations": 150, + "recordings": 42, + "warning_count": 1, + "warnings": [ + { + "category": "UserWarning", + "message": "Could not find the number of physical cores for the following reason:\nfound 0 physical cores < 1\nReturning the number of logical cores instead. You can silence this warning by setting LOKY_MAX_CPU_COUNT to the number of cores you want to use." + } + ], + "weighting": "equal_recording_class" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02777118475777644, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16773321742544484, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8464963787947215, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8020277066878995, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8233317807259213, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8956809269942115, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.21485051069276367, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03596462627849954, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0768615961947649, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25289732594012126, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8987942702521818, + "balanced_accuracy": 0.8987942702521818, + "brier": 0.07379144626125055, + "confusion_matrix": [ + [ + 3.53125, + 0.46875 + ], + [ + 0.34089583798254547, + 3.659104162017458 + ] + ], + "log_loss": 0.2447544472603147, + "macro_f1": 0.8987684139861618, + "macro_precision": 0.8992021222547137, + "macro_recall": 0.8987942702521821, + "roc_auc": 0.95992064324268 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030202252256317667, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18674193771351746, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8464963787947215, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8020277066878995, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8233317807259213, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8956809269942115, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.21485051069276367, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.891195832403491, + "balanced_accuracy": 0.8558255202521818, + "brier": 0.07521038401451122, + "confusion_matrix": [ + [ + 0.796875, + 0.203125 + ], + [ + 0.34089583798254547, + 3.659104162017458 + ] + ], + "log_loss": 0.24716212799798715, + "macro_f1": 0.8381626744566052, + "macro_precision": 0.8238950026738865, + "macro_recall": 0.8558255202521821, + "roc_auc": 0.9526394451522024 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 160779, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 1.5447787138356261e-07, + "original_float64_max_error": 1.5447787138356261e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\hist_gradient_boosting_mindfulness.onnx", + "positive_class": 1, + "sha256": "84cd8106c185905580ccfd3bc6fd39c4d74e4455d9a5f0295325097fcfca5ba9" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 14745, + "input_rows": 14745, + "iterations": 150, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "spec": { + "augmentation": true, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_11", + "params": { + "l2_regularization": 100.0, + "max_leaf_nodes": 15 + } + } + }, + "knn": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.047085360689420236, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2054440244542598, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9229114969851536, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.884721887909137, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8720156778682593, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8874072422267297, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.036827099563113606, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07258819370702956, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42910026388016215, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2442939751404379, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3536206810781076, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8742693141556461, + "balanced_accuracy": 0.882576415925102, + "brier": 0.09294161255694901, + "confusion_matrix": [ + [ + 4.0390625, + 0.9609375 + ], + [ + 0.17063867259918422, + 3.8293613274008367 + ] + ], + "log_loss": 0.41112744224976594, + "macro_f1": 0.8742010183827309, + "macro_precision": 0.8794323147269656, + "macro_recall": 0.882576415925102, + "roc_auc": 0.9544152517463702 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03686813076254583, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19194371930422674, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8752228849254637, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7513645118982433, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.743117834243515, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8128940772880886, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7916657294000128, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11401513042903262, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036795569224917446, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04594336245677415, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3058755373248626, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8843000467694502, + "balanced_accuracy": 0.8878622295925052, + "brier": 0.08328179887619835, + "confusion_matrix": [ + [ + 3.6796875, + 0.3203125 + ], + [ + 0.7209870790749471, + 4.279012920925042 + ] + ], + "log_loss": 0.26763057385837263, + "macro_f1": 0.8837846950785758, + "macro_precision": 0.8832605265982789, + "macro_recall": 0.8878622295925053, + "roc_auc": 0.9623931164068621 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028601168299523326, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16947672335845768, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9077724385653676, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8811259599407717, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8415209675883133, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9298119082200589, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8571036015904404, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8347860794340174, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07675639904162279, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14994233561722353, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2208169347249031, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3293681266797139, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9125841523328946, + "balanced_accuracy": 0.9007862727774121, + "brier": 0.06751459464073425, + "confusion_matrix": [ + [ + 3.3671875, + 0.6328125 + ], + [ + 0.24134597667105406, + 5.758654023328929 + ] + ], + "log_loss": 0.2271251736030365, + "macro_f1": 0.907281475976677, + "macro_precision": 0.9170545107133323, + "macro_recall": 0.9007862727774122, + "roc_auc": 0.9659629676764266 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014112811716930015, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11947048113245894, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9187758039118318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9406917283293875, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.898970435387608, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8374102586431628, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8646934390012886, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8651322190648657, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8861847041282004, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8274634914611023, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8860610227137394, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8576223743211546, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10740259136042049, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1498585626406316, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05796194596888679, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03156267438074864, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9676258509539882, + "balanced_accuracy": 0.9673771581677917, + "brier": 0.035764259608473396, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3204255866441649, + 9.679574413355741 + ] + ], + "log_loss": 0.14166985610929397, + "macro_f1": 0.9608834700759794, + "macro_precision": 0.9549736677485055, + "macro_recall": 0.9673771581677924, + "roc_auc": 0.9922027590987116 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9065376648784907, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02950410643095115, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1653296110301281, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9077724385653676, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8811259599407717, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8415209675883133, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9229114969851536, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.884721887909137, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8720156778682593, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8874072422267297, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8752228849254637, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9298119082200589, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8571036015904404, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8347860794340174, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9187758039118318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9406917283293875, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.898970435387608, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8374102586431628, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8646934390012886, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8651322190648657, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8861847041282004, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7513645118982433, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8274634914611023, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8860610227137394, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8576223743211546, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.743117834243515, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8128940772880886, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7916657294000128, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11401513042903262, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07675639904162279, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036795569224917446, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036827099563113606, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10740259136042049, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1498585626406316, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04594336245677415, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3058755373248626, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14994233561722353, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07258819370702956, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05796194596888679, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03156267438074864, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42910026388016215, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2208169347249031, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2442939751404379, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3536206810781076, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3293681266797139, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.916660182976444, + "balanced_accuracy": 0.9107298478178603, + "brier": 0.06575848294819753, + "confusion_matrix": [ + [ + 14.953125, + 2.046875 + ], + [ + 1.45339731498935, + 23.546602685010857 + ] + ], + "log_loss": 0.24674885396508875, + "macro_f1": 0.9130188143190124, + "macro_precision": 0.9157185063230918, + "macro_recall": 0.9107298478178599, + "roc_auc": 0.9668471395043782 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.03360571431624668 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9096948410529948, + "std": 0.03627745016011834 + }, + "balanced_accuracy": { + "mean": 0.9096505191157027, + "std": 0.03398042209610571 + }, + "brier": { + "mean": 0.06987556642058874, + "std": 0.021684816077119935 + }, + "log_loss": { + "mean": 0.2618882614551173, + "std": 0.0974246433107386 + }, + "macro_f1": { + "mean": 0.9065376648784907, + "std": 0.03360571431624668 + }, + "macro_precision": { + "mean": 0.9086802549467705, + "std": 0.03047463217533568 + }, + "macro_recall": { + "mean": 0.9096505191157029, + "std": 0.03398042209610596 + }, + "roc_auc": { + "mean": 0.9687435237320927, + "std": 0.014174751031837437 + } + }, + "evaluation_export": { + "bytes": 186194, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 1, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 2.0414476536143836e-05, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 1.1468053954796576e-05, + "original_float64_max_error": 3.045797348022461e-05, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\knn_mindfulness.onnx", + "positive_class": 1, + "sha256": "2d1394d7b06fd318a1a903b5b48eff8ef730bcf1bd96ae795bc1ce8a73592a75" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 8702, + "input_rows": 12294, + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026440332950314074, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16373634791349467, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8547550238196064, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.802671319185417, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8365674286856066, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9056121772348654, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.20578219202807374, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029380368352735355, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10326531631893161, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24898884235483076, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9092900820735572, + "balanced_accuracy": 0.9092900820735572, + "brier": 0.07177187379370603, + "confusion_matrix": [ + [ + 3.546875, + 0.453125 + ], + [ + 0.2725543434115427, + 3.72744565658846 + ] + ], + "log_loss": 0.3032589016331122, + "macro_f1": 0.9092438449861775, + "macro_precision": 0.9101258612128871, + "macro_recall": 0.9092900820735574, + "roc_auc": 0.9579305219367195 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027600057677264485, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1769480309181004, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8547550238196064, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.802671319185417, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8365674286856066, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9056121772348654, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.20578219202807374, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.9111141313176916, + "balanced_accuracy": 0.8799932070735572, + "brier": 0.06698006256948542, + "confusion_matrix": [ + [ + 0.828125, + 0.171875 + ], + [ + 0.2725543434115427, + 3.72744565658846 + ] + ], + "log_loss": 0.22505986133622322, + "macro_f1": 0.8660868513941333, + "macro_precision": 0.8541490310177293, + "macro_recall": 0.8799932070735574, + "roc_auc": 0.9554612489704933 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 229013, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 1, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 2.0263207614413897e-05, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 6.606810388110063e-06, + "original_float64_max_error": 2.1566929717664607e-05, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\knn_mindfulness.onnx", + "positive_class": 1, + "sha256": "a7199c6a21df6f0ba5db472d4f0590aec7ab3eb55e4eab07a58426af22b1972d" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 10741, + "input_rows": 14745, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + } + }, + "logreg": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 7 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 7 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 7 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 7 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04194461231390134, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19437004163554109, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9200063865264896, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.857780120094617, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8707445706087249, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8707878226203217, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.030883487055981956, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06105927041563543, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.423164516802133, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20892861388099487, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30011978828943875, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8826244695752482, + "balanced_accuracy": 0.8888509657721544, + "brier": 0.08723787790833563, + "confusion_matrix": [ + [ + 4.1640625, + 0.8359375 + ], + [ + 0.22044227382276593, + 3.779557726177255 + ] + ], + "log_loss": 0.3101345892161384, + "macro_f1": 0.8824098400650426, + "macro_precision": 0.8843034862341849, + "macro_recall": 0.8888509657721544, + "roc_auc": 0.954301513173998 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04168578940958794, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20656844334306143, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8690474529244915, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7016864586530938, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7387934590712522, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8209163433449577, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7781557013968017, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13189062779247393, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044735792133367855, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050585758220078186, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3123499839765565, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8672444709428512, + "balanced_accuracy": 0.873098148848566, + "brier": 0.0984914436869449, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.8979247615143382, + 4.102075238485651 + ] + ], + "log_loss": 0.3516491681244805, + "macro_f1": 0.8669830988199568, + "macro_precision": 0.8686779045468956, + "macro_recall": 0.8730981488485661, + "roc_auc": 0.9439460238849166 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030602129634676078, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17767358723702326, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9236293942843997, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8608508539704804, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8500152127702917, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9368158678462045, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8255527863388907, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8068196172844986, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07977092993011328, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1869648010304128, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2279551294240407, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30545932854483104, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9078620168570826, + "balanced_accuracy": 0.9001063682142354, + "brier": 0.07407791012979312, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.3666923314291739, + 5.63330766857081 + ] + ], + "log_loss": 0.265520883803305, + "macro_f1": 0.9032292905647403, + "macro_precision": 0.9070833100473457, + "macro_recall": 0.9001063682142355, + "roc_auc": 0.9551532726188361 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.016802984013437338, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13046802637368435, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.95730527328782, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9456153991054649, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8784825918508233, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8319816866269676, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.853481910984401, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8299724421081186, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8683386139795228, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.823035333437278, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8725216802374753, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8465119849112822, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11560285878212694, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16584265091364753, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07445069983005431, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047079482043395175, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9534433525348864, + "balanced_accuracy": 0.9551056592744203, + "brier": 0.043366665309958634, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 0.48773056451159164, + 9.512269435488326 + ] + ], + "log_loss": 0.15746490615944758, + "macro_f1": 0.9442841350028063, + "macro_precision": 0.9351200787544729, + "macro_recall": 0.9551056592744216, + "roc_auc": 0.990721235806276 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8992265911131365, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030808016382054455, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17170796681926753, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9236293942843997, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8608508539704804, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8500152127702917, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9200063865264896, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.857780120094617, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8707445706087249, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8707878226203217, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8690474529244915, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9368158678462045, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8255527863388907, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8068196172844986, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.95730527328782, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9456153991054649, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8784825918508233, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8319816866269676, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.853481910984401, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8299724421081186, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8683386139795228, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7016864586530938, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.823035333437278, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8725216802374753, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8465119849112822, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7387934590712522, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8209163433449577, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7781557013968017, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13189062779247393, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07977092993011328, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044735792133367855, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030883487055981956, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11560285878212694, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16584265091364753, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050585758220078186, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3123499839765565, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1869648010304128, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06105927041563543, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07445069983005431, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047079482043395175, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.423164516802133, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2279551294240407, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20892861388099487, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30011978828943875, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30545932854483104, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9089439897314792, + "balanced_accuracy": 0.9060864807862077, + "brier": 0.0718922930951161, + "confusion_matrix": [ + [ + 15.1484375, + 1.8515625 + ], + [ + 1.972789931277869, + 23.027210068722333 + ] + ], + "log_loss": 0.2575183652459735, + "macro_f1": 0.905622863809471, + "macro_precision": 0.9051759090786249, + "macro_recall": 0.9060864807862072, + "roc_auc": 0.9610053242379013 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + "status": "ok", + "std_macro_f1": 0.029020035214241603 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9027935774775171, + "std": 0.03264054487938596 + }, + "balanced_accuracy": { + "mean": 0.904290285527344, + "std": 0.030866767559255923 + }, + "brier": { + "mean": 0.07579347425875808, + "std": 0.020619246409240437 + }, + "log_loss": { + "mean": 0.27119238682584285, + "std": 0.0723807546748504 + }, + "macro_f1": { + "mean": 0.8992265911131365, + "std": 0.029020035214241603 + }, + "macro_precision": { + "mean": 0.8987961948957248, + "std": 0.025026240398852834 + }, + "macro_recall": { + "mean": 0.9042902855273445, + "std": 0.03086676755925644 + }, + "roc_auc": { + "mean": 0.9610305113710067, + "std": 0.01770056624969122 + } + }, + "evaluation_export": { + "bytes": 564, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 2.3256424824813493e-07, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 2.078125692639432e-07, + "original_float64_max_error": 1.6179124662230038e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\logreg_mindfulness.onnx", + "positive_class": 1, + "sha256": "ceba0f2f64ad5714c145f5de3c9b280f7d465f7ef3c40fe27336549a22e8c3ef" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 4042, + "input_rows": 4042, + "iterations": [ + 7 + ], + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03208912741097929, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18242227948911025, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8295624157215096, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7988078996211603, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8086518232572836, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.899398464750307, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.23087224113495608, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04405381502610286, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09360281596853262, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27649010246059486, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8893668350215851, + "balanced_accuracy": 0.8893668350215853, + "brier": 0.08421977399108554, + "confusion_matrix": [ + [ + 3.5, + 0.5 + ], + [ + 0.3850653198273186, + 3.6149346801726843 + ] + ], + "log_loss": 0.33529241584514524, + "macro_f1": 0.8893439949639046, + "macro_precision": 0.8896885711782583, + "macro_recall": 0.8893668350215854, + "roc_auc": 0.9427498485098315 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033912803350714206, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1984811695145526, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8295624157215096, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7988078996211603, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8086518232572836, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.899398464750307, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.23087224113495608, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.8839244360345363, + "balanced_accuracy": 0.8542105850215853, + "brier": 0.08017759873428343, + "confusion_matrix": [ + [ + 0.8046875, + 0.1953125 + ], + [ + 0.3850653198273186, + 3.6149346801726843 + ] + ], + "log_loss": 0.25372620502491716, + "macro_f1": 0.8303237965822066, + "macro_precision": 0.8125443363685427, + "macro_recall": 0.8542105850215854, + "roc_auc": 0.9437892150355733 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 564, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 1.6951216480487474e-07, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 1.448086810462712e-07, + "original_float64_max_error": 3.1432084585114595e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\logreg_mindfulness.onnx", + "positive_class": 1, + "sha256": "c42b04affdde311beb81cf8ae34c97aeab926864da1f1c9cf7971477722e6dee" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 4835, + "input_rows": 4835, + "iterations": [ + 7 + ], + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + } + }, + "mlp": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 502, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 757, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 785, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 521, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03064462990901814, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14947442682684392, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9477278642869852, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9071935239962389, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8970123985177696, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005572132560018, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.008795999658020241, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013233235980391233, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4044018137247998, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16003062380544766, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2335761577783289, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9010892375272938, + "balanced_accuracy": 0.9066941422182055, + "brier": 0.07440457446091814, + "confusion_matrix": [ + [ + 4.28125, + 0.71875 + ], + [ + 0.17144686225435662, + 3.828553137745664 + ] + ], + "log_loss": 0.25322040922071565, + "macro_f1": 0.9008383531140108, + "macro_precision": 0.901717615921735, + "macro_recall": 0.9066941422182054, + "roc_auc": 0.9656595499267123 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03854514841508144, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18809983504449365, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8154051076058567, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6998994673050398, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7270780336267227, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7879265900504606, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7704662061518502, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.056847195403020086, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.008629472974916504, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.001697526520154044, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21751893074769746, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8713393389766276, + "balanced_accuracy": 0.8785413425789649, + "brier": 0.11001202595752, + "confusion_matrix": [ + [ + 3.7734375, + 0.2265625 + ], + [ + 0.9313834492103494, + 4.06861655078964 + ] + ], + "log_loss": 0.4636664274669007, + "macro_f1": 0.8712007913024288, + "macro_precision": 0.8746441373099161, + "macro_recall": 0.878541342578965, + "roc_auc": 0.9530049838283806 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.019600755672732676, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1365359067649293, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9302417230958618, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9111294064146737, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8764973459433923, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9428463899073057, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588994048473259, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8422529702094466, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.03941202507338183, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1335652200668619, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18360265095832265, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2585101620629871, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9151410589326611, + "balanced_accuracy": 0.9077998407772174, + "brier": 0.062331037341861475, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.3329644106733893, + 5.667035589326595 + ] + ], + "log_loss": 0.20772571540312357, + "macro_f1": 0.9108961448131334, + "macro_precision": 0.9146886146887121, + "macro_recall": 0.9077998407772176, + "roc_auc": 0.9688440178843059 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.006701948920812702, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.07748570564567132, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9441035422286725, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9678964699161434, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.920843302446129, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9090396970149827, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9133918767857134, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.889490595429318, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9252939398514668, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8642006366554356, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9281242973806781, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8786912972315664, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04382599379102756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09361079474333249, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02631912981168183, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011773000626081956, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9751766973243813, + "balanced_accuracy": 0.9750065006270668, + "brier": 0.023982247428664165, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.24596373745866057, + 9.754036262541243 + ] + ], + "log_loss": 0.09740936639955758, + "macro_f1": 0.969913374185891, + "macro_precision": 0.9651732531491363, + "macro_recall": 0.9750065006270675, + "roc_auc": 0.9951232538585979 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9132121658538661, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02172721063180002, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13067445960787452, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9302417230958618, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9111294064146737, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8764973459433923, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9477278642869852, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9071935239962389, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8970123985177696, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005572132560018, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8154051076058567, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9428463899073057, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588994048473259, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8422529702094466, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9441035422286725, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9678964699161434, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.920843302446129, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9090396970149827, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9133918767857134, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.889490595429318, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9252939398514668, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6998994673050398, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8642006366554356, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9281242973806781, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8786912972315664, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7270780336267227, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7879265900504606, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7704662061518502, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.056847195403020086, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03941202507338183, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.008629472974916504, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.008795999658020241, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04382599379102756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09361079474333249, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.001697526520154044, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21751893074769746, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1335652200668619, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013233235980391233, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02631912981168183, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011773000626081956, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4044018137247998, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18360265095832265, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16003062380544766, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2335761577783289, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2585101620629871, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9227557509619821, + "balanced_accuracy": 0.920408948455124, + "brier": 0.06235264859966325, + "confusion_matrix": [ + [ + 15.4375, + 1.5625 + ], + [ + 1.681758459596755, + 23.31824154040344 + ] + ], + "log_loss": 0.235546900328895, + "macro_f1": 0.9199369277483221, + "macro_precision": 0.9194813073966119, + "macro_recall": 0.9204089484551234, + "roc_auc": 0.9681432343493197 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.035841518568536415 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9156865831902409, + "std": 0.037812470979010596 + }, + "balanced_accuracy": { + "mean": 0.9170104565503637, + "std": 0.0354777241470327 + }, + "brier": { + "mean": 0.06768247129724095, + "std": 0.030721837836558488 + }, + "log_loss": { + "mean": 0.25550547962257436, + "std": 0.13286599324063422 + }, + "macro_f1": { + "mean": 0.9132121658538661, + "std": 0.035841518568536415 + }, + "macro_precision": { + "mean": 0.9140559052673749, + "std": 0.03285918598043083 + }, + "macro_recall": { + "mean": 0.9170104565503638, + "std": 0.03547772414703294 + }, + "roc_auc": { + "mean": 0.9706579513744991, + "std": 0.015317087358264666 + } + }, + "evaluation_export": { + "bytes": 1777, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 1.658653416836131e-07, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 4.1922722876508445e-07, + "original_float64_max_error": 3.93863871128719e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\mlp_mindfulness.onnx", + "positive_class": 1, + "sha256": "80834de180c1849070a6d20271d7630d2ce35e5900079c5d5c22b56ee38a27f3" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 4351, + "input_rows": 4042, + "iterations": 672, + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020986018106760894, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14206545706182871, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8473693281731456, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8035612559694797, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8585212854067563, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9247032878486142, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.1806458285559503, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016523876834088756, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07313199474484963, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20509456023030492, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9022747165476896, + "balanced_accuracy": 0.9022747165476896, + "brier": 0.07199326539833725, + "confusion_matrix": [ + [ + 3.5625, + 0.4375 + ], + [ + 0.3443022676184833, + 3.65569773238152 + ] + ], + "log_loss": 0.25428103954843984, + "macro_f1": 0.902261451873092, + "macro_precision": 0.902493215456591, + "macro_recall": 0.9022747165476899, + "roc_auc": 0.9557094261144468 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024040607811407228, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16287710196796892, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8473693281731456, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8035612559694797, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8585212854067563, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9247032878486142, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.1806458285559503, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.8967645464763034, + "balanced_accuracy": 0.8710247165476896, + "brier": 0.07205850339377663, + "confusion_matrix": [ + [ + 0.828125, + 0.171875 + ], + [ + 0.3443022676184833, + 3.65569773238152 + ] + ], + "log_loss": 0.2319558287049886, + "macro_f1": 0.8482262999809336, + "macro_precision": 0.8307146782665287, + "macro_recall": 0.8710247165476899, + "roc_auc": 0.9559401159834141 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 1777, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 2.679655360937616e-07, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 5.288416500270898e-07, + "original_float64_max_error": 6.317363709928969e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\mlp_mindfulness.onnx", + "positive_class": 1, + "sha256": "41df51c69d445fde352f3d87e69b58bef8f399ca56a9460cd2373958d776982b" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 5356, + "input_rows": 4835, + "iterations": 1262, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + }, + "polynomial_logreg": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 496 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 478 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 437 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 518 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03162253836398085, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15427811118174656, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9402796260115357, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9046128547633562, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8949986323137789, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005114555190437, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.012165248898417795, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0192772230662341, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.402479448736923, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16353624286233331, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2485174904029523, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8966332190087751, + "balanced_accuracy": 0.9020717463848722, + "brier": 0.07554836258861473, + "confusion_matrix": [ + [ + 4.265625, + 0.734375 + ], + [ + 0.1959260289210233, + 3.8040739710789975 + ] + ], + "log_loss": 0.2650847480223747, + "macro_f1": 0.8963606483426501, + "macro_precision": 0.8971368900960968, + "macro_recall": 0.9020717463848722, + "roc_auc": 0.9632388761673849 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03905903412702628, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19112474113514497, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8270092785098531, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7064361956824294, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7165277691667724, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7959948853686165, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7731210783597201, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06733419204498814, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010989759443287506, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0096133651090733, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23922810801089023, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8617246746295717, + "balanced_accuracy": 0.8687162696666144, + "brier": 0.10860374455555642, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.9710404283338541, + 4.028959571666135 + ] + ], + "log_loss": 0.565110281337909, + "macro_f1": 0.8615683939103382, + "macro_precision": 0.8648677706168858, + "macro_recall": 0.8687162696666145, + "roc_auc": 0.9465997030714275 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020310418607134784, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1381895194587966, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9372207289034755, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044484183808116, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876419792346704, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9488411270666381, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8467686165374555, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8331479203608855, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0411123709915013, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1228760430242285, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1810042102783132, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2669696610937493, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9219114153129248, + "balanced_accuracy": 0.913441804427437, + "brier": 0.06047776474384137, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.265260846870754, + 5.7347391531292295 + ] + ], + "log_loss": 0.2169110630581414, + "macro_f1": 0.9177459563563577, + "macro_precision": 0.923380855511913, + "macro_recall": 0.9134418044274373, + "roc_auc": 0.9643980802593399 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008080105513312032, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.08654200627944908, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.935788406600955, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9691104436931244, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9177193312741689, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.895049970342493, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9030355726656301, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8871585754333007, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.91601089829899, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8524005012434281, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9191901674451666, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8730621548936724, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06611912353800994, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10463012333679769, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03292509622352488, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015420420530386903, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9758004092768537, + "balanced_accuracy": 0.9730993489937976, + "brier": 0.025632882775884096, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.20598177012404723, + 9.794018229875855 + ] + ], + "log_loss": 0.10506012675624454, + "macro_f1": 0.9705163123069522, + "macro_precision": 0.9680252314654305, + "macro_recall": 0.9730993489937981, + "roc_auc": 0.9939703080156239 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9115478277290746, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022675233706590008, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13576449888933995, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9372207289034755, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044484183808116, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876419792346704, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9402796260115357, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9046128547633562, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8949986323137789, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005114555190437, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8270092785098531, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9488411270666381, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8467686165374555, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8331479203608855, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.935788406600955, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9691104436931244, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9177193312741689, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.895049970342493, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9030355726656301, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8871585754333007, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.91601089829899, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7064361956824294, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8524005012434281, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9191901674451666, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8730621548936724, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7165277691667724, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7959948853686165, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7731210783597201, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06733419204498814, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0411123709915013, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010989759443287506, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012165248898417795, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06611912353800994, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10463012333679769, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0096133651090733, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23922810801089023, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1228760430242285, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0192772230662341, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03292509622352488, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015420420530386903, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.402479448736923, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1810042102783132, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16353624286233331, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2485174904029523, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2669696610937493, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9215604982321505, + "balanced_accuracy": 0.9185225832208891, + "brier": 0.06240492787138884, + "confusion_matrix": [ + [ + 15.34375, + 1.65625 + ], + [ + 1.638209074249678, + 23.361790925750515 + ] + ], + "log_loss": 0.26456446831931885, + "macro_f1": 0.9185936435583906, + "macro_precision": 0.9186650799502782, + "macro_recall": 0.9185225832208884, + "roc_auc": 0.9661805374449594 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_10", + "params": { + "C": 10.0, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.039510420127001386 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9140174295570314, + "std": 0.04158183073309691 + }, + "balanced_accuracy": { + "mean": 0.9143322923681803, + "std": 0.03770113535468694 + }, + "brier": { + "mean": 0.06756568866597415, + "std": 0.02981796433986397 + }, + "log_loss": { + "mean": 0.2880415547936674, + "std": 0.17017332639630578 + }, + "macro_f1": { + "mean": 0.9115478277290746, + "std": 0.039510420127001386 + }, + "macro_precision": { + "mean": 0.9133526869225816, + "std": 0.03776039746855829 + }, + "macro_recall": { + "mean": 0.9143322923681806, + "std": 0.037701135354687124 + }, + "roc_auc": { + "mean": 0.9670517418784441, + "std": 0.01706220207919185 + } + }, + "evaluation_export": { + "bytes": 11446, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 1.9127015615794107e-07, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 9.967241171304764e-07, + "original_float64_max_error": 1.0354110742682998e-06, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\polynomial_logreg_mindfulness.onnx", + "positive_class": 1, + "sha256": "c5bcfb91c53ef8a9eda62fc7ac9ef137e87287ab69f8c493220ef85337831a13" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 4042, + "input_rows": 4042, + "iterations": [ + 536 + ], + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021551156435237626, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14517188776316314, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8381040776684119, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8109110675085008, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8482763143886666, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9120483793580929, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.1809085284630245, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01972729785214033, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06719667977886418, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20507636955534092, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9060987790313907, + "balanced_accuracy": 0.9060987790313906, + "brier": 0.07080079762950636, + "confusion_matrix": [ + [ + 3.5625, + 0.4375 + ], + [ + 0.313709767748875, + 3.6862902322511277 + ] + ], + "log_loss": 0.2845766581244035, + "macro_f1": 0.9060762901414111, + "macro_precision": 0.9064880935517687, + "macro_recall": 0.9060987790313908, + "roc_auc": 0.9563317043714765 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025089674815610398, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1684760976644058, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8381040776684119, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.8109110675085008, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8482763143886666, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9120483793580929, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.1809085284630245, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.9013205464502251, + "balanced_accuracy": 0.8709425290313906, + "brier": 0.07196964041449713, + "confusion_matrix": [ + [ + 0.8203125, + 0.1796875 + ], + [ + 0.313709767748875, + 3.6862902322511277 + ] + ], + "log_loss": 0.236557925367992, + "macro_f1": 0.8530346053936257, + "macro_precision": 0.8384431193985278, + "macro_recall": 0.8709425290313908, + "roc_auc": 0.9526487712145687 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 11446, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 1.8666757962693126e-06, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 9.161972335247626e-07, + "original_float64_max_error": 2.4745105788870347e-06, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\polynomial_logreg_mindfulness.onnx", + "positive_class": 1, + "sha256": "db6f6ac413b804c474d0f6b2ed66b1070d9e0de39d12decf6ed8e5e2ea3c7074" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 4835, + "input_rows": 4835, + "iterations": [ + 638 + ], + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_10", + "params": { + "C": 10.0, + "degree": 3 + } + } + }, + "random_forest": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03433155715836619, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16330058600548303, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9404991119740312, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8949931743950401, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8886186523738202, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8981281332753344, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.017426169057145786, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020440867277081408, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.410644003642735, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17824446167706454, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2655418182273101, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8958809041939604, + "balanced_accuracy": 0.9018113297182055, + "brier": 0.08205360927595153, + "confusion_matrix": [ + [ + 4.2421875, + 0.7578125 + ], + [ + 0.17925936225435662, + 3.820740637745664 + ] + ], + "log_loss": 0.3397344084260782, + "macro_f1": 0.8956520892479791, + "macro_precision": 0.8969716615255496, + "macro_recall": 0.9018113297182054, + "roc_auc": 0.9607250564682688 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042317741282132365, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19974389699250375, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8223060714894733, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7003022143689153, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.702864890971471, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7906958982723221, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7510943531200721, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06690378324543278, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016523067231767365, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0035068509101362126, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2462779924491162, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8720362286479892, + "balanced_accuracy": 0.8789732307831902, + "brier": 0.10472969115391392, + "confusion_matrix": [ + [ + 3.765625, + 0.234375 + ], + [ + 0.9172989421680959, + 4.082701057831894 + ] + ], + "log_loss": 0.7013464261950625, + "macro_f1": 0.8718772025900061, + "macro_precision": 0.8749140581818274, + "macro_recall": 0.8789732307831903, + "roc_auc": 0.9500243972804764 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02014413293643941, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1400384384424953, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9286374540676421, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8925755452530098, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8771763140900216, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9382166855371555, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8410692284663751, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8262093723781134, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.03795349451856861, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12839857063187812, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17268914334099095, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2503906824433011, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9116442138733161, + "balanced_accuracy": 0.9055368448944299, + "brier": 0.06276551286968295, + "confusion_matrix": [ + [ + 3.5, + 0.5 + ], + [ + 0.38355786126683994, + 5.616442138733144 + ] + ], + "log_loss": 0.20462243188362703, + "macro_f1": 0.9075008753039343, + "macro_precision": 0.9097442878807908, + "macro_recall": 0.9055368448944301, + "roc_auc": 0.9710995868493529 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010133723248831373, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09680482333144327, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.918982928160126, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9460680300201287, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9130706333289735, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9103734082923759, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8906728220442395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8531755588259987, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9004362220643173, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.831241276505961, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9053175027774008, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8456723571595554, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.053274468877289184, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08833185069450608, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03499372886580651, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01614676045145925, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9564044888394518, + "balanced_accuracy": 0.9624518921876162, + "brier": 0.03549522604583132, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.5165871562476725, + 9.483412843752248 + ] + ], + "log_loss": 0.12655583949259214, + "macro_f1": 0.9481809212311443, + "macro_precision": 0.9367055695019465, + "macro_recall": 0.9624518921876176, + "roc_auc": 0.9938717551117209 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.905802772093266, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024598979543155243, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14340600614397717, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9286374540676421, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8925755452530098, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8771763140900216, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9404991119740312, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8949931743950401, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8886186523738202, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8981281332753344, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8223060714894733, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9382166855371555, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8410692284663751, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8262093723781134, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.918982928160126, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9460680300201287, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9130706333289735, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9103734082923759, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8906728220442395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8531755588259987, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9004362220643173, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7003022143689153, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.831241276505961, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9053175027774008, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8456723571595554, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.702864890971471, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7906958982723221, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7510943531200721, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06690378324543278, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03795349451856861, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016523067231767365, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017426169057145786, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053274468877289184, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08833185069450608, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0035068509101362126, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2462779924491162, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12839857063187812, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020440867277081408, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03499372886580651, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01614676045145925, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.410644003642735, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17268914334099095, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17824446167706454, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2655418182273101, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2503906824433011, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9146990280491197, + "balanced_accuracy": 0.9134207129730256, + "brier": 0.06680090469541089, + "confusion_matrix": [ + [ + 15.4140625, + 1.5859375 + ], + [ + 1.9967033219369645, + 23.00329667806323 + ] + ], + "log_loss": 0.3139936567457816, + "macro_f1": 0.9118198524833325, + "macro_precision": 0.910410330970407, + "macro_recall": 0.9134207129730252, + "roc_auc": 0.9661527964986448 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.02762594662275147 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9089914588886794, + "std": 0.03079207773383845 + }, + "balanced_accuracy": { + "mean": 0.9121933243958604, + "std": 0.030747328294312416 + }, + "brier": { + "mean": 0.07126100983634494, + "std": 0.02543618284384037 + }, + "log_loss": { + "mean": 0.3430647764993399, + "std": 0.2204649827334715 + }, + "macro_f1": { + "mean": 0.905802772093266, + "std": 0.02762594662275147 + }, + "macro_precision": { + "mean": 0.9045838942725285, + "std": 0.022342095597658495 + }, + "macro_recall": { + "mean": 0.9121933243958609, + "std": 0.03074732829431297 + }, + "roc_auc": { + "mean": 0.9689301989274548, + "std": 0.01621373775181873 + } + }, + "evaluation_export": { + "bytes": 3230946, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 3.7286602616593e-07, + "original_float64_max_error": 3.7286602616593e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\forest_mindfulness.onnx", + "positive_class": 1, + "sha256": "97d6acd5e534767f835da9f0405b8047d57fae54f5063ab4f7c7ef84da535f92" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 4042, + "input_rows": 4042, + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02429397132181927, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15369496232094731, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8483281178124262, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7906027200502524, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8266872875028117, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.90416719854109, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.19380263762707986, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018682138357598986, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05887382602012374, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21657413440715984, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9012147813496909, + "balanced_accuracy": 0.9012147813496909, + "brier": 0.0770310485747458, + "confusion_matrix": [ + [ + 3.609375, + 0.390625 + ], + [ + 0.39965674920247307, + 3.6003432507975304 + ] + ], + "log_loss": 0.44376219233792624, + "macro_f1": 0.9012146554408333, + "macro_precision": 0.9012168268657574, + "macro_recall": 0.9012147813496911, + "roc_auc": 0.9556166797180271 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028726453039296673, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18118878801239008, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8483281178124262, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7906027200502524, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8266872875028117, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.90416719854109, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.19380263762707986, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.8919436501595055, + "balanced_accuracy": 0.8797304063496909, + "brier": 0.08451186405379181, + "confusion_matrix": [ + [ + 0.859375, + 0.140625 + ], + [ + 0.39965674920247307, + 3.6003432507975304 + ] + ], + "log_loss": 0.26695778612683013, + "macro_f1": 0.845519850636193, + "macro_precision": 0.8224888184095287, + "macro_recall": 0.8797304063496911, + "roc_auc": 0.9441021173661006 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 3964524, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 0.0, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 3.697210873010448e-07, + "original_float64_max_error": 3.697210873010448e-07, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\forest_mindfulness.onnx", + "positive_class": 1, + "sha256": "011d54d33fe614b28d70ddfe3a5869297ca000be88221d7c2606743c0d694714" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 4835, + "input_rows": 4835, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + } + }, + "stacking": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038327866587493827, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18435459952184932, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9173308823924832, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8856156013482627, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8777065027402232, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8864958915171793, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.05223397844830455, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05894965638114058, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4192607850524124, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1959396906759303, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2771615499218381, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8984830109586783, + "balanced_accuracy": 0.9041527623285133, + "brier": 0.08017838230358494, + "confusion_matrix": [ + [ + 4.265625, + 0.734375 + ], + [ + 0.17927790137189464, + 3.820722098628126 + ] + ], + "log_loss": 0.2767060903440084, + "macro_f1": 0.8982343275774745, + "macro_precision": 0.8992230698351515, + "macro_recall": 0.9041527623285133, + "roc_auc": 0.9619940085971534 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03932422959997454, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19618374745107758, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8314259220909737, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6858180016757526, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7234820641442048, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8053053087416453, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7641644468799682, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08330772272380103, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03107249306359935, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028157035291377475, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21932948659333262, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.875510824838662, + "balanced_accuracy": 0.8826863048547959, + "brier": 0.10087482216528845, + "confusion_matrix": [ + [ + 3.7890625, + 0.2109375 + ], + [ + 0.9094650764520398, + 4.09053492354795 + ] + ], + "log_loss": 0.34138474067573515, + "macro_f1": 0.8753709855112426, + "macro_precision": 0.878698855817994, + "macro_recall": 0.882686304854796, + "roc_auc": 0.9567127077100546 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02297303479975622, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15106262030531675, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9228152932129546, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8909968519922369, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876711601118587, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9368506817328256, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588569836163287, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8381981627970441, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06582553466000855, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1697455511539956, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18558049046771555, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28109688699020785, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9128050768869267, + "balanced_accuracy": 0.9032490224057721, + "brier": 0.06121127847496879, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.29382423113073286, + 5.706175768869251 + ] + ], + "log_loss": 0.21669098569878553, + "macro_f1": 0.9080047364329762, + "macro_precision": 0.9144642251346343, + "macro_recall": 0.9032490224057723, + "roc_auc": 0.9700493454141706 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013877522998472573, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11982048842936228, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.911289152413023, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9249115356861815, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8812696457988766, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8582179590910208, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8678324598134212, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8496465359305931, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8810134266445167, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8316335947661311, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8905798195418875, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8430540156275965, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0797169985904011, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12328444647091469, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06038988177981109, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04683269879776668, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9572259887106339, + "balanced_accuracy": 0.9624410045974436, + "brier": 0.030986941213479714, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.49727365805112267, + 9.502726341948794 + ] + ], + "log_loss": 0.14025392206666304, + "macro_f1": 0.9490636912247459, + "macro_precision": 0.9381491438425897, + "macro_recall": 0.962441004597445, + "roc_auc": 0.993941421577648 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9076684351866098, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02673534608722366, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.157451384852871, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9228152932129546, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8909968519922369, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876711601118587, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9173308823924832, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8856156013482627, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8777065027402232, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8864958915171793, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8314259220909737, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9368506817328256, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588569836163287, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8381981627970441, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.911289152413023, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9249115356861815, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8812696457988766, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8582179590910208, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8678324598134212, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8496465359305931, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8810134266445167, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6858180016757526, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8316335947661311, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8905798195418875, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8430540156275965, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7234820641442048, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8053053087416453, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7641644468799682, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08330772272380103, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06582553466000855, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03107249306359935, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05223397844830455, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0797169985904011, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12328444647091469, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028157035291377475, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21932948659333262, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1697455511539956, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05894965638114058, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06038988177981109, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04683269879776668, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4192607850524124, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18558049046771555, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1959396906759303, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2771615499218381, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28109688699020785, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9165514079284334, + "balanced_accuracy": 0.9146090650128257, + "brier": 0.06370020957043486, + "confusion_matrix": [ + [ + 15.375, + 1.625 + ], + [ + 1.8798408670057891, + 23.12015913299441 + ] + ], + "log_loss": 0.230792434407115, + "macro_f1": 0.9136137114311169, + "macro_precision": 0.9126924406554502, + "macro_recall": 0.9146090650128251, + "roc_auc": 0.9643413764475213 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C0.1_passthrough0", + "params": { + "C": 0.1, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": false + } + }, + "status": "ok", + "std_macro_f1": 0.026673057393673354 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9110062253487253, + "std": 0.029817179394252727 + }, + "balanced_accuracy": { + "mean": 0.9131322735466312, + "std": 0.02973473659819087 + }, + "brier": { + "mean": 0.06831285603933047, + "std": 0.025713462782193778 + }, + "log_loss": { + "mean": 0.243758934696298, + "std": 0.07426687444749844 + }, + "macro_f1": { + "mean": 0.9076684351866098, + "std": 0.026673057393673354 + }, + "macro_precision": { + "mean": 0.9076338236575925, + "std": 0.02171297016802848 + }, + "macro_recall": { + "mean": 0.9131322735466316, + "std": 0.029734736598191376 + }, + "roc_auc": { + "mean": 0.9706743708247566, + "std": 0.014248008920831116 + } + }, + "evaluation_export": { + "bytes": 3244223, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 1, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 1.8335253599843782e-06, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 2.163598438187364e-06, + "original_float64_max_error": 2.837617996909181e-06, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\stacking_mindfulness.onnx", + "positive_class": 1, + "sha256": "e689c6bc422431f57046f863374d1d7cb637a371b92caed1ba52762cc68bf986" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 4351, + "input_rows": 4042, + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026776735868514086, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.166383732718025, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8483731213725985, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7946166706497132, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8404818037370839, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9002209665622669, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.20599917137797502, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051227318658209904, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08680183346293363, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24707185011697327, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8905633959352419, + "balanced_accuracy": 0.8905633959352419, + "brier": 0.07337667858378223, + "confusion_matrix": [ + [ + 3.53125, + 0.46875 + ], + [ + 0.4067428325180646, + 3.593257167481939 + ] + ], + "log_loss": 0.2520968104389487, + "macro_f1": 0.8905568209843776, + "macro_precision": 0.89065727304657, + "macro_recall": 0.8905633959352423, + "roc_auc": 0.9570874546369491 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02860211827169039, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18077919429181283, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8483731213725985, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.7946166706497132, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8404818037370839, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9002209665622669, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.20599917137797502, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.881151433496387, + "balanced_accuracy": 0.8554071459352419, + "brier": 0.07450033407205156, + "confusion_matrix": [ + [ + 0.8125, + 0.1875 + ], + [ + 0.4067428325180646, + 3.593257167481939 + ] + ], + "log_loss": 0.25039742900197515, + "macro_f1": 0.8279291638380345, + "macro_precision": 0.808401975699079, + "macro_recall": 0.8554071459352423, + "roc_auc": 0.9549944574678049 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 4025804, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 1, + "exporter": "skl2onnx", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11, + "ai.onnx.ml": 1 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 5.3873552780525635e-06, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 5.04374526821838e-06, + "original_float64_max_error": 9.664919206120448e-06, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\stacking_mindfulness.onnx", + "positive_class": 1, + "sha256": "ec582a8599218c2da4ef507710c87c5eaa0b62c92fdf96d77351f669226d5d86" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 5356, + "input_rows": 4835, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C0.1_passthrough0", + "params": { + "C": 0.1, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": false + } + } + }, + "svm": { + "cv": { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05047036536986129, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2078992704058472, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9254800424443291, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8892646824113513, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8828989158235013, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8845988667640867, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03295982867985997, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039570510355553756, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4713088536576497, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2512574725508332, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3485299694152915, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8727070072714539, + "balanced_accuracy": 0.8825766331803857, + "brier": 0.09097558330141735, + "confusion_matrix": [ + [ + 3.96875, + 1.03125 + ], + [ + 0.1143869345569151, + 3.8856130654431063 + ] + ], + "log_loss": 0.3044974315139169, + "macro_f1": 0.8726961444021998, + "macro_precision": 0.8811240705474146, + "macro_recall": 0.8825766331803857, + "roc_auc": 0.9540605736698182 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038212012299636285, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1922215901007657, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8535766368104781, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7174460148526431, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7517211929384283, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8187057262560661, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7867109611616788, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10051681304136435, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025263936190029, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022571179908363364, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30228795333464503, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.886278708615076, + "balanced_accuracy": 0.8898383377535684, + "brier": 0.08725918640438593, + "confusion_matrix": [ + [ + 3.6875, + 0.3125 + ], + [ + 0.7109916224643156, + 4.289008377535674 + ] + ], + "log_loss": 0.2940449065469211, + "macro_f1": 0.8857684570035869, + "macro_precision": 0.8852215337663061, + "macro_recall": 0.8898383377535685, + "roc_auc": 0.9573325260949678 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02681926034085984, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16229617067660326, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9242510460961214, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8828381056528047, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8677400245804561, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9310603758694818, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8584124586349534, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8215767859676321, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06864384376682618, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1578410262403247, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19846705435463025, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.324939384100299, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9199504069250587, + "balanced_accuracy": 0.9079013807708821, + "brier": 0.0628411876952151, + "confusion_matrix": [ + [ + 3.390625, + 0.609375 + ], + [ + 0.19112093074941372, + 5.80887906925057 + ] + ], + "log_loss": 0.22825880628028, + "macro_f1": 0.914978382937531, + "macro_precision": 0.9258481218270613, + "macro_recall": 0.9079013807708822, + "roc_auc": 0.9601594970153287 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014774121826846806, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12314204403184034, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8806852408878573, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9202070081596726, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8767841707986851, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8182460366327013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8644020748001666, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8541242523302937, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8838549154236145, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8533544324476308, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8877579345872757, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8535651180251576, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0803875744507126, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13827927371149168, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051593263840948894, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03271626271032311, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9781235680296311, + "balanced_accuracy": 0.9747255601207416, + "brier": 0.029082749625955893, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.17345754758516474, + 9.826542452414735 + ] + ], + "log_loss": 0.13877147693686692, + "macro_f1": 0.9732825399079605, + "macro_precision": 0.9718681827997921, + "macro_recall": 0.9747255601207421, + "roc_auc": 0.9924683306311897 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9116813810628195, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030313612095474573, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16542947780407888, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9242510460961214, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8828381056528047, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8677400245804561, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9254800424443291, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8892646824113513, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8828989158235013, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8845988667640867, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8535766368104781, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9310603758694818, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8584124586349534, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8215767859676321, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8806852408878573, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9202070081596726, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8767841707986851, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8182460366327013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8644020748001666, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8541242523302937, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8838549154236145, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7174460148526431, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8533544324476308, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8877579345872757, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8535651180251576, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7517211929384283, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8187057262560661, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7867109611616788, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10051681304136435, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06864384376682618, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025263936190029, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03295982867985997, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0803875744507126, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13827927371149168, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022571179908363364, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30228795333464503, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1578410262403247, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039570510355553756, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051593263840948894, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03271626271032311, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4713088536576497, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19846705435463025, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2512574725508332, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3485299694152915, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.324939384100299, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9220025110629569, + "balanced_accuracy": 0.9148497563517075, + "brier": 0.06284960235875625, + "confusion_matrix": [ + [ + 14.9140625, + 2.0859375 + ], + [ + 1.1899570353558087, + 23.810042964644403 + ] + ], + "log_loss": 0.22886356624920193, + "macro_f1": 0.9183389448291823, + "macro_precision": 0.9227787223068995, + "macro_recall": 0.9148497563517073, + "roc_auc": 0.9623358169256854 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "svm", + "name": "svm_06_augmented", + "params": { + "C": 3.0, + "gamma": 0.1, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.03871983116960299 + }, + "cv_summary": { + "accuracy": { + "mean": 0.9142649227103049, + "std": 0.04068334987369647 + }, + "balanced_accuracy": { + "mean": 0.9137604779563945, + "std": 0.03638602489291994 + }, + "brier": { + "mean": 0.06753967675674356, + "std": 0.024693682492280086 + }, + "log_loss": { + "mean": 0.24139315531949623, + "std": 0.06606450745311004 + }, + "macro_f1": { + "mean": 0.9116813810628195, + "std": 0.03871983116960299 + }, + "macro_precision": { + "mean": 0.9160154772351434, + "std": 0.03668065850544655 + }, + "macro_recall": { + "mean": 0.9137604779563946, + "std": 0.0363860248929201 + }, + "roc_auc": { + "mean": 0.966005231852826, + "std": 0.015430156326290446 + } + }, + "evaluation_export": { + "bytes": 143145, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "double_precision_calibrated_svm", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 6.142060127167781e-08, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 2.965466017190721e-08, + "original_float64_max_error": 6.043649358744574e-08, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\build\\classifier_training\\evaluation_models\\svm_mindfulness.onnx", + "positive_class": 1, + "sha256": "2f8804dc77626b743f4e348c5c4bca1ceaa19b1fd229c57d926040db071091ef" + }, + "evaluation_fit": { + "convergence_warning": false, + "fitted_rows": 12294, + "input_rows": 12294, + "recordings": 42, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "holdout": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028411148930148858, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1710185485542317, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 8, + "recordings": [ + { + "label": 1, + "probability": 0.8476991820160481, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.830569904542193, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8506667893768985, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8926066147858459, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.24699840294541348, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04304261636805966, + "recording_id": "relaxed/wine16.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10861132478818704, + "recording_id": "relaxed/wine17.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25864270780242643, + "recording_id": "relaxed/wine22.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9124729300291436, + "balanced_accuracy": 0.9124729300291436, + "brier": 0.06743600790410222, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.1220915597668511, + 3.877908440233151 + ] + ], + "log_loss": 0.23229947619522476, + "macro_f1": 0.9121875856487186, + "macro_precision": 0.9179048176338899, + "macro_recall": 0.9124729300291438, + "roc_auc": 0.9616881548984754 + }, + "window_count": 793 + }, + "holdout_2020_only": { + "interpretation": "descriptive slice; never used for selection", + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02934881088915331, + "confusion_matrix": [ + [ + 1, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18198093029319345, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 5, + "recordings": [ + { + "label": 1, + "probability": 0.8476991820160481, + "recording_id": "focused/play10.csv", + "windows": 61 + }, + { + "label": 1, + "probability": 0.830569904542193, + "recording_id": "focused/play11.csv", + "windows": 77 + }, + { + "label": 1, + "probability": 0.8506667893768985, + "recording_id": "focused/play8.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8926066147858459, + "recording_id": "focused/play9.csv", + "windows": 83 + }, + { + "label": 0, + "probability": 0.24699840294541348, + "recording_id": "relaxed/wine10.csv", + "windows": 128 + } + ], + "status": "ok", + "window": { + "accuracy": 0.9287066880466298, + "balanced_accuracy": 0.8675510550291436, + "brier": 0.05950279773016304, + "confusion_matrix": [ + [ + 0.765625, + 0.234375 + ], + [ + 0.1220915597668511, + 3.877908440233151 + ] + ], + "log_loss": 0.22384513969829736, + "macro_f1": 0.8836118146068743, + "macro_precision": 0.9027358612721506, + "macro_recall": 0.8675510550291438, + "roc_auc": 0.9465448392228965 + }, + "window_count": 409, + "year": 2020 + }, + "production_export": { + "bytes": 171849, + "classes": [ + 0, + 1 + ], + "distance_weight_repairs": 0, + "exporter": "double_precision_calibrated_svm", + "input_dtype": "float32", + "input_name": "mindfulness_input", + "input_shape": [ + 1, + 5 + ], + "ir_version": 6, + "opsets": { + "ai.onnx": 11 + }, + "output_name": "probabilities", + "output_shape": [ + 1, + 2 + ], + "parity": { + "absolute_tolerance": 2e-05, + "backend": "onnxruntime", + "input_rounding_max_error": 5.92612657279723e-08, + "input_rounding_tolerance": 0.0001, + "max_absolute_error": 2.9800662382228893e-08, + "original_float64_max_error": 7.499347953743296e-08, + "probe_count": 262, + "reference_input": "float32 input values evaluated by sklearn in float64", + "runtime_version": "1.19.2" + }, + "path": "D:\\workspace\\brainflow\\src\\ml\\train\\svm_mindfulness.onnx", + "positive_class": 1, + "sha256": "bc337325be60d47d9854bf94c1ee4f0290fc0a9748c090b902382256102190a9" + }, + "production_fit": { + "convergence_warning": false, + "fitted_rows": 14745, + "input_rows": 14745, + "recordings": 50, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + "spec": { + "augmentation": true, + "family": "svm", + "name": "svm_06_augmented", + "params": { + "C": 3.0, + "gamma": 0.1, + "kernel": "rbf" + } + } + } + }, + "native_default_family": "logreg", + "native_logistic": { + "coefficients": [ + 0.7498839050366688, + 6.579952193719219, + -28.99411366453635, + -0.8750387887515877, + 76.86709227040761 + ], + "intercept": -2.146761352940066, + "parity_max_absolute_error": 3.885780586188048e-16, + "path": "D:\\workspace\\brainflow\\src\\ml\\generated\\mindfulness_model.cpp", + "sha256": "0abd57f9b590f455bebf472ed06d9ce05a4e31553e93acd14390c04d5ccc3350" + }, + "prior_attempts": [ + { + "completed_candidates": 140, + "fingerprint": "186e570be574b0e89c0f463d530b8e56f572da2e70aeaf3887a256286396204e", + "reason": "Pipeline or environment changed; prior search is not reused" + } + ], + "publication": { + "artifact_count": 21, + "atomicity": "per-file replacement", + "staging_directory": "D:\\workspace\\brainflow\\build\\classifier_training\\release_staging\\315272f3d22f632e01c2e980515c9023eee702061e2afb6ee1c240c790fb3ceb", + "validated_before_publish": true + }, + "schema_version": 1, + "search_results": [ + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 7 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 7 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 7 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 7 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04194461231390134, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19437004163554109, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9200063865264896, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.857780120094617, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8707445706087249, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8707878226203217, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.030883487055981956, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06105927041563543, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.423164516802133, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20892861388099487, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30011978828943875, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8826244695752482, + "balanced_accuracy": 0.8888509657721544, + "brier": 0.08723787790833563, + "confusion_matrix": [ + [ + 4.1640625, + 0.8359375 + ], + [ + 0.22044227382276593, + 3.779557726177255 + ] + ], + "log_loss": 0.3101345892161384, + "macro_f1": 0.8824098400650426, + "macro_precision": 0.8843034862341849, + "macro_recall": 0.8888509657721544, + "roc_auc": 0.954301513173998 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04168578940958794, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20656844334306143, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8690474529244915, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7016864586530938, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7387934590712522, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8209163433449577, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7781557013968017, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13189062779247393, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044735792133367855, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050585758220078186, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3123499839765565, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8672444709428512, + "balanced_accuracy": 0.873098148848566, + "brier": 0.0984914436869449, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.8979247615143382, + 4.102075238485651 + ] + ], + "log_loss": 0.3516491681244805, + "macro_f1": 0.8669830988199568, + "macro_precision": 0.8686779045468956, + "macro_recall": 0.8730981488485661, + "roc_auc": 0.9439460238849166 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030602129634676078, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17767358723702326, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9236293942843997, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8608508539704804, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8500152127702917, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9368158678462045, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8255527863388907, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8068196172844986, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07977092993011328, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1869648010304128, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2279551294240407, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30545932854483104, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9078620168570826, + "balanced_accuracy": 0.9001063682142354, + "brier": 0.07407791012979312, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.3666923314291739, + 5.63330766857081 + ] + ], + "log_loss": 0.265520883803305, + "macro_f1": 0.9032292905647403, + "macro_precision": 0.9070833100473457, + "macro_recall": 0.9001063682142355, + "roc_auc": 0.9551532726188361 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.016802984013437338, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13046802637368435, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.95730527328782, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9456153991054649, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8784825918508233, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8319816866269676, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.853481910984401, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8299724421081186, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8683386139795228, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.823035333437278, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8725216802374753, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8465119849112822, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11560285878212694, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16584265091364753, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07445069983005431, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047079482043395175, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9534433525348864, + "balanced_accuracy": 0.9551056592744203, + "brier": 0.043366665309958634, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 0.48773056451159164, + 9.512269435488326 + ] + ], + "log_loss": 0.15746490615944758, + "macro_f1": 0.9442841350028063, + "macro_precision": 0.9351200787544729, + "macro_recall": 0.9551056592744216, + "roc_auc": 0.990721235806276 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8992265911131365, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030808016382054455, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17170796681926753, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9236293942843997, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8608508539704804, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8500152127702917, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9200063865264896, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.857780120094617, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8707445706087249, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8707878226203217, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8690474529244915, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9368158678462045, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8255527863388907, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8068196172844986, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.95730527328782, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9456153991054649, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8784825918508233, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8319816866269676, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.853481910984401, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8299724421081186, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8683386139795228, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7016864586530938, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.823035333437278, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8725216802374753, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8465119849112822, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7387934590712522, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8209163433449577, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7781557013968017, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13189062779247393, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07977092993011328, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044735792133367855, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030883487055981956, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11560285878212694, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16584265091364753, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050585758220078186, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3123499839765565, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1869648010304128, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06105927041563543, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07445069983005431, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047079482043395175, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.423164516802133, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2279551294240407, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20892861388099487, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30011978828943875, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30545932854483104, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9089439897314792, + "balanced_accuracy": 0.9060864807862077, + "brier": 0.0718922930951161, + "confusion_matrix": [ + [ + 15.1484375, + 1.8515625 + ], + [ + 1.972789931277869, + 23.027210068722333 + ] + ], + "log_loss": 0.2575183652459735, + "macro_f1": 0.905622863809471, + "macro_precision": 0.9051759090786249, + "macro_recall": 0.9060864807862072, + "roc_auc": 0.9610053242379013 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + "status": "ok", + "std_macro_f1": 0.029020035214241603 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 11 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 12 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 14 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 12 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.08053966254636712, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.31880528277383324, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.801371413634109, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.748482357309532, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7601445507130584, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7691734914355408, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.09825593481050876, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2109297455429674, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4299799592001523, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3355585005134212, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39962876590835494, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8415357341490544, + "balanced_accuracy": 0.8459464509176866, + "brier": 0.11479343332733559, + "confusion_matrix": [ + [ + 4.03125, + 0.96875 + ], + [ + 0.45742839265850954, + 3.54257160734151 + ] + ], + "log_loss": 0.37024734532903025, + "macro_f1": 0.8410671637079938, + "macro_precision": 0.8416776698362953, + "macro_recall": 0.8459464509176864, + "roc_auc": 0.9342779190238861 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06388249129862117, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.28063416226742016, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8062549960624474, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7125436427080161, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6869563759363514, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7522547299316664, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7177695592329226, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.20502590850789854, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08687275284759488, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.193276109448127, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35889822214010114, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.878256148222854, + "balanced_accuracy": 0.8830086584005685, + "brier": 0.10008299262088076, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.7988196659943128, + 4.201180334005676 + ] + ], + "log_loss": 0.3264167289121689, + "macro_f1": 0.8778821674629258, + "macro_precision": 0.8782802270895544, + "macro_recall": 0.8830086584005687, + "roc_auc": 0.9555552228931145 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06918681880339951, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.29848684293300376, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.796340899391142, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7519027555036, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7374778460430793, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8270060494192077, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7019702504975086, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7141568002816, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.15478947439671586, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23669644733126813, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32777600372823856, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3633785398089276, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8764207357789016, + "balanced_accuracy": 0.8755329048157511, + "brier": 0.10222624187015064, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.720167642210985, + 5.279832357788997 + ] + ], + "log_loss": 0.33977465410622376, + "macro_f1": 0.8723042498634661, + "macro_precision": 0.8698731127334816, + "macro_recall": 0.8755329048157511, + "roc_auc": 0.9488671927285351 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0518700286066574, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.2526629759488513, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8608413273449759, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8363409759092658, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7684848281668296, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7611220781740744, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7438906572196582, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7262555497221508, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7513971447184155, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7016348655996134, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7533521105562525, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7413427767388896, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2013476812316095, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2638182791283535, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1597106538016474, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12094913244908531, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9100741348719816, + "balanced_accuracy": 0.9241612694103869, + "brier": 0.07953667166162527, + "confusion_matrix": [ + [ + 3.828125, + 0.171875 + ], + [ + 1.0870871117922578, + 8.912912888207698 + ] + ], + "log_loss": 0.28070737703397897, + "macro_f1": 0.896409082866929, + "macro_precision": 0.8799565585697298, + "macro_recall": 0.9241612694103898, + "roc_auc": 0.98585293863631 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8719156659753288, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06471066602695459, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.28374059757107706, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.796340899391142, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7519027555036, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7374778460430793, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.801371413634109, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.748482357309532, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7601445507130584, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7691734914355408, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8062549960624474, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8270060494192077, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7019702504975086, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7141568002816, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8608413273449759, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8363409759092658, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7684848281668296, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7611220781740744, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7438906572196582, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7262555497221508, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7513971447184155, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7125436427080161, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7016348655996134, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7533521105562525, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7413427767388896, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6869563759363514, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7522547299316664, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7177695592329226, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.20502590850789854, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15478947439671586, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08687275284759488, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09825593481050876, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2013476812316095, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2638182791283535, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.193276109448127, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35889822214010114, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23669644733126813, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2109297455429674, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1597106538016474, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12094913244908531, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4299799592001523, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32777600372823856, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3355585005134212, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39962876590835494, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3633785398089276, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.880556480651046, + "balanced_accuracy": 0.8812850908057027, + "brier": 0.09689675370233826, + "confusion_matrix": [ + [ + 15.046875, + 1.953125 + ], + [ + 3.063502812656066, + 21.936497187344123 + ] + ], + "log_loss": 0.32375301161211273, + "macro_f1": 0.8772535365727115, + "macro_precision": 0.8745432388193954, + "macro_recall": 0.8812850908057019, + "roc_auc": 0.9550672012908574 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_02", + "params": { + "C": 0.01, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.019920515182865587 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 10 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 11 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 10 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 11 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.15120366682880035, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.4894872748742461, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.6493113812216277, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6254459799580508, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6305660985741426, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6420305880834488, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.26680688430305277, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36249347680870103, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4512860858512467, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44756039230432665, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4757934452211584, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.7773367012730193, + "balanced_accuracy": 0.7799725389321472, + "brier": 0.16503248249858005, + "confusion_matrix": [ + [ + 3.78125, + 1.21875 + ], + [ + 0.7852196885428243, + 3.2147803114571922 + ] + ], + "log_loss": 0.5100812344888674, + "macro_f1": 0.7764510945989669, + "macro_precision": 0.776576432297678, + "macro_recall": 0.7799725389321468, + "roc_auc": 0.8902225060722844 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.12568607501757964, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.4356726821863726, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.6873312329694242, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6374757204780578, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6067006583765091, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6496637439074963, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6170795914616289, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.3451295132308821, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2511004737581804, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3560050690627307, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4111395411370552, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8588995676253735, + "balanced_accuracy": 0.864220548362836, + "brier": 0.14222427520524794, + "confusion_matrix": [ + [ + 3.6484375, + 0.3515625 + ], + [ + 0.9183413913716374, + 4.081658608628352 + ] + ], + "log_loss": 0.45587780942421624, + "macro_f1": 0.8585718724922793, + "macro_precision": 0.8598032336351907, + "macro_recall": 0.8642205483628362, + "roc_auc": 0.9515146482075301 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.14124042895361968, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.4701658630356347, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.6485798989116228, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6301169788286151, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6170633507957529, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6665748779450867, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.5935746547315802, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6136608186313217, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.30722235028583256, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35564022301270526, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41325557094104914, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4338164720530852, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.829133014150816, + "balanced_accuracy": 0.83417334512568, + "brier": 0.15524118810858, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 1.1461698584918376, + 4.853830141508145 + ] + ], + "log_loss": 0.48892171517258853, + "macro_f1": 0.8256352733045202, + "macro_precision": 0.8230461651589138, + "macro_recall": 0.83417334512568, + "roc_auc": 0.927991062811865 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.13163752689482683, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.4495223155837583, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.6958204838107951, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.6741530640285354, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.6293856176454113, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6421628891145166, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.611584675614598, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.608516755544647, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.617328518248481, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.5858632217441454, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6202506953406433, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6179945167193736, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.34321520711345405, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3951936943620432, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32148012873332904, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2988097960429246, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8498570717089899, + "balanced_accuracy": 0.8796655751962925, + "brier": 0.1440413355903037, + "confusion_matrix": [ + [ + 3.796875, + 0.203125 + ], + [ + 1.8988759960741408, + 8.10112400392582 + ] + ], + "log_loss": 0.4656552404180418, + "macro_f1": 0.8341835608747652, + "macro_precision": 0.8210774863516322, + "macro_recall": 0.8796655751962954, + "roc_auc": 0.9719324722791877 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8237104503176329, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.13684136530193314, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.4600335871922508, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.6485798989116228, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6301169788286151, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6170633507957529, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6493113812216277, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6254459799580508, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6305660985741426, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6420305880834488, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.6873312329694242, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6665748779450867, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.5935746547315802, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6136608186313217, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6958204838107951, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.6741530640285354, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.6293856176454113, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6421628891145166, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.611584675614598, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.608516755544647, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.617328518248481, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6374757204780578, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.5858632217441454, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6202506953406433, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6179945167193736, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6067006583765091, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6496637439074963, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6170795914616289, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.3451295132308821, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30722235028583256, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2511004737581804, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26680688430305277, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34321520711345405, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3951936943620432, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3560050690627307, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4111395411370552, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35564022301270526, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36249347680870103, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32148012873332904, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2988097960429246, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4512860858512467, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41325557094104914, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44756039230432665, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4757934452211584, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4338164720530852, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8313203706076083, + "balanced_accuracy": 0.8363238171927447, + "brier": 0.15081669996867866, + "confusion_matrix": [ + [ + 14.6640625, + 2.3359375 + ], + [ + 4.748606934480433, + 20.251393065519714 + ] + ], + "log_loss": 0.478619569352291, + "macro_f1": 0.8282813929368269, + "macro_precision": 0.8259840765523929, + "macro_recall": 0.8363238171927435, + "roc_auc": 0.9331411118379763 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_00", + "params": { + "C": 0.001, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.02984190194699017 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 17 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 16 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 17 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04878171742696052, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2224288958104741, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8892015137705457, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8266477815617869, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8395508539572484, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8411862253946024, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.042824565217687544, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09825630634243811, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4187601179071113, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2349263457199444, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.322030662824437, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8764920771021298, + "balanced_accuracy": 0.8825379617398963, + "brier": 0.09098926724878055, + "confusion_matrix": [ + [ + 4.140625, + 0.859375 + ], + [ + 0.25219630608083043, + 3.74780369391919 + ] + ], + "log_loss": 0.3075660744982475, + "macro_f1": 0.87625633996287, + "macro_precision": 0.8780297167971111, + "macro_recall": 0.8825379617398963, + "roc_auc": 0.952061461610267 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.045684295202168136, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22252491996929624, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8413828555480789, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7188841899081597, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7185453214698262, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.791400561727305, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7614143255813212, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13985470883345558, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045621874857109695, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08525432699431904, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31370460396716243, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.864397268500634, + "balanced_accuracy": 0.8705356666505705, + "brier": 0.09645210368700613, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.9235495834942933, + 4.076450416505696 + ] + ], + "log_loss": 0.3288773410507833, + "macro_f1": 0.8641635428143187, + "macro_precision": 0.8662513761700961, + "macro_recall": 0.8705356666505706, + "roc_auc": 0.9484539608098976 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03845663215291832, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.20758870935145, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8838075861978626, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8270264930277204, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8143828354475003, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9066889536261868, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.775792214056517, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7701231542642324, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.09141694461418742, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18628243431132252, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24576742825340175, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30234549751716155, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9052843757208114, + "balanced_accuracy": 0.9012135422673427, + "brier": 0.0796783061935811, + "confusion_matrix": [ + [ + 3.5234375, + 0.4765625 + ], + [ + 0.4705937427918857, + 5.529406257208098 + ] + ], + "log_loss": 0.2732788358717441, + "macro_f1": 0.9013133115492797, + "macro_precision": 0.9014137999263703, + "macro_recall": 0.9012135422673428, + "roc_auc": 0.9550903430384835 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024150178389918085, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.16020095697209522, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9348234912893338, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9195672588485827, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8456004758728829, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8125904720215412, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8226535671084556, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7952953252338549, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8339586560094987, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7848390800471073, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8360719691196197, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8122359799410447, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13192108544314232, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17759236336402778, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08509280196858572, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053787617357576846, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9344974340865353, + "balanced_accuracy": 0.9430153913605746, + "brier": 0.052541985981518984, + "confusion_matrix": [ + [ + 3.8515625, + 0.1484375 + ], + [ + 0.768598422788505, + 9.231401577211429 + ] + ], + "log_loss": 0.18777095088205156, + "macro_f1": 0.9231491201044075, + "macro_precision": 0.9089086673324174, + "macro_recall": 0.9430153913605765, + "roc_auc": 0.9900511816269115 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.891220578607719, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03744911744405225, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1981734484081373, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8838075861978626, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8270264930277204, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8143828354475003, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8892015137705457, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8266477815617869, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8395508539572484, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8411862253946024, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8413828555480789, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9066889536261868, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.775792214056517, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7701231542642324, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9348234912893338, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9195672588485827, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8456004758728829, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8125904720215412, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8226535671084556, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7952953252338549, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8339586560094987, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7188841899081597, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7848390800471073, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8360719691196197, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8122359799410447, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7185453214698262, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.791400561727305, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7614143255813212, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13985470883345558, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09141694461418742, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045621874857109695, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.042824565217687544, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13192108544314232, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17759236336402778, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08525432699431904, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31370460396716243, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18628243431132252, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09825630634243811, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08509280196858572, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053787617357576846, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4187601179071113, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24576742825340175, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2349263457199444, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.322030662824437, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30234549751716155, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9000907605915354, + "balanced_accuracy": 0.8993115330145371, + "brier": 0.07665102866902754, + "confusion_matrix": [ + [ + 15.21875, + 1.78125 + ], + [ + 2.414938055155514, + 22.585061944844682 + ] + ], + "log_loss": 0.26403743835732, + "macro_f1": 0.8969199051652358, + "macro_precision": 0.8949733833870234, + "macro_recall": 0.8993115330145366, + "roc_auc": 0.9609842332344924 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_04", + "params": { + "C": 0.1, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.022788739787890654 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 12 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 15 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 14 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 14 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06608946083866565, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2797582734258018, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8264393744318076, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7664626401761749, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7794275876491803, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.785843681072108, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.07055216368683645, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16097564533267578, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4133110839918448, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2890736337050963, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3610355332854832, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8636403488443949, + "balanced_accuracy": 0.8678844549499447, + "brier": 0.10353260078205871, + "confusion_matrix": [ + [ + 4.1484375, + 0.8515625 + ], + [ + 0.37567436040044505, + 3.624325639599575 + ] + ], + "log_loss": 0.3386704554964896, + "macro_f1": 0.8631763422498426, + "macro_precision": 0.8633531035004738, + "macro_recall": 0.8678844549499445, + "roc_auc": 0.9428242514740768 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05727421183860604, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.26011652360584925, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8176610004226351, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.711206826204999, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6887841518996051, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7597343853781066, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7253034753155629, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17556672384610278, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06701294408709413, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15019098394244162, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3330256857104659, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8747643410622449, + "balanced_accuracy": 0.8808425944560203, + "brier": 0.09767403657434587, + "confusion_matrix": [ + [ + 3.7421875, + 0.2578125 + ], + [ + 0.8693084304397942, + 4.130691569560195 + ] + ], + "log_loss": 0.3177215411088039, + "macro_f1": 0.8745305412541294, + "macro_precision": 0.876371886269024, + "macro_recall": 0.8808425944560205, + "roc_auc": 0.9551170043084233 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.057305746273505674, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.26589737314421463, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8221474822704754, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7710542059667386, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7560354710099488, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8532618664520336, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7191482605883553, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7261099420246062, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.12452587670755766, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21013425889293452, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2902796386404497, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33187371709208524, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8881025828598391, + "balanced_accuracy": 0.8881974648831991, + "brier": 0.09379675734002572, + "confusion_matrix": [ + [ + 3.5546875, + 0.4453125 + ], + [ + 0.6736616714016088, + 5.326338328598374 + ] + ], + "log_loss": 0.3134578929734883, + "macro_f1": 0.8844765958730496, + "macro_precision": 0.8817623045240583, + "macro_recall": 0.8881974648831992, + "roc_auc": 0.9524558475356253 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.041713930495177555, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.2207056881851231, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8869788190132984, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8638776135886226, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.790822727903092, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7728862590323252, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7651774430892334, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7427079174129632, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7750879017820731, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7216619567426121, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7761321801741339, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7595663289827218, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.16600040776072628, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2226467321285997, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12336882427075094, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08766450442690918, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9131027307141244, + "balanced_accuracy": 0.9286250364998869, + "brier": 0.07135512979793789, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 1.075936770002256, + 8.924063229997696 + ] + ], + "log_loss": 0.2503441479883236, + "macro_f1": 0.9000177784104966, + "macro_precision": 0.883239320977955, + "macro_recall": 0.9286250364998897, + "roc_auc": 0.9878899356578422 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8805503144468795, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05398394151816638, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2525649176028269, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8221474822704754, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7710542059667386, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7560354710099488, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8264393744318076, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7664626401761749, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7794275876491803, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.785843681072108, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8176610004226351, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8532618664520336, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7191482605883553, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7261099420246062, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8869788190132984, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8638776135886226, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.790822727903092, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7728862590323252, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7651774430892334, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7427079174129632, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7750879017820731, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.711206826204999, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7216619567426121, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7761321801741339, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7595663289827218, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6887841518996051, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7597343853781066, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7253034753155629, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17556672384610278, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12452587670755766, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06701294408709413, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07055216368683645, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16600040776072628, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2226467321285997, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15019098394244162, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3330256857104659, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21013425889293452, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16097564533267578, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12336882427075094, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08766450442690918, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4133110839918448, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2902796386404497, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2890736337050963, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3610355332854832, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33187371709208524, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8883358635179975, + "balanced_accuracy": 0.8902462430021771, + "brier": 0.08923331254235783, + "confusion_matrix": [ + [ + 15.3046875, + 1.6953125 + ], + [ + 2.994581232244105, + 22.005418767756083 + ] + ], + "log_loss": 0.298736308833787, + "macro_f1": 0.8854193974850555, + "macro_precision": 0.8824125880629787, + "macro_recall": 0.8902462430021765, + "roc_auc": 0.9588841178148861 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "logreg", + "name": "logreg_03", + "params": { + "C": 0.01, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.01353228009435014 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 11 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 11 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 11 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 11 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.11784411236644307, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.41400260043196524, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7017852873100414, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.665843445992625, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6737350746224254, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6868689149772697, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.17774319338020828, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29473741462871483, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42678318160173373, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4002070655396428, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.441284658839438, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8035579656408355, + "balanced_accuracy": 0.8043933363459405, + "brier": 0.1414111735282584, + "confusion_matrix": [ + [ + 3.984375, + 1.015625 + ], + [ + 0.7523533092324796, + 3.2476466907675374 + ] + ], + "log_loss": 0.44747010363601014, + "macro_f1": 0.802232757621168, + "macro_precision": 0.8014696877217821, + "macro_recall": 0.80439333634594, + "roc_auc": 0.9067180052217302 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0970104534726158, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.367904433467015, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7306962361888786, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6659348674051381, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6280659984406067, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.683081133690573, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6457315460255666, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2761851557932642, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16420002136619571, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28491336218936936, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.37453428836830593, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8543735531843741, + "balanced_accuracy": 0.8617096353659366, + "brier": 0.12221969873556965, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 1.0215755213406321, + 3.978424478659357 + ] + ], + "log_loss": 0.3972934500109419, + "macro_f1": 0.8542448040501347, + "macro_precision": 0.8582003874543063, + "macro_recall": 0.8617096353659367, + "roc_auc": 0.9551402996161212 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.10990794326036464, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.3999216795442602, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.6966562716093205, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.669804098026801, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6554519929626939, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7220710545756327, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6229288705631909, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6451456407454038, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.22917564428923126, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29349707213027476, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3713127738525632, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39678132171822245, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.834789388542678, + "balanced_accuracy": 0.8421421987855648, + "brier": 0.13280806843938192, + "confusion_matrix": [ + [ + 3.515625, + 0.484375 + ], + [ + 1.1677311145732177, + 4.832268885426765 + ] + ], + "log_loss": 0.42868883900310684, + "macro_f1": 0.8318748531751597, + "macro_precision": 0.8297791011340805, + "macro_recall": 0.8421421987855648, + "roc_auc": 0.9359480892777845 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.09564945349569663, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.36669896865360335, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.7623546424390341, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7362109825380494, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.6791031665235191, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.68835825923278, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6553540710590278, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6477881718635181, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6617604275196618, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6200787017383836, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6659214873938611, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6612601939575891, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2692143813902139, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3342056398132044, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2392486994099371, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20879177103175958, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.851451702433372, + "balanced_accuracy": 0.8819536917033599, + "brier": 0.1171220006080178, + "confusion_matrix": [ + [ + 3.8125, + 0.1875 + ], + [ + 1.8921761659327934, + 8.107823834067169 + ] + ], + "log_loss": 0.3922033073797593, + "macro_f1": 0.8360155750619753, + "macro_precision": 0.8228541419790643, + "macro_recall": 0.8819536917033629, + "roc_auc": 0.976629287045441 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8310919974771094, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.1040919731927364, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.3850039443258065, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.6966562716093205, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.669804098026801, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6554519929626939, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7017852873100414, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.665843445992625, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6737350746224254, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6868689149772697, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7306962361888786, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7220710545756327, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6229288705631909, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6451456407454038, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7623546424390341, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7362109825380494, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.6791031665235191, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.68835825923278, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6553540710590278, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6477881718635181, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6617604275196618, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6659348674051381, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6200787017383836, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6659214873938611, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6612601939575891, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6280659984406067, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.683081133690573, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6457315460255666, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2761851557932642, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22917564428923126, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16420002136619571, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17774319338020828, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2692143813902139, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3342056398132044, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28491336218936936, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.37453428836830593, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29349707213027476, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29473741462871483, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2392486994099371, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20879177103175958, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42678318160173373, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3713127738525632, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4002070655396428, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.441284658839438, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39678132171822245, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8378476521171636, + "balanced_accuracy": 0.8451890866019478, + "brier": 0.12715396531620288, + "confusion_matrix": [ + [ + 15.0234375, + 1.9765625 + ], + [ + 4.833836111079113, + 20.166163888921027 + ] + ], + "log_loss": 0.41382396848024444, + "macro_f1": 0.8353794985523791, + "macro_precision": 0.8336531836899845, + "macro_recall": 0.8451890866019462, + "roc_auc": 0.9415235449501874 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "logreg", + "name": "logreg_01", + "params": { + "C": 0.001, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.01866656540816257 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 17 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 18 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 19 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 15 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.040436358557960655, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.191156789805202, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9180842278514358, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8565819098227047, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8684484467110993, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.867663029598282, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.029968536679364485, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.060629710643673146, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4145890198666482, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2000464890616394, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29215179549971176, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8860966917974704, + "balanced_accuracy": 0.8919759657721544, + "brier": 0.0856008644500939, + "confusion_matrix": [ + [ + 4.1953125, + 0.8046875 + ], + [ + 0.22044227382276593, + 3.779557726177255 + ] + ], + "log_loss": 0.30367129134709675, + "macro_f1": 0.8858531050971562, + "macro_precision": 0.8872724883091697, + "macro_recall": 0.8919759657721544, + "roc_auc": 0.955114444425736 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042913887790544385, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21026835134689917, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8437644865895021, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7071478865092673, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7200653357049522, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7971155134758247, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7640633591947338, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11858075486721839, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03601032699149377, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04721494798799998, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28857247630225036, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8565110390058711, + "balanced_accuracy": 0.863438060105284, + "brier": 0.10306816797294004, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.994525648947159, + 4.005474351052831 + ] + ], + "log_loss": 0.37681703668592914, + "macro_f1": 0.8563489170004535, + "macro_precision": 0.859644988333278, + "macro_recall": 0.863438060105284, + "roc_auc": 0.9437420039646115 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03030958292437904, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17919863863414084, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9108891082755362, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.852917373832737, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8423780245132568, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9291661994255128, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8013006456002186, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7878735460748562, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07270740514073579, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17565638466556488, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2118632725915654, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27955861717429265, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9061848970404505, + "balanced_accuracy": 0.9006618933670418, + "brier": 0.07447474255291482, + "confusion_matrix": [ + [ + 3.4921875, + 0.5078125 + ], + [ + 0.43033852959549596, + 5.569661470404488 + ] + ], + "log_loss": 0.26283847463672305, + "macro_f1": 0.9019533014425434, + "macro_precision": 0.9033669757854017, + "macro_recall": 0.900661893367042, + "roc_auc": 0.9553867954310481 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01823432429347089, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1356204272554464, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9531859766826692, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9413784001960983, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8675077877847045, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.828097167436041, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8455528321465411, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8159770580474847, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8583562441470377, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8113858704117185, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.861279594650445, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8324008127896482, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11128205942905575, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15310126810571342, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06654503409325657, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04007912083146444, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9433311795118896, + "balanced_accuracy": 0.9491990131583226, + "brier": 0.04583031496145216, + "confusion_matrix": [ + [ + 3.8515625, + 0.1484375 + ], + [ + 0.6449259868335446, + 9.355074013166382 + ] + ], + "log_loss": 0.16324507424987114, + "macro_f1": 0.9329732810894535, + "macro_precision": 0.9204759823590096, + "macro_recall": 0.9491990131583242, + "roc_auc": 0.9907179382492701 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8942821511574017, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.031155442535450672, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17389282472110879, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9108891082755362, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.852917373832737, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8423780245132568, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9180842278514358, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8565819098227047, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8684484467110993, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.867663029598282, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8437644865895021, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9291661994255128, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8013006456002186, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7878735460748562, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9531859766826692, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9413784001960983, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8675077877847045, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.828097167436041, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8455528321465411, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8159770580474847, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8583562441470377, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7071478865092673, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8113858704117185, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.861279594650445, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8324008127896482, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7200653357049522, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7971155134758247, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7640633591947338, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11858075486721839, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07270740514073579, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03601032699149377, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029968536679364485, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11128205942905575, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15310126810571342, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04721494798799998, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28857247630225036, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17565638466556488, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.060629710643673146, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06654503409325657, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04007912083146444, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4145890198666482, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2118632725915654, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2000464890616394, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29215179549971176, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27955861717429265, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9036179776381198, + "balanced_accuracy": 0.9024949835689622, + "brier": 0.07343793159039962, + "confusion_matrix": [ + [ + 15.2421875, + 1.7578125 + ], + [ + 2.290232439198965, + 22.709767560801225 + ] + ], + "log_loss": 0.26281454138482524, + "macro_f1": 0.9004716196777475, + "macro_precision": 0.8987645287156079, + "macro_recall": 0.9024949835689615, + "roc_auc": 0.9605337155117994 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_06", + "params": { + "C": 1.0, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.02768496502258831 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 17 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 14 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 15 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04865314249467091, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.22331320885472083, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8842887041106999, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8165205192295621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8310946526632715, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8321976315802334, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.04266089939678919, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09068275295415192, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41165413378106297, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23365741378514848, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31629034207379064, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8798184968895479, + "balanced_accuracy": 0.8849129965007418, + "brier": 0.09054902975179137, + "confusion_matrix": [ + [ + 4.1953125, + 0.8046875 + ], + [ + 0.2769460279940674, + 3.7230539720059532 + ] + ], + "log_loss": 0.3071203540030307, + "macro_f1": 0.8794866714479177, + "macro_precision": 0.8801754325406461, + "macro_recall": 0.8849129965007416, + "roc_auc": 0.9514983440621232 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04729114342040279, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2267051813881301, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8412165095290154, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7096779166336799, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7075245667925443, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.785844337107315, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7493096819171479, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1384665898462968, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04693432081113591, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08291444971680745, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3059744864240045, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8679851380638568, + "balanced_accuracy": 0.874936624257471, + "brier": 0.09650742901099993, + "confusion_matrix": [ + [ + 3.75, + 0.25 + ], + [ + 0.9381337574252877, + 4.061866242574702 + ] + ], + "log_loss": 0.3242059986097835, + "macro_f1": 0.867826430971885, + "macro_precision": 0.8709561591454802, + "macro_recall": 0.8749366242574712, + "roc_auc": 0.9504754972670798 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038753871661246546, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.20905505798430832, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8811991226043041, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8205619127123182, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8057387580493645, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9052072222096778, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7721415670233703, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7645064248705881, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.09032227372319254, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18696085552008618, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23669973601074212, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29662773145295385, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.904085086883655, + "balanced_accuracy": 0.9011906974030457, + "brier": 0.07998076558164564, + "confusion_matrix": [ + [ + 3.546875, + 0.453125 + ], + [ + 0.5060241311634506, + 5.493975868836533 + ] + ], + "log_loss": 0.27429182835641813, + "macro_f1": 0.9003054659196552, + "macro_precision": 0.8994762792990199, + "macro_recall": 0.9011906974030458, + "roc_auc": 0.955432617517382 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026119620306212097, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.16702921987557331, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.930986280778481, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9136043013133717, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8383714863016144, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8031511428143207, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8136588556172172, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7853389660439014, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.826637334430023, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7728273115935705, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8275728101272414, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8029244318692241, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12750065242935932, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17567474804463196, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08554059445406614, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05572034805310661, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9241548087885528, + "balanced_accuracy": 0.9369474286519868, + "brier": 0.05520650415069088, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.9290201769602591, + 9.070979823039684 + ] + ], + "log_loss": 0.19554641961076966, + "macro_f1": 0.9119961551327076, + "macro_precision": 0.8959354507901256, + "macro_recall": 0.9369474286519892, + "roc_auc": 0.9901833065424326 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8899036808680414, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03849314224131186, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.20188393262587545, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8811991226043041, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8205619127123182, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8057387580493645, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8842887041106999, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8165205192295621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8310946526632715, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8321976315802334, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8412165095290154, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9052072222096778, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7721415670233703, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7645064248705881, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.930986280778481, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9136043013133717, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8383714863016144, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8031511428143207, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8136588556172172, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7853389660439014, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.826637334430023, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7096779166336799, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7728273115935705, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8275728101272414, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8029244318692241, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7075245667925443, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.785844337107315, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7493096819171479, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1384665898462968, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09032227372319254, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04693432081113591, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04266089939678919, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12750065242935932, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17567474804463196, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08291444971680745, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3059744864240045, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18696085552008618, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09068275295415192, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08554059445406614, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05572034805310661, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41165413378106297, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23669973601074212, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23365741378514848, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31629034207379064, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29662773145295385, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8978393072965936, + "balanced_accuracy": 0.8987438416585509, + "brier": 0.07752873435217261, + "confusion_matrix": [ + [ + 15.359375, + 1.640625 + ], + [ + 2.6501240935430643, + 22.34987590645713 + ] + ], + "log_loss": 0.26577393646738773, + "macro_f1": 0.8949285724529268, + "macro_precision": 0.8922310487510312, + "macro_recall": 0.8987438416585503, + "roc_auc": 0.961445662785535 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "logreg", + "name": "logreg_05", + "params": { + "C": 0.1, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.017264078310405075 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 17 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 18 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 20 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 16 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03921798610922966, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18618103190565694, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9226372177766274, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8617242059886308, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.873275201222592, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8722199251667995, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.028030025337893717, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05487559771245315, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4139432384887253, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1944798803734779, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28723042221418776, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8869927491451407, + "balanced_accuracy": 0.8929840302882834, + "brier": 0.08498122733621877, + "confusion_matrix": [ + [ + 4.1953125, + 0.8046875 + ], + [ + 0.21237775769373368, + 3.787622242306287 + ] + ], + "log_loss": 0.3051255314834926, + "macro_f1": 0.8867603823637511, + "macro_precision": 0.8882957683151227, + "macro_recall": 0.8929840302882834, + "roc_auc": 0.955438597908628 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042719860043542085, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20883519745744122, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8439245418112831, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7032039813512412, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7192304956750922, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7972745952418671, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7639637633530255, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11492568493907748, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03442341640912822, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041163588343721885, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28337568719336703, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8565110390058711, + "balanced_accuracy": 0.863438060105284, + "brier": 0.10495188784601535, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.994525648947159, + 4.005474351052831 + ] + ], + "log_loss": 0.3910697315840308, + "macro_f1": 0.8563489170004535, + "macro_precision": 0.859644988333278, + "macro_recall": 0.863438060105284, + "roc_auc": 0.9427654997229308 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02914018939416519, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17485167060264256, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.914972806917178, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8569768345375878, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8469724184358136, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9325159598871289, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8053397253888315, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7905637109863128, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06972945644565635, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1742758312364791, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20638668142231073, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27596956669979655, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9077473970404505, + "balanced_accuracy": 0.9026150183670418, + "brier": 0.07382651262841024, + "confusion_matrix": [ + [ + 3.5078125, + 0.4921875 + ], + [ + 0.43033852959549596, + 5.569661470404488 + ] + ], + "log_loss": 0.26235631164852624, + "macro_f1": 0.9036514051736853, + "macro_precision": 0.9047657281778141, + "macro_recall": 0.902615018367042, + "roc_auc": 0.9554150604082677 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.017470341739913044, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1322182878077733, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9556524325069372, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9443324237458314, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8705775653377261, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8304463715073118, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8487851335911643, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8189424950638103, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8618067152866076, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8152249819303767, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8648821801959395, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8351975557700676, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10833436577564298, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14971066316846032, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06403474534205994, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03830032563657128, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.943931419607928, + "balanced_accuracy": 0.9496191812255494, + "brier": 0.04493862887301387, + "confusion_matrix": [ + [ + 3.8515625, + 0.1484375 + ], + [ + 0.6365226254890068, + 9.36347737451092 + ] + ], + "log_loss": 0.15991997299451816, + "macro_f1": 0.9336461674196639, + "macro_precision": 0.921284791427162, + "macro_recall": 0.9496191812255511, + "roc_auc": 0.9907887719127513 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8951017179893884, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030319697468461432, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17035044760959844, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.914972806917178, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8569768345375878, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8469724184358136, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9226372177766274, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8617242059886308, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.873275201222592, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8722199251667995, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8439245418112831, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9325159598871289, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8053397253888315, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7905637109863128, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9556524325069372, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9443324237458314, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8705775653377261, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8304463715073118, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8487851335911643, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8189424950638103, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8618067152866076, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7032039813512412, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8152249819303767, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8648821801959395, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8351975557700676, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7192304956750922, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7972745952418671, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7639637633530255, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11492568493907748, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06972945644565635, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03442341640912822, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028030025337893717, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10833436577564298, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14971066316846032, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041163588343721885, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28337568719336703, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1742758312364791, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05487559771245315, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06403474534205994, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03830032563657128, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4139432384887253, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20638668142231073, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1944798803734779, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28723042221418776, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27596956669979655, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9043820937684428, + "balanced_accuracy": 0.903283899941963, + "brier": 0.07325723731300961, + "confusion_matrix": [ + [ + 15.2578125, + 1.7421875 + ], + [ + 2.273764561725395, + 22.726235438274795 + ] + ], + "log_loss": 0.26495714538133874, + "macro_f1": 0.9012599524294631, + "macro_precision": 0.899551578352359, + "macro_recall": 0.9032838999419623, + "roc_auc": 0.9602417216160214 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_08", + "params": { + "C": 10.0, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.027973778781833877 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 19 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 18 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 19 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 16 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039087643952127576, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1856411239012562, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.92312952696888, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8622896435806039, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8738027568646713, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8727213144504509, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02782082245067883, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.054257405960777216, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4138735288526544, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19387559432830576, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28669333352077997, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8869927491451407, + "balanced_accuracy": 0.8929840302882834, + "brier": 0.08491905464391669, + "confusion_matrix": [ + [ + 4.1953125, + 0.8046875 + ], + [ + 0.21237775769373368, + 3.787622242306287 + ] + ], + "log_loss": 0.30533367660644384, + "macro_f1": 0.8867603823637511, + "macro_precision": 0.8882957683151227, + "macro_recall": 0.8929840302882834, + "roc_auc": 0.9554994309722026 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04270456198028121, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20869125763926433, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.843940835498618, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7027111302709519, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.719110959589416, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.797274194212185, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7639588248900172, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.114521396878715, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03424830097786061, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04050870880498379, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2827808856314693, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8565110390058711, + "balanced_accuracy": 0.863438060105284, + "brier": 0.10517537896842455, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.994525648947159, + 4.005474351052831 + ] + ], + "log_loss": 0.39280198952705403, + "macro_f1": 0.8563489170004535, + "macro_precision": 0.859644988333278, + "macro_recall": 0.863438060105284, + "roc_auc": 0.9426594097740596 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029016071478904483, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17438534366365785, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9154095405051792, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8574132544123171, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8474712706374301, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.932874040459786, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8057752732321323, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.790851054952699, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06940708148134281, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17413143790994834, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20579516718369018, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2755830256784696, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9090987483918017, + "balanced_accuracy": 0.903741144493168, + "brier": 0.0737599303981743, + "confusion_matrix": [ + [ + 3.5078125, + 0.4921875 + ], + [ + 0.41682501608198247, + 5.583174983918002 + ] + ], + "log_loss": 0.2623295261085265, + "macro_f1": 0.9050072893874844, + "macro_precision": 0.9063895252871279, + "macro_recall": 0.9037411444931682, + "roc_auc": 0.9554032829098841 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01739094362573249, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13186116791849986, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9559101571291009, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9446412834499419, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8709001932741239, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8306968447654351, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8491253092122255, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8192553335893786, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8621698727936327, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.815630370989945, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8652619181846292, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.835490875521794, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10802378021670908, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1493549554557332, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06377212290093791, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03811500396023954, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.943931419607928, + "balanced_accuracy": 0.9496191812255494, + "brier": 0.04484572007258958, + "confusion_matrix": [ + [ + 3.8515625, + 0.1484375 + ], + [ + 0.6365226254890068, + 9.36347737451092 + ] + ], + "log_loss": 0.159572405226386, + "macro_f1": 0.9336461674196639, + "macro_precision": 0.921284791427162, + "macro_recall": 0.9496191812255511, + "roc_auc": 0.9907916025286932 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8954406890428382, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030232470927166157, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16997383860381574, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9154095405051792, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8574132544123171, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8474712706374301, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.92312952696888, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8622896435806039, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8738027568646713, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8727213144504509, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.843940835498618, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.932874040459786, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8057752732321323, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.790851054952699, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9559101571291009, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9446412834499419, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8709001932741239, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8306968447654351, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8491253092122255, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8192553335893786, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8621698727936327, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7027111302709519, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.815630370989945, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8652619181846292, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.835490875521794, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.719110959589416, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.797274194212185, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7639588248900172, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.114521396878715, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06940708148134281, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03424830097786061, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02782082245067883, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10802378021670908, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1493549554557332, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04050870880498379, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2827808856314693, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17413143790994834, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.054257405960777216, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06377212290093791, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03811500396023954, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4138735288526544, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20579516718369018, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19387559432830576, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28669333352077997, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2755830256784696, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9047038440901932, + "balanced_accuracy": 0.9035541702122333, + "brier": 0.07324498303593019, + "confusion_matrix": [ + [ + 15.2578125, + 1.7421875 + ], + [ + 2.2602510482118814, + 22.73974895178831 + ] + ], + "log_loss": 0.26525071260609884, + "macro_f1": 0.9015805685397903, + "macro_precision": 0.899906907667836, + "macro_recall": 0.9035541702122327, + "roc_auc": 0.9602183228151305 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "logreg", + "name": "logreg_10", + "params": { + "C": 100.0, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.02808332594980987 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 14 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 16 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.045591027554627246, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21179700482250402, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8966874966296832, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8280248320771733, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8429235881253765, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8429981254536908, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03772576371013738, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07557693374310047, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4121764026804694, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2227178383832319, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30678983010560124, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8815546080006591, + "balanced_accuracy": 0.8864754965007418, + "brier": 0.08857912651128376, + "confusion_matrix": [ + [ + 4.2109375, + 0.7890625 + ], + [ + 0.2769460279940674, + 3.7230539720059532 + ] + ], + "log_loss": 0.30506847582107643, + "macro_f1": 0.8812055130407663, + "macro_precision": 0.8817069613823023, + "macro_recall": 0.8864754965007416, + "roc_auc": 0.9525532877423118 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04612482312627743, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22168759262592816, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8442530572264934, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7042286275203133, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7092443936524191, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.789790454562055, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7504758902340564, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13054958045035492, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04356826527519863, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06785808211274566, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2980777251012693, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8671919970708648, + "balanced_accuracy": 0.8748087348637783, + "brier": 0.09834493033276122, + "confusion_matrix": [ + [ + 3.7734375, + 0.2265625 + ], + [ + 0.9687095263622156, + 4.031290473637774 + ] + ], + "log_loss": 0.33519379401192406, + "macro_f1": 0.8670828932025482, + "macro_precision": 0.8712564635914342, + "macro_recall": 0.8748087348637783, + "roc_auc": 0.9483079800466674 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0353021782799291, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.19735831556504171, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8934315657887085, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8314256889848861, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8168609335403774, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.915197554682125, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7844000060669385, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7730599357890974, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08354118281971926, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.183584655778875, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22411495710052054, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28917323823395613, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9067877895863576, + "balanced_accuracy": 0.9034429496552979, + "brier": 0.07755422709101721, + "confusion_matrix": [ + [ + 3.546875, + 0.453125 + ], + [ + 0.47899710413642355, + 5.52100289586356 + ] + ], + "log_loss": 0.2686713753496839, + "macro_f1": 0.9030078291830375, + "macro_precision": 0.9025861985434878, + "macro_recall": 0.903442949655298, + "roc_auc": 0.9556900255844379 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02362177659173842, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.15739206599919425, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9384477681289477, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9223698504667841, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8473430666653538, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8088499420923889, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8227901651088843, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7937064549718321, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8364124655905116, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7829662639416257, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8376225809035533, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8112684960725529, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12017320344610083, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16716020411063814, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07912784273932236, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05090225646939381, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.931345798797917, + "balanced_accuracy": 0.9425670591585417, + "brier": 0.05237873166925394, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.8361588168291618, + 9.163841183170776 + ] + ], + "log_loss": 0.18573006368177297, + "macro_f1": 0.9199168548857488, + "macro_precision": 0.9045291245145328, + "macro_recall": 0.9425670591585438, + "roc_auc": 0.9905063571043966 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8928032725780253, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03593260264789931, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.19234365373035775, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8934315657887085, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8314256889848861, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8168609335403774, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8966874966296832, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8280248320771733, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8429235881253765, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8429981254536908, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8442530572264934, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.915197554682125, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7844000060669385, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7730599357890974, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9384477681289477, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9223698504667841, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8473430666653538, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8088499420923889, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8227901651088843, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7937064549718321, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8364124655905116, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7042286275203133, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7829662639416257, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8376225809035533, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8112684960725529, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7092443936524191, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.789790454562055, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7504758902340564, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13054958045035492, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08354118281971926, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04356826527519863, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03772576371013738, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12017320344610083, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16716020411063814, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06785808211274566, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2980777251012693, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.183584655778875, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07557693374310047, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07912784273932236, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05090225646939381, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4121764026804694, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22411495710052054, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2227178383832319, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30678983010560124, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28917323823395613, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9010818696351935, + "balanced_accuracy": 0.901908770493563, + "brier": 0.0759800244256222, + "confusion_matrix": [ + [ + 15.40625, + 1.59375 + ], + [ + 2.5608114753218683, + 22.439188524678322 + ] + ], + "log_loss": 0.263078454131873, + "macro_f1": 0.8982282079544996, + "macro_precision": 0.8955783223125775, + "macro_recall": 0.9019087704935623, + "roc_auc": 0.9612348510007075 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "logreg", + "name": "logreg_07", + "params": { + "C": 1.0, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.02021957753369952 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 15 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 15 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04524259832349594, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21043665823959817, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8981614623730112, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8294250790841028, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8443623869596707, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8443226847432471, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.037150071983261854, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0737881048386394, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4122690591106226, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22144217229226476, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30566448175743083, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8815546080006591, + "balanced_accuracy": 0.8864754965007418, + "brier": 0.08837094087422598, + "confusion_matrix": [ + [ + 4.2109375, + 0.7890625 + ], + [ + 0.2769460279940674, + 3.7230539720059532 + ] + ], + "log_loss": 0.30501041890094666, + "macro_f1": 0.8812055130407663, + "macro_precision": 0.8817069613823023, + "macro_recall": 0.8864754965007416, + "roc_auc": 0.9526613423733253 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.046017610257643476, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22115887573792986, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8446024595054044, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7033090081651262, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7093468773144991, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7901886512216194, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7505546885785581, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12959721558218354, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043176412123259886, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06605795671144377, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29704924575312586, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8671919970708648, + "balanced_accuracy": 0.8748087348637783, + "brier": 0.09864997357977243, + "confusion_matrix": [ + [ + 3.7734375, + 0.2265625 + ], + [ + 0.9687095263622156, + 4.031290473637774 + ] + ], + "log_loss": 0.33694575801162807, + "macro_f1": 0.8670828932025482, + "macro_precision": 0.8712564635914342, + "macro_recall": 0.8748087348637783, + "roc_auc": 0.9480342929582958 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03490563665020692, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.19598290036803667, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8948645134836286, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8327185949902118, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8181964030136022, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9163547014202578, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7858778086147454, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7740846498747416, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08273969288218065, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18322011045535075, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22260694374817092, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2882973609644181, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9076281257208114, + "balanced_accuracy": 0.9041432297673427, + "brier": 0.07728140231664407, + "confusion_matrix": [ + [ + 3.546875, + 0.453125 + ], + [ + 0.4705937427918857, + 5.529406257208098 + ] + ], + "log_loss": 0.2681007817856945, + "macro_f1": 0.9038489768843099, + "macro_precision": 0.9035608858834399, + "macro_recall": 0.9041432297673428, + "roc_auc": 0.9557442272151884 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023347597256263935, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.15631038590187507, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9392732486353887, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9233463896558771, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8483580219824584, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8095004039327923, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8238222622803628, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7946621922115055, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8375177535465707, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7841234216796059, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8387666378123155, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8122164659373314, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11934116584582345, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16620492831733574, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07841522046770277, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05037739585049213, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9324618702264884, + "balanced_accuracy": 0.9433483091585417, + "brier": 0.05206340527525821, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.8205338168291618, + 9.179466183170776 + ] + ], + "log_loss": 0.1846313204376254, + "macro_f1": 0.9211410379761571, + "macro_precision": 0.9059089369886504, + "macro_recall": 0.9433483091585438, + "roc_auc": 0.9905143264671885 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8933196052759453, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03564915726952426, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.19125081457391357, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8948645134836286, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8327185949902118, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8181964030136022, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8981614623730112, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8294250790841028, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8443623869596707, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8443226847432471, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8446024595054044, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9163547014202578, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7858778086147454, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7740846498747416, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9392732486353887, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9233463896558771, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8483580219824584, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8095004039327923, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8238222622803628, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7946621922115055, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8375177535465707, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7033090081651262, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7841234216796059, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8387666378123155, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8122164659373314, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7093468773144991, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7901886512216194, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7505546885785581, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12959721558218354, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08273969288218065, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043176412123259886, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037150071983261854, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11934116584582345, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16620492831733574, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06605795671144377, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29704924575312586, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18322011045535075, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0737881048386394, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07841522046770277, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05037739585049213, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4122690591106226, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22260694374817092, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22144217229226476, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30566448175743083, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2882973609644181, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9016539734767302, + "balanced_accuracy": 0.9023893377204537, + "brier": 0.07583071255014383, + "confusion_matrix": [ + [ + 15.40625, + 1.59375 + ], + [ + 2.5367831139773305, + 22.46321688602286 + ] + ], + "log_loss": 0.2629393308618303, + "macro_f1": 0.8987968324054818, + "macro_precision": 0.89618558100927, + "macro_recall": 0.902389337720453, + "roc_auc": 0.9611874120274717 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "logreg", + "name": "logreg_09", + "params": { + "C": 10.0, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.02073653825415548 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 16 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 15 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 15 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04520719886503545, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21029781412705287, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8983119888550234, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8295685291402352, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8445097702064627, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8444585170444303, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03709137123620308, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07360553686322112, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41227891742074996, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22131218059111352, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30554959585848973, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8815546080006591, + "balanced_accuracy": 0.8864754965007418, + "brier": 0.08835001417109534, + "confusion_matrix": [ + [ + 4.2109375, + 0.7890625 + ], + [ + 0.2769460279940674, + 3.7230539720059532 + ] + ], + "log_loss": 0.3050070280155615, + "macro_f1": 0.8812055130407663, + "macro_precision": 0.8817069613823023, + "macro_recall": 0.8864754965007416, + "roc_auc": 0.952676783566303 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.046007053734314636, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22110570485561343, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8446381505218599, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.703211118922663, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7093558695087411, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.790228335120827, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7505628211932179, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1294997993551503, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0431364557204833, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06587404389574027, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2969429739088162, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8657300087667712, + "balanced_accuracy": 0.8734929453900939, + "brier": 0.0986822349943938, + "confusion_matrix": [ + [ + 3.7734375, + 0.2265625 + ], + [ + 0.9818674210990579, + 4.018132578900932 + ] + ], + "log_loss": 0.33713107554194033, + "macro_f1": 0.8656306821680495, + "macro_precision": 0.8700731109248825, + "macro_recall": 0.8734929453900941, + "roc_auc": 0.9480060644788446 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.034865314786633475, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1958426487544925, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8950105531048671, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8328506165338978, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.818332936959505, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9164724927761437, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7860289624740552, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7741893877129796, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08265789869988086, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18318333288462346, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22245287433251737, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28820808589061936, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9076281257208114, + "balanced_accuracy": 0.9041432297673427, + "brier": 0.07725373808785872, + "confusion_matrix": [ + [ + 3.546875, + 0.453125 + ], + [ + 0.4705937427918857, + 5.529406257208098 + ] + ], + "log_loss": 0.2680437941613846, + "macro_f1": 0.9038489768843099, + "macro_precision": 0.9035608858834399, + "macro_recall": 0.9041432297673428, + "roc_auc": 0.9557502553787687 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023319893552740924, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.15620080794070662, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9393567302047979, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9234452231755385, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8484609152626073, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8095664292481849, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8239268860483738, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7947591877411007, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.837629791299731, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7842408379349022, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8388826946627553, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8123126059309727, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11925673642202053, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16610811095381045, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07834307529229605, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05032437136954064, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9324618702264884, + "balanced_accuracy": 0.9433483091585417, + "brier": 0.05203149389201179, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.8205338168291618, + 9.179466183170776 + ] + ], + "log_loss": 0.1845200625026531, + "macro_f1": 0.9211410379761571, + "macro_precision": 0.9059089369886504, + "macro_recall": 0.9433483091585438, + "roc_auc": 0.9905207370469572 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8929565525173206, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.035620474547591874, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.19113974927520985, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8950105531048671, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8328506165338978, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.818332936959505, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8983119888550234, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8295685291402352, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8445097702064627, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8444585170444303, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8446381505218599, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9164724927761437, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7860289624740552, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7741893877129796, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9393567302047979, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9234452231755385, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8484609152626073, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8095664292481849, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8239268860483738, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7947591877411007, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.837629791299731, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.703211118922663, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7842408379349022, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8388826946627553, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8123126059309727, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7093558695087411, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.790228335120827, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7505628211932179, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1294997993551503, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08265789869988086, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0431364557204833, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03709137123620308, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11925673642202053, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16610811095381045, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06587404389574027, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2969429739088162, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18318333288462346, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07360553686322112, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07834307529229605, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05032437136954064, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41227891742074996, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22245287433251737, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22131218059111352, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30554959585848973, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28820808589061936, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9013406902687102, + "balanced_accuracy": 0.902126179825717, + "brier": 0.07581591756800368, + "confusion_matrix": [ + [ + 15.40625, + 1.59375 + ], + [ + 2.549941008714172, + 22.450058991286017 + ] + ], + "log_loss": 0.2629276606825835, + "macro_f1": 0.8984854351573326, + "macro_precision": 0.8958528649212465, + "macro_recall": 0.9021261798257163, + "roc_auc": 0.9611843186422424 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "logreg", + "name": "logreg_11", + "params": { + "C": 100.0, + "fit_intercept": true + } + }, + "status": "ok", + "std_macro_f1": 0.021200237311729896 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04613540111370582, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20190719325233977, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9291585325442664, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.872550254659981, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8844153070243965, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8839903605838273, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.0363169168811403, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06931668243665191, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44995007773868945, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23061918154874828, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3246145421358345, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.877561938676719, + "balanced_accuracy": 0.8854993685113091, + "brier": 0.09118213732796644, + "confusion_matrix": [ + [ + 4.0703125, + 0.9296875 + ], + [ + 0.17225505190952903, + 3.8277449480904915 + ] + ], + "log_loss": 0.3252003826985134, + "macro_f1": 0.8774729340823512, + "macro_precision": 0.881990243129882, + "macro_recall": 0.8854993685113088, + "roc_auc": 0.9534409754056152 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04259749177150136, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20933366884530916, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8533885658592764, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7056637386453345, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7312574120192402, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8083239796847446, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7750903498101708, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12525777801222854, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040753092537156185, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04887819416935482, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3097783870742255, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8536517416468116, + "balanced_accuracy": 0.8598881299821304, + "brier": 0.10247363707311986, + "confusion_matrix": [ + [ + 3.6640625, + 0.3359375 + ], + [ + 0.9811968251786951, + 4.0188031748212945 + ] + ], + "log_loss": 0.37560545228261194, + "macro_f1": 0.8534240223907887, + "macro_precision": 0.8558158227221886, + "macro_recall": 0.8598881299821304, + "roc_auc": 0.9419058451986089 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0313746795714066, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18085666213217624, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.918023426378009, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8614383290533513, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8519270100017661, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9353094883571487, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8167813703397205, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8005411448399213, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08533529225012859, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18667489962427503, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23065450219862038, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30501278166349804, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9119577291106896, + "balanced_accuracy": 0.903519461758908, + "brier": 0.07310945593912463, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.32573520889310387, + 5.6742647911068795 + ] + ], + "log_loss": 0.2593499010663188, + "macro_f1": 0.9073549094905888, + "macro_precision": 0.9122861027316934, + "macro_recall": 0.903519461758908, + "roc_auc": 0.956599188211897 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02007231579490351, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.14394206031941575, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9485437146987943, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9346447546423059, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8618352382111991, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8232288730828063, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.839550707225775, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8091362985311563, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8535128880940479, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8026699896026345, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8549178703116044, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8261109204835486, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1195470364709017, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16471089924913868, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07760027613555665, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04955887941931225, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9421014555879071, + "balanced_accuracy": 0.9489241439115348, + "brier": 0.04663227010008281, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.6699546217693004, + 9.330045378230626 + ] + ], + "log_loss": 0.17003267035967104, + "macro_f1": 0.9316674049745943, + "macro_precision": 0.9186183922254216, + "macro_recall": 0.9489241439115363, + "roc_auc": 0.9908318577228397 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8924798177345807, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03317512506689475, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1791648386826767, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.918023426378009, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8614383290533513, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8519270100017661, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9291585325442664, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.872550254659981, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8844153070243965, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8839903605838273, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8533885658592764, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9353094883571487, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8167813703397205, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8005411448399213, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9485437146987943, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9346447546423059, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8618352382111991, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8232288730828063, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.839550707225775, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8091362985311563, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8535128880940479, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7056637386453345, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8026699896026345, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8549178703116044, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8261109204835486, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7312574120192402, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8083239796847446, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7750903498101708, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12525777801222854, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08533529225012859, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040753092537156185, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0363169168811403, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1195470364709017, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16471089924913868, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04887819416935482, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3097783870742255, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18667489962427503, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06931668243665191, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07760027613555665, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04955887941931225, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44995007773868945, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23065450219862038, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23061918154874828, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3246145421358345, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30501278166349804, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9021409712440326, + "balanced_accuracy": 0.8993425334920466, + "brier": 0.07444876929529005, + "confusion_matrix": [ + [ + 15.0390625, + 1.9609375 + ], + [ + 2.149141707750628, + 22.85085829224957 + ] + ], + "log_loss": 0.2686002121554455, + "macro_f1": 0.8986343070688365, + "macro_precision": 0.8979658405791504, + "macro_recall": 0.8993425334920461, + "roc_auc": 0.9578774375081307 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_00", + "params": { + "C": 0.1, + "gamma": "scale", + "kernel": "linear" + } + }, + "status": "ok", + "std_macro_f1": 0.02961206280948296 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04516205784265602, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20115820344704163, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9265610930210967, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8709723652188165, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8813269772379333, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8783995192532374, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.042056376853242206, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07464503899707509, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4517920673936804, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2192563358612601, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3098662938801729, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8819022164544967, + "balanced_accuracy": 0.8894056185113091, + "brier": 0.08801822028287856, + "confusion_matrix": [ + [ + 4.109375, + 0.890625 + ], + [ + 0.17225505190952903, + 3.8277449480904915 + ] + ], + "log_loss": 0.31218403235216985, + "macro_f1": 0.8817864613398428, + "macro_precision": 0.8855059451168869, + "macro_recall": 0.8894056185113088, + "roc_auc": 0.9559688144071391 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0454147831345098, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21666174833342397, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8456045900105624, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6905703745168181, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7165022588339205, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7960770545052414, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7677969276170256, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12222434619744862, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04103053816740836, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045519404461648524, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3075390977424737, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8545197972023671, + "balanced_accuracy": 0.8608646924821304, + "brier": 0.10742314602967411, + "confusion_matrix": [ + [ + 3.671875, + 0.328125 + ], + [ + 0.9811968251786951, + 4.0188031748212945 + ] + ], + "log_loss": 0.3977517236844179, + "macro_f1": 0.8543033042184376, + "macro_precision": 0.8568224469416139, + "macro_recall": 0.8608646924821304, + "roc_auc": 0.9379540948093151 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03434699339170823, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.19139889966290363, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9086087605094477, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8556686365194697, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8447653637437005, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9292885510610267, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8093879457320856, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7975343438850143, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.09883046314786573, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19463457012430616, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24720932475323937, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31480201358295906, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.910829024250367, + "balanced_accuracy": 0.9019278327086391, + "brier": 0.07456191294842411, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.3213972574963289, + 5.678602742503655 + ] + ], + "log_loss": 0.26321867034386925, + "macro_f1": 0.9060788495804473, + "macro_precision": 0.9115265046655108, + "macro_recall": 0.9019278327086393, + "roc_auc": 0.9563047680404795 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022581898834001555, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1547403871190114, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9425446832735781, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9263028046514727, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8528895632998712, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8229988979543589, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8335496120095114, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8004396809051372, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8458142617699913, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7925531078129465, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8444124649541421, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8161172027158219, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13560539371964025, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1780165256095183, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09170569903254906, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05997340861962298, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9567528964611525, + "balanced_accuracy": 0.9580082775228065, + "brier": 0.04781319535744793, + "confusion_matrix": [ + [ + 3.84375, + 0.15625 + ], + [ + 0.4492094495438653, + 9.55079055045605 + ] + ], + "log_loss": 0.17882821086877507, + "macro_f1": 0.9481340728891834, + "macro_precision": 0.939632396671966, + "macro_recall": 0.9580082775228078, + "roc_auc": 0.9909694104682282 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8975756720069779, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.035114478247323735, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18668414243617587, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9086087605094477, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8556686365194697, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8447653637437005, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9265610930210967, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8709723652188165, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8813269772379333, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8783995192532374, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8456045900105624, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9292885510610267, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8093879457320856, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7975343438850143, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9425446832735781, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9263028046514727, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8528895632998712, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8229988979543589, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8335496120095114, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8004396809051372, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8458142617699913, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6905703745168181, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7925531078129465, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8444124649541421, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8161172027158219, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7165022588339205, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7960770545052414, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7677969276170256, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12222434619744862, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09883046314786573, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04103053816740836, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.042056376853242206, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13560539371964025, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1780165256095183, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045519404461648524, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3075390977424737, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19463457012430616, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07464503899707509, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09170569903254906, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05997340861962298, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4517920673936804, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24720932475323937, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2192563358612601, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3098662938801729, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31480201358295906, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9078721170445615, + "balanced_accuracy": 0.9043037547880202, + "brier": 0.07557086098336872, + "confusion_matrix": [ + [ + 15.0546875, + 1.9453125 + ], + [ + 1.924058584128418, + 23.075941415871778 + ] + ], + "log_loss": 0.27440960618882937, + "macro_f1": 0.9043846212087662, + "macro_precision": 0.9044660009053067, + "macro_recall": 0.9043037547880196, + "roc_auc": 0.9569797120003747 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_01", + "params": { + "C": 1.0, + "gamma": "scale", + "kernel": "linear" + } + }, + "status": "ok", + "std_macro_f1": 0.03446103929124027 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04409361770304596, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19252204353884766, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9333030408294304, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9089477946829191, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8981308674835715, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9035643868104491, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.0409177148911984, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06836746564010356, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44089447960809014, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22716300547752166, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3347940863641077, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8821996147983355, + "balanced_accuracy": 0.8903261291481277, + "brier": 0.08872157473607674, + "confusion_matrix": [ + [ + 4.0859375, + 0.9140625 + ], + [ + 0.14614096681497957, + 3.8538590331850417 + ] + ], + "log_loss": 0.3018083097582107, + "macro_f1": 0.8821212320905469, + "macro_precision": 0.8868786908151792, + "macro_recall": 0.8903261291481277, + "roc_auc": 0.9582196144497211 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.036977340878396804, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19066315077051987, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.862724039999602, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.723308175485386, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.742254376946288, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8110031203280255, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7872536833705945, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09504657809722913, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02677427909543638, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04087042595304524, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28028250969903523, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8653313772921345, + "balanced_accuracy": 0.8705951145629209, + "brier": 0.09193820943181744, + "confusion_matrix": [ + [ + 3.671875, + 0.328125 + ], + [ + 0.8838926043707884, + 4.116107395629201 + ] + ], + "log_loss": 0.3005940562873277, + "macro_f1": 0.8650024792969665, + "macro_precision": 0.8660760887556347, + "macro_recall": 0.8705951145629212, + "roc_auc": 0.9560418752453848 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021908320093094714, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1439171868642366, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9393844263310457, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8993888984170558, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8846704737349331, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9586604389529441, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8605934765909216, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8421405519466936, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0699839535187573, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1462390319730476, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19466808609112343, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28590810479645035, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9177235814153384, + "balanced_accuracy": 0.9073477761794486, + "brier": 0.0624511063603692, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.24463918584661618, + 5.755360814153367 + ] + ], + "log_loss": 0.22200926185021014, + "macro_f1": 0.9129855064604706, + "macro_precision": 0.9209983751345255, + "macro_recall": 0.9073477761794487, + "roc_auc": 0.9647352093496637 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012228678230362177, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10920421652074393, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.939937166601595, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9567814725258781, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9020241702074584, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8376272965640383, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8760021730256512, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.867470430880666, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9012053820584625, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8375904299303047, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.899403058074126, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.862314880335072, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09144097662630861, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13953620741021944, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05264704406449879, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03169709454014358, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9656144616824138, + "balanced_accuracy": 0.9665551231776895, + "brier": 0.03486475923136114, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.3563975364462062, + 9.643602463553705 + ] + ], + "log_loss": 0.13472910443797725, + "macro_f1": 0.9585826455647473, + "macro_precision": 0.9514884960738261, + "macro_recall": 0.9665551231776905, + "roc_auc": 0.9920809515860672 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9046729658531829, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02666484103307149, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15277851544564497, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9393844263310457, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8993888984170558, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8846704737349331, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9333030408294304, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9089477946829191, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8981308674835715, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9035643868104491, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.862724039999602, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9586604389529441, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8605934765909216, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8421405519466936, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.939937166601595, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9567814725258781, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9020241702074584, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8376272965640383, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8760021730256512, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.867470430880666, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9012053820584625, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.723308175485386, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8375904299303047, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.899403058074126, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.862314880335072, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.742254376946288, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8110031203280255, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7872536833705945, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09504657809722913, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0699839535187573, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02677427909543638, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0409177148911984, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09144097662630861, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13953620741021944, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04087042595304524, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28028250969903523, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1462390319730476, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06836746564010356, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05264704406449879, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03169709454014358, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44089447960809014, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19466808609112343, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22716300547752166, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3347940863641077, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28590810479645035, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9148480287267001, + "balanced_accuracy": 0.9101635206010168, + "brier": 0.06520370834175704, + "confusion_matrix": [ + [ + 15.0546875, + 1.9453125 + ], + [ + 1.6310702934785903, + 23.368929706521612 + ] + ], + "log_loss": 0.22685527083437212, + "macro_f1": 0.9113750446458042, + "macro_precision": 0.9127005958794348, + "macro_recall": 0.9101635206010162, + "roc_auc": 0.9649007800187013 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_03", + "params": { + "C": 0.3, + "gamma": 0.1, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.03555868423205161 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.041688178160421745, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18509584335084292, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9401232558158293, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.926340094446602, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.9043883340669148, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9155753321155394, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.071334837073908, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05753348368333, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4389392128372801, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21318407208790696, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32155814430732155, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8900401165904503, + "balanced_accuracy": 0.8975841936642568, + "brier": 0.08810739698136068, + "confusion_matrix": [ + [ + 4.1484375, + 0.8515625 + ], + [ + 0.13807645068594734, + 3.8619235493140742 + ] + ], + "log_loss": 0.3151181493719671, + "macro_f1": 0.8899285636143583, + "macro_precision": 0.8935615283414036, + "macro_recall": 0.8975841936642568, + "roc_auc": 0.9507591542324223 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04885146546842512, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22653435844722727, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7620843436936684, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6525752124749179, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7222640153282539, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.789384794709658, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7562462474779523, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10600765237183074, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05475330784060432, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032839659956188226, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25715641663535305, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8356374546778403, + "balanced_accuracy": 0.8448471467100561, + "brier": 0.11342584063165104, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 1.1902004078994362, + 3.809799592100554 + ] + ], + "log_loss": 0.3741532892378511, + "macro_f1": 0.835617619785886, + "macro_precision": 0.843317865108486, + "macro_recall": 0.8448471467100563, + "roc_auc": 0.937879597103421 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021174629690595935, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14222386787520613, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9304356853391035, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9067993024394265, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8967515871821196, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9378657014167082, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8764577318965497, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8531188304737618, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07610799489469758, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15119131017249854, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18082241525912213, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29242960214014213, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9147664002320542, + "balanced_accuracy": 0.9058600210267118, + "brier": 0.06337841754788387, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.29764849767945756, + 5.702351502320526 + ] + ], + "log_loss": 0.22178332896305225, + "macro_f1": 0.9101913452368613, + "macro_precision": 0.9159138200753085, + "macro_recall": 0.9058600210267118, + "roc_auc": 0.9647653135490851 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013267357904162827, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11951465640359478, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8899530657435806, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9276592134472953, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8917703789734324, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8416659198957883, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8817747614017872, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8701789572781212, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9017869406783754, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8609250199431775, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.912417032850555, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8597701924841059, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10290794863881678, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14293698507553287, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08404475017372307, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07986284353763845, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.96468214768619, + "balanced_accuracy": 0.9659025033803329, + "brier": 0.032436130012234686, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.36944993239333906, + 9.630550067606572 + ] + ], + "log_loss": 0.1443846599592678, + "macro_f1": 0.9574989611076168, + "macro_precision": 0.9500718578510668, + "macro_recall": 0.9659025033803339, + "roc_auc": 0.9920284156333228 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8983091224361806, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028865383338663356, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16190751629964334, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9304356853391035, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9067993024394265, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8967515871821196, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9401232558158293, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.926340094446602, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.9043883340669148, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9155753321155394, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7620843436936684, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9378657014167082, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8764577318965497, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8531188304737618, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8899530657435806, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9276592134472953, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8917703789734324, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8416659198957883, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8817747614017872, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8701789572781212, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9017869406783754, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6525752124749179, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8609250199431775, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.912417032850555, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8597701924841059, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7222640153282539, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.789384794709658, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7562462474779523, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10600765237183074, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07610799489469758, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05475330784060432, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.071334837073908, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10290794863881678, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14293698507553287, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032839659956188226, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25715641663535305, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15119131017249854, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05753348368333, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08404475017372307, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07986284353763845, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4389392128372801, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18082241525912213, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21318407208790696, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32155814430732155, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29242960214014213, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9091502907462338, + "balanced_accuracy": 0.9065538912856603, + "brier": 0.06908783652779119, + "confusion_matrix": [ + [ + 15.1796875, + 1.8203125 + ], + [ + 1.9953752886581784, + 23.004624711342007 + ] + ], + "log_loss": 0.2486347970606818, + "macro_f1": 0.9058834408264569, + "macro_precision": 0.9052477013483049, + "macro_recall": 0.9065538912856594, + "roc_auc": 0.9555596458962962 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_04", + "params": { + "C": 0.3, + "gamma": 1.0, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.04371808118889019 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03958980029481652, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17729720823255707, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9383472601343814, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9099652203704848, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8993302086375736, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.898940757025157, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.027617125956592263, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040749492205911356, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43845337662808237, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20005542448485736, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29894270385869504, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8927340821076917, + "balanced_accuracy": 0.9004195923711533, + "brier": 0.08072941621198525, + "confusion_matrix": [ + [ + 4.15625, + 0.84375 + ], + [ + 0.12164326103077494, + 3.878356738969247 + ] + ], + "log_loss": 0.28055858655018356, + "macro_f1": 0.8926317181626839, + "macro_precision": 0.8964419201851989, + "macro_recall": 0.9004195923711533, + "roc_auc": 0.9609456092797697 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04147525976801795, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19981220345623477, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.825107757017402, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6884737277090535, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.725415765718682, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7994073700016253, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7827919120693462, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07903516280637224, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019345399538743493, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018802487043953146, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2754157395266107, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8588283924473431, + "balanced_accuracy": 0.8653283657026087, + "brier": 0.10508128257550736, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.9658569679739113, + 4.034143032026078 + ] + ], + "log_loss": 0.3628849100538256, + "macro_f1": 0.8586280175075871, + "macro_precision": 0.8612815712937614, + "macro_recall": 0.8653283657026087, + "roc_auc": 0.9494782295004389 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022561649285900813, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1472683979945926, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9327618962363263, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8957970277769344, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.875032419994033, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.950247967760709, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8527805828889571, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8315727543156841, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06143959755557756, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1418925150719843, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19019967335458798, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2863906256983784, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9190726710511928, + "balanced_accuracy": 0.9097741008759939, + "brier": 0.0610746130663228, + "confusion_matrix": [ + [ + 3.453125, + 0.546875 + ], + [ + 0.2623982894880728, + 5.73760171051191 + ] + ], + "log_loss": 0.2187488261020864, + "macro_f1": 0.9146166562110684, + "macro_precision": 0.9211789317508772, + "macro_recall": 0.909774100875994, + "roc_auc": 0.9641583801737431 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.011813855352748533, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10934510989691211, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9039200671551296, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9489766621150936, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9021791993025191, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8483280987252866, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8793444048270398, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8698911323102572, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9029766024582738, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8516920884591, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044960118660991, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8683213630609024, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09491503149306066, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13511088095296966, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.056537834939109605, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03421233759999302, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9707219414433241, + "balanced_accuracy": 0.9695444215103267, + "brier": 0.029698677340130434, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.27708031979346326, + 9.722919680206443 + ] + ], + "log_loss": 0.12830853884645238, + "macro_f1": 0.964513726670511, + "macro_precision": 0.9598328245087077, + "macro_recall": 0.9695444215103275, + "roc_auc": 0.993302764463259 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9075975296379626, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026680857341976137, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15232143389766242, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9327618962363263, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8957970277769344, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.875032419994033, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9383472601343814, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9099652203704848, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8993302086375736, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.898940757025157, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.825107757017402, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.950247967760709, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8527805828889571, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8315727543156841, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9039200671551296, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9489766621150936, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9021791993025191, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8483280987252866, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8793444048270398, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8698911323102572, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9029766024582738, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6884737277090535, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8516920884591, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044960118660991, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8683213630609024, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.725415765718682, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7994073700016253, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7827919120693462, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07903516280637224, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06143959755557756, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019345399538743493, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027617125956592263, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09491503149306066, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13511088095296966, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018802487043953146, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2754157395266107, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1418925150719843, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040749492205911356, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.056537834939109605, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03421233759999302, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43845337662808237, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19019967335458798, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20005542448485736, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29894270385869504, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2863906256983784, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9177356228979472, + "balanced_accuracy": 0.9136920408813347, + "brier": 0.06425771196458305, + "confusion_matrix": [ + [ + 15.171875, + 1.828125 + ], + [ + 1.6269788382862218, + 23.37302116171398 + ] + ], + "log_loss": 0.23273331605493525, + "macro_f1": 0.9144746640982987, + "macro_precision": 0.9153040352585473, + "macro_recall": 0.9136920408813342, + "roc_auc": 0.9635404292074771 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_06", + "params": { + "C": 3.0, + "gamma": 0.1, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.038440571841147644 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03980213485331377, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18562221970294046, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9360944075234227, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9041927684652012, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8995601060767618, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.884667085239165, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.07814310210519658, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055260960384817856, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4258007453481747, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20010435571852436, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30175861832145784, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8915406264161826, + "balanced_accuracy": 0.8982957047182056, + "brier": 0.08440894904540984, + "confusion_matrix": [ + [ + 4.1875, + 0.8125 + ], + [ + 0.16363436225435662, + 3.836365637745664 + ] + ], + "log_loss": 0.2980469747333452, + "macro_f1": 0.8913752817049081, + "macro_precision": 0.8938094467599949, + "macro_recall": 0.8982957047182054, + "roc_auc": 0.9520338242488036 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.052313715628148134, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.23386923356887093, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.751212535985551, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6303235901946779, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7081780043603495, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7646007975358169, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.746203602671827, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09923076191582272, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0567669432066101, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.024377544484885848, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2315569537994242, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8445163295320685, + "balanced_accuracy": 0.8540100090788615, + "brier": 0.12176409242337081, + "confusion_matrix": [ + [ + 3.7578125, + 0.2421875 + ], + [ + 1.1571655342113831, + 3.842834465788607 + ] + ], + "log_loss": 0.4456171200371, + "macro_f1": 0.8445024523652395, + "macro_precision": 0.8526383651865883, + "macro_recall": 0.8540100090788616, + "roc_auc": 0.9209485039545736 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023358024082115087, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15132434115623625, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9217959566935134, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9006936255816475, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.894713205315044, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9199582991649228, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.875705605510172, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8444882501247359, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07343006084507259, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1633768247845197, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20055534105630957, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2969363956043295, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9163913471327365, + "balanced_accuracy": 0.905261018443947, + "brier": 0.06504354813750557, + "confusion_matrix": [ + [ + 3.3984375, + 0.6015625 + ], + [ + 0.23452402867263547, + 5.765475971327348 + ] + ], + "log_loss": 0.22878025452398454, + "macro_f1": 0.9114288179487422, + "macro_precision": 0.9204823786196001, + "macro_recall": 0.9052610184439471, + "roc_auc": 0.9597910706828566 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.017005732938885295, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1375755337144655, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8568889096814888, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8942458039546756, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8704423914991776, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8330928476116328, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8725663990827965, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8511992685211297, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8842159956261357, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8369937452832136, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8890952504741203, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8459569900713471, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10751811974471963, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1362705460826041, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0924474637985124, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09332173773587757, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.966127663758116, + "balanced_accuracy": 0.969258114630681, + "brier": 0.03282987235587485, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.3804627073863771, + 9.619537292613536 + ] + ], + "log_loss": 0.15621680903339089, + "macro_f1": 0.959359420733571, + "macro_precision": 0.9507971587803008, + "macro_recall": 0.9692581146306821, + "roc_auc": 0.9934425518964172 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9016664931881151, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030969122769016724, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17177914197645672, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9217959566935134, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9006936255816475, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.894713205315044, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9360944075234227, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9041927684652012, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8995601060767618, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.884667085239165, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.751212535985551, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9199582991649228, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.875705605510172, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8444882501247359, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8568889096814888, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8942458039546756, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8704423914991776, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8330928476116328, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8725663990827965, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8511992685211297, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8842159956261357, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6303235901946779, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8369937452832136, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8890952504741203, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8459569900713471, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7081780043603495, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7646007975358169, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.746203602671827, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09923076191582272, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07343006084507259, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0567669432066101, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07814310210519658, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10751811974471963, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1362705460826041, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.024377544484885848, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2315569537994242, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1633768247845197, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055260960384817856, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0924474637985124, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09332173773587757, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4258007453481747, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20055534105630957, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20010435571852436, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30175861832145784, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2969363956043295, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9122431754160774, + "balanced_accuracy": 0.9098136791142112, + "brier": 0.07060978732324595, + "confusion_matrix": [ + [ + 15.25, + 1.75 + ], + [ + 1.935786632524751, + 23.06421336747543 + ] + ], + "log_loss": 0.2659003505866982, + "macro_f1": 0.9090964954372894, + "macro_precision": 0.90841854405908, + "macro_recall": 0.9098136791142103, + "roc_auc": 0.949333384088377 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_07", + "params": { + "C": 3.0, + "gamma": 1.0, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.041223213940960055 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0485517630840375, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20693601871106124, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9113198650863662, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8806762267914894, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.872294202630856, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8680202345435454, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02922349530598453, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05181615139022472, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47648219343148923, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2226503865874738, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3177872053372557, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8806093061220286, + "balanced_accuracy": 0.8900995318872822, + "brier": 0.0855932889334886, + "confusion_matrix": [ + [ + 4.0234375, + 0.9765625 + ], + [ + 0.09795374490174269, + 3.902046255098279 + ] + ], + "log_loss": 0.28570662593223406, + "macro_f1": 0.8805875821515671, + "macro_precision": 0.8880302555763158, + "macro_recall": 0.8900995318872822, + "roc_auc": 0.9581017833309433 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0489105388867434, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21826312094515737, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7783390134176397, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6501741497482205, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7002684857440862, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7825398088003329, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7698853460373497, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07808235376610805, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014244312321143354, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011683115895067306, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2686376975414661, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8530805377198587, + "balanced_accuracy": 0.8603506089478727, + "brier": 0.11603458800112712, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 1.0254001605212713, + 3.9745998394787185 + ] + ], + "log_loss": 0.45669272101549496, + "macro_f1": 0.852946739970549, + "macro_precision": 0.8568220624583619, + "macro_recall": 0.8603506089478729, + "roc_auc": 0.9420228079389371 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02731536750489173, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16445123135898426, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9142300811069582, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8870124376821718, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8682565274614135, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9321668599420089, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.846299604250973, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8254944237331584, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.066721199269095, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14897402665671022, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22508453506067738, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31573611545322, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.913342437348339, + "balanced_accuracy": 0.8994650519569491, + "brier": 0.06512887390984357, + "confusion_matrix": [ + [ + 3.3203125, + 0.6796875 + ], + [ + 0.1868881265166095, + 5.813111873483374 + ] + ], + "log_loss": 0.23043175944683206, + "macro_f1": 0.9076006998216046, + "macro_precision": 0.9210148731252026, + "macro_recall": 0.8994650519569493, + "roc_auc": 0.9590323428090597 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013891009744087846, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11984617089383419, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8998680963557208, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9286650135199709, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8838508941978638, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.852912412778193, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8679631196385871, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8537269239402566, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8901424990141987, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8402739479500759, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8889262267191514, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8520282588317638, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09711853625081524, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1398441240281457, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05890432689154153, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03364407805280915, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9832194765853609, + "balanced_accuracy": 0.9777067586097528, + "brier": 0.028116450923185803, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.09430232780494495, + 9.90569767219495 + ] + ], + "log_loss": 0.13479093067718934, + "macro_f1": 0.9793719160722365, + "macro_precision": 0.9810752695738734, + "macro_recall": 0.977706758609753, + "roc_auc": 0.9934926531294459 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9051267345039893, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032018774504837505, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1702178800716545, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9142300811069582, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8870124376821718, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8682565274614135, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9113198650863662, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8806762267914894, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.872294202630856, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8680202345435454, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7783390134176397, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9321668599420089, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.846299604250973, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8254944237331584, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8998680963557208, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9286650135199709, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8838508941978638, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.852912412778193, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8679631196385871, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8537269239402566, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8901424990141987, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6501741497482205, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8402739479500759, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8889262267191514, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8520282588317638, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7002684857440862, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7825398088003329, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7698853460373497, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07808235376610805, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.066721199269095, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014244312321143354, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02922349530598453, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09711853625081524, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1398441240281457, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011683115895067306, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2686376975414661, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14897402665671022, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05181615139022472, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05890432689154153, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03364407805280915, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47648219343148923, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22508453506067738, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2226503865874738, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3177872053372557, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31573611545322, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9167072771489386, + "balanced_accuracy": 0.9103282304521677, + "brier": 0.06808499867701376, + "confusion_matrix": [ + [ + 14.90625, + 2.09375 + ], + [ + 1.4045443597445677, + 23.595455640255633 + ] + ], + "log_loss": 0.25888058920186985, + "macro_f1": 0.9129827878092562, + "macro_precision": 0.9161927779505463, + "macro_recall": 0.9103282304521672, + "roc_auc": 0.9588943768903252 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_09", + "params": { + "C": 30.0, + "gamma": 0.1, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.047019648334978015 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04537974569741464, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20848076774350774, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9265791417413455, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8756522117010741, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8908855470827252, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8591034818236727, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.11274456108456099, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0845821742976278, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4389205462469201, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21003994932183961, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31491811194806063, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8869589538787953, + "balanced_accuracy": 0.8939225731136449, + "brier": 0.09083611025901839, + "confusion_matrix": [ + [ + 4.15625, + 0.84375 + ], + [ + 0.1736194150908416, + 3.8263805849091788 + ] + ], + "log_loss": 0.3164738806212388, + "macro_f1": 0.8868068924506889, + "macro_precision": 0.8896162309388136, + "macro_recall": 0.8939225731136449, + "roc_auc": 0.9472489040376167 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.060411426135741055, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2591197836540173, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7151300949572528, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6174110654006135, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7064648882496999, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7400427208506932, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7154031036654502, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11449028061749615, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09454166013609194, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0333477105699453, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2414195884162335, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8263203239104508, + "balanced_accuracy": 0.8374382915194056, + "brier": 0.13134511723714082, + "confusion_matrix": [ + [ + 3.75, + 0.25 + ], + [ + 1.3131170848059408, + 3.6868829151940488 + ] + ], + "log_loss": 0.5002286121551363, + "macro_f1": 0.8263117815241808, + "macro_precision": 0.8385742224454349, + "macro_recall": 0.8374382915194059, + "roc_auc": 0.9109055051081186 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028167009868350024, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17249299851046782, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8871437924898807, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8739944909282416, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8674803299680122, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8990638549107534, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8513014843291924, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8292393202546345, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0827597259903583, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16367005518577818, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21485880199332982, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3069768658194153, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9099453955143776, + "balanced_accuracy": 0.9005404337619813, + "brier": 0.07162695144477432, + "confusion_matrix": [ + [ + 3.4140625, + 0.5859375 + ], + [ + 0.3146085448562231, + 5.685391455143761 + ] + ], + "log_loss": 0.2595160644592911, + "macro_f1": 0.9050468226006646, + "macro_precision": 0.9110966649162997, + "macro_recall": 0.9005404337619816, + "roc_auc": 0.9455196461503704 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026857990200653468, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.17766907197766849, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8150964832288581, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8689811658500641, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8451486359983212, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8154458761312975, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8478855113324189, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8160569818764929, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8517872595607345, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8047955550341732, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8509860143024419, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8060319853930353, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.15888234295850756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16101709273712408, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14480559644343433, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13268112917021174, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9712187101871139, + "balanced_accuracy": 0.9734077846309797, + "brier": 0.04346172375135141, + "confusion_matrix": [ + [ + 3.9140625, + 0.0859375 + ], + [ + 0.31700055738040467, + 9.682999442619504 + ] + ], + "log_loss": 0.19651164784329284, + "macro_f1": 0.9653321364084825, + "macro_precision": 0.9581403911577658, + "macro_recall": 0.9734077846309805, + "roc_auc": 0.9920514734321048 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8958744082460042, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03832863114264405, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.20049290369928002, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8871437924898807, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8739944909282416, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8674803299680122, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9265791417413455, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8756522117010741, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8908855470827252, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8591034818236727, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7151300949572528, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8990638549107534, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8513014843291924, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8292393202546345, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8150964832288581, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8689811658500641, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8451486359983212, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8154458761312975, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8478855113324189, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8160569818764929, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8517872595607345, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6174110654006135, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8047955550341732, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8509860143024419, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8060319853930353, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7064648882496999, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7400427208506932, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7154031036654502, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11449028061749615, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0827597259903583, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09454166013609194, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11274456108456099, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15888234295850756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16101709273712408, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0333477105699453, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2414195884162335, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16367005518577818, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0845821742976278, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14480559644343433, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13268112917021174, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4389205462469201, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21485880199332982, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21003994932183961, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31491811194806063, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3069768658194153, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9075245094730141, + "balanced_accuracy": 0.9057029408985086, + "brier": 0.07915154034362133, + "confusion_matrix": [ + [ + 15.234375, + 1.765625 + ], + [ + 2.1183456021334086, + 22.881654397866757 + ] + ], + "log_loss": 0.30230109879491396, + "macro_f1": 0.9043535990971604, + "macro_precision": 0.903144299759848, + "macro_recall": 0.9057029408985074, + "roc_auc": 0.9405851607696978 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_10", + "params": { + "C": 30.0, + "gamma": 1.0, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.04957239167551918 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07100595854148097, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2814506408290426, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8587990934010629, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7947948446757956, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8055654394748895, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8332021130594915, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.07462964783812705, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1219516605172406, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4924701280730963, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31624272892139954, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.385230267740716, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8528247692909817, + "balanced_accuracy": 0.8598184904523547, + "brier": 0.10960943175428099, + "confusion_matrix": [ + [ + 3.984375, + 1.015625 + ], + [ + 0.3089520763811643, + 3.6910479236188563 + ] + ], + "log_loss": 0.35367907004145555, + "macro_f1": 0.8526682688447499, + "macro_precision": 0.8561274730939954, + "macro_recall": 0.8598184904523546, + "roc_auc": 0.9381657080956195 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06630589531275558, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.28458248833505884, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.765243016790628, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6866640722722349, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6595776753141493, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7329105540869312, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6980129981567973, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17454235332498622, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08646486697824854, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14187506214582019, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32706695478851017, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8680450752650747, + "balanced_accuracy": 0.8767483802385672, + "brier": 0.09930368938000089, + "confusion_matrix": [ + [ + 3.8203125, + 0.1796875 + ], + [ + 1.0079068226143268, + 3.9920931773856623 + ] + ], + "log_loss": 0.3282409173281004, + "macro_f1": 0.867996986076372, + "macro_precision": 0.8740872715968924, + "macro_recall": 0.8767483802385672, + "roc_auc": 0.960650170654376 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.051092750278207553, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.2494263588920583, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8391838352064577, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7929819761697522, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7790327474138201, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8259056156820693, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7635200471750327, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7561875841179354, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.1288072830859608, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19331566806710468, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28424747520718663, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3360768770413121, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9018234231301182, + "balanced_accuracy": 0.8953997276084317, + "brier": 0.08293837037191251, + "confusion_matrix": [ + [ + 3.453125, + 0.546875 + ], + [ + 0.43489076869881854, + 5.565109231301165 + ] + ], + "log_loss": 0.28958545875708697, + "macro_f1": 0.8972398289302727, + "macro_precision": 0.8993349897501786, + "macro_recall": 0.8953997276084318, + "roc_auc": 0.9603219598464979 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04074018908070177, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.22103279496829079, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8348881026529824, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8416395322860082, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8162583256748797, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7373368010680879, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7665843744066949, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7794109882536581, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7853198426711939, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7466484877048214, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8004028802694707, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7740453029319997, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1751347734436191, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2245060423543181, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1342778457132034, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10886946119779096, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9401270712744463, + "balanced_accuracy": 0.9481280123921123, + "brier": 0.06591358770355103, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.7054085021577492, + 9.29459149784218 + ] + ], + "log_loss": 0.24768192999791555, + "macro_f1": 0.929537273323729, + "macro_precision": 0.9158216840061899, + "macro_recall": 0.9481280123921141, + "roc_auc": 0.9896888962219326 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8868605892937809, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05516897225238164, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.25435764002270395, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8391838352064577, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7929819761697522, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7790327474138201, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8587990934010629, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7947948446757956, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8055654394748895, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8332021130594915, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.765243016790628, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8259056156820693, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7635200471750327, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7561875841179354, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8348881026529824, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8416395322860082, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8162583256748797, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7373368010680879, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7665843744066949, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7794109882536581, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7853198426711939, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6866640722722349, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7466484877048214, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8004028802694707, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7740453029319997, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6595776753141493, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7329105540869312, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6980129981567973, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17454235332498622, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1288072830859608, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08646486697824854, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07462964783812705, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1751347734436191, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2245060423543181, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14187506214582019, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32706695478851017, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19331566806710468, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1219516605172406, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1342778457132034, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10886946119779096, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4924701280730963, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28424747520718663, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31624272892139954, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.385230267740716, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3360768770413121, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8968533769082842, + "balanced_accuracy": 0.8957097777794298, + "brier": 0.08648552432803278, + "confusion_matrix": [ + [ + 15.125, + 1.875 + ], + [ + 2.4571581698520575, + 22.542841830148127 + ] + ], + "log_loss": 0.2976352736635165, + "macro_f1": 0.8935323355526913, + "macro_precision": 0.8917294770334596, + "macro_recall": 0.895709777779429, + "roc_auc": 0.9564695624798412 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_01", + "params": { + "max_depth": 3, + "max_features": "sqrt", + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.029385278113609952 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 0.8888888888888888, + "balanced_accuracy": 0.9, + "brier": 0.05772302162983053, + "confusion_matrix": [ + [ + 4, + 1 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.23328462892358465, + "macro_f1": 0.8888888888888888, + "macro_precision": 0.9, + "macro_recall": 0.9, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9044468962100013, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8460783270881257, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8533128406091048, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8667348639001299, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.04001587394985871, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.056947395751940896, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.5101876223815396, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27640673203159516, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32537951811397414, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.862024677625345, + "balanced_accuracy": 0.8715355748285133, + "brier": 0.10821801260615241, + "confusion_matrix": [ + [ + 3.9296875, + 1.0703125 + ], + [ + 0.17146540137189464, + 3.828534598628126 + ] + ], + "log_loss": 0.34985242174243747, + "macro_f1": 0.8620072463986734, + "macro_precision": 0.8698541992953034, + "macro_recall": 0.8715355748285132, + "roc_auc": 0.9397543866783764 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.055172096242917565, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.24304279603043838, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8010282722124735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6867122018850444, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.637853489043569, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7588537553755041, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7151466180365008, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1193515678813288, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0478299114535635, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04482421795826094, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2642444127476943, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.851160450336941, + "balanced_accuracy": 0.8592084678032468, + "brier": 0.1127692089778692, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 1.0661184469675302, + 3.9338815530324593 + ] + ], + "log_loss": 0.36624645157413865, + "macro_f1": 0.8510814293821132, + "macro_precision": 0.8562809453389886, + "macro_recall": 0.8592084678032469, + "roc_auc": 0.9407348827866897 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.031332272134661145, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1846469780530745, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9046495141973616, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.832379194873028, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8401092334083726, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9060479947933916, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.830834911573231, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7998416441981496, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08469580193277895, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18061420533837114, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22351993659128697, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28862780313102143, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9137460589321076, + "balanced_accuracy": 0.904358694943423, + "brier": 0.07334852548757016, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.2922269106789232, + 5.70777308932106 + ] + ], + "log_loss": 0.2547198790948695, + "macro_f1": 0.909024739536839, + "macro_precision": 0.9153215000359664, + "macro_recall": 0.904358694943423, + "roc_auc": 0.9570319293261962 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020983904716169153, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.14970091627863583, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9009750228335628, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9018740693123812, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8620937736758083, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8198365985641458, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8349856655583845, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.81780162328787, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8482020305346646, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7952366247473818, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8562715597826561, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.811343004335166, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09816883429240977, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15247954558904345, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06966232596118319, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05896696278132185, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9543063993576464, + "balanced_accuracy": 0.9527801045503523, + "brier": 0.0473958586194737, + "confusion_matrix": [ + [ + 3.796875, + 0.203125 + ], + [ + 0.43658540899295034, + 9.563414591006962 + ] + ], + "log_loss": 0.1836995948022206, + "macro_f1": 0.9449701403879905, + "macro_precision": 0.9380373159563614, + "macro_recall": 0.9527801045503534, + "roc_auc": 0.9876082895182858 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8917708889264041, + "pooled": { + "recording": { + "accuracy": 0.9761904761904762, + "balanced_accuracy": 0.9705882352941176, + "brier": 0.038646510672088394, + "confusion_matrix": [ + [ + 16, + 1 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.19593403411947272, + "macro_f1": 0.9750445632798574, + "macro_precision": 0.9807692307692308, + "macro_recall": 0.9705882352941176, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9046495141973616, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.832379194873028, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8401092334083726, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9044468962100013, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8460783270881257, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8533128406091048, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8667348639001299, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8010282722124735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9060479947933916, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.830834911573231, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7998416441981496, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9009750228335628, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9018740693123812, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8620937736758083, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8198365985641458, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8349856655583845, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.81780162328787, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8482020305346646, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6867122018850444, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7952366247473818, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8562715597826561, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.811343004335166, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.637853489043569, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7588537553755041, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7151466180365008, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1193515678813288, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08469580193277895, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0478299114535635, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04001587394985871, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09816883429240977, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15247954558904345, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04482421795826094, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2642444127476943, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18061420533837114, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.056947395751940896, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06966232596118319, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05896696278132185, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.5101876223815396, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22351993659128697, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27640673203159516, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32537951811397414, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28862780313102143, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9027718174283024, + "balanced_accuracy": 0.898401856051539, + "brier": 0.08061695880486971, + "confusion_matrix": [ + [ + 14.8828125, + 2.1171875 + ], + [ + 1.966396168011298, + 23.03360383198889 + ] + ], + "log_loss": 0.2753305470959278, + "macro_f1": 0.8989667232754777, + "macro_precision": 0.8995573464540672, + "macro_recall": 0.8984018560515383, + "roc_auc": 0.9487662208167209 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_00", + "params": { + "max_depth": 3, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.037647583758739875 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 0.8888888888888888, + "balanced_accuracy": 0.9, + "brier": 0.08047908262452888, + "confusion_matrix": [ + [ + 4, + 1 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.30480249024482586, + "macro_f1": 0.8888888888888888, + "macro_precision": 0.9, + "macro_recall": 0.9, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8494547109161096, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7823762326365549, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8001220570569048, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8176134545224311, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.07925004616518755, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1317426794375811, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.5013412974405063, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35368529637344326, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42543932892348596, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8326539519218885, + "balanced_accuracy": 0.8408372584121249, + "brier": 0.11622846317219374, + "confusion_matrix": [ + [ + 3.8359375, + 1.1640625 + ], + [ + 0.34205193270300344, + 3.657948067297017 + ] + ], + "log_loss": 0.3681336624889069, + "macro_f1": 0.8325884749220841, + "macro_precision": 0.83836198493801, + "macro_recall": 0.8408372584121246, + "roc_auc": 0.932722173173824 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07038466051790487, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2958928420227658, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7573242893663034, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6870281321850876, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6494193551091664, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7192121992770112, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6921600781926492, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.194286861125276, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09064156999437024, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1505137015992944, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33389729863336687, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8722295391007412, + "balanced_accuracy": 0.879928460190667, + "brier": 0.10206025332674419, + "confusion_matrix": [ + [ + 3.796875, + 0.203125 + ], + [ + 0.9468091480933283, + 4.0531908519066615 + ] + ], + "log_loss": 0.33642166376989385, + "macro_f1": 0.8721258223824151, + "macro_precision": 0.8763415854966439, + "macro_recall": 0.8799284601906672, + "roc_auc": 0.9598613093322212 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05473756448229764, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.25942273183860637, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8349496183861321, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7903148905593025, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7745204011076541, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8156835814235259, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7522172895491538, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7330688280768115, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.1305396998143329, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1961622929016001, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2904250687373361, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34472754238623593, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9005667197908878, + "balanced_accuracy": 0.8940269539924064, + "brier": 0.08670611945294251, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.4396453020911228, + 5.560354697908862 + ] + ], + "log_loss": 0.2987487552357374, + "macro_f1": 0.8959103706704301, + "macro_precision": 0.8980626307549004, + "macro_recall": 0.8940269539924065, + "roc_auc": 0.9585631059096676 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04270435902943098, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.22656226662638365, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8346616454741398, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8437397167219991, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8158391946551377, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7197936110737347, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7583991819629109, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7743312904854797, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7824044701878906, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7456001300999803, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7897153981335452, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7738767190976351, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1798718577730158, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23314536255878526, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13357732563147984, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11138593664508914, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9423946449705916, + "balanced_accuracy": 0.9497153139794139, + "brier": 0.06793437961551281, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.6736624704117176, + 9.326337529588212 + ] + ], + "log_loss": 0.2530673584279147, + "macro_f1": 0.932064939047744, + "macro_precision": 0.9188016665146341, + "macro_recall": 0.9497153139794157, + "roc_auc": 0.9891580591912502 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8831724017556684, + "pooled": { + "recording": { + "accuracy": 0.9761904761904762, + "balanced_accuracy": 0.9705882352941176, + "brier": 0.05959548475040271, + "confusion_matrix": [ + [ + 16, + 1 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2660085009896133, + "macro_f1": 0.9750445632798574, + "macro_precision": 0.9807692307692308, + "macro_recall": 0.9705882352941176, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8349496183861321, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7903148905593025, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7745204011076541, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8494547109161096, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7823762326365549, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8001220570569048, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8176134545224311, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7573242893663034, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8156835814235259, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7522172895491538, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7330688280768115, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8346616454741398, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8437397167219991, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8158391946551377, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7197936110737347, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7583991819629109, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7743312904854797, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7824044701878906, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6870281321850876, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7456001300999803, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7897153981335452, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7738767190976351, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6494193551091664, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7192121992770112, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6921600781926492, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.194286861125276, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1305396998143329, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09064156999437024, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07925004616518755, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1798718577730158, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23314536255878526, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1505137015992944, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33389729863336687, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1961622929016001, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1317426794375811, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13357732563147984, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11138593664508914, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.5013412974405063, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2904250687373361, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35368529637344326, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42543932892348596, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34472754238623593, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8938843725404959, + "balanced_accuracy": 0.8915246376398993, + "brier": 0.09006526089612013, + "confusion_matrix": [ + [ + 14.9453125, + 2.0546875 + ], + [ + 2.4021688532991705, + 22.59783114670102 + ] + ], + "log_loss": 0.3064625834923187, + "macro_f1": 0.890240594117562, + "macro_precision": 0.8890902077495054, + "macro_recall": 0.8915246376398986, + "roc_auc": 0.9547768747732721 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_03", + "params": { + "max_depth": 3, + "max_features": "sqrt", + "min_samples_leaf": 100 + } + }, + "status": "ok", + "std_macro_f1": 0.03617145499107492 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04808462367839403, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2015680469945777, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9332459371516405, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9029414846843301, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8921704128638952, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8990878034500077, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.046681519474057076, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04806203568327097, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4554493860713792, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24508297587983538, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3536746098544189, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8795336510732089, + "balanced_accuracy": 0.8879128574573601, + "brier": 0.09058809144058909, + "confusion_matrix": [ + [ + 4.0625, + 0.9375 + ], + [ + 0.14669714034111975, + 3.8533028596589016 + ] + ], + "log_loss": 0.31023574763319484, + "macro_f1": 0.8794685291940014, + "macro_precision": 0.8847304881110927, + "macro_recall": 0.8879128574573601, + "roc_auc": 0.9548856212034638 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03793043716078976, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1946671869612403, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8578261735857272, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7250102098196556, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7444497856290823, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.819333361712169, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7798206081154081, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10933066973649616, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04182054130447466, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031768860882406276, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2905244024495873, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8769328647846701, + "balanced_accuracy": 0.8812317658062031, + "brier": 0.08777798512780831, + "confusion_matrix": [ + [ + 3.6796875, + 0.3203125 + ], + [ + 0.7872917169379676, + 4.212708283062022 + ] + ], + "log_loss": 0.29043124836671125, + "macro_f1": 0.8764996818457143, + "macro_precision": 0.8765454760894249, + "macro_recall": 0.8812317658062032, + "roc_auc": 0.9566202776997991 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024548443971956, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1542809757382302, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9327869734427913, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8914467643447963, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8742127819683365, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.941809706930682, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8606193771266601, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8278178283978922, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07388937371216851, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15653589750906693, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18726120640263416, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3096303682645389, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9233221174513744, + "balanced_accuracy": 0.912664264542812, + "brier": 0.06254533424106391, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 0.2042788254862558, + 5.795721174513727 + ] + ], + "log_loss": 0.22529557266410016, + "macro_f1": 0.9188067951734058, + "macro_precision": 0.927719357886166, + "macro_recall": 0.912664264542812, + "roc_auc": 0.9618701958871835 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01350075854100265, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1175127609327039, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8962226199532798, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9346073316232156, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.88907923617344, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8192100549714488, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.870922778148824, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8605745537683287, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8939895532750974, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8577906048065425, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8971183754585234, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8605902957491176, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08997530358007759, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13665175184596295, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055345090602477456, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039523572255284536, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.97013857578712, + "balanced_accuracy": 0.969136065550984, + "brier": 0.031010068427815975, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.2852474389803193, + 9.714752561019585 + ] + ], + "log_loss": 0.13754742640430132, + "macro_f1": 0.9638280424346739, + "macro_precision": 0.9589095729209978, + "macro_recall": 0.9691360655509846, + "roc_auc": 0.9920578581947411 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9096507621619488, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028776919210625033, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16081203609625044, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9327869734427913, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8914467643447963, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8742127819683365, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9332459371516405, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9029414846843301, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8921704128638952, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8990878034500077, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8578261735857272, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.941809706930682, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8606193771266601, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8278178283978922, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8962226199532798, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9346073316232156, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.88907923617344, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8192100549714488, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.870922778148824, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8605745537683287, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8939895532750974, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7250102098196556, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8577906048065425, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8971183754585234, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8605902957491176, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7444497856290823, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.819333361712169, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7798206081154081, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10933066973649616, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07388937371216851, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04182054130447466, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046681519474057076, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08997530358007759, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13665175184596295, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031768860882406276, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2905244024495873, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15653589750906693, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04806203568327097, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055345090602477456, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039523572255284536, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4554493860713792, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18726120640263416, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24508297587983538, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3536746098544189, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3096303682645389, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9196038066251032, + "balanced_accuracy": 0.9140848446239105, + "brier": 0.06344973784561046, + "confusion_matrix": [ + [ + 15.046875, + 1.953125 + ], + [ + 1.4235151217456616, + 23.576484878254547 + ] + ], + "log_loss": 0.22820530143572323, + "macro_f1": 0.9161453120181915, + "macro_precision": 0.9185334769814337, + "macro_recall": 0.9140848446239103, + "roc_auc": 0.9626819002061338 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "svm", + "name": "svm_05", + "params": { + "C": 0.3, + "gamma": "scale", + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.03545762242212943 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05189318775745824, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2124554019231997, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9184823153167078, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8869506935954635, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.880876150699097, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8834959427889882, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.045701006519545985, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03290516888128847, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47726870415772815, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2520041293963088, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35410012011628506, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8770472850492317, + "balanced_accuracy": 0.8866781956803858, + "brier": 0.09310888012069062, + "confusion_matrix": [ + [ + 4.0, + 1.0 + ], + [ + 0.1065744345569151, + 3.8934255654431063 + ] + ], + "log_loss": 0.31403841066414173, + "macro_f1": 0.8770300417612713, + "macro_precision": 0.8848460145311304, + "macro_recall": 0.8866781956803858, + "roc_auc": 0.9482306369870601 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04023089566970748, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19949864585782914, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8437812446726469, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.693892370790978, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.743309032883048, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8198763461689981, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7778867133992937, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11035553721139885, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04172610692318417, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01642710061454521, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28655457293708597, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8802614784419224, + "balanced_accuracy": 0.8842275180977299, + "brier": 0.09223489793655934, + "confusion_matrix": [ + [ + 3.6796875, + 0.3203125 + ], + [ + 0.7573341940226983, + 4.242665805977291 + ] + ], + "log_loss": 0.3205510019607829, + "macro_f1": 0.8797911135755181, + "macro_precision": 0.8795583106946128, + "macro_recall": 0.8842275180977301, + "roc_auc": 0.9499327119723845 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026981721919723405, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1635052869356758, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9144850398867349, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8843835284977662, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8698175067797255, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9208511528983738, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8598915000698293, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8218611697805888, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0656292172910905, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15852868835192124, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19483433340604542, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.327356731291183, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9168254069250587, + "balanced_accuracy": 0.9039951307708821, + "brier": 0.06297391306770085, + "confusion_matrix": [ + [ + 3.359375, + 0.640625 + ], + [ + 0.19112093074941372, + 5.80887906925057 + ] + ], + "log_loss": 0.22887096137485977, + "macro_f1": 0.9115163242793056, + "macro_precision": 0.9234206476434081, + "macro_recall": 0.9039951307708822, + "roc_auc": 0.959171098040281 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014427338126037723, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12267160581672498, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8780643598265798, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9103057416026621, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8744954015797488, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8186366862194288, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.868683452518463, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.860358278413281, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8857322103186346, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8651685775899769, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8919998904063191, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8567618944718416, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08592117630061395, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1349492809102229, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05455381477584571, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04115552372796913, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9781235680296311, + "balanced_accuracy": 0.9747255601207416, + "brier": 0.027587046781564994, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.17345754758516474, + 9.826542452414735 + ] + ], + "log_loss": 0.13788363103587997, + "macro_f1": 0.9732825399079605, + "macro_precision": 0.9718681827997921, + "macro_recall": 0.9747255601207421, + "roc_auc": 0.9919403871739736 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.910405004881014, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03097420723348223, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16809623287667066, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9144850398867349, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8843835284977662, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8698175067797255, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9184823153167078, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8869506935954635, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.880876150699097, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8834959427889882, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8437812446726469, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9208511528983738, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8598915000698293, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8218611697805888, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8780643598265798, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9103057416026621, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8744954015797488, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8186366862194288, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.868683452518463, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.860358278413281, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8857322103186346, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.693892370790978, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8651685775899769, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8919998904063191, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8567618944718416, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.743309032883048, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8198763461689981, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7778867133992937, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11035553721139885, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0656292172910905, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04172610692318417, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045701006519545985, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08592117630061395, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1349492809102229, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01642710061454521, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28655457293708597, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15852868835192124, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03290516888128847, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05455381477584571, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04115552372796913, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47726870415772815, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19483433340604542, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2520041293963088, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35410012011628506, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.327356731291183, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.920899116502043, + "balanced_accuracy": 0.9138493755087752, + "brier": 0.06390599495557543, + "confusion_matrix": [ + [ + 14.90625, + 2.09375 + ], + [ + 1.2284871069141912, + 23.77151289308602 + ] + ], + "log_loss": 0.23643774194941047, + "macro_f1": 0.9172105318976753, + "macro_precision": 0.9214561967732267, + "macro_recall": 0.9138493755087749, + "roc_auc": 0.9584517315428847 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "svm", + "name": "svm_08", + "params": { + "C": 3.0, + "gamma": "scale", + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.0387489288431913 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05347880538497652, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.22949733943936199, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9071738115539834, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8416888952474628, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8569335735774122, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8566914050575472, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.05334474931837126, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09315242032912689, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4590187873594337, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2619121676129954, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3403020998701268, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8706174942322745, + "balanced_accuracy": 0.8786634310113091, + "brier": 0.09434928443405205, + "confusion_matrix": [ + [ + 4.03125, + 0.96875 + ], + [ + 0.19569255190952903, + 3.8043074480904915 + ] + ], + "log_loss": 0.3250157778689801, + "macro_f1": 0.8705351755070847, + "macro_precision": 0.8753706862946957, + "macro_recall": 0.8786634310113088, + "roc_auc": 0.9512016174746388 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04971167954386085, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.23254758642098766, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8430324428255683, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6920478157897578, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7063273814641258, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7873709980631672, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7499969182502227, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1420275729854018, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05289300202471734, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07729329188987337, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32408603762016674, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8579644621053653, + "balanced_accuracy": 0.8651367658948288, + "brier": 0.10099104300165344, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.9970698410517109, + 4.002930158948279 + ] + ], + "log_loss": 0.34162745473215084, + "macro_f1": 0.8578227089542092, + "macro_precision": 0.861460320511998, + "macro_recall": 0.8651367658948288, + "roc_auc": 0.9439369274108017 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038983470341990255, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.20855773090100604, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8911649047353742, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8296880560728667, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8144488851050037, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9145833904231638, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.789634304701481, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7772838322397031, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.1037692505280187, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20111197784457824, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24887095211713983, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3166247003131105, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9088899773833985, + "balanced_accuracy": 0.9019395644861652, + "brier": 0.07812190777798673, + "confusion_matrix": [ + [ + 3.46875, + 0.53125 + ], + [ + 0.37985022616601605, + 5.620149773833968 + ] + ], + "log_loss": 0.27214475641580677, + "macro_f1": 0.9044682712700282, + "macro_precision": 0.9074696309282532, + "macro_recall": 0.9019395644861654, + "roc_auc": 0.9562432731020979 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02774339300525395, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.17361663584586884, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9302099007509236, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.909595916964818, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8358490245239149, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8001629921283785, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8105688865823597, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7810666368772275, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8256145885649092, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7656697303391448, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8236005639332104, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7974072939467622, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13371215820292703, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18679688917653486, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09858929956390342, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06851443329703258, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9259659773349187, + "balanced_accuracy": 0.937629309134443, + "brier": 0.055524534050468345, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.8958513173111362, + 9.104148682688805 + ] + ], + "log_loss": 0.20072590781005686, + "macro_f1": 0.9138793629088795, + "macro_precision": 0.8981978550069376, + "macro_recall": 0.9376293091344453, + "roc_auc": 0.9907329059849459 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8866763796600504, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04064182309173796, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2065384415141755, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8911649047353742, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8296880560728667, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8144488851050037, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9071738115539834, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8416888952474628, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8569335735774122, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8566914050575472, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8430324428255683, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9145833904231638, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.789634304701481, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7772838322397031, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9302099007509236, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.909595916964818, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8358490245239149, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8001629921283785, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8105688865823597, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7810666368772275, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8256145885649092, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6920478157897578, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7656697303391448, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8236005639332104, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7974072939467622, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7063273814641258, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7873709980631672, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7499969182502227, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1420275729854018, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1037692505280187, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05289300202471734, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05334474931837126, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13371215820292703, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18679688917653486, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07729329188987337, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32408603762016674, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20111197784457824, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09315242032912689, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09858929956390342, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06851443329703258, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4590187873594337, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24887095211713983, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2619121676129954, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3403020998701268, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3166247003131105, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8954681205609906, + "balanced_accuracy": 0.894104985977115, + "brier": 0.07896727384304222, + "confusion_matrix": [ + [ + 15.078125, + 1.921875 + ], + [ + 2.4684639364383916, + 22.531536063561802 + ] + ], + "log_loss": 0.2745571277835486, + "macro_f1": 0.8920690711229124, + "macro_precision": 0.8903630557142201, + "macro_recall": 0.8941049859771143, + "roc_auc": 0.957784239943455 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "svm", + "name": "svm_02", + "params": { + "C": 10.0, + "gamma": "scale", + "kernel": "linear" + } + }, + "status": "ok", + "std_macro_f1": 0.02318203231710989 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.057980304238838515, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.23489853486095555, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8929314061405188, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8648544181505488, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8621896802854221, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8629610547269011, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.08067604778116332, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031030421597124238, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.49146058502932033, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2753068479575922, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3598951102806002, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8657345610348948, + "balanced_accuracy": 0.8762951311642566, + "brier": 0.0980358204372628, + "confusion_matrix": [ + [ + 3.90625, + 1.09375 + ], + [ + 0.11463895068594736, + 3.8853610493140742 + ] + ], + "log_loss": 0.3253766450820211, + "macro_f1": 0.8657338377409891, + "macro_precision": 0.8759107135456812, + "macro_recall": 0.8762951311642566, + "roc_auc": 0.938537400768649 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04484417010784952, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21245567508610216, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8153606270289022, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6595631989475025, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7457557473450912, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8098427692990917, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7717925559856068, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11086485148561329, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04533074191369075, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017134706307077793, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2934119593533146, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8714186183287913, + "balanced_accuracy": 0.875683006495912, + "brier": 0.10052403208418131, + "confusion_matrix": [ + [ + 3.65625, + 0.34375 + ], + [ + 0.8134824350408776, + 4.186517564959112 + ] + ], + "log_loss": 0.3617062993393429, + "macro_f1": 0.870970705573449, + "macro_precision": 0.8710617318038802, + "macro_recall": 0.8756830064959122, + "roc_auc": 0.9409265082264411 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03070110937760101, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17864160546083255, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8894999355137101, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8702452806053631, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8575526757488086, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8994547940553258, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8433521810611091, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8103929722250959, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07215876471437725, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15911298168161347, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2031749930787451, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33951538029574246, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9189650877242789, + "balanced_accuracy": 0.9048016356035657, + "brier": 0.0652242353214558, + "confusion_matrix": [ + [ + 3.3359375, + 0.6640625 + ], + [ + 0.14628662275721097, + 5.853713377242772 + ] + ], + "log_loss": 0.2385344753587259, + "macro_f1": 0.9134804440404549, + "macro_precision": 0.9280528155735808, + "macro_recall": 0.9048016356035657, + "roc_auc": 0.9564533307494801 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.016835847039645573, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1346001646640302, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8622566723309559, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.889694699985185, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8604530806590373, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8145855654832265, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8623586787100572, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8548250528615963, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8724146820270223, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8550457212580737, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.879716202389175, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8477022037457426, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0835387414804106, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14445971791163975, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06788772757372909, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0572711028069221, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9794936605581679, + "balanced_accuracy": 0.9745127498907175, + "brier": 0.028047656015471403, + "confusion_matrix": [ + [ + 3.8515625, + 0.1484375 + ], + [ + 0.138651252185649, + 9.86134874781425 + ] + ], + "log_loss": 0.14745008624077602, + "macro_f1": 0.9748612680970414, + "macro_precision": 0.9752114682523343, + "macro_recall": 0.9745127498907179, + "roc_auc": 0.9923454272956941 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9062615638629836, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0349555528916962, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18326205355781588, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8894999355137101, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8702452806053631, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8575526757488086, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8929314061405188, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8648544181505488, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8621896802854221, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8629610547269011, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8153606270289022, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8994547940553258, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8433521810611091, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8103929722250959, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8622566723309559, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.889694699985185, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8604530806590373, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8145855654832265, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8623586787100572, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8548250528615963, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8724146820270223, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6595631989475025, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8550457212580737, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.879716202389175, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8477022037457426, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7457557473450912, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8098427692990917, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7717925559856068, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11086485148561329, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07215876471437725, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04533074191369075, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08067604778116332, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0835387414804106, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14445971791163975, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017134706307077793, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2934119593533146, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15911298168161347, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031030421597124238, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06788772757372909, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0572711028069221, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.49146058502932033, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2031749930787451, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2753068479575922, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3598951102806002, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33951538029574246, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9175462080792931, + "balanced_accuracy": 0.9095623441983712, + "brier": 0.06742733833628939, + "confusion_matrix": [ + [ + 14.75, + 2.25 + ], + [ + 1.2130592606696844, + 23.78694073933053 + ] + ], + "log_loss": 0.2531760109702476, + "macro_f1": 0.91354361577086, + "macro_precision": 0.9187963323145658, + "macro_recall": 0.9095623441983709, + "roc_auc": 0.9532886906275253 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "svm", + "name": "svm_11", + "params": { + "C": 30.0, + "gamma": "scale", + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.043720627041044104 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037942626097198555, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17223304840231238, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9342096730548349, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8975287975247009, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8869954023744699, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9034453661371531, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.017176243820032626, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023369234450839674, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.434242833426712, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19374925314777308, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2785952764589569, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8871723468462901, + "balanced_accuracy": 0.8935767027020765, + "brier": 0.08594346450716632, + "confusion_matrix": [ + [ + 4.1796875, + 0.8203125 + ], + [ + 0.19513637838338888, + 3.804863621616632 + ] + ], + "log_loss": 0.28754329902685755, + "macro_f1": 0.8869763094320229, + "macro_precision": 0.8890187463047938, + "macro_recall": 0.8935767027020765, + "roc_auc": 0.9583575608052275 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.040389508517212194, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19598990979476494, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8304613372900663, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7155574902878582, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7152703707746917, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.797716089994771, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7593395378299819, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07678880676217487, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019847367548972455, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0059143027914211515, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2600424182558147, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8759118217151853, + "balanced_accuracy": 0.8818753270436667, + "brier": 0.09807953739114862, + "confusion_matrix": [ + [ + 3.7421875, + 0.2578125 + ], + [ + 0.8589811045633313, + 4.141018895436658 + ] + ], + "log_loss": 0.4693795943103237, + "macro_f1": 0.8756676598887834, + "macro_precision": 0.8773515440289372, + "macro_recall": 0.8818753270436668, + "roc_auc": 0.9550644935357736 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02173992332172826, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14630225286297485, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.927132218824691, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8935161830170042, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8739472670616975, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9357168205342526, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8466816339586969, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8288014208390734, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05054989014106403, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13883218611696813, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19025209387934527, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26436356853413223, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9106739984400589, + "balanced_accuracy": 0.9014731237000488, + "brier": 0.06332084365226719, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.3151350155994121, + 5.684864984400572 + ] + ], + "log_loss": 0.2073297335340146, + "macro_f1": 0.9058525933119385, + "macro_precision": 0.9116818683090049, + "macro_recall": 0.9014731237000491, + "roc_auc": 0.9702987926404263 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01017725968689115, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09850646625726313, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9186588329605525, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9511404310573112, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9068149413951806, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9023153204694652, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8810921221684376, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8600691087522377, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9019689300370406, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8369030062278965, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9102603962496363, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8567641152648862, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06439750043853645, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10335785964042604, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03818640535277921, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02154022300846222, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.956161222752824, + "balanced_accuracy": 0.9605237934269766, + "brier": 0.0329172200324137, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.4965553814604631, + 9.503444618539454 + ] + ], + "log_loss": 0.1249706643159619, + "macro_f1": 0.9477374915330478, + "macro_precision": 0.9372169876804746, + "macro_recall": 0.9605237934269779, + "roc_auc": 0.993199346306695 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9040585135414481, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025354049532463223, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1465742780953602, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.927132218824691, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8935161830170042, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8739472670616975, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9342096730548349, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8975287975247009, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8869954023744699, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9034453661371531, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8304613372900663, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9357168205342526, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8466816339586969, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8288014208390734, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9186588329605525, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9511404310573112, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9068149413951806, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9023153204694652, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8810921221684376, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8600691087522377, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9019689300370406, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7155574902878582, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8369030062278965, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9102603962496363, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8567641152648862, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7152703707746917, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.797716089994771, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7593395378299819, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07678880676217487, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05054989014106403, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019847367548972455, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017176243820032626, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06439750043853645, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10335785964042604, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0059143027914211515, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2600424182558147, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13883218611696813, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023369234450839674, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03818640535277921, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02154022300846222, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.434242833426712, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19025209387934527, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19374925314777308, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2785952764589569, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26436356853413223, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9133513004760333, + "balanced_accuracy": 0.9105239159292802, + "brier": 0.0654822984300309, + "confusion_matrix": [ + [ + 15.2265625, + 1.7734375 + ], + [ + 1.8658078800065947, + 23.134192119993603 + ] + ], + "log_loss": 0.2532188732332915, + "macro_f1": 0.9101668789824422, + "macro_precision": 0.9098195751742952, + "macro_recall": 0.9105239159292796, + "roc_auc": 0.9656293771255469 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_04", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.027426784850655667 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07153005019820677, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.27836564372870065, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8731374298814737, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8071337547579495, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8217140208497451, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8320528416420966, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.06182831995510378, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10750783705618286, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.48984360793813797, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33194620214827175, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40616633986025164, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8555467366003379, + "balanced_accuracy": 0.8628807036753803, + "brier": 0.1067898029669565, + "confusion_matrix": [ + [ + 3.984375, + 1.015625 + ], + [ + 0.28445437059695955, + 3.715545629403061 + ] + ], + "log_loss": 0.34014876695310386, + "macro_f1": 0.8554177384671989, + "macro_precision": 0.8593490189993895, + "macro_recall": 0.8628807036753801, + "roc_auc": 0.9430742025463764 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06152625313370409, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.26901996578779186, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7665745541546096, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7046114130606049, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6642058650213408, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7303521701730771, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7122354537497442, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.16886484770025953, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06520459393907639, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10378067948417571, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31651371147602014, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8640777520035601, + "balanced_accuracy": 0.871810601803204, + "brier": 0.09805720632779456, + "confusion_matrix": [ + [ + 3.765625, + 0.234375 + ], + [ + 0.988925231967958, + 4.011074768032032 + ] + ], + "log_loss": 0.31855986650953233, + "macro_f1": 0.8639765814984406, + "macro_precision": 0.8683991487017625, + "macro_recall": 0.8718106018032041, + "roc_auc": 0.9581525089939688 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.044866549839500405, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.22945717210634817, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.854156372920744, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8144544250415742, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8005926249947976, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8482699943326782, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7705747868868393, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7552930433682076, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.10478102271937906, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17358569132801727, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26243575570749816, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32814886066650245, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9073562257248403, + "balanced_accuracy": 0.9000103964373667, + "brier": 0.07817810283265861, + "confusion_matrix": [ + [ + 3.453125, + 0.546875 + ], + [ + 0.3795627427515975, + 5.620437257248386 + ] + ], + "log_loss": 0.27021220171027777, + "macro_f1": 0.902790038160439, + "macro_precision": 0.9061469022367816, + "macro_recall": 0.9000103964373669, + "roc_auc": 0.96324774695165 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030867492928263685, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.18699444801898518, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8701769844932377, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8836995015909784, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8405432437900057, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7610132333932825, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7939644495213813, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7967721102168671, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8158311315108105, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7696412169628, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8214930275182332, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8004130531836523, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1448932021843012, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19916584638593632, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09852834669793786, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08012356478236377, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.949175828278715, + "balanced_accuracy": 0.9527043297951003, + "brier": 0.05486364025942409, + "confusion_matrix": [ + [ + 3.84375, + 0.15625 + ], + [ + 0.5552884040979893, + 9.444711595901932 + ] + ], + "log_loss": 0.21104281728402072, + "macro_f1": 0.9394910751529093, + "macro_precision": 0.9287480458462412, + "macro_recall": 0.9527043297951018, + "roc_auc": 0.9916347043490179 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.890418858319747, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.049483741175664134, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.23426105902327876, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.854156372920744, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8144544250415742, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8005926249947976, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8731374298814737, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8071337547579495, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8217140208497451, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8320528416420966, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7665745541546096, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8482699943326782, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7705747868868393, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7552930433682076, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8701769844932377, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8836995015909784, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8405432437900057, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7610132333932825, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7939644495213813, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7967721102168671, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8158311315108105, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7046114130606049, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7696412169628, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8214930275182332, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8004130531836523, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6642058650213408, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7303521701730771, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7122354537497442, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.16886484770025953, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10478102271937906, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06520459393907639, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06182831995510378, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1448932021843012, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19916584638593632, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10378067948417571, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31651371147602014, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17358569132801727, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10750783705618286, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09852834669793786, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08012356478236377, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.48984360793813797, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26243575570749816, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33194620214827175, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40616633986025164, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32814886066650245, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9009201012044163, + "balanced_accuracy": 0.8983905320705339, + "brier": 0.08079750180026864, + "confusion_matrix": [ + [ + 15.046875, + 1.953125 + ], + [ + 2.2082307494145033, + 22.791769250585688 + ] + ], + "log_loss": 0.27583569429149507, + "macro_f1": 0.897432372350607, + "macro_precision": 0.8965470389549839, + "macro_recall": 0.8983905320705332, + "roc_auc": 0.961239916439529 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_07", + "params": { + "max_depth": 6, + "max_features": "sqrt", + "min_samples_leaf": 100 + } + }, + "status": "ok", + "std_macro_f1": 0.03348656801614147 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.061592700771271165, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.24855446645695625, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8932808107693526, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8217308180835419, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8392097494913633, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8516013243038686, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.05381109656185151, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06830369726693004, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.49566475110398744, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2934404552153805, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3520481122598528, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8520407191117703, + "balanced_accuracy": 0.8606942465007418, + "brier": 0.11005275840090499, + "confusion_matrix": [ + [ + 3.9140625, + 1.0859375 + ], + [ + 0.24569602799406734, + 3.7543039720059532 + ] + ], + "log_loss": 0.3613330511969583, + "macro_f1": 0.8519940830187663, + "macro_precision": 0.8582894837881878, + "macro_recall": 0.8606942465007417, + "roc_auc": 0.9375225361621415 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05260398424064182, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.23870248319426668, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8343583750674592, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6945060951411568, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6550180399215283, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7809500653608074, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7290409494272247, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13689474182104502, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.061384920007242924, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055428839839680805, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29441011461691013, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8599396519400218, + "balanced_accuracy": 0.8659378742460195, + "brier": 0.10700125006447668, + "confusion_matrix": [ + [ + 3.6796875, + 0.3203125 + ], + [ + 0.9402306325398024, + 4.059769367460187 + ] + ], + "log_loss": 0.3457415978103775, + "macro_f1": 0.8596894102100404, + "macro_precision": 0.8616769644115607, + "macro_recall": 0.8659378742460198, + "roc_auc": 0.941357071773068 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0375822886151596, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.20483289462987778, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8892835136792777, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8093181052140889, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8142733987851387, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8846852851072227, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.82189931080064, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7902008855889061, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.09188870009892544, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18388889859128016, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2272054098064838, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33135603897067356, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8982677311322822, + "balanced_accuracy": 0.8865772759435684, + "brier": 0.07990276224030149, + "confusion_matrix": [ + [ + 3.3125, + 0.6875 + ], + [ + 0.3298226886771781, + 5.670177311322806 + ] + ], + "log_loss": 0.2712060208531762, + "macro_f1": 0.8922799593843849, + "macro_precision": 0.9006550884732436, + "macro_recall": 0.8865772759435686, + "roc_auc": 0.948443497054662 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02778785856421248, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.17525626034171612, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8876076606462965, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8788519477270774, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8435073556540111, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7649263217902151, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8034540193288504, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7996408196680981, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.821827309591139, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7800109973672931, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8288411028010555, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8061616817378074, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11835710023057883, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1741045517205479, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08453730803201745, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06870764617768133, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9480967904908741, + "balanced_accuracy": 0.9490193158436118, + "brier": 0.055430541776770745, + "confusion_matrix": [ + [ + 3.8046875, + 0.1953125 + ], + [ + 0.5313324331277622, + 9.46866756687216 + ] + ], + "log_loss": 0.20756747150190677, + "macro_f1": 0.9379388076069364, + "macro_precision": 0.9286252186074002, + "macro_recall": 0.9490193158436132, + "roc_auc": 0.9871327488437629 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.885475565055032, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04268150169423304, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.21160069376056687, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8892835136792777, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8093181052140889, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8142733987851387, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8932808107693526, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8217308180835419, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8392097494913633, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8516013243038686, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8343583750674592, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8846852851072227, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.82189931080064, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7902008855889061, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8876076606462965, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8788519477270774, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8435073556540111, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7649263217902151, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8034540193288504, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7996408196680981, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.821827309591139, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6945060951411568, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7800109973672931, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8288411028010555, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8061616817378074, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6550180399215283, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7809500653608074, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7290409494272247, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13689474182104502, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09188870009892544, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.061384920007242924, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05381109656185151, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11835710023057883, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1741045517205479, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055428839839680805, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29441011461691013, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18388889859128016, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06830369726693004, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08453730803201745, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06870764617768133, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.49566475110398744, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2272054098064838, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2934404552153805, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3520481122598528, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33135603897067356, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8967584694681234, + "balanced_accuracy": 0.8917329967061653, + "brier": 0.08401288770157715, + "confusion_matrix": [ + [ + 14.7109375, + 2.2890625 + ], + [ + 2.04708178233881, + 22.952918217661384 + ] + ], + "log_loss": 0.285278015491059, + "macro_f1": 0.8926234847093623, + "macro_precision": 0.8935799520410552, + "macro_recall": 0.8917329967061647, + "roc_auc": 0.9437320975662805 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "random_forest", + "name": "random_forest_02", + "params": { + "max_depth": 3, + "max_features": 1.0, + "min_samples_leaf": 30 + } + }, + "status": "ok", + "std_macro_f1": 0.03385493694531103 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.044545024950175205, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19206204584679248, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9299813953780424, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8913017737425881, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8748983950387803, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8901433173247995, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.020969766764072174, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03282010512529987, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45620956430559656, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.229056308870281, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3071767622376982, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8837001246240679, + "balanced_accuracy": 0.8906470152020765, + "brier": 0.08811140998942138, + "confusion_matrix": [ + [ + 4.140625, + 0.859375 + ], + [ + 0.18732387838338888, + 3.812676121616632 + ] + ], + "log_loss": 0.2950803938030033, + "macro_f1": 0.8835454982533564, + "macro_precision": 0.8863890386837563, + "macro_recall": 0.8906470152020765, + "roc_auc": 0.9568347144206452 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.046849313916176916, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2178795692968486, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7855767497795936, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7100761153337322, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.694055505442749, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7785603255158234, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7467716512289179, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1023231764848821, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032249422946738264, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013510247645462246, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2704734585608272, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8562547984470991, + "balanced_accuracy": 0.862816818602389, + "brier": 0.10375139773720968, + "confusion_matrix": [ + [ + 3.6875, + 0.3125 + ], + [ + 0.9812068139761074, + 4.018793186023882 + ] + ], + "log_loss": 0.3730249252857991, + "macro_f1": 0.8560597591095223, + "macro_precision": 0.8588419618789598, + "macro_recall": 0.8628168186023892, + "roc_auc": 0.9506742285014693 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02460100440230913, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15883811108691914, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9121946418338857, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8797422682132187, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8716270248455764, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9226214944427095, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8341074296126346, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8102085548902519, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.060183962575196655, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15376720162337973, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1905413469810146, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2725026294760871, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9143483613948977, + "balanced_accuracy": 0.9068137386624147, + "brier": 0.065964800392455, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.33307888605102254, + 5.666921113948961 + ] + ], + "log_loss": 0.21809251677118263, + "macro_f1": 0.9100319925187144, + "macro_precision": 0.9140062981954863, + "macro_recall": 0.9068137386624149, + "roc_auc": 0.9671022119143069 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01239884210839566, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10943585828283267, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9237864728088376, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9542073539102103, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8939667311036941, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8314881952893928, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8673006716267142, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8510012303420027, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8943570888323832, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8425592508638869, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044862180709232, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8647545850315043, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07000593908897193, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12396098923794424, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04244007232988324, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02826228454825698, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9470010726779415, + "balanced_accuracy": 0.952939813374559, + "brier": 0.03667261714795062, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.6091724825088163, + 9.390827517491108 + ] + ], + "log_loss": 0.13532343565689733, + "macro_f1": 0.9372298788016535, + "macro_precision": 0.9249839339320101, + "macro_recall": 0.9529398133745606, + "roc_auc": 0.9927955242768811 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8967167821708116, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029574830555661895, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1621418491219433, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9121946418338857, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8797422682132187, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8716270248455764, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9299813953780424, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8913017737425881, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8748983950387803, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8901433173247995, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7855767497795936, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9226214944427095, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8341074296126346, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8102085548902519, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9237864728088376, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9542073539102103, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8939667311036941, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8314881952893928, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8673006716267142, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8510012303420027, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8943570888323832, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7100761153337322, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8425592508638869, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044862180709232, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8647545850315043, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.694055505442749, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7785603255158234, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7467716512289179, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1023231764848821, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.060183962575196655, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032249422946738264, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020969766764072174, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07000593908897193, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12396098923794424, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013510247645462246, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2704734585608272, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15376720162337973, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03282010512529987, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04244007232988324, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02826228454825698, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45620956430559656, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1905413469810146, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.229056308870281, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3071767622376982, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2725026294760871, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9062164985495397, + "balanced_accuracy": 0.9040159764286725, + "brier": 0.06904356936989377, + "confusion_matrix": [ + [ + 15.171875, + 1.828125 + ], + [ + 2.110782060919335, + 22.889217939080858 + ] + ], + "log_loss": 0.24020002711208596, + "macro_f1": 0.902939474280128, + "macro_precision": 0.9019529068169114, + "macro_recall": 0.9040159764286718, + "roc_auc": 0.9644041373729534 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_06", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 30 + } + }, + "status": "ok", + "std_macro_f1": 0.03018725753306046 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03653794957588151, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1696701849617421, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9404761904761905, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8986175115207373, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8950892857142857, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9051724137931035, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.024553571428571425, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03571428571428571, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4263392857142857, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18973214285714285, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2745535714285714, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8834945850327524, + "balanced_accuracy": 0.8898298456618466, + "brier": 0.09108554310365846, + "confusion_matrix": [ + [ + 4.1640625, + 0.8359375 + ], + [ + 0.21261123470522794, + 3.787388765294793 + ] + ], + "log_loss": 1.303550073767892, + "macro_f1": 0.8832901510147697, + "macro_precision": 0.8853065275010056, + "macro_recall": 0.8898298456618465, + "roc_auc": 0.9440457091085723 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032089892051465924, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.17018718227076762, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8933092224231465, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7373271889400922, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7746478873239436, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8289473684210525, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8163265306122449, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08035714285714285, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025669642857142856, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.007812499999999998, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2957589285714286, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.871403832564035, + "balanced_accuracy": 0.8752790743076313, + "brier": 0.09504391056859476, + "confusion_matrix": [ + [ + 3.640625, + 0.359375 + ], + [ + 0.7979905069236848, + 4.202009493076305 + ] + ], + "log_loss": 1.4011470832158075, + "macro_f1": 0.8709015398628895, + "macro_precision": 0.870714980787983, + "macro_recall": 0.8752790743076315, + "roc_auc": 0.9388756748998424 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021805627679319366, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1428392509643509, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9338624338624337, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9073359073359073, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8834586466165412, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9466666666666667, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8734693877551019, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8559423769507801, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05803571428571429, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14732142857142858, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20647321428571425, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2901785714285714, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9025721968928238, + "balanced_accuracy": 0.8908153724106864, + "brier": 0.0726395440858838, + "confusion_matrix": [ + [ + 3.328125, + 0.671875 + ], + [ + 0.3024030310717619, + 5.697596968928222 + ] + ], + "log_loss": 0.76829119966569, + "macro_f1": 0.8967768383786483, + "macro_precision": 0.9056109349941572, + "macro_recall": 0.8908153724106866, + "roc_auc": 0.9550963429430428 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.00801608910413605, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.08713607272462999, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9491525423728814, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9494505494505494, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9260204081632654, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8901098901098903, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9151785714285714, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8872180451127819, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9063625450180073, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8624338624338622, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9047619047619048, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.873015873015873, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07700892857142856, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09598214285714285, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037946428571428575, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012276785714285712, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9504624755813958, + "balanced_accuracy": 0.9547768579069771, + "brier": 0.0371206919673133, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.5529003418604566, + 9.447099658139466 + ] + ], + "log_loss": 0.19606664053299871, + "macro_f1": 0.9410759077068388, + "macro_precision": 0.9300116170979463, + "macro_recall": 0.9547768579069785, + "roc_auc": 0.9899959299515415 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8980111092407865, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022569811878505364, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1358812817352599, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9338624338624337, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9073359073359073, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8834586466165412, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9404761904761905, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8986175115207373, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8950892857142857, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9051724137931035, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8933092224231465, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9466666666666667, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8734693877551019, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8559423769507801, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9491525423728814, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9494505494505494, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9260204081632654, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8901098901098903, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9151785714285714, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8872180451127819, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9063625450180073, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7373271889400922, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8624338624338622, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9047619047619048, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.873015873015873, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7746478873239436, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8289473684210525, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8163265306122449, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08035714285714285, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05803571428571429, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025669642857142856, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.024553571428571425, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07700892857142856, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09598214285714285, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.007812499999999998, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2957589285714286, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14732142857142858, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03571428571428571, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037946428571428575, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012276785714285712, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4263392857142857, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20647321428571425, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18973214285714285, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2745535714285714, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2901785714285714, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.907768628224735, + "balanced_accuracy": 0.9036285888852482, + "brier": 0.06955357646313103, + "confusion_matrix": [ + [ + 14.9921875, + 2.0078125 + ], + [ + 1.8659051145611307, + 23.134094885439076 + ] + ], + "log_loss": 0.8278599851660042, + "macro_f1": 0.9041672590338273, + "macro_precision": 0.9047288769914014, + "macro_recall": 0.9036285888852479, + "roc_auc": 0.9566071381423413 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_00", + "params": { + "n_neighbors": 7, + "p": 2, + "weights": "uniform" + } + }, + "status": "ok", + "std_macro_f1": 0.02649403543455566 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03574311051562183, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16803340631273572, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9388746025995027, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8994383619579174, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8929284422801764, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9014606373397264, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.022091969691709873, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035925587571480656, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4201758574745767, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18483060008378469, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27235254363129274, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8834327879742924, + "balanced_accuracy": 0.8895650114710791, + "brier": 0.09107994727262408, + "confusion_matrix": [ + [ + 4.171875, + 0.828125 + ], + [ + 0.2209799082313681, + 3.7790200917686523 + ] + ], + "log_loss": 1.303502136258824, + "macro_f1": 0.8832102602950878, + "macro_precision": 0.8849738151127369, + "macro_recall": 0.889565011471079, + "roc_auc": 0.9443550636594187 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032887039016560954, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1722845606704591, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8879237714557104, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7347853407097784, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7739394908613184, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8287657475546812, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8019048461994932, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07649576780049157, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023099895318714064, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.006218536116368666, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29494637450486166, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8682892129159931, + "balanced_accuracy": 0.8724759166243937, + "brier": 0.09739409439776663, + "confusion_matrix": [ + [ + 3.640625, + 0.359375 + ], + [ + 0.8260220837560608, + 4.1739779162439286 + ] + ], + "log_loss": 1.4068929390383, + "macro_f1": 0.8678250252834975, + "macro_precision": 0.8678976586718878, + "macro_recall": 0.8724759166243938, + "roc_auc": 0.93859256182208 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021552897682143895, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14208175331373074, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9279955037334964, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9048546853742974, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8855922106670225, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9479237499005175, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8793167508150598, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8592250940389116, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05796438399049311, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14941997320956127, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20145547037930878, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2912697973114612, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9033178850151569, + "balanced_accuracy": 0.8917623000126305, + "brier": 0.07331402371607057, + "confusion_matrix": [ + [ + 3.3359375, + 0.6640625 + ], + [ + 0.3027586498484333, + 5.69724135015155 + ] + ], + "log_loss": 0.7705487649220237, + "macro_f1": 0.8976088017664818, + "macro_precision": 0.9062019003857441, + "macro_recall": 0.8917623000126307, + "roc_auc": 0.9543853118440524 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.00797890467212847, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.08652619021095732, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9504588517281005, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9495263055624729, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9231519229541055, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8835248642016484, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9170304506508374, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8914752668720203, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9082956032362376, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8633433276602339, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9057447033057032, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8689962463430088, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07087977816239259, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09469354728036186, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036517848461034806, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010674603968408686, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9511500308406392, + "balanced_accuracy": 0.9558440840884472, + "brier": 0.037336348175062206, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.5510870682310525, + 9.448912931768868 + ] + ], + "log_loss": 0.19653428706089188, + "macro_f1": 0.9419173634637188, + "macro_precision": 0.9307049780931627, + "macro_recall": 0.9558440840884486, + "roc_auc": 0.9900386841702732 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8976403627021965, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022497737810021016, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13559633092713008, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9279955037334964, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9048546853742974, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8855922106670225, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9388746025995027, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8994383619579174, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8929284422801764, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9014606373397264, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8879237714557104, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9479237499005175, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8793167508150598, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8592250940389116, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9504588517281005, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9495263055624729, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9231519229541055, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8835248642016484, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9170304506508374, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8914752668720203, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9082956032362376, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7347853407097784, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8633433276602339, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9057447033057032, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8689962463430088, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7739394908613184, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8287657475546812, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8019048461994932, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07649576780049157, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05796438399049311, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023099895318714064, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022091969691709873, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07087977816239259, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09469354728036186, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.006218536116368666, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29494637450486166, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14941997320956127, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035925587571480656, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036517848461034806, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010674603968408686, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4201758574745767, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20145547037930878, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18483060008378469, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27235254363129274, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2912697973114612, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9074946973793592, + "balanced_accuracy": 0.9036190752104267, + "brier": 0.0702884639677403, + "confusion_matrix": [ + [ + 15.015625, + 1.984375 + ], + [ + 1.9008477100669143, + 23.09915228993329 + ] + ], + "log_loss": 0.8297743653749249, + "macro_f1": 0.9039362310695469, + "macro_precision": 0.9042613229175379, + "macro_recall": 0.9036190752104263, + "roc_auc": 0.9565192212886149 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_01", + "params": { + "n_neighbors": 7, + "p": 2, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.02764794745274515 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03894204581129021, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.179007580299812, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9515533388749736, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8882223121293661, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8816948677794638, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.88187919787676, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.029259490425514175, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.026690845206108052, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4049453725121139, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22613182249725006, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3016679942504807, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8784897313887858, + "balanced_accuracy": 0.8857618853123842, + "brier": 0.09344892471025087, + "confusion_matrix": [ + [ + 4.1015625, + 0.8984375 + ], + [ + 0.1951549175009269, + 3.804845082499094 + ] + ], + "log_loss": 1.3449716357962598, + "macro_f1": 0.8783575146786264, + "macro_precision": 0.8817784813353872, + "macro_recall": 0.8857618853123842, + "roc_auc": 0.941070654066041 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.036940565710601996, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18805115793801666, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8721292065166748, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7463638094037092, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7038600214524899, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8252619563087528, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7772082781509733, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09541119743105614, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027570107411212165, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02303996911683895, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27114602092368617, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8647027777184341, + "balanced_accuracy": 0.8694434374465905, + "brier": 0.09787121682760341, + "confusion_matrix": [ + [ + 3.6484375, + 0.3515625 + ], + [ + 0.8661125005340926, + 4.133887499465897 + ] + ], + "log_loss": 1.1279469665353792, + "macro_f1": 0.8643079948928931, + "macro_precision": 0.8648862220376743, + "macro_recall": 0.8694434374465907, + "roc_auc": 0.9427786160806707 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024715921832683584, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1537616104263697, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9111658502873428, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9176080668174973, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8552582064883711, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9282474556684074, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8702746592528432, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8504796303505319, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05929935432372452, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13949287749688655, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2079760467498193, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3177529698079316, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9030323177832852, + "balanced_accuracy": 0.891198806486071, + "brier": 0.07446705454958329, + "confusion_matrix": [ + [ + 3.328125, + 0.671875 + ], + [ + 0.2978018221671474, + 5.702198177832837 + ] + ], + "log_loss": 0.8238618446221164, + "macro_f1": 0.8972405664909535, + "macro_precision": 0.9062306453466646, + "macro_recall": 0.8911988064860712, + "roc_auc": 0.9487700746213168 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01065997766924806, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10181000655492763, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9431206577215728, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9394296569595958, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9205020355203101, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8635199678054162, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8962548223933674, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8731150843470928, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.897189209266963, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8460420253255717, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9021536968582614, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8549741017260158, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08373727182560459, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12632091073570853, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045308884620429424, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0249953399889204, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9475408454373279, + "balanced_accuracy": 0.9515598418061293, + "brier": 0.03832764674611189, + "confusion_matrix": [ + [ + 3.84375, + 0.15625 + ], + [ + 0.5781781638774091, + 9.421821836122511 + ] + ], + "log_loss": 0.22527594030886514, + "macro_f1": 0.9376414643627184, + "macro_precision": 0.9264670976902194, + "macro_recall": 0.9515598418061307, + "roc_auc": 0.9876008682515524 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8943868851062979, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025698628795079486, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14920202000412242, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9111658502873428, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9176080668174973, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8552582064883711, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9515533388749736, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8882223121293661, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8816948677794638, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.88187919787676, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8721292065166748, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9282474556684074, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8702746592528432, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8504796303505319, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9431206577215728, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9394296569595958, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9205020355203101, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8635199678054162, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8962548223933674, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8731150843470928, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.897189209266963, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7463638094037092, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8460420253255717, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9021536968582614, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8549741017260158, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7038600214524899, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8252619563087528, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7772082781509733, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09541119743105614, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05929935432372452, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027570107411212165, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029259490425514175, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08373727182560459, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12632091073570853, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02303996911683895, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27114602092368617, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13949287749688655, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.026690845206108052, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045308884620429424, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0249953399889204, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4049453725121139, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2079760467498193, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22613182249725006, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3016679942504807, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3177529698079316, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9043958951409623, + "balanced_accuracy": 0.9001337283889971, + "brier": 0.07150330651862115, + "confusion_matrix": [ + [ + 14.921875, + 2.078125 + ], + [ + 1.9372474040795753, + 23.062752595920625 + ] + ], + "log_loss": 0.8011606912269055, + "macro_f1": 0.900663811563913, + "macro_precision": 0.9012164153836828, + "macro_recall": 0.9001337283889965, + "roc_auc": 0.9545245366862688 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_02", + "params": { + "n_neighbors": 7, + "p": 1, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.02757164520332738 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04079184713428172, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18405396253119885, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9373015873015873, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9009216589861752, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8939732142857144, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9002463054187191, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.030505952380952384, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06101190476190476, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42745535714285715, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21391369047619047, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31473214285714285, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8765163453219627, + "balanced_accuracy": 0.8837371384872081, + "brier": 0.09127675154607086, + "confusion_matrix": [ + [ + 4.09375, + 0.90625 + ], + [ + 0.20510289210233584, + 3.7948971078976843 + ] + ], + "log_loss": 0.6538660367367374, + "macro_f1": 0.8763800382112663, + "macro_precision": 0.8797584126175895, + "macro_recall": 0.8837371384872079, + "roc_auc": 0.9545312106224796 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03206611703347314, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.17456054431367501, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8800482218203737, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7572964669738864, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.772635814889336, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8383458646616541, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8163265306122448, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10788690476190477, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02864583333333333, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.026413690476190473, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3009672619047619, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8787669186592455, + "balanced_accuracy": 0.882101164293321, + "brier": 0.08409553563936509, + "confusion_matrix": [ + [ + 3.6484375, + 0.3515625 + ], + [ + 0.7395352320667892, + 4.2604647679331995 + ] + ], + "log_loss": 0.6097898730902281, + "macro_f1": 0.8782036822990558, + "macro_precision": 0.8776178978545401, + "macro_recall": 0.882101164293321, + "roc_auc": 0.9559594176665823 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024101965139892823, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15193603884635756, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.911816578483245, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9047619047619049, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8778195488721802, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9466666666666669, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8639455782312924, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8527410964385754, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06770833333333333, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.142485119047619, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22172619047619047, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30357142857142855, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9100987058072004, + "balanced_accuracy": 0.8987150673393336, + "brier": 0.06493849865840526, + "confusion_matrix": [ + [ + 3.3671875, + 0.6328125 + ], + [ + 0.26620044192799613, + 5.733799558071987 + ] + ], + "log_loss": 0.25935723898556706, + "macro_f1": 0.9047647180078033, + "macro_precision": 0.9136697192195435, + "macro_recall": 0.8987150673393336, + "roc_auc": 0.9702708914780145 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01079484447887621, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10281553835555811, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9313962873284908, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9531135531135531, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9141156462585034, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8644688644688645, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8816964285714285, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8872180451127819, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9063625450180072, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8465608465608464, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9013112491373361, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8594104308390024, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10267857142857142, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1279761904761905, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05059523809523809, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021577380952380952, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9567560275972952, + "balanced_accuracy": 0.9574245318181064, + "brier": 0.03404398093290029, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 0.44135311363786833, + 9.558646886362045 + ] + ], + "log_loss": 0.14450164379186378, + "macro_f1": 0.9480809336554398, + "macro_precision": 0.939970319703661, + "macro_recall": 0.9574245318181075, + "roc_auc": 0.9928619602700077 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9018573430433913, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02494926551459497, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14729305921536318, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.911816578483245, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9047619047619049, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8778195488721802, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9373015873015873, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9009216589861752, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8939732142857144, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9002463054187191, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8800482218203737, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9466666666666669, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8639455782312924, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8527410964385754, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9313962873284908, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9531135531135531, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9141156462585034, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8644688644688645, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8816964285714285, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8872180451127819, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9063625450180072, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7572964669738864, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8465608465608464, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9013112491373361, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8594104308390024, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.772635814889336, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8383458646616541, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8163265306122448, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10788690476190477, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06770833333333333, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02864583333333333, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030505952380952384, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10267857142857142, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1279761904761905, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.026413690476190473, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3009672619047619, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.142485119047619, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06101190476190476, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05059523809523809, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021577380952380952, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42745535714285715, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22172619047619047, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21391369047619047, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31473214285714285, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30357142857142855, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9117409719110716, + "balanced_accuracy": 0.9065241811111828, + "brier": 0.06438931676937096, + "confusion_matrix": [ + [ + 14.9453125, + 2.0546875 + ], + [ + 1.6521916797349885, + 23.34780832026522 + ] + ], + "log_loss": 0.3807023474139155, + "macro_f1": 0.9080612356541884, + "macro_precision": 0.9097850766624618, + "macro_recall": 0.9065241811111825, + "roc_auc": 0.9666628572832319 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_03", + "params": { + "n_neighbors": 21, + "p": 2, + "weights": "uniform" + } + }, + "status": "ok", + "std_macro_f1": 0.028955404877030664 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03958781370275992, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18056146103950357, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9380957373241515, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9020217103105918, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8929471653637613, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8994415516453269, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.028544711963208097, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05689866630448515, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42436183090182344, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2077848349042008, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3065556547300644, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8791205119886293, + "balanced_accuracy": 0.8858855759872081, + "brier": 0.08976123291294699, + "confusion_matrix": [ + [ + 4.125, + 0.875 + ], + [ + 0.21291539210233584, + 3.7870846078976843 + ] + ], + "log_loss": 0.6507114699435786, + "macro_f1": 0.8789498659525106, + "macro_precision": 0.8816166484463839, + "macro_recall": 0.885885575987208, + "roc_auc": 0.9550467049072174 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032328776728192385, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1745406807985901, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8798577659266843, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7540556662997685, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7736090154016609, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8375096816052698, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8087859921721465, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10128499298998923, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02678196989562461, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022700685977093328, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3005431678428804, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8754943085862227, + "balanced_accuracy": 0.8787651902276005, + "brier": 0.08528154760196886, + "confusion_matrix": [ + [ + 3.6328125, + 0.3671875 + ], + [ + 0.753363722723994, + 4.246636277275995 + ] + ], + "log_loss": 0.6130335203800947, + "macro_f1": 0.8749124512990527, + "macro_precision": 0.8743285703808182, + "macro_recall": 0.8787651902276006, + "roc_auc": 0.9558061259386922 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023714356600020227, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1503443927739167, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.912625542649751, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9049269984765853, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8806868454126374, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9477446387205053, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8682901208580762, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8552453773310505, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06671742615003057, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14573571090424717, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21774243469269716, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30348125089678524, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.904763884378629, + "balanced_accuracy": 0.8926417786488574, + "brier": 0.06552357016839469, + "confusion_matrix": [ + [ + 3.328125, + 0.671875 + ], + [ + 0.2804861562137105, + 5.719513843786273 + ] + ], + "log_loss": 0.26010744761024057, + "macro_f1": 0.8989872258499139, + "macro_precision": 0.9085755955336661, + "macro_recall": 0.8926417786488574, + "roc_auc": 0.9704015599562918 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010132434595370705, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09932019315103849, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9341869822510626, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9525128432667096, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9149715855888566, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8665113019518641, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8880826484645873, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8908011343083266, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9076876439045176, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8524296056553574, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9025161509475472, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8605378261739643, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09532266821263757, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12175566953967161, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047206599261553864, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019443330092310154, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.96080410104042, + "balanced_accuracy": 0.9620159957282939, + "brier": 0.03326916794079864, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.4081175854341198, + 9.59188241456579 + ] + ], + "log_loss": 0.1415042109568811, + "macro_f1": 0.9529087073370055, + "macro_precision": 0.9449584766045747, + "macro_recall": 0.9620159957282948, + "roc_auc": 0.992998712798444 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9014395626096208, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02443445152890388, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1449963311522988, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.912625542649751, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9049269984765853, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8806868454126374, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9380957373241515, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9020217103105918, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8929471653637613, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8994415516453269, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8798577659266843, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9477446387205053, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8682901208580762, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8552453773310505, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9341869822510626, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9525128432667096, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9149715855888566, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8665113019518641, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8880826484645873, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8908011343083266, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9076876439045176, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7540556662997685, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8524296056553574, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9025161509475472, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8605378261739643, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7736090154016609, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8375096816052698, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8087859921721465, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10128499298998923, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06671742615003057, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02678196989562461, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028544711963208097, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09532266821263757, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12175566953967161, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022700685977093328, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3005431678428804, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14573571090424717, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05689866630448515, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047206599261553864, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019443330092310154, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42436183090182344, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21774243469269716, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2077848349042008, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3065556547300644, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30348125089678524, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9116768962744247, + "balanced_accuracy": 0.9064703575763995, + "brier": 0.06419973994022311, + "confusion_matrix": [ + [ + 14.9453125, + 2.0546875 + ], + [ + 1.6548828564741591, + 23.34511714352605 + ] + ], + "log_loss": 0.37990091291456674, + "macro_f1": 0.9079969452579164, + "macro_precision": 0.9097078020154048, + "macro_recall": 0.906470357576399, + "roc_auc": 0.9669659868409987 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_04", + "params": { + "n_neighbors": 21, + "p": 2, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.031082796305848946 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0437106903624375, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1940954620569953, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9269578669101745, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8886652397159917, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8819310708881398, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8916142015650439, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03209282804725122, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0573221119093099, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4257644712882064, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22480677046104383, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33741463320647413, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8793857887364561, + "balanced_accuracy": 0.8873558873285133, + "brier": 0.09077907119349418, + "confusion_matrix": [ + [ + 4.078125, + 0.921875 + ], + [ + 0.16365290137189464, + 3.836347098628126 + ] + ], + "log_loss": 0.6006830059055557, + "macro_f1": 0.879298680302339, + "macro_precision": 0.8838376059657969, + "macro_recall": 0.8873558873285132, + "roc_auc": 0.9526003460288268 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.036762316994828376, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19014082613982744, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8748287058803415, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7522446281084554, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7315992451390699, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8114130939598124, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7870348249888017, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1066015331189318, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035724179759334285, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03233052174498486, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2952401685990287, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8720175359126802, + "balanced_accuracy": 0.876222032321412, + "brier": 0.0872387406198146, + "confusion_matrix": [ + [ + 3.65625, + 0.34375 + ], + [ + 0.8080921767858775, + 4.191907823214112 + ] + ], + "log_loss": 0.4278564285261376, + "macro_f1": 0.8715625672319827, + "macro_precision": 0.8716006483631136, + "macro_recall": 0.8762220323214123, + "roc_auc": 0.9575275690710043 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02694983482698086, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1626782747791211, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9174383499157628, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8883958603869957, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8492540332006666, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9309074811110473, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8628996357515052, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8405099144715548, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06733891477119917, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14639251557698235, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2199752010346543, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3227078108212358, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9088064405903028, + "balanced_accuracy": 0.8973126588252522, + "brier": 0.06891755912203001, + "confusion_matrix": [ + [ + 3.359375, + 0.640625 + ], + [ + 0.2713105940969719, + 5.728689405903012 + ] + ], + "log_loss": 0.40879811771123525, + "macro_f1": 0.9033826817773853, + "macro_precision": 0.9123465020368027, + "macro_recall": 0.8973126588252525, + "roc_auc": 0.9588735766371376 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01231610189177973, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1108204082872358, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9245301625330055, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9412103700120277, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9101169804999688, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8580149504280178, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8694431806988752, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.871002474288349, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8939319366349651, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.83873354733326, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8900908317050814, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8553149081128012, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09544005316276705, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13689166511623366, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.049776012142922196, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02743111917281221, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9652059277868396, + "balanced_accuracy": 0.9650972744507875, + "brier": 0.03412695226322776, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.3464920109842466, + 9.653507989015663 + ] + ], + "log_loss": 0.13229336811694892, + "macro_f1": 0.958014399044044, + "macro_precision": 0.9516294489865227, + "macro_recall": 0.9650972744507884, + "roc_auc": 0.9927382303050012 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9030645820889377, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027766210499288513, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1580094061329504, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9174383499157628, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8883958603869957, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8492540332006666, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9269578669101745, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8886652397159917, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8819310708881398, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8916142015650439, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8748287058803415, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9309074811110473, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8628996357515052, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8405099144715548, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9245301625330055, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9412103700120277, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9101169804999688, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8580149504280178, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8694431806988752, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.871002474288349, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8939319366349651, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7522446281084554, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.83873354733326, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8900908317050814, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8553149081128012, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7315992451390699, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8114130939598124, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7870348249888017, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1066015331189318, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06733891477119917, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035724179759334285, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03209282804725122, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09544005316276705, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13689166511623366, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03233052174498486, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2952401685990287, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14639251557698235, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0573221119093099, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.049776012142922196, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02743111917281221, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4257644712882064, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2199752010346543, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22480677046104383, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33741463320647413, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3227078108212358, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9134185075419288, + "balanced_accuracy": 0.9080068404528676, + "brier": 0.06593126736250639, + "confusion_matrix": [ + [ + 14.953125, + 2.046875 + ], + [ + 1.5895476832389903, + 23.41045231676122 + ] + ], + "log_loss": 0.361831981919878, + "macro_f1": 0.9097594483167318, + "macro_precision": 0.9117540609001972, + "macro_recall": 0.9080068404528672, + "roc_auc": 0.9638869663656779 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_05", + "params": { + "n_neighbors": 21, + "p": 1, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.033825946396921186 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.049776437329155765, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21206561193100962, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9290849673202614, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8875711574952562, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8717830882352942, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.892494929006085, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.04028799019607843, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09191176470588236, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4462316176470588, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2503063725490196, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36121323529411764, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8594505726527416, + "balanced_accuracy": 0.8692256442343345, + "brier": 0.09938417809171761, + "confusion_matrix": [ + [ + 3.90625, + 1.09375 + ], + [ + 0.17119484612532437, + 3.8288051538746966 + ] + ], + "log_loss": 0.45626755796934393, + "macro_f1": 0.8594401647970293, + "macro_precision": 0.8679113335708974, + "macro_recall": 0.8692256442343345, + "roc_auc": 0.9508875794882766 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03400468066104498, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18593899066747774, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8763961280714817, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7710309930423781, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7702292184479425, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8341073271413829, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.818860877684407, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13020833333333331, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03768382352941177, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07552083333333334, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3180147058823529, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8904708487095603, + "balanced_accuracy": 0.8922440763386043, + "brier": 0.08016641764429898, + "confusion_matrix": [ + [ + 3.6328125, + 0.3671875 + ], + [ + 0.6185748616139555, + 4.381425138386033 + ] + ], + "log_loss": 0.41372462107718655, + "macro_f1": 0.8897077613801302, + "macro_precision": 0.8885876269442043, + "macro_recall": 0.8922440763386044, + "roc_auc": 0.9592632874978644 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028697425879609738, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16885893488635206, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9088598402323891, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8836777954425014, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8648090815273477, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9385620915032677, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.853781512605042, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8456088317680013, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.09497549019607844, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1452205882352941, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2420343137254902, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.330422794117647, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9065988808772285, + "balanced_accuracy": 0.893845421564357, + "brier": 0.06779143655106426, + "confusion_matrix": [ + [ + 3.3203125, + 0.6796875 + ], + [ + 0.25432369122771603, + 5.745676308772268 + ] + ], + "log_loss": 0.24809679934280485, + "macro_f1": 0.9007612722734015, + "macro_precision": 0.9115356588858046, + "macro_recall": 0.8938454215643571, + "roc_auc": 0.9689514134732355 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013970738831877971, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11927035735732838, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.922233300099701, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9481146304675716, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8956582633053222, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8536953242835595, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8728553921568628, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.871689026487788, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8859779205799968, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8278867102396515, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8934356351236147, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.85838779956427, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13051470588235292, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15762867647058823, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06939338235294118, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03462009803921569, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9652065408386378, + "balanced_accuracy": 0.9598242660870463, + "brier": 0.03765455733853805, + "confusion_matrix": [ + [ + 3.7890625, + 0.2109375 + ], + [ + 0.27617092825907175, + 9.723829071740836 + ] + ], + "log_loss": 0.16170693607059022, + "macro_f1": 0.957584403041562, + "macro_precision": 0.9554164590326439, + "macro_recall": 0.9598242660870471, + "roc_auc": 0.9906251849080252 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9018734003730308, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029442730103671325, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16524799464886916, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9088598402323891, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8836777954425014, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8648090815273477, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9290849673202614, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8875711574952562, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8717830882352942, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.892494929006085, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8763961280714817, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9385620915032677, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.853781512605042, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8456088317680013, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.922233300099701, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9481146304675716, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8956582633053222, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8536953242835595, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8728553921568628, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.871689026487788, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8859779205799968, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7710309930423781, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8278867102396515, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8934356351236147, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.85838779956427, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7702292184479425, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8341073271413829, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.818860877684407, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13020833333333331, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09497549019607844, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03768382352941177, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04028799019607843, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13051470588235292, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15762867647058823, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07552083333333334, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3180147058823529, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1452205882352941, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09191176470588236, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06939338235294118, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03462009803921569, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4462316176470588, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2420343137254902, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2503063725490196, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36121323529411764, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.330422794117647, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9125755517327127, + "balanced_accuracy": 0.9044311105143024, + "brier": 0.06716746499700774, + "confusion_matrix": [ + [ + 14.6484375, + 2.3515625 + ], + [ + 1.3202643272260675, + 23.679735672774143 + ] + ], + "log_loss": 0.2993998740436925, + "macro_f1": 0.9083372214326989, + "macro_precision": 0.9134928911914093, + "macro_recall": 0.9044311105143021, + "roc_auc": 0.965374303446998 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_06", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "uniform" + } + }, + "status": "ok", + "std_macro_f1": 0.035544109571056554 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04727417779644928, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20462095410644413, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9314359432317462, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8919196626011313, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8756609012207883, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.893800478884198, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.037475594056559106, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08405849971461646, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44191227142724365, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23999410845002883, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34784016722043964, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8637628486384048, + "balanced_accuracy": 0.8727097672182056, + "brier": 0.09627551002152554, + "confusion_matrix": [ + [ + 3.9609375, + 1.0390625 + ], + [ + 0.18707186225435662, + 3.812928137745664 + ] + ], + "log_loss": 0.4481809855170118, + "macro_f1": 0.8637259927925771, + "macro_precision": 0.8703745079645936, + "macro_recall": 0.8727097672182055, + "roc_auc": 0.9529628250410611 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03356950601432924, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18335182546507037, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8771489044723265, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7675865958936271, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7720932210663856, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.83547512182608, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8154622025624685, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1227967428005581, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03495182080897931, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06444277424985705, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31543540855436614, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8866313781661876, + "balanced_accuracy": 0.8885932403495689, + "brier": 0.08025354753584207, + "confusion_matrix": [ + [ + 3.625, + 0.375 + ], + [ + 0.6453175965043103, + 4.354682403495678 + ] + ], + "log_loss": 0.4145019713427381, + "macro_f1": 0.885881242592056, + "macro_precision": 0.8847982447450093, + "macro_recall": 0.8885932403495689, + "roc_auc": 0.9594393735919045 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027497143736305664, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1643745027995737, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9101958498269971, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8892188398018821, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8696175126797415, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9411106871185079, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8584215305918945, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8485721057792985, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08924857848704829, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14624511364678872, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23589386645585442, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32587254247846265, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9062515419416541, + "balanced_accuracy": 0.8935559724513784, + "brier": 0.06682486131087326, + "confusion_matrix": [ + [ + 3.3203125, + 0.6796875 + ], + [ + 0.2577970805834583, + 5.742202919416525 + ] + ], + "log_loss": 0.24382330352193904, + "macro_f1": 0.9004100398431486, + "macro_precision": 0.9110562175985948, + "macro_recall": 0.8935559724513785, + "roc_auc": 0.9700424235443725 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012814215437228398, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1137463554925723, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9253494620995282, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9488571731205772, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8995223156287417, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8582727145670271, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8780242999569687, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8774030234599337, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.891265344173252, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8352955734560377, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8959901972908403, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8594295870638698, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.121192155014308, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14800101866867335, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06367224025292706, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030747330359133497, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9675757450992892, + "balanced_accuracy": 0.9638264590695025, + "brier": 0.03577050262380315, + "confusion_matrix": [ + [ + 3.8203125, + 0.1796875 + ], + [ + 0.2742520686099489, + 9.725747931389957 + ] + ], + "log_loss": 0.15556416257243913, + "macro_f1": 0.9605578207588967, + "macro_precision": 0.9574400814383215, + "macro_recall": 0.9638264590695031, + "roc_auc": 0.9913657193715413 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9026437739966697, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028141990661458595, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16018926240560427, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9101958498269971, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8892188398018821, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8696175126797415, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9314359432317462, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8919196626011313, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8756609012207883, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.893800478884198, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8771489044723265, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9411106871185079, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8584215305918945, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8485721057792985, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9253494620995282, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9488571731205772, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8995223156287417, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8582727145670271, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8780242999569687, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8774030234599337, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.891265344173252, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7675865958936271, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8352955734560377, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8959901972908403, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8594295870638698, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7720932210663856, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.83547512182608, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8154622025624685, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1227967428005581, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08924857848704829, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03495182080897931, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037475594056559106, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.121192155014308, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14800101866867335, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06444277424985705, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31543540855436614, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14624511364678872, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08405849971461646, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06367224025292706, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030747330359133497, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44191227142724365, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23589386645585442, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23999410845002883, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34784016722043964, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32587254247846265, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9133839021916171, + "balanced_accuracy": 0.9058454190174293, + "brier": 0.06566183732995919, + "confusion_matrix": [ + [ + 14.7265625, + 2.2734375 + ], + [ + 1.364438607952074, + 23.635561392048135 + ] + ], + "log_loss": 0.29476852197550685, + "macro_f1": 0.9093030397005039, + "macro_precision": 0.9137289215205107, + "macro_recall": 0.905845419017429, + "roc_auc": 0.9665294005224703 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_07", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.03589778034080348 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04753013309713462, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20685726192653425, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.920559698542969, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8836655659046525, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8706997129792322, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8873575721787965, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03605745296400427, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07422897729778422, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43029836721395986, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24564853340731216, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35526030917644796, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8725352629464838, + "balanced_accuracy": 0.8810162333147943, + "brier": 0.09290003395327608, + "confusion_matrix": [ + [ + 4.0234375, + 0.9765625 + ], + [ + 0.17062013348164623, + 3.8293798665183747 + ] + ], + "log_loss": 0.410506901378529, + "macro_f1": 0.8724759747205014, + "macro_precision": 0.8780598193574309, + "macro_recall": 0.8810162333147943, + "roc_auc": 0.9543251894737641 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03772533829348608, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19568358029151284, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8721739926761468, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7430984138366472, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7444181702404503, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8118295063965072, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.788965494029819, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11757060627097413, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03730749967747725, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05719203234992627, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30567750471378496, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.876649177366973, + "balanced_accuracy": 0.8807811346302756, + "brier": 0.0842080462475656, + "confusion_matrix": [ + [ + 3.671875, + 0.328125 + ], + [ + 0.7820324036972419, + 4.217967596302747 + ] + ], + "log_loss": 0.27194627594066134, + "macro_f1": 0.8761933593388562, + "macro_precision": 0.8761195935308843, + "macro_recall": 0.8807811346302759, + "roc_auc": 0.9613804495881347 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02904305381346763, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17117875891194786, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9069812884712057, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8812603473059057, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8425716278309053, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9276159117275209, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8501072052534452, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8305379833632767, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0761467713133431, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14685698368735028, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2279839334513739, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32730505704734303, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9094000661984408, + "balanced_accuracy": 0.8971563051653673, + "brier": 0.06734838957868043, + "confusion_matrix": [ + [ + 3.34375, + 0.65625 + ], + [ + 0.24974933801559188, + 5.750250661984391 + ] + ], + "log_loss": 0.22666761291041793, + "macro_f1": 0.9038306639112427, + "macro_precision": 0.9140323340412324, + "macro_recall": 0.8971563051653674, + "roc_auc": 0.9664379430457035 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014577487436449947, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12201259601243179, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9158852380191941, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9343431238313122, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8932096353577001, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8413352375733049, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8597777784166415, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8617733796820256, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8823707762242289, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8274152239100429, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8861660936684977, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8535721537953401, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11089493268827288, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15048255138213684, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05774188880366948, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03244880651671425, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9647684339487246, + "balanced_accuracy": 0.963619153764107, + "brier": 0.03630739038270354, + "confusion_matrix": [ + [ + 3.84375, + 0.15625 + ], + [ + 0.3369919247178559, + 9.663008075282052 + ] + ], + "log_loss": 0.14386740112620658, + "macro_f1": 0.9574099711471318, + "macro_precision": 0.9517408109109058, + "macro_recall": 0.9636191537641079, + "roc_auc": 0.992372773649903 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.902477492279433, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030043204875251472, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1676864646013321, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9069812884712057, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8812603473059057, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8425716278309053, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.920559698542969, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8836655659046525, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8706997129792322, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8873575721787965, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8721739926761468, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9276159117275209, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8501072052534452, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8305379833632767, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9158852380191941, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9343431238313122, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8932096353577001, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8413352375733049, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8597777784166415, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8617733796820256, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8823707762242289, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7430984138366472, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8274152239100429, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8861660936684977, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8535721537953401, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7444181702404503, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8118295063965072, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.788965494029819, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11757060627097413, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0761467713133431, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03730749967747725, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03605745296400427, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11089493268827288, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15048255138213684, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05719203234992627, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30567750471378496, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14685698368735028, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07422897729778422, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05774188880366948, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03244880651671425, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43029836721395986, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2279839334513739, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24564853340731216, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35526030917644796, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32730505704734303, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9129385404782776, + "balanced_accuracy": 0.9069419034135182, + "brier": 0.06608952578457689, + "confusion_matrix": [ + [ + 14.8828125, + 2.1171875 + ], + [ + 1.5393937999123353, + 23.46060620008787 + ] + ], + "log_loss": 0.24816424620818536, + "macro_f1": 0.9091490384718117, + "macro_precision": 0.9117435061727801, + "macro_recall": 0.9069419034135179, + "roc_auc": 0.9667065585634028 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_08", + "params": { + "n_neighbors": 51, + "p": 1, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.033949797526244906 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05699642709562707, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.23744199613806316, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9103960396039603, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8652986266368572, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8545792079207921, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.875384090133151, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.051206683168316836, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13025990099009904, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4439975247524753, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28094059405940597, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39302289603960394, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8498480178593498, + "balanced_accuracy": 0.8601805825917688, + "brier": 0.10540427038104365, + "confusion_matrix": [ + [ + 3.8359375, + 1.1640625 + ], + [ + 0.18730533926585088, + 3.81269466073417 + ] + ], + "log_loss": 0.3904775863343246, + "macro_f1": 0.8498470164138832, + "macro_precision": 0.8597721942066728, + "macro_recall": 0.8601805825917688, + "roc_auc": 0.946203307200238 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03834722743955363, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2027678869758579, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8720391026444415, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7780261897157457, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7673964579556546, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8193069306930691, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8077950652208078, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.15996287128712872, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04710705445544555, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11687809405940594, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33810334158415845, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8948979417384594, + "balanced_accuracy": 0.8931034600646134, + "brier": 0.08243745550910858, + "confusion_matrix": [ + [ + 3.5078125, + 0.4921875 + ], + [ + 0.4537310243538651, + 4.546268975646124 + ] + ], + "log_loss": 0.31886368271543175, + "macro_f1": 0.8934797870508349, + "macro_precision": 0.8938899672651361, + "macro_recall": 0.8931034600646135, + "roc_auc": 0.9593263018952376 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03485910429863111, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1909991031673146, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8942060872753942, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8656676478458657, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8449713392391869, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.925280528052805, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8362093352192361, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8281887012230634, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.11362933168316831, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16352103960396042, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2667852722772277, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3500928217821782, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9096486145865017, + "balanced_accuracy": 0.8954103038220846, + "brier": 0.07227497489819415, + "confusion_matrix": [ + [ + 3.296875, + 0.703125 + ], + [ + 0.20038885413498417, + 5.799611145864999 + ] + ], + "log_loss": 0.24126438609085174, + "macro_f1": 0.9036111153791454, + "macro_precision": 0.9172868434619494, + "macro_recall": 0.8954103038220846, + "roc_auc": 0.9663819068455423 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01880631385437833, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.14095339546704896, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9117301560664541, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9281035795887281, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8824257425742574, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8446306169078446, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8521039603960395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8551328817092236, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8686246775938097, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8091309130913091, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8732960252546994, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8407983655508408, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.15911200495049505, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19809715346534654, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08671101485148515, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04834467821782179, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9571920228969582, + "balanced_accuracy": 0.9506984785278705, + "brier": 0.043873471299895495, + "confusion_matrix": [ + [ + 3.7421875, + 0.2578125 + ], + [ + 0.34149917944258606, + 9.658500820557325 + ] + ], + "log_loss": 0.16620266427442534, + "macro_f1": 0.9478850464483703, + "macro_precision": 0.9451879793782523, + "macro_recall": 0.9506984785278716, + "roc_auc": 0.9889950107632783 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8987057413230585, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.034999341137243664, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18679113133897907, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8942060872753942, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8656676478458657, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8449713392391869, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9103960396039603, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8652986266368572, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8545792079207921, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.875384090133151, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8720391026444415, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.925280528052805, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8362093352192361, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8281887012230634, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9117301560664541, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9281035795887281, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8824257425742574, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8446306169078446, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8521039603960395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8551328817092236, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8686246775938097, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7780261897157457, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8091309130913091, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8732960252546994, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8407983655508408, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7673964579556546, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8193069306930691, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8077950652208078, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.15996287128712872, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11362933168316831, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04710705445544555, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051206683168316836, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15911200495049505, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19809715346534654, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11687809405940594, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33810334158415845, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16352103960396042, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13025990099009904, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08671101485148515, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04834467821782179, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4439975247524753, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2667852722772277, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28094059405940597, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39302289603960394, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3500928217821782, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9095211453048266, + "balanced_accuracy": 0.899365409114878, + "brier": 0.072084616195044, + "confusion_matrix": [ + [ + 14.3828125, + 2.6171875 + ], + [ + 1.1829243971972858, + 23.817075602802927 + ] + ], + "log_loss": 0.26484649005233996, + "macro_f1": 0.9047133094714093, + "macro_precision": 0.9124986031878375, + "macro_recall": 0.8993654091148777, + "roc_auc": 0.9636569319920523 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_09", + "params": { + "n_neighbors": 101, + "p": 2, + "weights": "uniform" + } + }, + "status": "ok", + "std_macro_f1": 0.03484663665637079 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05364188352075727, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.22690470585003963, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.916437871129554, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.873271892387421, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8609364439643172, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8802941592537216, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.046320580029550744, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11676809298149513, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44253892052231875, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26778252298032834, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3778062845649181, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8560401474889795, + "balanced_accuracy": 0.866170165925102, + "brier": 0.10141844128916007, + "confusion_matrix": [ + [ + 3.875, + 1.125 + ], + [ + 0.17063867259918422, + 3.8293613274008367 + ] + ], + "log_loss": 0.38032664267443794, + "macro_f1": 0.8560364455133882, + "macro_precision": 0.8653744573749056, + "macro_recall": 0.866170165925102, + "roc_auc": 0.9493990325079079 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03676889207003572, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1968088234076535, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8736629690226572, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7755801413563795, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7699522290378852, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.823961461583186, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8088363286941335, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.14907235810026304, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04324025046584244, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10121209708735954, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3313660231738955, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8991537696670022, + "balanced_accuracy": 0.898300892700302, + "brier": 0.0809933996329972, + "confusion_matrix": [ + [ + 3.5625, + 0.4375 + ], + [ + 0.47011607299697816, + 4.529883927003011 + ] + ], + "log_loss": 0.3156737090226047, + "macro_f1": 0.8979750264498946, + "macro_precision": 0.8976735176940036, + "macro_recall": 0.8983008927003022, + "roc_auc": 0.9602177098079148 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032492349876714295, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18265630100577188, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8988875505765543, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8739339677301622, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8535388533628017, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9300928284228968, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.843970671298871, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.834101039878884, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.1054008737621625, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1598427125626773, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25760074022718416, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34290589384738346, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9103346264912634, + "balanced_accuracy": 0.8963075012427195, + "brier": 0.06974413571534284, + "confusion_matrix": [ + [ + 3.3046875, + 0.6953125 + ], + [ + 0.20134123508736512, + 5.798658764912618 + ] + ], + "log_loss": 0.23298508455200526, + "macro_f1": 0.9043876403410198, + "macro_precision": 0.9177511946992003, + "macro_recall": 0.8963075012427196, + "roc_auc": 0.9682910561331755 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01671848687171098, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1320701138486132, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9163282538594453, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9332327653757813, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8876290120950997, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8505485526954104, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8605755311195638, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.862978957079204, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8761381691261898, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8183723703523393, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.879713605736328, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.845913140017336, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.14673295948671358, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1825737195971199, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07887803542592764, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04237539037579112, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9611455140156279, + "balanced_accuracy": 0.9552237348109394, + "brier": 0.04056411323135407, + "confusion_matrix": [ + [ + 3.765625, + 0.234375 + ], + [ + 0.30958780378121037, + 9.690412196218698 + ] + ], + "log_loss": 0.15616629405027815, + "macro_f1": 0.9526685759010904, + "macro_precision": 0.9502081920586654, + "macro_recall": 0.9552237348109403, + "roc_auc": 0.9905398728894041 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9027669220513483, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03268284036400556, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17830872302994147, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8988875505765543, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8739339677301622, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8535388533628017, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.916437871129554, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.873271892387421, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8609364439643172, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8802941592537216, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8736629690226572, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9300928284228968, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.843970671298871, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.834101039878884, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9163282538594453, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9332327653757813, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8876290120950997, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8505485526954104, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8605755311195638, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.862978957079204, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8761381691261898, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7755801413563795, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8183723703523393, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.879713605736328, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.845913140017336, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7699522290378852, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.823961461583186, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8088363286941335, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.14907235810026304, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1054008737621625, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04324025046584244, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046320580029550744, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14673295948671358, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1825737195971199, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10121209708735954, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3313660231738955, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1598427125626773, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11676809298149513, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07887803542592764, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04237539037579112, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44253892052231875, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25760074022718416, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26778252298032834, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3778062845649181, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34290589384738346, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9132411598936967, + "balanced_accuracy": 0.9036666919577643, + "brier": 0.06921536930218573, + "confusion_matrix": [ + [ + 14.5078125, + 2.4921875 + ], + [ + 1.1516837844647376, + 23.848316215535476 + ] + ], + "log_loss": 0.2566710030356507, + "macro_f1": 0.9087269190613951, + "macro_precision": 0.9159201698435077, + "macro_recall": 0.9036666919577641, + "roc_auc": 0.9655306328838821 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_10", + "params": { + "n_neighbors": 101, + "p": 2, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.034276455058954214 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.040179573990701226, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18393917434334572, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9328003108692887, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8849570488720905, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8700988392911142, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8889772336596271, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.022580467470935735, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04423349791194195, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4264120142063566, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20786979719592968, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29523140517044016, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8922908813290488, + "balanced_accuracy": 0.89777255399518, + "brier": 0.08160669312712297, + "confusion_matrix": [ + [ + 4.2421875, + 0.7578125 + ], + [ + 0.21156956803856128, + 3.7884304319614595 + ] + ], + "log_loss": 0.3000704072328293, + "macro_f1": 0.892016395703213, + "macro_precision": 0.8929032724791057, + "macro_recall": 0.89777255399518, + "roc_auc": 0.9618064282353292 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04544481106559861, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21422767891694539, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8016602014749151, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7121177898974522, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6965833992919226, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7689479944040414, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7402332569380558, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09172026992044811, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02748117256840469, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02627831415713855, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2529914243344292, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8686975653390214, + "balanced_accuracy": 0.8765543713051194, + "brier": 0.0966602690831237, + "confusion_matrix": [ + [ + 3.7890625, + 0.2109375 + ], + [ + 0.9707844119488054, + 4.029215588051184 + ] + ], + "log_loss": 0.3183434403807799, + "macro_f1": 0.8686040089508882, + "macro_precision": 0.8731497606809537, + "macro_recall": 0.8765543713051194, + "roc_auc": 0.9579885510604569 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02412674236977509, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1567854170608931, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9110648205875408, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8828540202665583, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8634141840849091, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9188738860584806, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8331282751569702, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8190482705202607, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05550110391390695, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13355798387358048, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19283301996434066, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2751458947287256, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9040902177055429, + "balanced_accuracy": 0.8966376814212855, + "brier": 0.061814192525754576, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 0.3965978229445724, + 5.603402177055411 + ] + ], + "log_loss": 0.20744594419943857, + "macro_f1": 0.8993695082638611, + "macro_precision": 0.9026664008702101, + "macro_recall": 0.8966376814212856, + "roc_auc": 0.9725580876701857 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.011808673235485841, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10752331457083063, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.912092040919481, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9440974785100721, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9029228630603683, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8738466595883684, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8757007054388779, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8568029480597379, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8882827946340609, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8370786431269999, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8997500942976286, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8478899010148565, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06978946147376952, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11693301910262521, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04325830242205897, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02339591989156815, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9610248870325047, + "balanced_accuracy": 0.9651002334227531, + "brier": 0.03287222862647999, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.4440890815449347, + 9.55591091845498 + ] + ], + "log_loss": 0.12853356637186056, + "macro_f1": 0.9534179971283966, + "macro_precision": 0.9436091973634554, + "macro_recall": 0.9651002334227543, + "roc_auc": 0.9955202389088049 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9033519775115897, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02802876939288693, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15849243461769477, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9110648205875408, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8828540202665583, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8634141840849091, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9328003108692887, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8849570488720905, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8700988392911142, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8889772336596271, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8016602014749151, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9188738860584806, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8331282751569702, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8190482705202607, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.912092040919481, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9440974785100721, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9029228630603683, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8738466595883684, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8757007054388779, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8568029480597379, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8882827946340609, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7121177898974522, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8370786431269999, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8997500942976286, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8478899010148565, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6965833992919226, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7689479944040414, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7402332569380558, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09172026992044811, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05550110391390695, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02748117256840469, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022580467470935735, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06978946147376952, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11693301910262521, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02627831415713855, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2529914243344292, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13355798387358048, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04423349791194195, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04325830242205897, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02339591989156815, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4264120142063566, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19283301996434066, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20786979719592968, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29523140517044016, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2751458947287256, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9129558717981697, + "balanced_accuracy": 0.9115152852516393, + "brier": 0.06387513776001157, + "confusion_matrix": [ + [ + 15.3671875, + 1.6328125 + ], + [ + 2.0230408844768735, + 22.976959115523318 + ] + ], + "log_loss": 0.22475366666006938, + "macro_f1": 0.9100013959910742, + "macro_precision": 0.9086599074352542, + "macro_recall": 0.9115152852516386, + "roc_auc": 0.970015098405442 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_09", + "params": { + "max_depth": null, + "max_features": "sqrt", + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.031057942283776212 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.051887152685591235, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.22190469233046806, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9140757333914238, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8713781163440136, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8550854811756459, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8774908995469125, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.041179205929507426, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0958290864556516, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4356600370582614, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26145788109500834, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3714973430251687, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8637987038066988, + "balanced_accuracy": 0.8727501042825363, + "brier": 0.09695015930430088, + "confusion_matrix": [ + [ + 3.9609375, + 1.0390625 + ], + [ + 0.18674916573971073, + 3.8132508342603106 + ] + ], + "log_loss": 0.3118042433750966, + "macro_f1": 0.8637620181959216, + "macro_precision": 0.8704187752906714, + "macro_recall": 0.8727501042825363, + "roc_auc": 0.9519883097194942 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03979623472240882, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20479165935015164, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.866330740917998, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7518952738615545, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7394059871834943, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8035483037629712, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7909631024973155, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13376765737368584, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04202469941762503, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08503360044596671, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31883095651608595, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.880656658663034, + "balanced_accuracy": 0.8834113052967305, + "brier": 0.08335950972136245, + "confusion_matrix": [ + [ + 3.6328125, + 0.3671875 + ], + [ + 0.7069025720326936, + 4.293097427967296 + ] + ], + "log_loss": 0.2703379677278129, + "macro_f1": 0.8800108262886134, + "macro_precision": 0.8791588728103498, + "macro_recall": 0.8834113052967306, + "roc_auc": 0.961312695581236 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032612293281199, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1847822965750645, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8981137714491941, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8627066658377417, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8334120393553595, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9166157792870094, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8357287585393082, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8194096953184385, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08908606061378496, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1520736060562154, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2411658683194553, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33669958409496653, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9136472508831254, + "balanced_accuracy": 0.9013466674026045, + "brier": 0.069983825167438, + "confusion_matrix": [ + [ + 3.359375, + 0.640625 + ], + [ + 0.22290249116874503, + 5.777097508831238 + ] + ], + "log_loss": 0.23496589907931095, + "macro_f1": 0.9082862305958951, + "macro_precision": 0.91897754106231, + "macro_recall": 0.9013466674026046, + "roc_auc": 0.9661729821783074 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.017319694120324528, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13453721383004394, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9061076675637494, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9277089990793332, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8805675413515325, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8253163674190074, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8495568669999396, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8492652966699337, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8679627935359165, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8181372041957131, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.871873698083396, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8494442414664963, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12337059635231021, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16571625028293413, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06774174894733828, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03793386077249451, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9649482448238169, + "balanced_accuracy": 0.9631590838766717, + "brier": 0.03995747085948466, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 0.32666207246656404, + 9.673337927533344 + ] + ], + "log_loss": 0.1573209699038862, + "macro_f1": 0.9575719971813151, + "macro_precision": 0.9524235391328346, + "macro_recall": 0.9631590838766726, + "roc_auc": 0.9917332036242499 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9024077680654363, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03318450326591747, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18027645534516282, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8981137714491941, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8627066658377417, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8334120393553595, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9140757333914238, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8713781163440136, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8550854811756459, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8774908995469125, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.866330740917998, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9166157792870094, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8357287585393082, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8194096953184385, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9061076675637494, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9277089990793332, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8805675413515325, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8253163674190074, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8495568669999396, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8492652966699337, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8679627935359165, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7518952738615545, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8181372041957131, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.871873698083396, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8494442414664963, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7394059871834943, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8035483037629712, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7909631024973155, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13376765737368584, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08908606061378496, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04202469941762503, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041179205929507426, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12337059635231021, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16571625028293413, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08503360044596671, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31883095651608595, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1520736060562154, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0958290864556516, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06774174894733828, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03793386077249451, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4356600370582614, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2411658683194553, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26145788109500834, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3714973430251687, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33669958409496653, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9129963380617211, + "balanced_accuracy": 0.9061081004424343, + "brier": 0.06861975868900323, + "confusion_matrix": [ + [ + 14.7890625, + 2.2109375 + ], + [ + 1.443216301407713, + 23.556783698592497 + ] + ], + "log_loss": 0.2331293445088977, + "macro_f1": 0.9090320682748327, + "macro_precision": 0.9126435641910594, + "macro_recall": 0.9061081004424338, + "roc_auc": 0.966027003825778 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_11", + "params": { + "n_neighbors": 101, + "p": 1, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.035611674629265455 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05081313691409899, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21746903005103863, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9083077599959657, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8566465868569438, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8549328514372055, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8759654845763521, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03703716252911262, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06061403439592797, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4487211660902276, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25784469771143387, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34503788208313846, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8669994695752483, + "balanced_accuracy": 0.8745931532721545, + "brier": 0.09437588412665818, + "confusion_matrix": [ + [ + 4.03125, + 0.96875 + ], + [ + 0.22825477382276593, + 3.771745226177255 + ] + ], + "log_loss": 0.30579394559747103, + "macro_f1": 0.8668888020301833, + "macro_precision": 0.8710282756401616, + "macro_recall": 0.8745931532721544, + "roc_auc": 0.9519947956949414 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04614798104004874, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22064054461955177, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8253082766166036, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7066713888314319, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7056679816616303, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7854255969328591, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7468943621208917, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11178512756363601, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043340620017636264, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0567648583926758, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29058631829195936, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.866370598731884, + "balanced_accuracy": 0.8721163513586956, + "brier": 0.09115753408809096, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.8979771114130419, + 4.102022888586947 + ] + ], + "log_loss": 0.29756889018828836, + "macro_f1": 0.866097150366228, + "macro_precision": 0.8676803422911734, + "macro_recall": 0.8721163513586957, + "roc_auc": 0.9584882773622202 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03035690004009503, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17997906468560668, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8951635211763863, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8569461328916631, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8420500693114212, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8993257896099707, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8299867252888846, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8063529573731412, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07440090766758384, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15801156518394718, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20705621925437248, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3118514206321695, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9180826500427894, + "balanced_accuracy": 0.906995958368991, + "brier": 0.06598183520272817, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.22542349957210636, + 5.774576500427877 + ] + ], + "log_loss": 0.22909692963009345, + "macro_f1": 0.9132148994292029, + "macro_precision": 0.9223468116009244, + "macro_recall": 0.9069959583689912, + "roc_auc": 0.9671713272463985 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01821389829688922, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13874829440194528, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8894654919897023, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9069153794116392, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8760662927272597, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8265584001968169, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8372760025168822, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8357708964077223, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8568815524068649, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8199699916818013, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8694977619530585, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8356106640354032, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09616711516109978, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15198178023755987, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06467911923630007, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04173435111031264, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9659969057460669, + "balanced_accuracy": 0.9674087715222466, + "brier": 0.03844977052372802, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.3588558195550648, + 9.641144180444845 + ] + ], + "log_loss": 0.15911948462944325, + "macro_f1": 0.9590730758701613, + "macro_precision": 0.9516942567296977, + "macro_recall": 0.9674087715222476, + "roc_auc": 0.992920995830004 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9013184819239438, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03407651519392212, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18298221286949085, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8951635211763863, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8569461328916631, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8420500693114212, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9083077599959657, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8566465868569438, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8549328514372055, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8759654845763521, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8253082766166036, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8993257896099707, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8299867252888846, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8063529573731412, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8894654919897023, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9069153794116392, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8760662927272597, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8265584001968169, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8372760025168822, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8357708964077223, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8568815524068649, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7066713888314319, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8199699916818013, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8694977619530585, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8356106640354032, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7056679816616303, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7854255969328591, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7468943621208917, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11178512756363601, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07440090766758384, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043340620017636264, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03703716252911262, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09616711516109978, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15198178023755987, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0567648583926758, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29058631829195936, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15801156518394718, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06061403439592797, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06467911923630007, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04173435111031264, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4487211660902276, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20705621925437248, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25784469771143387, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34503788208313846, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3118514206321695, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9120265189437385, + "balanced_accuracy": 0.9074258053245055, + "brier": 0.06828371198314802, + "confusion_matrix": [ + [ + 15.015625, + 1.984375 + ], + [ + 1.7105112043629789, + 23.28948879563722 + ] + ], + "log_loss": 0.2368787524567851, + "macro_f1": 0.9084746277141404, + "macro_precision": 0.909609662606423, + "macro_recall": 0.9074258053245048, + "roc_auc": 0.9645601325662685 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "random_forest", + "name": "random_forest_05", + "params": { + "max_depth": 6, + "max_features": "sqrt", + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.03841569641968392 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 524, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 325, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 442, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 606, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030938332933766417, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14939378136878834, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9461635672167967, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9137882923268846, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8974397514883481, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9009267632584763, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.0068812100345232155, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009887937522677793, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4031783590733927, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15879464046588154, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24467614540480875, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8983952720100523, + "balanced_accuracy": 0.903858743511309, + "brier": 0.07746312085726423, + "confusion_matrix": [ + [ + 4.2734375, + 0.7265625 + ], + [ + 0.18788005190952903, + 3.8121199480904915 + ] + ], + "log_loss": 0.2629108676290164, + "macro_f1": 0.89812761945517, + "macro_precision": 0.898902309157165, + "macro_recall": 0.9038587435113089, + "roc_auc": 0.9637722301942839 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04866409624569805, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21231971969199115, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7796460192284158, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6597121647190413, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6642076256732691, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7624802162760356, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7527212906899995, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.047240147178436456, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.006204854335328267, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0006296159156570899, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20257276222619786, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8425527314975175, + "balanced_accuracy": 0.8526333958477657, + "brier": 0.1289592307394034, + "confusion_matrix": [ + [ + 3.7734375, + 0.2265625 + ], + [ + 1.1904629165223413, + 3.809537083477649 + ] + ], + "log_loss": 0.7105652294347413, + "macro_f1": 0.8425501983441711, + "macro_precision": 0.8520209427087317, + "macro_recall": 0.8526333958477659, + "roc_auc": 0.9433646879494622 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01941110479696502, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13462047191993282, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9280792288028747, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9042134822423727, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8778458890205441, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9485140191046145, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8521353843512492, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8441416817429194, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.039102522212431365, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10274330375624684, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18087478092707399, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26689758444311584, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9177214789009487, + "balanced_accuracy": 0.9115777949174573, + "brier": 0.06001341704056702, + "confusion_matrix": [ + [ + 3.5234375, + 0.4765625 + ], + [ + 0.34622271099051316, + 5.653777289009471 + ] + ], + "log_loss": 0.20430216408406227, + "macro_f1": 0.9138098712469063, + "macro_precision": 0.9163952807885553, + "macro_recall": 0.9115777949174573, + "roc_auc": 0.969602185584281 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.007146007083635359, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.0800151485012403, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9335268996955459, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9669981483798477, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9183094602402734, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9155359769130997, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9053275146139617, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.883090188358066, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.923689846607444, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8538169284513096, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9196008026662291, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8868952982430222, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.03601511254332678, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09682009113544232, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029215221309371164, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011127574851447527, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9737214375241988, + "balanced_accuracy": 0.9739878187669391, + "brier": 0.02520623751280735, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.26633737466121604, + 9.73366262533869 + ] + ], + "log_loss": 0.10049923549711044, + "macro_f1": 0.9681963967477598, + "macro_precision": 0.9628617958381607, + "macro_recall": 0.9739878187669399, + "roc_auc": 0.9950855704582015 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9056710214485018, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02406135737513632, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13623424542294543, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9280792288028747, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9042134822423727, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8778458890205441, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9461635672167967, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9137882923268846, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8974397514883481, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9009267632584763, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7796460192284158, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9485140191046145, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8521353843512492, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8441416817429194, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9335268996955459, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9669981483798477, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9183094602402734, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9155359769130997, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9053275146139617, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.883090188358066, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.923689846607444, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6597121647190413, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8538169284513096, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9196008026662291, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8868952982430222, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6642076256732691, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7624802162760356, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7527212906899995, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.047240147178436456, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039102522212431365, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.006204854335328267, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0068812100345232155, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03601511254332678, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09682009113544232, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0006296159156570899, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20257276222619786, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10274330375624684, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009887937522677793, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029215221309371164, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011127574851447527, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4031783590733927, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18087478092707399, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15879464046588154, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24467614540480875, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26689758444311584, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9161392129980095, + "balanced_accuracy": 0.9151451742124459, + "brier": 0.06692434904654718, + "confusion_matrix": [ + [ + 15.46875, + 1.53125 + ], + [ + 1.9909030540835977, + 23.00909694591658 + ] + ], + "log_loss": 0.2907451383660473, + "macro_f1": 0.9133462084199802, + "macro_precision": 0.911786984977122, + "macro_recall": 0.915145174212445, + "roc_auc": 0.9635624188224026 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_01", + "params": { + "activation": "relu", + "alpha": 0.1, + "hidden_layer_sizes": [ + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.044768305349195604 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 144, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 231, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 108, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 164, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03535883459852186, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17130281892934346, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9278151573376402, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8881976302969201, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8808933874273144, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8912181994066729, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.023297985684931244, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04153519902797907, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4072128575893652, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1845893194097416, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2689530211484887, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8931049932023236, + "balanced_accuracy": 0.8984931173526142, + "brier": 0.07859678530546128, + "confusion_matrix": [ + [ + 4.25, + 0.75 + ], + [ + 0.2120550611790878, + 3.787944938820933 + ] + ], + "log_loss": 0.2726591856594226, + "macro_f1": 0.8928225012617708, + "macro_precision": 0.8936014351424115, + "macro_recall": 0.8984931173526141, + "roc_auc": 0.9616774355132002 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04341653232450112, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20419208344833012, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8419640011836538, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6761378114041823, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7060149836213706, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7820460339063411, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7600585762914802, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07163126395029784, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02152871012159134, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019663026216823004, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2517985918538196, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8590718925064855, + "balanced_accuracy": 0.8671100157558369, + "brier": 0.10723786799627574, + "confusion_matrix": [ + [ + 3.7578125, + 0.2421875 + ], + [ + 1.0261654674416294, + 3.97383453255836 + ] + ], + "log_loss": 0.46031063834488367, + "macro_f1": 0.858990654553081, + "macro_precision": 0.8640274943832513, + "macro_recall": 0.867110015755837, + "roc_auc": 0.9434694930430406 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02434002110271253, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15641622320879572, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9212752053080092, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8748539770655441, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8550714335466548, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9430354835013118, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8319543910338524, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8160423687211416, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05877747198047823, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13746555214082729, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1990285059653171, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27064403362027084, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9201936079572496, + "balanced_accuracy": 0.9129868607977079, + "brier": 0.06257346139370101, + "confusion_matrix": [ + [ + 3.5078125, + 0.4921875 + ], + [ + 0.3058764204275042, + 5.694123579572479 + ] + ], + "log_loss": 0.21704989183320578, + "macro_f1": 0.9161874025627524, + "macro_precision": 0.9201171944577721, + "macro_recall": 0.9129868607977081, + "roc_auc": 0.9678551569362005 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012024265294833695, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10735760308828432, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9376940015290339, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9569100120677984, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8971165461072882, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8616328301656117, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8724680147040654, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.858088240397995, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8901611812077141, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8290615159074849, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8923603518656691, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8577313413952183, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07153164182866953, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12550743880664797, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04462829062399577, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02225583588030248, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9673911480752523, + "balanced_accuracy": 0.9689706786526764, + "brier": 0.03231893871386649, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.34714892694646937, + 9.65285107305344 + ] + ], + "log_loss": 0.12744259355831913, + "macro_f1": 0.9607404020630919, + "macro_precision": 0.953439172663616, + "macro_recall": 0.9689706786526773, + "roc_auc": 0.9940017242977615 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9071852401101741, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0266837673205239, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15349101896959522, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9212752053080092, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8748539770655441, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8550714335466548, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9278151573376402, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8881976302969201, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8808933874273144, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8912181994066729, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8419640011836538, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9430354835013118, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8319543910338524, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8160423687211416, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9376940015290339, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9569100120677984, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8971165461072882, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8616328301656117, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8724680147040654, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.858088240397995, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8901611812077141, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6761378114041823, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8290615159074849, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8923603518656691, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8577313413952183, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7060149836213706, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7820460339063411, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7600585762914802, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07163126395029784, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05877747198047823, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02152871012159134, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023297985684931244, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07153164182866953, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12550743880664797, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019663026216823004, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2517985918538196, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13746555214082729, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04153519902797907, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04462829062399577, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02225583588030248, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4072128575893652, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1990285059653171, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1845893194097416, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2689530211484887, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27064403362027084, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9170239077144121, + "balanced_accuracy": 0.9153000824801065, + "brier": 0.06549313418206605, + "confusion_matrix": [ + [ + 15.40625, + 1.59375 + ], + [ + 1.8912458759946897, + 23.1087541240055 + ] + ], + "log_loss": 0.25122437248064955, + "macro_f1": 0.9141360474534878, + "macro_precision": 0.9130729262114641, + "macro_recall": 0.9153000824801059, + "roc_auc": 0.9647540036329963 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_03", + "params": { + "activation": "relu", + "alpha": 10.0, + "hidden_layer_sizes": [ + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03700743386426997 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04419846020400078, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1913514967605877, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9305892138466995, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8907326182009908, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8745643948985998, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8895880780629163, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.020949198273004864, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03286698251923349, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45385513752612927, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22808593085208345, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3059039966781375, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8845681801796235, + "balanced_accuracy": 0.8914282652020764, + "brier": 0.08762922457006644, + "confusion_matrix": [ + [ + 4.1484375, + 0.8515625 + ], + [ + 0.18732387838338888, + 3.812676121616632 + ] + ], + "log_loss": 0.3184887743778842, + "macro_f1": 0.8844072983956512, + "macro_precision": 0.8871114752949021, + "macro_recall": 0.8914282652020764, + "roc_auc": 0.9574189926334163 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04705937058607415, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.218371539097644, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.785145270811201, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.70817553185988, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6925333470940669, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7775455337722719, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7468351567487415, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10187982427673277, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03224036375882992, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013472721115176485, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26925013741524634, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8571228540026546, + "balanced_accuracy": 0.863793381102389, + "brier": 0.10414212801043278, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.9812068139761074, + 4.018793186023882 + ] + ], + "log_loss": 0.4082098890775105, + "macro_f1": 0.8569380395782316, + "macro_precision": 0.8598558219332317, + "macro_recall": 0.8637933811023892, + "roc_auc": 0.9506448669682039 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02457082022599468, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1587249684893934, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9122626120994966, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8802686695495339, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8719643632014309, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9229413340684173, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8331197201084557, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.808489993093627, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0599854438126131, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15364540534993404, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18952823929615153, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2714633882130961, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9143483613948977, + "balanced_accuracy": 0.9068137386624147, + "brier": 0.06583456871785014, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.33307888605102254, + 5.666921113948961 + ] + ], + "log_loss": 0.21727458480825615, + "macro_f1": 0.9100319925187144, + "macro_precision": 0.9140062981954863, + "macro_recall": 0.9068137386624149, + "roc_auc": 0.967519679395667 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012168859505092283, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1082738483268868, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9259481515906148, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9563704299730382, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8951268909404294, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8340745141363686, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8694630664796441, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8516610962962539, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8945643034284889, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8440660774363794, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9050846738187311, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8647549264359625, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06962425291773197, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12347341546540944, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04232216950777796, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028040147502313126, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9475591083922273, + "balanced_accuracy": 0.953916375874559, + "brier": 0.036573147931780306, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.6091724825088163, + 9.390827517491108 + ] + ], + "log_loss": 0.13424019014467894, + "macro_f1": 0.9379231490020565, + "macro_precision": 0.9255072572332088, + "macro_recall": 0.9539163758745606, + "roc_auc": 0.9928673878590545 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8973251198736634, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029461731248616983, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16168073533796273, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9122626120994966, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8802686695495339, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8719643632014309, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9305892138466995, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8907326182009908, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8745643948985998, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8895880780629163, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.785145270811201, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9229413340684173, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8331197201084557, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.808489993093627, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9259481515906148, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9563704299730382, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8951268909404294, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8340745141363686, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8694630664796441, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8516610962962539, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8945643034284889, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.70817553185988, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8440660774363794, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9050846738187311, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8647549264359625, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6925333470940669, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7775455337722719, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7468351567487415, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10187982427673277, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0599854438126131, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03224036375882992, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020949198273004864, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06962425291773197, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12347341546540944, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013472721115176485, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26925013741524634, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15364540534993404, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03286698251923349, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04232216950777796, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028040147502313126, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45385513752612927, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18952823929615153, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22808593085208345, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3059039966781375, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2714633882130961, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9067745342638254, + "balanced_accuracy": 0.9047053146639665, + "brier": 0.06895980789161711, + "confusion_matrix": [ + [ + 15.1953125, + 1.8046875 + ], + [ + 2.110782060919335, + 22.889217939080858 + ] + ], + "log_loss": 0.2521999162192052, + "macro_f1": 0.9035374512206565, + "macro_precision": 0.9024750699871917, + "macro_recall": 0.9047053146639659, + "roc_auc": 0.9648933741016852 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_10", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 30 + } + }, + "status": "ok", + "std_macro_f1": 0.030031862030412186 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 1205, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 1249, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 633, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 596, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030753980240995977, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14878371199723256, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9420313905020324, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9224857686756621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8982829449091805, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9082307362949517, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.010717252040605862, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013025081260993943, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4053083577294749, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16097033966811497, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24120162112914545, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8905288283277716, + "balanced_accuracy": 0.8961808693687432, + "brier": 0.07875718751568622, + "confusion_matrix": [ + [ + 4.2265625, + 0.7734375 + ], + [ + 0.21180304505005554, + 3.7881969549499654 + ] + ], + "log_loss": 0.26813466777476996, + "macro_f1": 0.8902685013867246, + "macro_precision": 0.8913631654385377, + "macro_recall": 0.8961808693687432, + "roc_auc": 0.9652158956276649 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.045663906901590195, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20529414970708376, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7482510741731383, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.680067274035194, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7077499561510108, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7831628454091554, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7330346227656868, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04260047755564175, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004417226764926997, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0012402464017735723, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19926336377270562, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8428961592064046, + "balanced_accuracy": 0.8535284182857639, + "brier": 0.1301451328459399, + "confusion_matrix": [ + [ + 3.796875, + 0.203125 + ], + [ + 1.210809567142358, + 3.789190432857632 + ] + ], + "log_loss": 0.7462094334818307, + "macro_f1": 0.8428960446706928, + "macro_precision": 0.8536653507848982, + "macro_recall": 0.8535284182857641, + "roc_auc": 0.9452675430001475 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.018361305356042894, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1304803034747084, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9314090177601033, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9106991399488172, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.882123919922163, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9563370958681278, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8703864242958189, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8462444928782381, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.035581090269231015, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12076089343166216, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19180877829119025, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24910282592607302, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9164217103824303, + "balanced_accuracy": 0.910169133652025, + "brier": 0.06274177702007137, + "confusion_matrix": [ + [ + 3.515625, + 0.484375 + ], + [ + 0.35140789617569834, + 5.648592103824286 + ] + ], + "log_loss": 0.21913081247017133, + "macro_f1": 0.9124380362277074, + "macro_precision": 0.9150741768959668, + "macro_recall": 0.9101691336520252, + "roc_auc": 0.9637310752067326 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.006573599253662654, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.07647403308430226, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.947125499683485, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9686632861195045, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9271388525260341, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9200252652402585, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9176726552523624, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.9081112738631513, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9250610553553538, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8620264022831949, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9302224082784025, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8644892336095193, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.045275185548349306, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10045634407272186, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034022024989682285, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011966434493958747, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9696345871407706, + "balanced_accuracy": 0.9699551484985394, + "brier": 0.02656925972895859, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.3079282800292112, + 9.692071719970691 + ] + ], + "log_loss": 0.10149413388166321, + "macro_f1": 0.9633187738119352, + "macro_precision": 0.95728756684175, + "macro_recall": 0.9699551484985399, + "roc_auc": 0.9941089323461503 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.902230339024265, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02293820065226147, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13243191079205147, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9314090177601033, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9106991399488172, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.882123919922163, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9420313905020324, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9224857686756621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8982829449091805, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9082307362949517, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7482510741731383, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9563370958681278, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8703864242958189, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8462444928782381, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.947125499683485, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9686632861195045, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9271388525260341, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9200252652402585, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9176726552523624, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.9081112738631513, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9250610553553538, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.680067274035194, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8620264022831949, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9302224082784025, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8644892336095193, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7077499561510108, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7831628454091554, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7330346227656868, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04260047755564175, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035581090269231015, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004417226764926997, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010717252040605862, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045275185548349306, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10045634407272186, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0012402464017735723, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19926336377270562, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12076089343166216, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013025081260993943, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034022024989682285, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011966434493958747, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4053083577294749, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19180877829119025, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16097033966811497, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24120162112914545, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24910282592607302, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9128553859905398, + "balanced_accuracy": 0.9119455830555834, + "brier": 0.06855972118239925, + "confusion_matrix": [ + [ + 15.421875, + 1.578125 + ], + [ + 2.081948788397321, + 22.918051211602858 + ] + ], + "log_loss": 0.30336483119891444, + "macro_f1": 0.9099880324239336, + "macro_precision": 0.9083170834796241, + "macro_recall": 0.9119455830555825, + "roc_auc": 0.9614171425044785 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_00", + "params": { + "activation": "tanh", + "alpha": 0.01, + "hidden_layer_sizes": [ + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.04330022515272822 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "iterations": 377, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "iterations": 450, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "iterations": 503, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "iterations": 421, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039122200347928716, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17546943296914227, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9348627205842184, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8914582320904821, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8905447198270626, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8964741593017521, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.019015912822554285, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012126655030193976, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42294110304794397, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20431675431472968, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30371761734696345, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8854642375272938, + "balanced_accuracy": 0.8926316422182056, + "brier": 0.08205691354617975, + "confusion_matrix": [ + [ + 4.140625, + 0.859375 + ], + [ + 0.17144686225435662, + 3.828553137745664 + ] + ], + "log_loss": 0.27137801318381655, + "macro_f1": 0.8853263618059457, + "macro_precision": 0.8884618343270735, + "macro_recall": 0.8926316422182055, + "roc_auc": 0.9615834710188692 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04253111334173543, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2004216146518353, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8398150412148586, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6725871760486081, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7092123674369896, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8057853474655441, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7600486356443682, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08010146711493615, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019774159024703683, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.005582149472688376, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25145533044290863, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8627401971656643, + "balanced_accuracy": 0.8702161774490977, + "brier": 0.10540427616972615, + "confusion_matrix": [ + [ + 3.75, + 0.25 + ], + [ + 0.9853382255090211, + 4.0146617744909685 + ] + ], + "log_loss": 0.4030843780391838, + "macro_f1": 0.8626213971449389, + "macro_precision": 0.8666483967041145, + "macro_recall": 0.8702161774490978, + "roc_auc": 0.9486519439559012 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022497572238358337, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1466523102441467, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9275842318680949, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9006644124993597, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.882237140892752, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9360441980084918, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588084037961444, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.835377342073072, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05123595676228679, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14770652251430144, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18120324334231663, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29596121802349895, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.918541492343737, + "balanced_accuracy": 0.907378326953114, + "brier": 0.058805491407184364, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.22083507656263074, + 5.779164923437353 + ] + ], + "log_loss": 0.20548657420520677, + "macro_f1": 0.9136811129913431, + "macro_precision": 0.9229736360948514, + "macro_recall": 0.9073783269531142, + "roc_auc": 0.9688091134228523 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008606895399492418, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09135371135481231, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9254688828466199, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9528692629931947, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9087652065640324, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8799436387013926, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8968740853727499, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8836741144515553, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9071991486517984, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8697154939226086, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9152453230677032, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.882006170671586, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0565970828561585, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11814116462767749, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037597262470995874, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02345826487766403, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.976959487166589, + "balanced_accuracy": 0.9756685160166122, + "brier": 0.023695381546882388, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.21319217966775295, + 9.786807820332147 + ] + ], + "log_loss": 0.1067290151407028, + "macro_f1": 0.9719915668004279, + "macro_precision": 0.9684990161756268, + "macro_recall": 0.9756685160166128, + "roc_auc": 0.995145057128556 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.908405109685664, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025722668599606063, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1459165354761342, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9275842318680949, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9006644124993597, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.882237140892752, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9348627205842184, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8914582320904821, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8905447198270626, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8964741593017521, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8398150412148586, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9360441980084918, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588084037961444, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.835377342073072, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9254688828466199, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9528692629931947, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9087652065640324, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8799436387013926, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8968740853727499, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8836741144515553, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9071991486517984, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6725871760486081, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8697154939226086, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9152453230677032, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.882006170671586, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7092123674369896, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8057853474655441, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7600486356443682, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08010146711493615, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05123595676228679, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019774159024703683, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019015912822554285, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0565970828561585, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11814116462767749, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.005582149472688376, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25145533044290863, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14770652251430144, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012126655030193976, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037597262470995874, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02345826487766403, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42294110304794397, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18120324334231663, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20431675431472968, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30371761734696345, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29596121802349895, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9189687537144342, + "balanced_accuracy": 0.9148749295907133, + "brier": 0.062070022932651195, + "confusion_matrix": [ + [ + 15.1875, + 1.8125 + ], + [ + 1.5908123439937607, + 23.409187656006434 + ] + ], + "log_loss": 0.2290293684530693, + "macro_f1": 0.9157399234434174, + "macro_precision": 0.9166618172887415, + "macro_recall": 0.9148749295907127, + "roc_auc": 0.9665069283266146 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "mlp", + "name": "mlp_02", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.04092630778911222 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 226, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 349, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 224, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 223, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03630317370928157, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17363404172470814, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9286546077853447, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8875985260225033, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8791735821340569, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8861693883093273, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02156808892278391, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038574426637908804, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4085414622699476, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1867885084057348, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27874474616114, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8940887894986198, + "balanced_accuracy": 0.8997952006859474, + "brier": 0.07925401209999118, + "confusion_matrix": [ + [ + 4.2421875, + 0.7578125 + ], + [ + 0.19538839451242113, + 3.8046116054876 + ] + ], + "log_loss": 0.27173628265159944, + "macro_f1": 0.8938378370034665, + "macro_precision": 0.8949354560957982, + "macro_recall": 0.8997952006859474, + "roc_auc": 0.9618667872976627 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04279134796098377, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20238414968881951, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8418480902826777, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6787149169863005, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7090557519628528, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7859957236685322, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7613411501896999, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07121457001216025, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020976583610343588, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018519235084499035, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25224407639739116, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8599675053812651, + "balanced_accuracy": 0.8677207548431385, + "brier": 0.10619821064651266, + "confusion_matrix": [ + [ + 3.75, + 0.25 + ], + [ + 1.0102924515686136, + 3.989707548431376 + ] + ], + "log_loss": 0.4515856046210938, + "macro_f1": 0.8598680987363676, + "macro_precision": 0.8644001974057602, + "macro_recall": 0.8677207548431386, + "roc_auc": 0.9449633885674342 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02388103990534892, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15481761046960302, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9230261064284386, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8770158936700877, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8573809790555779, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9404129141245816, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8345608609926485, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8208472414626706, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05886122366876945, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13830181042860376, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19456378613685454, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2719496304673634, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9270372335653876, + "balanced_accuracy": 0.9206430071378229, + "brier": 0.06223287842763936, + "confusion_matrix": [ + [ + 3.5546875, + 0.4453125 + ], + [ + 0.2843151643461242, + 5.715684835653859 + ] + ], + "log_loss": 0.21559200022157907, + "macro_f1": 0.9234630261649602, + "macro_precision": 0.9268305348834662, + "macro_recall": 0.9206430071378231, + "roc_auc": 0.9675234387036583 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012096081107279041, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10781710033845994, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9388083621852144, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9538022278100116, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8955843864428671, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.860297595865844, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8678879412029964, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8571978908895699, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8885388772033422, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8306684767263511, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8921346561725056, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8603375508862153, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07158678086850884, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12413283708196392, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044106436265841986, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02201770580307725, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9655377751471336, + "balanced_accuracy": 0.9676733176029934, + "brier": 0.032429754887918646, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.37309614794013, + 9.626903852059781 + ] + ], + "log_loss": 0.12801919366093528, + "macro_f1": 0.9585849245812597, + "macro_precision": 0.9506307114497534, + "macro_recall": 0.9676733176029944, + "roc_auc": 0.9941875735727244 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9089384716215135, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026666814990185334, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15337569600371947, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9230261064284386, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8770158936700877, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8573809790555779, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9286546077853447, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8875985260225033, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8791735821340569, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8861693883093273, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8418480902826777, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9404129141245816, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8345608609926485, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8208472414626706, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9388083621852144, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9538022278100116, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8955843864428671, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.860297595865844, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8678879412029964, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8571978908895699, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8885388772033422, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6787149169863005, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8306684767263511, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8921346561725056, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8603375508862153, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7090557519628528, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7859957236685322, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7613411501896999, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07121457001216025, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05886122366876945, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020976583610343588, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02156808892278391, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07158678086850884, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12413283708196392, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018519235084499035, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25224407639739116, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13830181042860376, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038574426637908804, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044106436265841986, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02201770580307725, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4085414622699476, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19456378613685454, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1867885084057348, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27874474616114, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2719496304673634, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9184382819436359, + "balanced_accuracy": 0.9167822744797134, + "brier": 0.06536703231966165, + "confusion_matrix": [ + [ + 15.4375, + 1.5625 + ], + [ + 1.8630921583672881, + 23.136907841632905 + ] + ], + "log_loss": 0.24900204045055058, + "macro_f1": 0.915602007945297, + "macro_precision": 0.9145249359074281, + "macro_recall": 0.9167822744797127, + "roc_auc": 0.9651129726049789 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_07", + "params": { + "activation": "relu", + "alpha": 10.0, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03644058052887216 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05872013710518471, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2402301855167227, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9030023901424062, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8409492171604017, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8425261463806312, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8570001142474142, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.042564566084485174, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07629374642735738, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.46285155814376955, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29107038267434326, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3767526425010367, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8635251874510773, + "balanced_accuracy": 0.8712705233824621, + "brier": 0.0978403511533784, + "confusion_matrix": [ + [ + 4.0078125, + 0.9921875 + ], + [ + 0.23608581294030395, + 3.7639141870597164 + ] + ], + "log_loss": 0.31399780867670646, + "macro_f1": 0.8634248867097036, + "macro_precision": 0.8678784645752621, + "macro_recall": 0.871270523382462, + "roc_auc": 0.9507221914142158 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.051223877866767194, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.23742773763896075, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8041992360319968, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7108199188109211, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6940951786857784, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7603268849557285, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.731766866066083, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13733726195159668, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.049933778647221386, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06781505129828985, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3002133897791151, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8619476489964344, + "balanced_accuracy": 0.8683310090967908, + "brier": 0.09321014662705163, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.9455961590320894, + 4.0544038409678995 + ] + ], + "log_loss": 0.3004055383347119, + "macro_f1": 0.8617370167368432, + "macro_precision": 0.8641814884918313, + "macro_recall": 0.868331009096791, + "roc_auc": 0.9582871267644356 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03515905985016685, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1966410798028262, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8825093591104816, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8424990203154399, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8254934438065121, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8883355705764505, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8087826130806316, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7883909624453054, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08340798501325102, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16170429076294265, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22470430067644842, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32422035725373627, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9111623944405485, + "balanced_accuracy": 0.8996014745337904, + "brier": 0.07058865474184128, + "confusion_matrix": [ + [ + 3.3671875, + 0.6328125 + ], + [ + 0.2555635555945153, + 5.744436444405468 + ] + ], + "log_loss": 0.2418168892168367, + "macro_f1": 0.9058411855484716, + "macro_precision": 0.9151131216557944, + "macro_recall": 0.8996014745337905, + "roc_auc": 0.9659510464668308 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021484871882215668, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1517450565150951, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8862794583818105, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9050726866713075, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8667581937840456, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.79776339421166, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8254417735530017, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8260559624701449, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8437114498394913, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8072370342736891, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.859025510400675, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8234454127446933, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10884203228720817, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1654619750367056, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07095599918453913, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050759391554682703, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9624456935516348, + "balanced_accuracy": 0.9649229229861442, + "brier": 0.043614049459632834, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.4085727902771124, + 9.5914272097228 + ] + ], + "log_loss": 0.17332179938613515, + "macro_f1": 0.9549564489643378, + "macro_precision": 0.9463609326926424, + "macro_recall": 0.9649229229861453, + "roc_auc": 0.9928903966733558 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.896489884489839, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03909226046667273, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.19975625946763678, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8825093591104816, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8424990203154399, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8254934438065121, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9030023901424062, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8409492171604017, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8425261463806312, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8570001142474142, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8041992360319968, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8883355705764505, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8087826130806316, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7883909624453054, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8862794583818105, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9050726866713075, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8667581937840456, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.79776339421166, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8254417735530017, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8260559624701449, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8437114498394913, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7108199188109211, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8072370342736891, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.859025510400675, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8234454127446933, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6940951786857784, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7603268849557285, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.731766866066083, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13733726195159668, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08340798501325102, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.049933778647221386, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.042564566084485174, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10884203228720817, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1654619750367056, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06781505129828985, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3002133897791151, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16170429076294265, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07629374642735738, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07095599918453913, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050759391554682703, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.46285155814376955, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22470430067644842, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29107038267434326, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3767526425010367, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32422035725373627, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9075028376703804, + "balanced_accuracy": 0.9031112071725316, + "brier": 0.07228423142564626, + "confusion_matrix": [ + [ + 14.9609375, + 2.0390625 + ], + [ + 1.8458183178440208, + 23.154181682156175 + ] + ], + "log_loss": 0.24700724301611962, + "macro_f1": 0.903843593054206, + "macro_precision": 0.9046185748977004, + "macro_recall": 0.903111207172531, + "roc_auc": 0.9646314718757265 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "random_forest", + "name": "random_forest_11", + "params": { + "max_depth": null, + "max_features": "sqrt", + "min_samples_leaf": 100 + } + }, + "status": "ok", + "std_macro_f1": 0.03810131850801716 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 502, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 757, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 785, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 521, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03064462990901814, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14947442682684392, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9477278642869852, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9071935239962389, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8970123985177696, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005572132560018, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.008795999658020241, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013233235980391233, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4044018137247998, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16003062380544766, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2335761577783289, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9010892375272938, + "balanced_accuracy": 0.9066941422182055, + "brier": 0.07440457446091814, + "confusion_matrix": [ + [ + 4.28125, + 0.71875 + ], + [ + 0.17144686225435662, + 3.828553137745664 + ] + ], + "log_loss": 0.25322040922071565, + "macro_f1": 0.9008383531140108, + "macro_precision": 0.901717615921735, + "macro_recall": 0.9066941422182054, + "roc_auc": 0.9656595499267123 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03854514841508144, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18809983504449365, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8154051076058567, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6998994673050398, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7270780336267227, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7879265900504606, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7704662061518502, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.056847195403020086, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.008629472974916504, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.001697526520154044, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21751893074769746, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8713393389766276, + "balanced_accuracy": 0.8785413425789649, + "brier": 0.11001202595752, + "confusion_matrix": [ + [ + 3.7734375, + 0.2265625 + ], + [ + 0.9313834492103494, + 4.06861655078964 + ] + ], + "log_loss": 0.4636664274669007, + "macro_f1": 0.8712007913024288, + "macro_precision": 0.8746441373099161, + "macro_recall": 0.878541342578965, + "roc_auc": 0.9530049838283806 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.019600755672732676, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1365359067649293, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9302417230958618, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9111294064146737, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8764973459433923, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9428463899073057, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588994048473259, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8422529702094466, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.03941202507338183, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1335652200668619, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18360265095832265, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2585101620629871, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9151410589326611, + "balanced_accuracy": 0.9077998407772174, + "brier": 0.062331037341861475, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.3329644106733893, + 5.667035589326595 + ] + ], + "log_loss": 0.20772571540312357, + "macro_f1": 0.9108961448131334, + "macro_precision": 0.9146886146887121, + "macro_recall": 0.9077998407772176, + "roc_auc": 0.9688440178843059 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.006701948920812702, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.07748570564567132, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9441035422286725, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9678964699161434, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.920843302446129, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9090396970149827, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9133918767857134, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.889490595429318, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9252939398514668, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8642006366554356, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9281242973806781, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8786912972315664, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04382599379102756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09361079474333249, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02631912981168183, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011773000626081956, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9751766973243813, + "balanced_accuracy": 0.9750065006270668, + "brier": 0.023982247428664165, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.24596373745866057, + 9.754036262541243 + ] + ], + "log_loss": 0.09740936639955758, + "macro_f1": 0.969913374185891, + "macro_precision": 0.9651732531491363, + "macro_recall": 0.9750065006270675, + "roc_auc": 0.9951232538585979 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9132121658538661, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02172721063180002, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13067445960787452, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9302417230958618, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9111294064146737, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8764973459433923, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9477278642869852, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9071935239962389, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8970123985177696, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005572132560018, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8154051076058567, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9428463899073057, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588994048473259, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8422529702094466, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9441035422286725, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9678964699161434, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.920843302446129, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9090396970149827, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9133918767857134, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.889490595429318, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9252939398514668, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6998994673050398, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8642006366554356, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9281242973806781, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8786912972315664, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7270780336267227, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7879265900504606, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7704662061518502, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.056847195403020086, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03941202507338183, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.008629472974916504, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.008795999658020241, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04382599379102756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09361079474333249, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.001697526520154044, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21751893074769746, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1335652200668619, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013233235980391233, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02631912981168183, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011773000626081956, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4044018137247998, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18360265095832265, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16003062380544766, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2335761577783289, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2585101620629871, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9227557509619821, + "balanced_accuracy": 0.920408948455124, + "brier": 0.06235264859966325, + "confusion_matrix": [ + [ + 15.4375, + 1.5625 + ], + [ + 1.681758459596755, + 23.31824154040344 + ] + ], + "log_loss": 0.235546900328895, + "macro_f1": 0.9199369277483221, + "macro_precision": 0.9194813073966119, + "macro_recall": 0.9204089484551234, + "roc_auc": 0.9681432343493197 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.035841518568536415 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "iterations": 903, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "iterations": 1140, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "iterations": 412, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "iterations": 600, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039500049673075466, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17474759074288712, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9349024176534692, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.899378009410036, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8943875950551179, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8986653315791159, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.016021238663679594, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00874430427274095, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4308516963065153, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2130800229746363, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2972302952109873, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8803737048366497, + "balanced_accuracy": 0.8882719804412311, + "brier": 0.08474781507034652, + "confusion_matrix": [ + [ + 4.0859375, + 0.9140625 + ], + [ + 0.16257415647015197, + 3.837425843529869 + ] + ], + "log_loss": 0.27856415316622546, + "macro_f1": 0.8802824267738942, + "macro_precision": 0.8846799618041306, + "macro_recall": 0.8882719804412311, + "roc_auc": 0.9598261145286573 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.044493139835626735, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20530299576350305, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8244830460686814, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6646530528794223, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7039905094960964, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8052160761411885, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7632941636115222, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08185489938896534, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016426141488660524, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.002815789831293942, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2619245362066691, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8587191071816364, + "balanced_accuracy": 0.8658159464634727, + "brier": 0.11212429000302777, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.9902780353652718, + 4.009721964634718 + ] + ], + "log_loss": 0.6376504715942863, + "macro_f1": 0.858571279799747, + "macro_precision": 0.8620809496624302, + "macro_recall": 0.8658159464634727, + "roc_auc": 0.9327682945988591 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02275974094137948, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14698337639531772, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9220482058394814, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8925765238754593, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8745322974414934, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9508144231961364, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8603826335170421, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8353404632325, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05303874315607869, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14140272217468283, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17502181436709158, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3029414348301872, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9197790786142178, + "balanced_accuracy": 0.9097117321785149, + "brier": 0.061708651964598384, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 0.23970921385782065, + 5.760290786142162 + ] + ], + "log_loss": 0.20891895174775943, + "macro_f1": 0.915204033467504, + "macro_precision": 0.9229241552922602, + "macro_recall": 0.909711732178515, + "roc_auc": 0.967775615265517 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.00793896649092473, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.08768365953087112, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.918643760489305, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9501130217121236, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9158472363670361, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8879600732925633, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9068655635031349, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8917289686345012, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9100784465574465, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8794934947401218, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9171350914235927, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8738027994240762, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05112008133094151, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11044753126459, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0365231769843597, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021466668113987, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9784749926188099, + "balanced_accuracy": 0.9761434323331669, + "brier": 0.023086252651818327, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.1841626033366601, + 9.815837396663238 + ] + ], + "log_loss": 0.10330850084327826, + "macro_f1": 0.9737629227131994, + "macro_precision": 0.9714598913637473, + "macro_recall": 0.9761434323331672, + "roc_auc": 0.9948478185104015 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9069551656885861, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02606384871107288, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.145663339903402, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9220482058394814, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8925765238754593, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8745322974414934, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9349024176534692, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.899378009410036, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8943875950551179, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8986653315791159, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8244830460686814, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9508144231961364, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8603826335170421, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8353404632325, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.918643760489305, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9501130217121236, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9158472363670361, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8879600732925633, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9068655635031349, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8917289686345012, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9100784465574465, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6646530528794223, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8794934947401218, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9171350914235927, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8738027994240762, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7039905094960964, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8052160761411885, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7632941636115222, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08185489938896534, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05303874315607869, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016426141488660524, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016021238663679594, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05112008133094151, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11044753126459, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.002815789831293942, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2619245362066691, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14140272217468283, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00874430427274095, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0365231769843597, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021466668113987, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4308516963065153, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17502181436709158, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2130800229746363, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2972302952109873, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3029414348301872, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9178160950230976, + "balanced_accuracy": 0.9133184609958728, + "brier": 0.06457483339123354, + "confusion_matrix": [ + [ + 15.125, + 1.875 + ], + [ + 1.576724009029904, + 23.42327599097029 + ] + ], + "log_loss": 0.2805104798125737, + "macro_f1": 0.9144775494776565, + "macro_precision": 0.9157397060506192, + "macro_recall": 0.9133184609958721, + "roc_auc": 0.9623519755770532 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "mlp", + "name": "mlp_05", + "params": { + "activation": "relu", + "alpha": 0.1, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.04354238059985168 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 1223, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": true, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 3000, + "recordings": 33, + "warning_count": 1, + "warnings": [ + { + "category": "ConvergenceWarning", + "message": "lbfgs failed to converge (status=1):\nSTOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n\nIncrease the number of iterations (max_iter) or scale the data as shown in:\n https://scikit-learn.org/stable/modules/preprocessing.html" + } + ], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 1054, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 2077, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027626031484095967, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.142868513138794, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9463081465476767, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8929823280761022, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883468349235184, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.898728738710126, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.00817827459378806, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009264533159344269, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3794562914723819, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13987210232359173, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21879760189381053, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8928055349565361, + "balanced_accuracy": 0.8965937268261033, + "brier": 0.08269344957246481, + "confusion_matrix": [ + [ + 4.3125, + 0.6875 + ], + [ + 0.27725018539117535, + 3.7227498146088447 + ] + ], + "log_loss": 0.31514922048228233, + "macro_f1": 0.892343268539805, + "macro_precision": 0.891853380396642, + "macro_recall": 0.896593726826103, + "roc_auc": 0.95607472613161 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04143751446706448, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19463183682349686, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7722193468440827, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6974841171874128, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7249379222595891, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8152729446510789, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7227199514793864, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05071483749488172, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0058326149514932625, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0004256640031374476, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2006591454981997, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8479628801093558, + "balanced_accuracy": 0.85769784209842, + "brier": 0.12820277537024102, + "confusion_matrix": [ + [ + 3.78125, + 0.21875 + ], + [ + 1.1495840790157972, + 3.8504159209841924 + ] + ], + "log_loss": 0.950250695725242, + "macro_f1": 0.8479539001453889, + "macro_precision": 0.8565500718271184, + "macro_recall": 0.8576978420984203, + "roc_auc": 0.9432162929397062 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01848609643195957, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13044490226332317, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9437470029745214, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9206236346043326, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8959421625997471, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9444484384613109, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8620557279542365, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8536482777593778, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04281665872166732, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12856624619167142, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18845484255519657, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25914614669829744, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9174677392313809, + "balanced_accuracy": 0.9107153035261506, + "brier": 0.06810837218113186, + "confusion_matrix": [ + [ + 3.5078125, + 0.4921875 + ], + [ + 0.33313510768619153, + 5.666864892313793 + ] + ], + "log_loss": 0.24711932032072523, + "macro_f1": 0.9134323835283296, + "macro_precision": 0.9166773037844467, + "macro_recall": 0.9107153035261508, + "roc_auc": 0.9616454975708838 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0073229337011899796, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.07798317309362157, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9441150336181348, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9668672433629798, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.918693337338409, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9110661658946436, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9180152283383849, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8990317612384048, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9236230972380685, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8534794171858893, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9298132722682318, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8327498116347518, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.036021310763218406, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07019760896369528, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019399287265619757, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.007873266195688195, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9656182236509301, + "balanced_accuracy": 0.970073381555651, + "brier": 0.031033023852524714, + "confusion_matrix": [ + [ + 3.921875, + 0.078125 + ], + [ + 0.40321986888697653, + 9.596780131112931 + ] + ], + "log_loss": 0.1120486344722119, + "macro_f1": 0.9588582705300932, + "macro_precision": 0.9493485014435508, + "macro_recall": 0.9700733815556518, + "roc_auc": 0.9941513863242982 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9031469556859041, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02164176070706427, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.12937420465725122, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9437470029745214, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9206236346043326, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8959421625997471, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9463081465476767, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8929823280761022, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883468349235184, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.898728738710126, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7722193468440827, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9444484384613109, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8620557279542365, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8536482777593778, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9441150336181348, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9668672433629798, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.918693337338409, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9110661658946436, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9180152283383849, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8990317612384048, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9236230972380685, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6974841171874128, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8534794171858893, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9298132722682318, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8327498116347518, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7249379222595891, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8152729446510789, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7227199514793864, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05071483749488172, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04281665872166732, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0058326149514932625, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00817827459378806, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036021310763218406, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07019760896369528, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0004256640031374476, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2006591454981997, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12856624619167142, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009264533159344269, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019399287265619757, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.007873266195688195, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3794562914723819, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18845484255519657, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13987210232359173, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21879760189381053, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25914614669829744, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9133392442623774, + "balanced_accuracy": 0.9133079063568681, + "brier": 0.07175266857692898, + "confusion_matrix": [ + [ + 15.5234375, + 1.4765625 + ], + [ + 2.1631892409801385, + 22.83681075902004 + ] + ], + "log_loss": 0.3673446031353794, + "macro_f1": 0.9106294821093075, + "macro_precision": 0.9084815216313005, + "macro_recall": 0.9133079063568672, + "roc_auc": 0.9586098509133147 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_04", + "params": { + "activation": "tanh", + "alpha": 0.01, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03991407541024625 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04678306541518462, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20444656558319166, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9141457289130741, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.869841794796111, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8604907835147395, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8782895634660891, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02726433431264711, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05838840083546172, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45901853611759663, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22747832039038468, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30961632809088735, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8819899554031227, + "balanced_accuracy": 0.8889183873285134, + "brier": 0.08949881830348506, + "confusion_matrix": [ + [ + 4.1328125, + 0.8671875 + ], + [ + 0.19490290137189464, + 3.805097098628126 + ] + ], + "log_loss": 0.2881285308894488, + "macro_f1": 0.8818332788999501, + "macro_precision": 0.8846807819739351, + "macro_recall": 0.8889183873285131, + "roc_auc": 0.9585761565087145 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04455624582543856, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21694939571093114, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8215741866306958, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7294325250882155, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7112610031299637, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7785336449733421, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7451044097450099, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1214921702491498, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03802055389751531, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05440393984360165, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.281795436083577, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8706701144072164, + "balanced_accuracy": 0.8763765404664947, + "brier": 0.09232840248256474, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.8749064703350511, + 4.125093529664938 + ] + ], + "log_loss": 0.3095472815265741, + "macro_f1": 0.8703956648801345, + "macro_precision": 0.8718652421693117, + "macro_recall": 0.8763765404664948, + "roc_auc": 0.9553079086355514 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0299692353918218, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17847103197218314, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8948501120984206, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8574882639920612, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8522254219213742, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9158472537283001, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8108252683928966, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7997015443626437, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06858896807112047, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16014965146735277, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2234880675565096, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28844657270536866, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9102538969199185, + "balanced_accuracy": 0.9004719974332653, + "brier": 0.06894362958578382, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.3037110308008143, + 5.696288969199169 + ] + ], + "log_loss": 0.23569125706538205, + "macro_f1": 0.9052868769918385, + "macro_precision": 0.911870523472682, + "macro_recall": 0.9004719974332656, + "roc_auc": 0.9626443516306566 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.017975892165446424, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13578066401271446, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.921366112155168, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9240891209046002, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8652229794589792, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8438526793971951, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8475870124973123, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8170270682725354, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8639375679076418, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8035485289708487, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8621615879302517, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8297762558572731, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0968698198252678, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1452170279232579, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05882026507788674, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038050089985068744, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9577073576941976, + "balanced_accuracy": 0.9610201503859379, + "brier": 0.03917410708192357, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.46709699228123647, + 9.53290300771868 + ] + ], + "log_loss": 0.15861941834709944, + "macro_f1": 0.9494514772976268, + "macro_precision": 0.9397415870583594, + "macro_recall": 0.9610201503859392, + "roc_auc": 0.9921692468733279 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9017418245173876, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032700205842858966, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1780524587511176, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8948501120984206, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8574882639920612, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8522254219213742, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9141457289130741, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.869841794796111, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8604907835147395, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8782895634660891, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8215741866306958, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9158472537283001, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8108252683928966, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7997015443626437, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.921366112155168, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9240891209046002, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8652229794589792, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8438526793971951, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8475870124973123, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8170270682725354, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8639375679076418, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7294325250882155, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8035485289708487, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8621615879302517, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8297762558572731, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7112610031299637, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7785336449733421, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7451044097450099, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1214921702491498, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06858896807112047, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03802055389751531, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02726433431264711, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0968698198252678, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1452170279232579, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05440393984360165, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.281795436083577, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16014965146735277, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05838840083546172, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05882026507788674, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038050089985068744, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45901853611759663, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2234880675565096, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22747832039038468, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30961632809088735, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28844657270536866, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9115329191716904, + "balanced_accuracy": 0.908040593280691, + "brier": 0.06843616147807659, + "confusion_matrix": [ + [ + 15.125, + 1.875 + ], + [ + 1.840617394788996, + 23.159382605211206 + ] + ], + "log_loss": 0.2370634937918433, + "macro_f1": 0.9081726144870448, + "macro_precision": 0.9083059854512175, + "macro_recall": 0.9080405932806905, + "roc_auc": 0.9643379887917863 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_00", + "params": { + "l2_regularization": 0.1, + "max_leaf_nodes": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.03028081190318111 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0464632362631926, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20396253852794366, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9142258858337919, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8700455210266732, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8602094506683644, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8774276633333222, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.027688629030139134, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05914764615521432, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4555525390770956, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2270543457567867, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3098572085561909, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8837260665142339, + "balanced_accuracy": 0.8904808873285133, + "brier": 0.08893442046073878, + "confusion_matrix": [ + [ + 4.1484375, + 0.8515625 + ], + [ + 0.19490290137189464, + 3.805097098628126 + ] + ], + "log_loss": 0.2869898835566087, + "macro_f1": 0.8835566016477492, + "macro_precision": 0.8861281082148474, + "macro_recall": 0.8904808873285133, + "roc_auc": 0.9586348961139545 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04449441492532383, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21653215007405946, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8231015452394769, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7310645393408438, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7098730342779292, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7800186234793354, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7447276888284748, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12091122557345796, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03886074416622431, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051990070124938864, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28331665081142454, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8659752787264653, + "balanced_accuracy": 0.8721511883538187, + "brier": 0.0919612373384188, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.9171599914618116, + 4.082840008538178 + ] + ], + "log_loss": 0.30817096311536013, + "macro_f1": 0.8657460334888379, + "macro_precision": 0.8678548091169007, + "macro_recall": 0.8721511883538189, + "roc_auc": 0.9557871124431598 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030101208213385067, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1789991242253078, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8941218234624754, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8567965359003719, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.851391405391794, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9152987933595007, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.810535032653558, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8002186488410552, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06903745259516594, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16128914283244855, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22253000164013487, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28970041720737494, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9102538969199185, + "balanced_accuracy": 0.9004719974332653, + "brier": 0.06900243820285776, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.3037110308008143, + 5.696288969199169 + ] + ], + "log_loss": 0.2360810762270485, + "macro_f1": 0.9052868769918385, + "macro_precision": 0.911870523472682, + "macro_recall": 0.9004719974332656, + "roc_auc": 0.962482043916054 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.018027847558167547, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13597628819809593, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9205126020543991, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9240473453255442, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.865286812244508, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.839985278745262, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8469169905344096, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.817057941720993, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8642322915053837, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8042156785476074, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8622366858321745, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8303207585082336, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0964909782547959, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1447643145154877, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05847297006683222, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03778629899694282, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9565735708461249, + "balanced_accuracy": 0.9602264995922871, + "brier": 0.039243882874766496, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.48297000815425234, + 9.517029991845664 + ] + ], + "log_loss": 0.15882700258829635, + "macro_f1": 0.9481530739026314, + "macro_precision": 0.9381056940280181, + "macro_recall": 0.9602264995922885, + "roc_auc": 0.9924110768291479 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9006856465077642, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03266716211059153, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17805027320105832, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8941218234624754, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8567965359003719, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.851391405391794, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9142258858337919, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8700455210266732, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8602094506683644, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8774276633333222, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8231015452394769, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9152987933595007, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.810535032653558, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8002186488410552, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9205126020543991, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9240473453255442, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.865286812244508, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.839985278745262, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8469169905344096, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.817057941720993, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8642322915053837, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7310645393408438, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8042156785476074, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8622366858321745, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8303207585082336, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7098730342779292, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7800186234793354, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7447276888284748, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12091122557345796, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06903745259516594, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03886074416622431, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027688629030139134, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0964909782547959, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1447643145154877, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051990070124938864, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28331665081142454, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16128914283244855, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05914764615521432, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05847297006683222, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03778629899694282, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4555525390770956, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22253000164013487, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2270543457567867, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3098572085561909, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28970041720737494, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9105209778145531, + "balanced_accuracy": 0.9073376213642248, + "brier": 0.06827380148732683, + "confusion_matrix": [ + [ + 15.140625, + 1.859375 + ], + [ + 1.8987439317887724, + 23.101256068211427 + ] + ], + "log_loss": 0.2366865813941513, + "macro_f1": 0.9071866614142496, + "macro_precision": 0.9070374656719937, + "macro_recall": 0.9073376213642244, + "roc_auc": 0.964553710533503 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_01", + "params": { + "l2_regularization": 1.0, + "max_leaf_nodes": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.030775431439637405 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05415998676233529, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2278521230907075, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9006081725374878, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8469259386224495, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8482682616574623, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8627776989171899, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.041183511297814245, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06409815242625061, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4616208192542262, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26545794326522526, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3505861402484836, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8679272622873151, + "balanced_accuracy": 0.8754416075732296, + "brier": 0.09639998252750438, + "confusion_matrix": [ + [ + 4.0390625, + 0.9609375 + ], + [ + 0.2277171394141638, + 3.7722828605858565 + ] + ], + "log_loss": 0.3126125013855683, + "macro_f1": 0.8678111133372353, + "macro_precision": 0.8718051991070561, + "macro_recall": 0.8754416075732296, + "roc_auc": 0.9493083254849858 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04491340013970782, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2187982837141441, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8448151718302559, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7195750217936102, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.720501721479338, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7912678966801758, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7437669826168455, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13424362337338577, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04922125677020932, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06007163661821134, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30017275034751445, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8760773891869928, + "balanced_accuracy": 0.8808524627682935, + "brier": 0.08763786409139157, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.810615997317063, + 4.189384002682926 + ] + ], + "log_loss": 0.28968024845831675, + "macro_f1": 0.875702799394217, + "macro_precision": 0.8761512333819026, + "macro_recall": 0.8808524627682937, + "roc_auc": 0.9592726197925443 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033884302501958063, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.19206399709763905, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8876127979481294, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8440245112715384, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8309499759512908, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9052844423062131, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8086110086282376, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7893411556660568, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08046249856337957, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17177089100153056, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21869195418493015, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31547158832480904, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9149149102939738, + "balanced_accuracy": 0.9050072169116448, + "brier": 0.07102693009147157, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.27272589706026246, + 5.727274102939721 + ] + ], + "log_loss": 0.24484237479698828, + "macro_f1": 0.910138914912626, + "macro_precision": 0.9172476427504315, + "macro_recall": 0.9050072169116448, + "roc_auc": 0.9619929423733382 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022045487009989893, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1525448512090717, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9031466200625875, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9067031724387827, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8576696434845308, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7871222846170816, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8267845606531011, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8208202795286901, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8440408564874927, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7992579674663388, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8508055198239842, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8187161864287759, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10478015878010122, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16027460457439321, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06713836707887341, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04416228282692965, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9512051452018992, + "balanced_accuracy": 0.9558826641413293, + "brier": 0.043655700428567326, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.5503154671734101, + 9.44968453282651 + ] + ], + "log_loss": 0.1750389659160545, + "macro_f1": 0.9419798624877112, + "macro_precision": 0.9307819775273356, + "macro_recall": 0.9558826641413307, + "roc_auc": 0.9917093033312632 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8989081725329473, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03664619822090065, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.19228860831302522, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8876127979481294, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8440245112715384, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8309499759512908, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9006081725374878, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8469259386224495, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8482682616574623, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8627776989171899, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8448151718302559, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9052844423062131, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8086110086282376, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7893411556660568, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9031466200625875, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9067031724387827, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8576696434845308, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7871222846170816, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8267845606531011, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8208202795286901, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8440408564874927, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7195750217936102, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7992579674663388, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8508055198239842, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8187161864287759, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.720501721479338, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7912678966801758, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7437669826168455, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13424362337338577, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08046249856337957, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04922125677020932, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041183511297814245, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10478015878010122, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16027460457439321, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06007163661821134, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30017275034751445, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17177089100153056, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06409815242625061, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06713836707887341, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04416228282692965, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4616208192542262, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21869195418493015, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26545794326522526, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3505861402484836, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31547158832480904, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9086205475960738, + "balanced_accuracy": 0.9046383188042317, + "brier": 0.07089975539249338, + "confusion_matrix": [ + [ + 15.0234375, + 1.9765625 + ], + [ + 1.861374500964899, + 23.138625499035303 + ] + ], + "log_loss": 0.24570485760451458, + "macro_f1": 0.9050767306753735, + "macro_precision": 0.9055302680941293, + "macro_recall": 0.9046383188042313, + "roc_auc": 0.9625569880259173 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_02", + "params": { + "l2_regularization": 10.0, + "max_leaf_nodes": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.029524635827929104 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05634144121756576, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.23801343880166995, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8898920056911265, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8370340619046315, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8435535934546312, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8544800998259102, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.05887213205336291, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08737923058777647, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47444917205312725, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2637863818119106, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34198458172627044, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8669772612573641, + "balanced_accuracy": 0.8741775439145347, + "brier": 0.09553821022609327, + "confusion_matrix": [ + [ + 4.046875, + 0.953125 + ], + [ + 0.24407964868372253, + 3.7559203513162984 + ] + ], + "log_loss": 0.3119246858930407, + "macro_f1": 0.8668380912681086, + "macro_precision": 0.8703573075264441, + "macro_recall": 0.8741775439145347, + "roc_auc": 0.9518249698422505 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.051457711936837625, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.24103337776579725, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8105708361062616, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7091072688670306, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6945089425174006, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7685677427388637, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7383556645062416, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1511637662986789, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06899852766977645, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08178339384158767, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3049166763278469, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8737372956756282, + "balanced_accuracy": 0.8791370036080652, + "brier": 0.09348554923572445, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.8473018389193454, + 4.152698161080644 + ] + ], + "log_loss": 0.3092251168750945, + "macro_f1": 0.8734323575333126, + "macro_precision": 0.8745190307913185, + "macro_recall": 0.8791370036080655, + "roc_auc": 0.9549949568517507 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.036278022890284575, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.20218588547966823, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.882232113509238, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8327628540360021, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.821595102790689, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8908087048609654, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7976353545272493, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7826493746346149, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0931908692863243, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1900449194123966, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23259062664986058, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30016477364864236, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9070493300133393, + "balanced_accuracy": 0.9004056916777826, + "brier": 0.0738669969944383, + "confusion_matrix": [ + [ + 3.46875, + 0.53125 + ], + [ + 0.3982566998666073, + 5.601743300133377 + ] + ], + "log_loss": 0.25791124075937166, + "macro_f1": 0.9026188168694662, + "macro_precision": 0.9051949921155966, + "macro_recall": 0.9004056916777827, + "roc_auc": 0.9569246319675745 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024582126421073387, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.16395404336057257, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9040387173005295, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9038463492162326, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8494156325327451, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.783906401453687, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8182934362632999, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7987562720170811, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8453143360230277, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7941894723564359, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8386037244420563, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8245363714690691, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.129479849279781, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17446510140668436, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08716346111166959, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06989153440526219, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9492986656917555, + "balanced_accuracy": 0.9522043784842287, + "brier": 0.04572225851184848, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 0.5457561803154245, + 9.4542438196845 + ] + ], + "log_loss": 0.1869093940883096, + "macro_f1": 0.9395658853810465, + "macro_precision": 0.9291944891935853, + "macro_recall": 0.9522043784842302, + "roc_auc": 0.9915522452136935 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8956137877629835, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03993148517113104, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.20544373359409293, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.882232113509238, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8327628540360021, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.821595102790689, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8898920056911265, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8370340619046315, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8435535934546312, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8544800998259102, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8105708361062616, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8908087048609654, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7976353545272493, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7826493746346149, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9040387173005295, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9038463492162326, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8494156325327451, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.783906401453687, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8182934362632999, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7987562720170811, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8453143360230277, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7091072688670306, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7941894723564359, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8386037244420563, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8245363714690691, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6945089425174006, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7685677427388637, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7383556645062416, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1511637662986789, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0931908692863243, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06899852766977645, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05887213205336291, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.129479849279781, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17446510140668436, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08178339384158767, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3049166763278469, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1900449194123966, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08737923058777647, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08716346111166959, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06989153440526219, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47444917205312725, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23259062664986058, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2637863818119106, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34198458172627044, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30016477364864236, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9054072769574976, + "balanced_accuracy": 0.9023068185266513, + "brier": 0.0733332243873005, + "confusion_matrix": [ + [ + 15.0625, + 1.9375 + ], + [ + 2.0353943677850994, + 22.9646056322151 + ] + ], + "log_loss": 0.25681409880341116, + "macro_f1": 0.9019359385198888, + "macro_precision": 0.9015758827332452, + "macro_recall": 0.9023068185266507, + "roc_auc": 0.9610495230362127 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_03", + "params": { + "l2_regularization": 100.0, + "max_leaf_nodes": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.028726790081774353 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03701577104177764, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16972022826410324, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9371720898228495, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9005252968502793, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8804750978731832, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8999748715772924, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01446144188126093, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027063991804321556, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4351647826280553, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18091657407804204, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2682673297256182, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.888936459749516, + "balanced_accuracy": 0.8951707047182056, + "brier": 0.08450176209483781, + "confusion_matrix": [ + [ + 4.1953125, + 0.8046875 + ], + [ + 0.19488436225435662, + 3.805115637745664 + ] + ], + "log_loss": 0.27726456795242355, + "macro_f1": 0.8887273033584201, + "macro_precision": 0.8905245700393027, + "macro_recall": 0.8951707047182055, + "roc_auc": 0.9604986989803121 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038439908444476305, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19185125277085036, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8249792807787971, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7414148326369719, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7374096959890788, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7949961744042746, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7582240020061911, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07477080842383407, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01966059039537991, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011895611976893969, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2700111986505894, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8666011004269696, + "balanced_accuracy": 0.8727144278842724, + "brier": 0.10054846397125333, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.9115275961572731, + 4.088472403842717 + ] + ], + "log_loss": 0.3508549647357236, + "macro_f1": 0.8663659496970696, + "macro_precision": 0.8683858517576364, + "macro_recall": 0.8727144278842727, + "roc_auc": 0.9544206028700708 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022570617739908108, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1475216926892023, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9265663905249902, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8940424431697693, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8790648578878641, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9446407220592954, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.841723182624109, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8278116923128178, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04516921567272297, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14481095952895107, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18988884684560037, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2786182152587468, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9044973179725503, + "balanced_accuracy": 0.8943727649771251, + "brier": 0.06675192919689481, + "confusion_matrix": [ + [ + 3.375, + 0.625 + ], + [ + 0.33002682027449853, + 5.669973179725485 + ] + ], + "log_loss": 0.22293495836753388, + "macro_f1": 0.8991876293095982, + "macro_precision": 0.9058195050026623, + "macro_recall": 0.8943727649771251, + "roc_auc": 0.9632599513826838 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010110417734867814, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.0978814700219327, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9323854677625538, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9491244572235071, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8993113939460441, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.910537824502013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8820575054211774, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8624951568119043, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.896542808900482, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8409162018159982, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9080327108159172, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8489035727731579, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05663928249718682, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10375829268763004, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04051639580843182, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022618234150552453, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9678169531947185, + "balanced_accuracy": 0.9704406172363027, + "brier": 0.030456370462869264, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.3568126552739433, + 9.643187344725964 + ] + ], + "log_loss": 0.12275812074596008, + "macro_f1": 0.9613221415270572, + "macro_precision": 0.953336525139695, + "macro_recall": 0.9704406172363036, + "roc_auc": 0.9929945716781408 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9039007559730362, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024913170025321812, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14523097229794438, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9265663905249902, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8940424431697693, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8790648578878641, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9371720898228495, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9005252968502793, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8804750978731832, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8999748715772924, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8249792807787971, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9446407220592954, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.841723182624109, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8278116923128178, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9323854677625538, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9491244572235071, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8993113939460441, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.910537824502013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8820575054211774, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8624951568119043, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.896542808900482, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7414148326369719, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8409162018159982, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9080327108159172, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8489035727731579, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7374096959890788, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7949961744042746, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7582240020061911, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07477080842383407, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04516921567272297, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01966059039537991, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01446144188126093, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05663928249718682, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10375829268763004, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011895611976893969, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2700111986505894, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14481095952895107, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027063991804321556, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04051639580843182, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022618234150552453, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4351647826280553, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18988884684560037, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18091657407804204, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2682673297256182, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2786182152587468, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.914148775381903, + "balanced_accuracy": 0.9108261477913872, + "brier": 0.06569905983437949, + "confusion_matrix": [ + [ + 15.1875, + 1.8125 + ], + [ + 1.7932514339600707, + 23.20674856604013 + ] + ], + "log_loss": 0.22859616829314536, + "macro_f1": 0.910900568341751, + "macro_precision": 0.9109754131288726, + "macro_recall": 0.9108261477913866, + "roc_auc": 0.9652353179889475 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_04", + "params": { + "l2_regularization": 0.1, + "max_leaf_nodes": 7 + } + }, + "status": "ok", + "std_macro_f1": 0.03520839540617935 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "iterations": 448, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "iterations": 673, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "iterations": 832, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "iterations": 573, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03994145858633341, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17862700561765432, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9340364401134582, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8927675801524356, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8874531542455368, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.893132843304986, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.019779242876347514, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01702466399522074, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4229769124316298, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21122087587536803, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3087571505564064, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8837001246240679, + "balanced_accuracy": 0.8908423277020765, + "brier": 0.08378056477885154, + "confusion_matrix": [ + [ + 4.1328125, + 0.8671875 + ], + [ + 0.17951137838338888, + 3.820488621616632 + ] + ], + "log_loss": 0.2710098444950144, + "macro_f1": 0.8835598988218369, + "macro_precision": 0.8866897118703991, + "macro_recall": 0.8908423277020765, + "roc_auc": 0.9621958760964147 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042083255829849966, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20023224081022561, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.833723621913958, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6885423164729592, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7116759879959017, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.796693045657194, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7581835041729169, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07630531816221225, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02000723897739393, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00928070705110116, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2546507136846994, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8702194156429114, + "balanced_accuracy": 0.8771427865786201, + "brier": 0.10194083809331739, + "confusion_matrix": [ + [ + 3.7578125, + 0.2421875 + ], + [ + 0.9258377592137965, + 4.074162240786193 + ] + ], + "log_loss": 0.36442424068674106, + "macro_f1": 0.8700588707171051, + "macro_precision": 0.8731081336022293, + "macro_recall": 0.8771427865786203, + "roc_auc": 0.9516851926206974 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0234738818748526, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15091363266518482, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9287615567708621, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8882467505865553, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8685662516979122, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9383147001217433, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8487811441930413, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8304092873012826, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0555958230790443, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13909798454549877, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.183217726737694, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29742087243825893, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9261898922086615, + "balanced_accuracy": 0.9157051185072179, + "brier": 0.059175719277425265, + "confusion_matrix": [ + [ + 3.453125, + 0.546875 + ], + [ + 0.19122607791338442, + 5.808773922086599 + ] + ], + "log_loss": 0.20575924649724647, + "macro_f1": 0.9218534777295337, + "macro_precision": 0.9307412919451954, + "macro_recall": 0.915705118507218, + "roc_auc": 0.9703338357935256 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010030488421701792, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09922292947820166, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9220066372816887, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9444414432689069, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9050419386282474, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8738129582502888, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8893330342875295, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8771828852731864, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8987218600635296, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8568289150282828, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9034467574160303, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8686881292467843, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06268547223019794, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12417850755666385, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041786375682440695, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0238593281394976, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9769248246433877, + "balanced_accuracy": 0.9750583147503713, + "brier": 0.026260193817478773, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.20586495499257215, + 9.794135045007328 + ] + ], + "log_loss": 0.11572233796106182, + "macro_f1": 0.9719182960792967, + "macro_precision": 0.9689131951487302, + "macro_recall": 0.9750583147503717, + "roc_auc": 0.9942580506439395 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9118476358369432, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026509240152333368, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15019025136184738, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9287615567708621, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8882467505865553, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8685662516979122, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9340364401134582, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8927675801524356, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8874531542455368, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.893132843304986, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.833723621913958, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9383147001217433, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8487811441930413, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8304092873012826, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9220066372816887, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9444414432689069, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9050419386282474, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8738129582502888, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8893330342875295, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8771828852731864, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8987218600635296, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6885423164729592, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8568289150282828, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9034467574160303, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8686881292467843, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7116759879959017, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.796693045657194, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7581835041729169, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07630531816221225, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0555958230790443, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02000723897739393, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019779242876347514, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06268547223019794, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12417850755666385, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00928070705110116, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2546507136846994, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13909798454549877, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01702466399522074, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041786375682440695, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0238593281394976, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4229769124316298, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.183217726737694, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21122087587536803, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3087571505564064, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29742087243825893, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9220029126070679, + "balanced_accuracy": 0.9177912701193491, + "brier": 0.06264029838258275, + "confusion_matrix": [ + [ + 15.2265625, + 1.7734375 + ], + [ + 1.5024401705031414, + 23.49755982949706 + ] + ], + "log_loss": 0.22372885626340785, + "macro_f1": 0.9188560835950237, + "macro_precision": 0.9200063521831082, + "macro_recall": 0.9177912701193487, + "roc_auc": 0.967510509282748 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "mlp", + "name": "mlp_11", + "params": { + "activation": "relu", + "alpha": 10.0, + "hidden_layer_sizes": [ + 16, + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03954458891431482 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037296123011181515, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1723791831192185, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9341820315622129, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8995700755732581, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8750499409981585, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8995350054257979, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01895961259469149, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029643468988910234, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42788581493829747, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18810084169160196, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27538119143779516, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8826804731594776, + "balanced_accuracy": 0.8891092823044124, + "brier": 0.08488272286764409, + "confusion_matrix": [ + [ + 4.15625, + 0.84375 + ], + [ + 0.21212574156470143, + 3.787874258435319 + ] + ], + "log_loss": 0.2783118684446653, + "macro_f1": 0.8824835959154667, + "macro_precision": 0.8846345391842914, + "macro_recall": 0.8891092823044124, + "roc_auc": 0.9614435776260368 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03832097030062432, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19284607252897554, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8293919370234095, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7361490529443452, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7312033537282869, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8029519379940939, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7657284943568184, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08280463377547603, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025279490189607963, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017116456729249184, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.269096547836274, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8744715740749042, + "balanced_accuracy": 0.8801884791674137, + "brier": 0.09734793931795675, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.8563183333258615, + 4.143681666674128 + ] + ], + "log_loss": 0.33193692423687365, + "macro_f1": 0.8742013579718316, + "macro_precision": 0.875622213317335, + "macro_recall": 0.8801884791674139, + "roc_auc": 0.9552499705070308 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022541674247900767, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14870141831994443, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9259205704372915, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8924319575653991, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8761455848618894, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9411672890064293, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8404161598039251, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8295041348262739, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05525307700726653, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14302333768530828, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18875106756533844, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27547324292545633, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9032925228966251, + "balanced_accuracy": 0.894670852413854, + "brier": 0.06552113268799534, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.37332477103374967, + 5.626675228966234 + ] + ], + "log_loss": 0.21966511690927404, + "macro_f1": 0.8982773006568001, + "macro_precision": 0.9028870238397257, + "macro_recall": 0.8946708524138542, + "roc_auc": 0.9653820600133699 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010366519190693774, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10041510179239159, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9259583822935123, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9495413064908745, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8992964607392794, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8982705411198673, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8791478513349493, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8619735155899191, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8983186020718609, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8468473476368452, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9058170116302597, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8548701441001744, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06534138533237391, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11107741792315093, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043490882958600145, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027005399734681898, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9590488758079869, + "balanced_accuracy": 0.9625451505655906, + "brier": 0.030708858724605485, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.45612823868818186, + 9.543871761311731 + ] + ], + "log_loss": 0.12331125552231896, + "macro_f1": 0.9510442058302653, + "macro_precision": 0.9413728943853401, + "macro_recall": 0.9625451505655918, + "roc_auc": 0.9940116339431316 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.901501615093591, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025026234546546983, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1471393549792065, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9259205704372915, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8924319575653991, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8761455848618894, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9341820315622129, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8995700755732581, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8750499409981585, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8995350054257979, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8293919370234095, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9411672890064293, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8404161598039251, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8295041348262739, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9259583822935123, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9495413064908745, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8992964607392794, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8982705411198673, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8791478513349493, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8619735155899191, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8983186020718609, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7361490529443452, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8468473476368452, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9058170116302597, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8548701441001744, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7312033537282869, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8029519379940939, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7657284943568184, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08280463377547603, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05525307700726653, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025279490189607963, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01895961259469149, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06534138533237391, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11107741792315093, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017116456729249184, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.269096547836274, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14302333768530828, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029643468988910234, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043490882958600145, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027005399734681898, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42788581493829747, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18875106756533844, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18810084169160196, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27538119143779516, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27547324292545633, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9112851884616072, + "balanced_accuracy": 0.9082736759548092, + "brier": 0.06488598354035327, + "confusion_matrix": [ + [ + 15.171875, + 1.828125 + ], + [ + 1.8978970846124936, + 23.102102915387707 + ] + ], + "log_loss": 0.22417256858426324, + "macro_f1": 0.9080054841118157, + "macro_precision": 0.9077428345673262, + "macro_recall": 0.9082736759548088, + "roc_auc": 0.9665245259359382 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_06", + "params": { + "l2_regularization": 10.0, + "max_leaf_nodes": 7 + } + }, + "status": "ok", + "std_macro_f1": 0.02988249317268633 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04484428628074212, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19307090826304904, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9275469621878797, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8821243641467947, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8758329388536678, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8900758490292727, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02230320718295879, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.024900257704447086, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45107702027489527, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2306390734796761, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31491486778221395, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8785815901413092, + "balanced_accuracy": 0.886255851408973, + "brier": 0.090053900031213, + "confusion_matrix": [ + [ + 4.0859375, + 0.9140625 + ], + [ + 0.17870318872821647, + 3.8212968112718046 + ] + ], + "log_loss": 0.2944309360092455, + "macro_f1": 0.8784765177967937, + "macro_precision": 0.8825336840068105, + "macro_recall": 0.886255851408973, + "roc_auc": 0.9545318370418807 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03816092687026429, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1919259177352418, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8609985547116568, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7192780667787193, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7378863962778127, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8116931579119239, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.768349002816826, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09486198360572275, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027319480852300085, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01846820317877256, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2782278189235555, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8756537333768676, + "balanced_accuracy": 0.8806664850391807, + "brier": 0.08848749379946635, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.8222413996081914, + 4.1777586003917975 + ] + ], + "log_loss": 0.299228129848602, + "macro_f1": 0.8753069372545594, + "macro_precision": 0.8759788457265156, + "macro_recall": 0.8806664850391808, + "roc_auc": 0.9604798848337313 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025585438821172046, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15926642334048102, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9120302752173833, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.878740024643836, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8681027313159023, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9274038051585192, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8436903396040956, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8253614149606904, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.050353138946431404, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15161731222375513, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18770200503206244, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30831477606472335, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.916696719939754, + "balanced_accuracy": 0.9045389332831283, + "brier": 0.0625853697114135, + "confusion_matrix": [ + [ + 3.375, + 0.625 + ], + [ + 0.20803280060246004, + 5.791967199397523 + ] + ], + "log_loss": 0.21602408895777878, + "macro_f1": 0.9115284504992044, + "macro_precision": 0.9222707147799378, + "macro_recall": 0.9045389332831284, + "roc_auc": 0.9673608848573576 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012620068100322316, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11234129327090824, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9060816619223533, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9280987016773692, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8903712791065063, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8659034328900248, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8679848198609272, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8606312321479257, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8811582064152849, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8448639693810831, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8934432978702049, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8435740499447286, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06153354052476541, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12295566853283815, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04698073674414793, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02669951880828112, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9744789738053016, + "balanced_accuracy": 0.9727602816637111, + "brier": 0.03021455780243304, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.2322943667257764, + 9.767705633274122 + ] + ], + "log_loss": 0.1316177595450281, + "macro_f1": 0.9689840986635903, + "macro_precision": 0.965403942667353, + "macro_recall": 0.9727602816637115, + "roc_auc": 0.9928579931295978 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.908574001053537, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028085291904173585, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15786699459957482, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9120302752173833, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.878740024643836, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8681027313159023, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9275469621878797, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8821243641467947, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8758329388536678, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8900758490292727, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8609985547116568, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9274038051585192, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8436903396040956, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8253614149606904, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9060816619223533, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9280987016773692, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8903712791065063, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8659034328900248, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8679848198609272, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8606312321479257, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8811582064152849, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7192780667787193, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8448639693810831, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8934432978702049, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8435740499447286, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7378863962778127, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8116931579119239, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.768349002816826, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09486198360572275, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050353138946431404, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027319480852300085, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02230320718295879, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06153354052476541, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12295566853283815, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01846820317877256, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2782278189235555, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15161731222375513, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.024900257704447086, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04698073674414793, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02669951880828112, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45107702027489527, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18770200503206244, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2306390734796761, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31491486778221395, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30831477606472335, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9189950177222703, + "balanced_accuracy": 0.9134999325337662, + "brier": 0.06323166787676933, + "confusion_matrix": [ + [ + 15.0390625, + 1.9609375 + ], + [ + 1.4412717556646435, + 23.558728244335562 + ] + ], + "log_loss": 0.22251955037925736, + "macro_f1": 0.9155188030348151, + "macro_precision": 0.9178528566011183, + "macro_recall": 0.9134999325337658, + "roc_auc": 0.9655004017983834 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_05", + "params": { + "l2_regularization": 1.0, + "max_leaf_nodes": 7 + } + }, + "status": "ok", + "std_macro_f1": 0.037651907976151595 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04555224380043283, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2030270208884947, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9108067504271121, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8755343229209017, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.862135868058417, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8837442403901881, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.045211186883591714, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06352637161274866, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4567087020045477, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21830635959465605, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30278866674539007, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8818462128702673, + "balanced_accuracy": 0.888170739479051, + "brier": 0.08918102668685401, + "confusion_matrix": [ + [ + 4.15625, + 0.84375 + ], + [ + 0.21963408416759353, + 3.7803659158324274 + ] + ], + "log_loss": 0.2959662258021977, + "macro_f1": 0.8816397563012033, + "macro_precision": 0.8836703772779297, + "macro_recall": 0.888170739479051, + "roc_auc": 0.9562132173226325 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04439587040209996, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21737710698350654, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.818178097830128, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7159696095353629, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7145727601450933, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.794774884590849, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7497456029434449, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11969560229204809, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05265515863446037, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05304554131436173, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28231828477534937, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8722477500523106, + "balanced_accuracy": 0.8781870375470795, + "brier": 0.09363598182147102, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.8763327495292033, + 4.123667250470786 + ] + ], + "log_loss": 0.3083392478331482, + "macro_f1": 0.871998554653246, + "macro_precision": 0.873713452683939, + "macro_recall": 0.8781870375470796, + "roc_auc": 0.9555548837165245 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028365213653636458, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17336021685434727, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9063152624056451, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8597161239541687, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8530522949088184, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9176357175193888, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8256538149649739, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8076255356994436, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07775147388251244, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1642054620338136, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20918209675074345, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2874853661228974, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9120615845417511, + "balanced_accuracy": 0.9029549662847924, + "brier": 0.06579697096499205, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.3090716545824907, + 5.690928345417492 + ] + ], + "log_loss": 0.22995231093929344, + "macro_f1": 0.9073228047787842, + "macro_precision": 0.9131234574515941, + "macro_recall": 0.9029549662847924, + "roc_auc": 0.9655628581377834 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.016452526677185157, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13190545676912538, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9000757361051318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.924251821177525, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8782352741052233, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.841679322539349, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8529651128307973, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8343529987068377, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8746716433403204, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8216091570810643, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8780484696526833, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8431065161573259, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10136255227001739, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14375395204921063, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06958812081656174, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05349909126990193, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9581830045065474, + "balanced_accuracy": 0.960767165654583, + "brier": 0.03710940833564776, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.45262543690833607, + 9.54737456309158 + ] + ], + "log_loss": 0.15492823344533888, + "macro_f1": 0.9499428506845788, + "macro_precision": 0.940750510878376, + "macro_recall": 0.9607671656545842, + "roc_auc": 0.9930269669514294 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9027259916044531, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.031512393758089334, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17533132652760094, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9063152624056451, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8597161239541687, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8530522949088184, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9108067504271121, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8755343229209017, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.862135868058417, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8837442403901881, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.818178097830128, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9176357175193888, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8256538149649739, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8076255356994436, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9000757361051318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.924251821177525, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8782352741052233, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.841679322539349, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8529651128307973, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8343529987068377, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8746716433403204, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7159696095353629, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8216091570810643, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8780484696526833, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8431065161573259, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7145727601450933, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.794774884590849, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7497456029434449, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11969560229204809, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07775147388251244, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05265515863446037, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045211186883591714, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10136255227001739, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14375395204921063, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05304554131436173, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28231828477534937, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1642054620338136, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06352637161274866, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06958812081656174, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05349909126990193, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4567087020045477, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20918209675074345, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21830635959465605, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30278866674539007, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2874853661228974, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.912429132733628, + "balanced_accuracy": 0.9093081185550713, + "brier": 0.06721082149818844, + "confusion_matrix": [ + [ + 15.1796875, + 1.8203125 + ], + [ + 1.8576639251876237, + 23.142336074812576 + ] + ], + "log_loss": 0.23588732477013793, + "macro_f1": 0.9091642052686656, + "macro_precision": 0.9090218838160806, + "macro_recall": 0.9093081185550709, + "roc_auc": 0.96426125989334 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_07", + "params": { + "l2_regularization": 100.0, + "max_leaf_nodes": 7 + } + }, + "status": "ok", + "std_macro_f1": 0.030163583895181374 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04156979282494969, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18186101136711633, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9353731992403252, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8915774453971056, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.881888219545754, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8982783850065194, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01537238856027679, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016751451871116728, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43816989022936076, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22449344447649036, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30164764424105395, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8812755556585506, + "balanced_accuracy": 0.8887006251158696, + "brier": 0.08787347023302186, + "confusion_matrix": [ + [ + 4.109375, + 0.890625 + ], + [ + 0.17789499907304407, + 3.8221050009269772 + ] + ], + "log_loss": 0.2881806099627016, + "macro_f1": 0.8811544739991519, + "macro_precision": 0.8847617051371512, + "macro_recall": 0.8887006251158696, + "roc_auc": 0.9562435624543761 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03749190934143839, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18767443305821152, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8651728936778401, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7081668024707494, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7302688982293944, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8134424812629848, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7784171273810557, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0850300338575285, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021309699786309352, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011062770896325826, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26385238474027933, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8769757532885328, + "balanced_accuracy": 0.8822469279596794, + "brier": 0.09113437970643393, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.8259682204032035, + 4.174031779596786 + ] + ], + "log_loss": 0.3162642849221143, + "macro_f1": 0.8766601227376093, + "macro_precision": 0.8775651152304875, + "macro_recall": 0.8822469279596796, + "roc_auc": 0.9593599569849997 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02377703534249139, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15119806968571245, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9240729410582228, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.894150496444875, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8772849444560413, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9301954377279922, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8537979411341521, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8367586738056153, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.046466105729490066, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15258350496313275, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18401618778710496, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.305849801439929, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9185826107647896, + "balanced_accuracy": 0.9057849881373246, + "brier": 0.06188829571038159, + "confusion_matrix": [ + [ + 3.3671875, + 0.6328125 + ], + [ + 0.1813613923521044, + 5.818638607647879 + ] + ], + "log_loss": 0.21168892625996688, + "macro_f1": 0.9133768979684661, + "macro_precision": 0.925401497579756, + "macro_recall": 0.9057849881373247, + "roc_auc": 0.9670363509417039 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010636353281252552, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10189391046388159, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9098995155872214, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9358015922007628, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9032721787104068, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8893755496334699, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8839805280420665, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8696512799940833, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8871962984528127, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8537843039623928, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9031852330030624, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8481363046386925, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0494218720140612, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11533973059212746, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043090885183448106, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0219563378310266, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9720920541251488, + "balanced_accuracy": 0.971089437887604, + "brier": 0.02780860452951328, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.2657112422479151, + 9.734288757751985 + ] + ], + "log_loss": 0.12003607160949595, + "macro_f1": 0.9661656449349887, + "macro_precision": 0.961575582758728, + "macro_recall": 0.9710894378876046, + "roc_auc": 0.9940880756947323 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.909339284910054, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026148443306189102, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14915034388522425, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9240729410582228, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.894150496444875, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8772849444560413, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9353731992403252, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8915774453971056, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.881888219545754, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8982783850065194, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8651728936778401, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9301954377279922, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8537979411341521, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8367586738056153, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9098995155872214, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9358015922007628, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9032721787104068, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8893755496334699, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8839805280420665, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8696512799940833, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8871962984528127, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7081668024707494, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8537843039623928, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9031852330030624, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8481363046386925, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7302688982293944, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8134424812629848, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7784171273810557, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0850300338575285, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046466105729490066, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021309699786309352, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01537238856027679, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0494218720140612, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11533973059212746, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011062770896325826, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26385238474027933, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15258350496313275, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016751451871116728, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.043090885183448106, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0219563378310266, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43816989022936076, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18401618778710496, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22449344447649036, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30164764424105395, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.305849801439929, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.919508967760089, + "balanced_accuracy": 0.9142257682125925, + "brier": 0.06236366833266914, + "confusion_matrix": [ + [ + 15.0703125, + 1.9296875 + ], + [ + 1.4509358540762662, + 23.54906414592394 + ] + ], + "log_loss": 0.21993805521657037, + "macro_f1": 0.9160893108510834, + "macro_precision": 0.9182202302789229, + "macro_recall": 0.9142257682125922, + "roc_auc": 0.9661016942258936 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_08", + "params": { + "l2_regularization": 0.1, + "max_leaf_nodes": 15 + } + }, + "status": "ok", + "std_macro_f1": 0.035734607592882564 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03346700832736357, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15749274559528903, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9490302217288438, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9051428769761177, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8887238978754772, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9121303487578246, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.012586388884073155, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020005925874052283, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4198815450652982, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17269188772562802, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2506435359620562, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8958529024018458, + "balanced_accuracy": 0.9017798277020764, + "brier": 0.08182408707883139, + "confusion_matrix": [ + [ + 4.2421875, + 0.7578125 + ], + [ + 0.17951137838338888, + 3.820488621616632 + ] + ], + "log_loss": 0.2740079186750288, + "macro_f1": 0.8956237515076801, + "macro_precision": 0.8969397638415468, + "macro_recall": 0.9017798277020764, + "roc_auc": 0.9632169813609448 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03970679197030751, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1932409142197907, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8201218693163108, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7213503256754555, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.725168056443292, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7831800696612042, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.753288201001413, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06223823337696474, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014729605770985033, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0055659144620664935, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24459684236122994, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8591218819497224, + "balanced_accuracy": 0.8657878187547501, + "brier": 0.11080885278943878, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.9710280624524976, + 4.028971937547492 + ] + ], + "log_loss": 0.4047881565623995, + "macro_f1": 0.8589369740506674, + "macro_precision": 0.8618138237619031, + "macro_recall": 0.8657878187547503, + "roc_auc": 0.9525636950689677 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020446344149642286, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13797069388838207, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9394024802707149, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9054799790250772, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8800248587947621, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.951611356000689, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8567754104827532, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8378185457236605, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.038125325550297656, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14086669846178285, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18256301272361833, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2714397251813703, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9057899086199204, + "balanced_accuracy": 0.8977285696832666, + "brier": 0.06783818007505973, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.37178841380079813, + 5.628211586199186 + ] + ], + "log_loss": 0.22381832275362892, + "macro_f1": 0.901004976062274, + "macro_precision": 0.9050955699526827, + "macro_recall": 0.8977285696832669, + "roc_auc": 0.9643008525330325 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008396116334179476, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.0871077454757815, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9383950799327212, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9582940767557651, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9122898000672449, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9336967945479671, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8902386077746499, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8763836665772314, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9095898881308007, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8480127947128691, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9216267765726045, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8503840784145057, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05106458330528517, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09396372306312459, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032686177690918444, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016934549218361607, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9655677367810996, + "balanced_accuracy": 0.9682802282467696, + "brier": 0.029388076207071987, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.3804891850646035, + 9.619510814935307 + ] + ], + "log_loss": 0.11405770646888606, + "macro_f1": 0.9586650842562952, + "macro_precision": 0.9503153476034629, + "macro_recall": 0.9682802282467706, + "roc_auc": 0.9936508217766119 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9035576964692291, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023346982686999414, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13704329318763045, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9394024802707149, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9054799790250772, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8800248587947621, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9490302217288438, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9051428769761177, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8887238978754772, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9121303487578246, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8201218693163108, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.951611356000689, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8567754104827532, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8378185457236605, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9383950799327212, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9582940767557651, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9122898000672449, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9336967945479671, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8902386077746499, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8763836665772314, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9095898881308007, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7213503256754555, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8480127947128691, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9216267765726045, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8503840784145057, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.725168056443292, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7831800696612042, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.753288201001413, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06223823337696474, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038125325550297656, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014729605770985033, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012586388884073155, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05106458330528517, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09396372306312459, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0055659144620664935, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24459684236122994, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14086669846178285, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020005925874052283, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032686177690918444, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016934549218361607, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4198815450652982, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18256301272361833, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17269188772562802, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2506435359620562, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2714397251813703, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9135862014356836, + "balanced_accuracy": 0.9111624092059746, + "brier": 0.06722646015390563, + "confusion_matrix": [ + [ + 15.2734375, + 1.7265625 + ], + [ + 1.9028170397012873, + 23.097182960298905 + ] + ], + "log_loss": 0.23676561417232259, + "macro_f1": 0.9104798421628989, + "macro_precision": 0.90983265109009, + "macro_recall": 0.9111624092059739, + "roc_auc": 0.9652585403111287 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_09", + "params": { + "l2_regularization": 1.0, + "max_leaf_nodes": 15 + } + }, + "status": "ok", + "std_macro_f1": 0.035697678222810884 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03460706900824973, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16209867030802372, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9438458628462862, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.908000616453003, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8831147734558571, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9098247846954999, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01862947879403138, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023931168466074695, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4241044232392266, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1748008936902516, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2582886935039489, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8898045153050715, + "balanced_accuracy": 0.8963425797182056, + "brier": 0.08354572768091063, + "confusion_matrix": [ + [ + 4.1875, + 0.8125 + ], + [ + 0.17925936225435662, + 3.820740637745664 + ] + ], + "log_loss": 0.27948044265913263, + "macro_f1": 0.8896212150759526, + "macro_precision": 0.8917929442453181, + "macro_recall": 0.8963425797182054, + "roc_auc": 0.9620563268042688 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038488068126381614, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19135958623315033, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8312301276685735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7264436492517707, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7259239120378962, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7965033998914475, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7611494492905232, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07165326883445279, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019964850982674844, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011211875487727601, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2526650353967359, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8727824163023872, + "balanced_accuracy": 0.8786682371721484, + "brier": 0.10272261743643624, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.8715207532785147, + 4.128479246721475 + ] + ], + "log_loss": 0.3571199106710664, + "macro_f1": 0.8725282012277404, + "macro_precision": 0.8741710810216539, + "macro_recall": 0.8786682371721485, + "roc_auc": 0.9550540233960354 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02068550164116925, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13961986776525484, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9347564213968207, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9043266899320975, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8820295855574019, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9527953711726803, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8522722609169444, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8403937668768227, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04948878480291481, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1383044930961673, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1796903103436128, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27592770634227476, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9082156789280436, + "balanced_accuracy": 0.8997500449400362, + "brier": 0.06589346293324502, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.34753071071956554, + 5.652469289280418 + ] + ], + "log_loss": 0.21869442865560895, + "macro_f1": 0.9034451359034599, + "macro_precision": 0.9081719121994448, + "macro_recall": 0.8997500449400362, + "roc_auc": 0.9665617609578241 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008711616921221103, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09041585619930766, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9322004780182566, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9560757666840733, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.911753070800151, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9203157936474591, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8889091071522386, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8751426284044751, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9084599091396265, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8512645717203337, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9195600184575957, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8544185268567903, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05856658541352362, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09922749336609221, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037846742389314895, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022225939429100918, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9657427189752232, + "balanced_accuracy": 0.9689886532826562, + "brier": 0.029082582693938652, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.38585193434687426, + 9.614148065653035 + ] + ], + "log_loss": 0.11443292937592418, + "macro_f1": 0.9589130387772354, + "macro_precision": 0.950222392721531, + "macro_recall": 0.968988653282657, + "roc_auc": 0.9946330634901985 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9061268977460971, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023492235417154044, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13912249936460527, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9347564213968207, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9043266899320975, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8820295855574019, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9438458628462862, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.908000616453003, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8831147734558571, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9098247846954999, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8312301276685735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9527953711726803, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8522722609169444, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8403937668768227, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9322004780182566, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9560757666840733, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.911753070800151, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9203157936474591, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8889091071522386, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8751426284044751, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9084599091396265, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7264436492517707, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8512645717203337, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9195600184575957, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8544185268567903, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7259239120378962, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7965033998914475, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7611494492905232, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07165326883445279, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04948878480291481, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019964850982674844, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01862947879403138, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05856658541352362, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09922749336609221, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011211875487727601, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2526650353967359, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1383044930961673, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023931168466074695, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037846742389314895, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022225939429100918, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4241044232392266, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1796903103436128, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1748008936902516, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2582886935039489, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27592770634227476, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9158532676047783, + "balanced_accuracy": 0.91284615655272, + "brier": 0.06529775935961221, + "confusion_matrix": [ + [ + 15.25, + 1.75 + ], + [ + 1.7841627605993102, + 23.21583723940089 + ] + ], + "log_loss": 0.2266287732807338, + "macro_f1": 0.9127133961204519, + "macro_precision": 0.9125819730436632, + "macro_recall": 0.9128461565527195, + "roc_auc": 0.9665843686731812 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_10", + "params": { + "l2_regularization": 10.0, + "max_leaf_nodes": 15 + } + }, + "status": "ok", + "std_macro_f1": 0.03238394084913073 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04363173930464817, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19305115798011857, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9266721485526179, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815841775559161, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8732405048057746, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8959352654178616, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.037918904931491866, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03573208163717048, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43836043388808243, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22836243846047782, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3152222010357095, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8838179252667573, + "balanced_accuracy": 0.8909748534251021, + "brier": 0.08787401954194708, + "confusion_matrix": [ + [ + 4.1328125, + 0.8671875 + ], + [ + 0.17845117259918422, + 3.8215488274008367 + ] + ], + "log_loss": 0.2936629260880513, + "macro_f1": 0.8836787920714, + "macro_precision": 0.8868284661986829, + "macro_recall": 0.8909748534251021, + "roc_auc": 0.9559112998048682 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03953155612781256, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19845752183819065, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8518560462455845, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7148456342099171, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7315746622068133, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8069524351210294, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7656659623612385, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09893487959612154, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038990161979263374, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028747912668606254, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2759666840423622, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8757562052586549, + "balanced_accuracy": 0.8811493347327894, + "brier": 0.09115029327098961, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.8369441526721038, + 4.163055847327885 + ] + ], + "log_loss": 0.30300377671636725, + "macro_f1": 0.8754526669771026, + "macro_precision": 0.876501458836026, + "macro_recall": 0.8811493347327896, + "roc_auc": 0.9587267035104784 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02519773753691564, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15852480188302248, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9168901442571896, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8817873597417545, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8724517024638301, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9273752491157389, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8485648613077594, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8292264862554182, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06433414159107594, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16025320669089127, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18192027802234106, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3074765397119835, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9218361490221978, + "balanced_accuracy": 0.9111004366851647, + "brier": 0.062120448085046374, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.21132600977802216, + 5.7886739902219615 + ] + ], + "log_loss": 0.2151510215856814, + "macro_f1": 0.9172301586010876, + "macro_precision": 0.9261367478377642, + "macro_recall": 0.9111004366851649, + "roc_auc": 0.9692013347170585 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01212566635229822, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11132131921006323, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9075335396149966, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9309444117331519, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8997828802252466, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8580001959025463, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8748757664663894, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8696384136861791, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8866963534018417, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8543827639265101, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9012064589966173, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8473910686266606, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07716317204973798, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1271451755042736, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0542897755354792, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03773327372977607, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9726433162966842, + "balanced_accuracy": 0.9714753214076788, + "brier": 0.02922948569001806, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.2579935718464212, + 9.74200642815348 + ] + ], + "log_loss": 0.12971856223931216, + "macro_f1": 0.9668153944937687, + "macro_precision": 0.9624542932481349, + "macro_recall": 0.9714753214076794, + "roc_auc": 0.9938106017154483 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9107942530358397, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027862056266511382, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15874582395561648, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9168901442571896, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8817873597417545, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8724517024638301, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9266721485526179, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815841775559161, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8732405048057746, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8959352654178616, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8518560462455845, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9273752491157389, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8485648613077594, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8292264862554182, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9075335396149966, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9309444117331519, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8997828802252466, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8580001959025463, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8748757664663894, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8696384136861791, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8866963534018417, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7148456342099171, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8543827639265101, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9012064589966173, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8473910686266606, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7315746622068133, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8069524351210294, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7656659623612385, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09893487959612154, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06433414159107594, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038990161979263374, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037918904931491866, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07716317204973798, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1271451755042736, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028747912668606254, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2759666840423622, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16025320669089127, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03573208163717048, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0542897755354792, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03773327372977607, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43836043388808243, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18192027802234106, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22836243846047782, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3152222010357095, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3074765397119835, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9207508355501016, + "balanced_accuracy": 0.916077760685615, + "brier": 0.06289609751969398, + "confusion_matrix": [ + [ + 15.15625, + 1.84375 + ], + [ + 1.4847149068957304, + 23.515285093104474 + ] + ], + "log_loss": 0.22232310505826072, + "macro_f1": 0.9174822403030196, + "macro_precision": 0.9190368380668057, + "macro_recall": 0.9160777606856146, + "roc_auc": 0.9664816532306535 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_11", + "params": { + "l2_regularization": 100.0, + "max_leaf_nodes": 15 + } + }, + "status": "ok", + "std_macro_f1": 0.03593071492176041 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.11355679600354726, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.402908760262658, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7358090014691766, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6874398624049713, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6962474140114012, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7123564131463288, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.18494363259024493, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2813176898526425, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.467617093929103, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.397569764840914, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.435252478282341, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8227554793391835, + "balanced_accuracy": 0.8261858517565817, + "brier": 0.13583225403448937, + "confusion_matrix": [ + [ + 3.9765625, + 1.0234375 + ], + [ + 0.5717631859473485, + 3.4282368140526707 + ] + ], + "log_loss": 0.4346609047743566, + "macro_f1": 0.8220951204591478, + "macro_precision": 0.8221960238360086, + "macro_recall": 0.8261858517565815, + "roc_auc": 0.9187803240851375 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.10042819575520012, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.37564608506008895, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7017607303873382, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6628451221367404, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6231025473382761, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6762003962833836, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6482443578884967, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.27049802597776307, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16573654816975086, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27704934070247156, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3914200564645895, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8767109735960442, + "balanced_accuracy": 0.8822039387364397, + "brier": 0.12053645845215082, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.8361637376356013, + 4.163836262364388 + ] + ], + "log_loss": 0.39999367768312, + "macro_f1": 0.8764192492675822, + "macro_precision": 0.8775587313628288, + "macro_recall": 0.8822039387364398, + "roc_auc": 0.9612431810005598 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.09831898928183322, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.3732377845438018, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.7339165637200452, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6962510815672771, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6785115381114881, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7419242333787006, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6629159812542718, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6726797689701148, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.22789459022670705, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2927716521787148, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3669640477309667, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39634605287014774, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8586109852942283, + "balanced_accuracy": 0.8606914460785235, + "brier": 0.12089065137584734, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.898265147057715, + 5.101734852942268 + ] + ], + "log_loss": 0.40168622866375187, + "macro_f1": 0.8548131098260356, + "macro_precision": 0.8516244176467878, + "macro_recall": 0.8606914460785235, + "roc_auc": 0.945441097234072 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.08537359097650032, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.3434159826367039, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.7613765391677143, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7501381613739851, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7136633030411205, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6890844464047079, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6857637032942334, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6852675150271017, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6899998447269744, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6451843228296689, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.696378684303271, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6867158331823844, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.26904113233538335, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32973957576024426, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2444129589877137, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21499734803330495, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8888162096581065, + "balanced_accuracy": 0.9145541592606743, + "brier": 0.10457529624938547, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 1.455010564786508, + 8.54498943521345 + ] + ], + "log_loss": 0.36586316722641404, + "macro_f1": 0.8750525858927491, + "macro_precision": 0.8582322822692579, + "macro_recall": 0.9145541592606772, + "roc_auc": 0.9833759640984205 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8570950163613787, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.09772107362662055, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.3701713145299189, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.7339165637200452, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6962510815672771, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6785115381114881, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7358090014691766, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6874398624049713, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6962474140114012, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7123564131463288, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7017607303873382, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7419242333787006, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6629159812542718, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6726797689701148, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7613765391677143, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7501381613739851, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7136633030411205, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6890844464047079, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6857637032942334, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6852675150271017, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6899998447269744, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6628451221367404, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6451843228296689, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.696378684303271, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6867158331823844, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6231025473382761, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6762003962833836, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6482443578884967, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.27049802597776307, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22789459022670705, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16573654816975086, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18494363259024493, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26904113233538335, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32973957576024426, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27704934070247156, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3914200564645895, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2927716521787148, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2813176898526425, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2444129589877137, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21499734803330495, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.467617093929103, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3669640477309667, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.397569764840914, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.435252478282341, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39634605287014774, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8648746396326865, + "balanced_accuracy": 0.8684799914091041, + "brier": 0.11857807318165789, + "confusion_matrix": [ + [ + 15.0859375, + 1.9140625 + ], + [ + 3.7612026354271726, + 21.238797364573003 + ] + ], + "log_loss": 0.39644852071249065, + "macro_f1": 0.8619110756109917, + "macro_precision": 0.8588828769052907, + "macro_recall": 0.8684799914091033, + "roc_auc": 0.9500833920633996 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_00", + "params": { + "max_depth": 3, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.02194367842620195 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.1144697085962933, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.4049627446572477, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7343574536283733, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6865314001075331, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6950079556454861, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.711100028234708, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.18547847066875628, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28273833293967154, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4687401497081348, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39964393295688677, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4371952446070102, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8218874237836279, + "balanced_accuracy": 0.8254046017565817, + "brier": 0.13644590176177301, + "confusion_matrix": [ + [ + 3.96875, + 1.03125 + ], + [ + 0.5717631859473485, + 3.4282368140526707 + ] + ], + "log_loss": 0.4363155312945188, + "macro_f1": 0.8212426736843836, + "macro_precision": 0.8214133124277774, + "macro_recall": 0.8254046017565815, + "roc_auc": 0.9183881755824609 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.10042415166677049, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.37571662149490864, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7021174596141254, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6647702493538225, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6234112031333947, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6755663654538193, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6476734536424494, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.27245220384972524, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16645595069334562, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27720593367288415, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3907853047775971, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8793426975819348, + "balanced_accuracy": 0.8847678028237412, + "brier": 0.12022188689252797, + "confusion_matrix": [ + [ + 3.734375, + 0.265625 + ], + [ + 0.8202907217625854, + 4.179709278237404 + ] + ], + "log_loss": 0.3995027975216744, + "macro_f1": 0.8790465518453886, + "macro_precision": 0.8800736714203347, + "macro_recall": 0.8847678028237413, + "roc_auc": 0.9623890551233032 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0988612815455573, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.37453154734056515, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.7327418050275923, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6956328078571467, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6779553120449557, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7403151875365541, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6622359248725393, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6718751597812097, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.22884545426628788, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2937322893910337, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3678330758827936, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3971107521341469, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8578297352942282, + "balanced_accuracy": 0.8597148835785235, + "brier": 0.12121600836596949, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.898265147057715, + 5.101734852942268 + ] + ], + "log_loss": 0.4027611881831052, + "macro_f1": 0.8539728888812987, + "macro_precision": 0.8508107294631557, + "macro_recall": 0.8597148835785235, + "roc_auc": 0.945485280121372 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.08609004408814759, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.34517927504313695, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.760259017864657, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7489814864982203, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7117256450984869, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6908071134328405, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6849296464288679, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6836143191080258, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6886713714053675, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6437655003147122, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6947682980340114, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6850727474575627, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2711963574720584, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3309803212084417, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24581481794806642, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2168145542712741, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8899499965061791, + "balanced_accuracy": 0.9153478100543251, + "brier": 0.105042154627968, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 1.439137548913492, + 8.560862451086466 + ] + ], + "log_loss": 0.36733941365286576, + "macro_f1": 0.8762218599830656, + "macro_precision": 0.8593258294852888, + "macro_recall": 0.915347810054328, + "roc_auc": 0.9835163890297609 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8576209935985342, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0982837660727908, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.37152237188997567, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.7327418050275923, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6956328078571467, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6779553120449557, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7343574536283733, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6865314001075331, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6950079556454861, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.711100028234708, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7021174596141254, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7403151875365541, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6622359248725393, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6718751597812097, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.760259017864657, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7489814864982203, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7117256450984869, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6908071134328405, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6849296464288679, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6836143191080258, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6886713714053675, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6647702493538225, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6437655003147122, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6947682980340114, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6850727474575627, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6234112031333947, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6755663654538193, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6476734536424494, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.27245220384972524, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22884545426628788, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16645595069334562, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18547847066875628, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2711963574720584, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3309803212084417, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27720593367288415, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3907853047775971, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2937322893910337, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28273833293967154, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24581481794806642, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2168145542712741, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4687401497081348, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3678330758827936, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39964393295688677, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4371952446070102, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3971107521341469, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8654444856266394, + "balanced_accuracy": 0.8688851326322601, + "brier": 0.11887524634142752, + "confusion_matrix": [ + [ + 15.078125, + 1.921875 + ], + [ + 3.729456603681141, + 21.270543396319038 + ] + ], + "log_loss": 0.3974459198170693, + "macro_f1": 0.862454505001579, + "macro_precision": 0.8594190483954053, + "macro_recall": 0.8688851326322593, + "roc_auc": 0.950204794133686 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_01", + "params": { + "max_depth": 3, + "max_features": 1.0, + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.023139455504877046 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 2301, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 2002, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 1819, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 2936, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02833609858475318, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14368634217362877, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9460367353409426, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9074980637907856, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8923146919408971, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8846006288480501, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.004265323814494164, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01160815547474921, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39086772879020204, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13955784111669267, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2150260216952375, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.888134063568574, + "balanced_accuracy": 0.892119571514646, + "brier": 0.08325873417224833, + "confusion_matrix": [ + [ + 4.28125, + 0.71875 + ], + [ + 0.2880434278828327, + 3.7119565721171868 + ] + ], + "log_loss": 0.3460198705133397, + "macro_f1": 0.8876846705130221, + "macro_precision": 0.8873704404998759, + "macro_recall": 0.8921195715146458, + "roc_auc": 0.9574074033087253 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04747580652982823, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20747617338282412, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7853862517570569, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6465456452807475, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6715587216394685, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.787002603520832, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7420453165494175, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.041030527475688104, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004998850370012907, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00018839295500717957, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18655429726921557, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8324127472680396, + "balanced_accuracy": 0.8437027225412355, + "brier": 0.14359505523188856, + "confusion_matrix": [ + [ + 3.78125, + 0.21875 + ], + [ + 1.2895352745876434, + 3.710464725412346 + ] + ], + "log_loss": 1.422565719261491, + "macro_f1": 0.8324023798963125, + "macro_precision": 0.8450102394085439, + "macro_recall": 0.8437027225412355, + "roc_auc": 0.9267030061543786 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.018444278962491713, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1302205931793369, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9237173613367433, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9050363291617621, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8618866773871616, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9562496172662225, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8831431362111708, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8233900143797637, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.019864640468227453, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10239065940850761, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19051127114663213, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2379005146434478, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9048658127388777, + "balanced_accuracy": 0.899888177282398, + "brier": 0.07108144636061105, + "confusion_matrix": [ + [ + 3.5, + 0.5 + ], + [ + 0.4513418726112228, + 5.548658127388761 + ] + ], + "log_loss": 0.25392207477439166, + "macro_f1": 0.9006981123939957, + "macro_precision": 0.9015560380803244, + "macro_recall": 0.8998881772823981, + "roc_auc": 0.9623313517730584 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.006542540887304972, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.07652617253020033, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9149076116937277, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9693266127143345, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9111063355496214, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9183701238162046, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9204141852902417, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.9125975244411859, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9257227209621094, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8550837909588503, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9088091231456229, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8869412050959039, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.03671238862105508, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07074621068217254, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028576146295617402, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009490805707562337, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9544911699342783, + "balanced_accuracy": 0.9628703814539946, + "brier": 0.03259693917980562, + "confusion_matrix": [ + [ + 3.9296875, + 0.0703125 + ], + [ + 0.5668111209201037, + 9.433188879079818 + ] + ], + "log_loss": 0.13191561326418824, + "macro_f1": 0.9461731251643521, + "macro_precision": 0.9332726509687294, + "macro_recall": 0.9628703814539961, + "roc_auc": 0.9911837132270263 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8917395719919207, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022817750192343316, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13176273779105355, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9237173613367433, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9050363291617621, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8618866773871616, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9460367353409426, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9074980637907856, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8923146919408971, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8846006288480501, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7853862517570569, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9562496172662225, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8831431362111708, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8233900143797637, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9149076116937277, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9693266127143345, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9111063355496214, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9183701238162046, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9204141852902417, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.9125975244411859, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9257227209621094, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6465456452807475, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8550837909588503, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9088091231456229, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8869412050959039, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6715587216394685, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.787002603520832, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7420453165494175, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.041030527475688104, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019864640468227453, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004998850370012907, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004265323814494164, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03671238862105508, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07074621068217254, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00018839295500717957, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18655429726921557, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10239065940850761, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01160815547474921, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028576146295617402, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009490805707562337, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39086772879020204, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19051127114663213, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13955784111669267, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2150260216952375, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2379005146434478, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9022965667618618, + "balanced_accuracy": 0.9037379396093761, + "brier": 0.07640132658953859, + "confusion_matrix": [ + [ + 15.4921875, + 1.5078125 + ], + [ + 2.595731696001801, + 22.40426830399836 + ] + ], + "log_loss": 0.48341213431942925, + "macro_f1": 0.8995766620786745, + "macro_precision": 0.8967185551497328, + "macro_recall": 0.9037379396093749, + "roc_auc": 0.9559960563086214 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_09", + "params": { + "activation": "relu", + "alpha": 0.1, + "hidden_layer_sizes": [ + 16, + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.040560484923464035 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.12141088744322974, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.42144742310616246, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7225114898200172, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6742854645730987, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6841658879303905, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6977008242390569, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.20253831307418108, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.296393814594063, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.46807364817868746, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40976483070161673, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4501121625933582, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8173675483047007, + "balanced_accuracy": 0.8207103668427886, + "brier": 0.14100779792251125, + "confusion_matrix": [ + [ + 3.953125, + 1.046875 + ], + [ + 0.5968170652576932, + 3.4031829347423255 + ] + ], + "log_loss": 0.4496220204739989, + "macro_f1": 0.8166830830512182, + "macro_precision": 0.8167899988939062, + "macro_recall": 0.8207103668427884, + "roc_auc": 0.9160954572644369 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.10627167693609293, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.39007901095017244, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.6894935003285116, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6615405007167956, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6196434201569936, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6660519448400801, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6402445113355861, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2918419286773207, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18295433364983052, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2919614774560737, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3949354714111413, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8767669771802736, + "balanced_accuracy": 0.8818637169622462, + "brier": 0.123654702520617, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.8200347053775365, + 4.179965294622453 + ] + ], + "log_loss": 0.4111845472150807, + "macro_f1": 0.8764313784238851, + "macro_precision": 0.8771672171492503, + "macro_recall": 0.8818637169622463, + "roc_auc": 0.9641162691781536 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.105115938147383, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.38926557511476706, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.7217535927847407, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6863885700458989, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.669607427584422, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7239488308286758, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.653443167112995, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6611408016218067, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.24130565450527888, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3010352697600364, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3766149355411239, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40547013759953887, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.858247890056133, + "balanced_accuracy": 0.8590867833801108, + "brier": 0.12495059510289248, + "confusion_matrix": [ + [ + 3.453125, + 0.546875 + ], + [ + 0.8706460994386674, + 5.129353900561315 + ] + ], + "log_loss": 0.41466077431869647, + "macro_f1": 0.8541498759274716, + "macro_precision": 0.8511462764331325, + "macro_recall": 0.8590867833801108, + "roc_auc": 0.945641572014504 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.09251659452594656, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.3608671237225796, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.7464942442318386, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7362986156135258, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7016289355603744, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6861410770611023, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6782259333729213, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6741088225827075, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6788876969819101, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6328621638127786, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6842859989891178, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.675264051426406, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2879670820610964, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34054063202649876, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26119977673768346, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23238342353371966, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8918484989627172, + "balanced_accuracy": 0.9160908242739019, + "brier": 0.10977495610994915, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 1.4047460145219577, + 8.595253985478 + ] + ], + "log_loss": 0.38109133683759555, + "macro_f1": 0.8780806058943076, + "macro_precision": 0.8610783682095633, + "macro_recall": 0.9160908242739048, + "roc_auc": 0.9839012256565448 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8563362358242206, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.10465559010121395, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.3868698426135905, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.7217535927847407, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6863885700458989, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.669607427584422, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7225114898200172, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6742854645730987, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.6841658879303905, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6977008242390569, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.6894935003285116, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7239488308286758, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.653443167112995, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6611408016218067, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7464942442318386, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7362986156135258, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7016289355603744, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6861410770611023, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6782259333729213, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6741088225827075, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.6788876969819101, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6615405007167956, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6328621638127786, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6842859989891178, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.675264051426406, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6196434201569936, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.6660519448400801, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6402445113355861, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2918419286773207, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24130565450527888, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18295433364983052, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20253831307418108, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2879670820610964, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34054063202649876, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2919614774560737, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3949354714111413, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3010352697600364, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.296393814594063, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26119977673768346, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23238342353371966, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.46807364817868746, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3766149355411239, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40976483070161673, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4501121625933582, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40547013759953887, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8646563956048604, + "balanced_accuracy": 0.8675613723080835, + "brier": 0.12305518667991351, + "confusion_matrix": [ + [ + 15.0078125, + 1.9921875 + ], + [ + 3.6922438845958547, + 21.307756115404324 + ] + ], + "log_loss": 0.41021775162178614, + "macro_f1": 0.8615411267197157, + "macro_precision": 0.8585262909766099, + "macro_recall": 0.8675613723080826, + "roc_auc": 0.9504547733666051 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_03", + "params": { + "max_depth": 3, + "max_features": 1.0, + "min_samples_leaf": 100 + } + }, + "status": "ok", + "std_macro_f1": 0.0247678475058034 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.1251473383723406, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.42991670339993326, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7088772814443222, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6635714000544644, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.672923749853923, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6914869248799257, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.20256278806337696, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2941390677928478, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45945599355245936, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42279108340228666, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.456977712558314, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.7902735292300087, + "balanced_accuracy": 0.7910108453837603, + "brier": 0.14647540119743896, + "confusion_matrix": [ + [ + 3.921875, + 1.078125 + ], + [ + 0.8094132369299211, + 3.1905867630700957 + ] + ], + "log_loss": 0.46088362744602673, + "macro_f1": 0.7888796593471941, + "macro_precision": 0.7881793999070896, + "macro_recall": 0.7910108453837599, + "roc_auc": 0.8989577048771631 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.11088082967755812, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.4002417868618994, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.6829475744997856, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.643245509374977, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6099191945474655, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.658784815627048, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6262737645467222, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.28936311984303853, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18374134877288478, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29706852863676025, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39512999762800194, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8605650750492192, + "balanced_accuracy": 0.8684538800442972, + "brier": 0.12877276578524724, + "confusion_matrix": [ + [ + 3.7578125, + 0.2421875 + ], + [ + 1.0127268245570256, + 3.987273175442964 + ] + ], + "log_loss": 0.42245126166488234, + "macro_f1": 0.8604743796036644, + "macro_precision": 0.8652251351064728, + "macro_recall": 0.8684538800442974, + "roc_auc": 0.9575522084039716 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.11456674136355116, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.4111730060714779, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.693180547702216, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6669397138282511, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6504322566520211, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6972702392024954, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6314306613565317, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6425081074461534, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.25064824104003336, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3071775987088883, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.37466854709319364, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4068835449421846, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8343349557540733, + "balanced_accuracy": 0.8398103797950611, + "brier": 0.13469314705441265, + "confusion_matrix": [ + [ + 3.46875, + 0.53125 + ], + [ + 1.125400442459264, + 4.874599557540718 + ] + ], + "log_loss": 0.4380373878222377, + "macro_f1": 0.8309947133341644, + "macro_precision": 0.8283815241833778, + "macro_recall": 0.8398103797950611, + "roc_auc": 0.9350642851803641 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0992259140713907, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.3762900151321847, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.7327649391017634, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7198622434033323, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.6874902634799743, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6729506628360481, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6584866788564675, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6591048735616963, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.660305551223435, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6192765564412462, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6668319500089295, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6615512981742394, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.28170287032655916, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34030595478006753, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25714809492968954, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23372139697916774, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8600989366124548, + "balanced_accuracy": 0.8938661306287181, + "brier": 0.11828749530869374, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 1.849239887425631, + 8.150760112574329 + ] + ], + "log_loss": 0.40014137998399446, + "macro_f1": 0.8458227951420914, + "macro_precision": 0.8322919398975765, + "macro_recall": 0.8938661306287209, + "roc_auc": 0.9792731071213004 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8315428868567786, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.11093056483533499, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.4012194448790918, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.693180547702216, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6669397138282511, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.6504322566520211, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7088772814443222, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.6635714000544644, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.672923749853923, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.6914869248799257, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.6829475744997856, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6972702392024954, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6314306613565317, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6425081074461534, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7327649391017634, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7198622434033323, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.6874902634799743, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6729506628360481, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.6584866788564675, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.6591048735616963, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.660305551223435, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.643245509374977, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6192765564412462, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.6668319500089295, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.6615512981742394, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6099191945474655, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.658784815627048, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6262737645467222, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.28936311984303853, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25064824104003336, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18374134877288478, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20256278806337696, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28170287032655916, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34030595478006753, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29706852863676025, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39512999762800194, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3071775987088883, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2941390677928478, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25714809492968954, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23372139697916774, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.45945599355245936, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.37466854709319364, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42279108340228666, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.456977712558314, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4068835449421846, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.839101954967337, + "balanced_accuracy": 0.8463897598196227, + "brier": 0.1304807120883337, + "confusion_matrix": [ + [ + 15.0390625, + 1.9609375 + ], + [ + 4.796780391371833, + 20.203219608628306 + ] + ], + "log_loss": 0.4269611238094401, + "macro_f1": 0.8366321254848483, + "macro_precision": 0.8348513814067717, + "macro_recall": 0.8463897598196213, + "roc_auc": 0.939647040739983 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "extra_trees", + "name": "extra_trees_02", + "params": { + "max_depth": 3, + "max_features": 1.0, + "min_samples_leaf": 30 + } + }, + "status": "ok", + "std_macro_f1": 0.02674602086734358 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06350671298319871, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2644823625747729, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8614030782486213, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.806247646033863, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8091876633339687, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8255866004464136, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.061220203136216164, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1324757598990542, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4636974835006147, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2879459556257836, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3588258406186788, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8755902262802291, + "balanced_accuracy": 0.8821093170652579, + "brier": 0.09780239885509324, + "confusion_matrix": [ + [ + 4.1171875, + 0.8828125 + ], + [ + 0.23687546347793834, + 3.7631245365220822 + ] + ], + "log_loss": 0.3197303461035783, + "macro_f1": 0.8753973836071054, + "macro_precision": 0.8777892519859771, + "macro_recall": 0.8821093170652579, + "roc_auc": 0.9507798475718823 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05652875631283579, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.25630670681047835, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7888725902232502, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7123821650390262, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6918560527427884, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7585364130517368, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7274279032075884, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.15632241173228856, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0620532044403094, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11982740918677881, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33355838481790623, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8885701460977052, + "balanced_accuracy": 0.8928771939879346, + "brier": 0.09074220256129267, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.7294311851206521, + 4.270568814879337 + ] + ], + "log_loss": 0.3046401189947936, + "macro_f1": 0.8881615313141298, + "macro_precision": 0.8880639697417471, + "macro_recall": 0.8928771939879347, + "roc_auc": 0.9623962103789798 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04606083561691481, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.23327626734255053, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8496671050829931, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8087387123281927, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7974620596519258, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8603279420741973, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7707702901003354, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7676672823261216, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.1122596138581231, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19181594170883579, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2826460128645272, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32417356320283475, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9203710325899761, + "balanced_accuracy": 0.9111815896583133, + "brier": 0.07802522516809066, + "confusion_matrix": [ + [ + 3.4609375, + 0.5390625 + ], + [ + 0.2572271741002391, + 5.742772825899744 + ] + ], + "log_loss": 0.273077926892335, + "macro_f1": 0.9159971978253163, + "macro_precision": 0.9225029397503923, + "macro_recall": 0.9111815896583134, + "roc_auc": 0.9636297090820319 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03287205633710372, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.19471523829931714, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8664255387946243, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8717191727438142, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8229388686060639, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7957636352959708, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7989594171801206, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.785785201736349, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8045377015155406, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7504151644464458, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8107149586125698, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7895294190653411, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.14878503247976177, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2075836521053219, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11657729929065691, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08425693394300493, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9612092208727259, + "balanced_accuracy": 0.962299579610908, + "brier": 0.054815418387025784, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.4024459077818378, + 9.597554092218077 + ] + ], + "log_loss": 0.21630885821685478, + "macro_f1": 0.95337683927383, + "macro_precision": 0.9455644543008, + "macro_recall": 0.9622995796109092, + "roc_auc": 0.9917641937394753 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9082332380050954, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04764610401316454, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.23204470557340967, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8496671050829931, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8087387123281927, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7974620596519258, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8614030782486213, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.806247646033863, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8091876633339687, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8255866004464136, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7888725902232502, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8603279420741973, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7707702901003354, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7676672823261216, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8664255387946243, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8717191727438142, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8229388686060639, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7957636352959708, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7989594171801206, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.785785201736349, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8045377015155406, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7123821650390262, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7504151644464458, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8107149586125698, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7895294190653411, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6918560527427884, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7585364130517368, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7274279032075884, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.15632241173228856, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1122596138581231, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0620532044403094, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.061220203136216164, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14878503247976177, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2075836521053219, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11982740918677881, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33355838481790623, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19181594170883579, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1324757598990542, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11657729929065691, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08425693394300493, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4636974835006147, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2826460128645272, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2879459556257836, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3588258406186788, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32417356320283475, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9175733992742697, + "balanced_accuracy": 0.913482243625681, + "brier": 0.07725165528206526, + "confusion_matrix": [ + [ + 15.1640625, + 1.8359375 + ], + [ + 1.6259797304806674, + 23.37402026951954 + ] + ], + "log_loss": 0.2709151778534444, + "macro_f1": 0.9142987058656897, + "macro_precision": 0.9151661030467906, + "macro_recall": 0.9134822436256806, + "roc_auc": 0.9653206044025047 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_04", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.029913586173905382 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07146270375045773, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2874348427819055, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8445558529505387, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7929592972932961, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7947247573093237, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8094352229220045, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.07479211584684181, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15419545057230433, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4664673116022561, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3150478548369007, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3891859935809414, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8704436900053557, + "balanced_accuracy": 0.8772960262560254, + "brier": 0.10291420316373084, + "confusion_matrix": [ + [ + 4.078125, + 0.921875 + ], + [ + 0.24413178995179818, + 3.7558682100482224 + ] + ], + "log_loss": 0.33612654825258065, + "macro_f1": 0.8702773736852871, + "macro_precision": 0.8732203231448958, + "macro_recall": 0.8772960262560253, + "roc_auc": 0.9486183638920991 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0602931061774733, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2684893222506247, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7754740463229666, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7189749422264303, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6864452042087523, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7427560567818268, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7196975739222944, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17750144562490663, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07029302274363483, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13681732977295202, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3391513059141852, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8882134324693062, + "balanced_accuracy": 0.8921655267223756, + "brier": 0.09085296870602386, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.717016607776243, + 4.282983392223746 + ] + ], + "log_loss": 0.3056364998078511, + "macro_f1": 0.8877599876654578, + "macro_precision": 0.887423283844248, + "macro_recall": 0.8921655267223756, + "roc_auc": 0.9662870984083033 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05198875695041745, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.2508718416801086, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8341410828712222, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7949923755295613, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7819835417461833, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8437521903904248, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7573206723231024, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7531579098579847, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.12284763863357881, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1985053276691113, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2950207641581487, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34212318933680547, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9158174611614047, + "balanced_accuracy": 0.9060848634678371, + "brier": 0.0816001213873534, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.27151288838595344, + 5.7284871116140295 + ] + ], + "log_loss": 0.28695427976345506, + "macro_f1": 0.9111206499933802, + "macro_precision": 0.9180494461256685, + "macro_recall": 0.9060848634678371, + "roc_auc": 0.9637800033570076 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.036415078069998476, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.2065285121360452, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.859837091002241, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8636335014324693, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8143125901497758, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7788815946269396, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7899463251843353, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7778925611825409, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7959316875775689, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7399401809121744, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8002992614943779, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7808519599553175, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.15842097963793633, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2193203489900178, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12432995856463185, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09436318675835309, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9608965354120682, + "balanced_accuracy": 0.9620806997884476, + "brier": 0.0579664093371397, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.40682350423104563, + 9.59317649576887 + ] + ], + "log_loss": 0.22809565365753226, + "macro_f1": 0.953015487649443, + "macro_precision": 0.9450965993558098, + "macro_recall": 0.9620806997884488, + "roc_auc": 0.9911003265005951 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9055433747483921, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.052750022662750765, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2477008350475831, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8341410828712222, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7949923755295613, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7819835417461833, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8445558529505387, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7929592972932961, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7947247573093237, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8094352229220045, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7754740463229666, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8437521903904248, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7573206723231024, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7531579098579847, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.859837091002241, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8636335014324693, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8143125901497758, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7788815946269396, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7899463251843353, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7778925611825409, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7959316875775689, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7189749422264303, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7399401809121744, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8002992614943779, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7808519599553175, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6864452042087523, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7427560567818268, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7196975739222944, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17750144562490663, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12284763863357881, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07029302274363483, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07479211584684181, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15842097963793633, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2193203489900178, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13681732977295202, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3391513059141852, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1985053276691113, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15419545057230433, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12432995856463185, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09436318675835309, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4664673116022561, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2950207641581487, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3150478548369007, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3891859935809414, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34212318933680547, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9152057192774992, + "balanced_accuracy": 0.9106845688989817, + "brier": 0.08027227360526863, + "confusion_matrix": [ + [ + 15.078125, + 1.921875 + ], + [ + 1.63948479034504, + 23.36051520965517 + ] + ], + "log_loss": 0.28187498527104493, + "macro_f1": 0.9117748415424922, + "macro_precision": 0.912957160484908, + "macro_recall": 0.9106845688989815, + "roc_auc": 0.96573974084345 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_06", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 30 + } + }, + "status": "ok", + "std_macro_f1": 0.031002609525541857 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.09088543484018026, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.34181918296660374, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7972333560842626, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7472282200686716, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7552247387453157, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7669895935780385, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.11818414326103224, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20151641612742172, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47666840521998216, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3665398965656056, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42733081907045034, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8527650321344704, + "balanced_accuracy": 0.8599465986512793, + "brier": 0.11645808825777837, + "confusion_matrix": [ + [ + 3.9765625, + 1.0234375 + ], + [ + 0.3016772107897664, + 3.6983227892102537 + ] + ], + "log_loss": 0.3798837379582472, + "macro_f1": 0.8526241748026818, + "macro_precision": 0.8563682626230632, + "macro_recall": 0.8599465986512793, + "roc_auc": 0.9397560641833661 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0732870151138638, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.3061299694372243, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7448060342022357, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7025847047499427, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6645854119972486, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7188365345629865, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6968329624333651, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.219848352520279, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10327060671246391, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18529409163586993, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35945126022336604, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8844575228293867, + "balanced_accuracy": 0.8878086455464481, + "brier": 0.09845051541331865, + "confusion_matrix": [ + [ + 3.671875, + 0.328125 + ], + [ + 0.7117572945355175, + 4.288242705464471 + ] + ], + "log_loss": 0.3363680682639588, + "macro_f1": 0.8839130475796666, + "macro_precision": 0.8832771870154197, + "macro_recall": 0.8878086455464482, + "roc_auc": 0.9656611732565261 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06804451035398729, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.29651496637378727, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.7934828250711741, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7555530341962776, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7430837627314786, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.800591961242462, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7210899340153571, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7237223730292897, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.16073121496648896, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22737782135471962, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32125250938922806, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3706931319105832, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9090852035001611, + "balanced_accuracy": 0.9024277737501339, + "brier": 0.09331459920564615, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.38571046499839096, + 5.614289535001593 + ] + ], + "log_loss": 0.32708521459881823, + "macro_f1": 0.904731552759421, + "macro_precision": 0.9074259188474213, + "macro_recall": 0.902427773750134, + "roc_auc": 0.9606432129501379 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05468128852595599, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.26266367074697616, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8105236863232923, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.813510323518028, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7739283387850631, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7307143948744217, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.744382631237875, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.741233548751639, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7502254063948558, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7028275816051364, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7539323098398918, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.742345608423394, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.21098433208874137, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2636160188765514, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16673193384390095, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13961983664349398, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9473269380583756, + "balanced_accuracy": 0.9508241691408628, + "brier": 0.07365729750462534, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 0.5733603671827401, + 9.426639632817185 + ] + ], + "log_loss": 0.28272179766980027, + "macro_f1": 0.9373335779851688, + "macro_precision": 0.9264295981210215, + "macro_recall": 0.9508241691408644, + "roc_auc": 0.9894433699270198 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8946505882817345, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06960798077356316, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2969996053769045, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.7934828250711741, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7555530341962776, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7430837627314786, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7972333560842626, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7472282200686716, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7552247387453157, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7669895935780385, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7448060342022357, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.800591961242462, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7210899340153571, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7237223730292897, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8105236863232923, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.813510323518028, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7739283387850631, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7307143948744217, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.744382631237875, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.741233548751639, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7502254063948558, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7025847047499427, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7028275816051364, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7539323098398918, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.742345608423394, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6645854119972486, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7188365345629865, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6968329624333651, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.219848352520279, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16073121496648896, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10327060671246391, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11818414326103224, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21098433208874137, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2636160188765514, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18529409163586993, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35945126022336604, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22737782135471962, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20151641612742172, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16673193384390095, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13961983664349398, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47666840521998216, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32125250938922806, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3665398965656056, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42733081907045034, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3706931319105832, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9044864800593709, + "balanced_accuracy": 0.9005774667792837, + "brier": 0.09282203786097833, + "confusion_matrix": [ + [ + 14.9609375, + 2.0390625 + ], + [ + 1.9725053375064145, + 23.02749466249379 + ] + ], + "log_loss": 0.32560056117536285, + "macro_f1": 0.9008282953601199, + "macro_precision": 0.9010841418950237, + "macro_recall": 0.9005774667792834, + "roc_auc": 0.9620488377108237 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_07", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 100 + } + }, + "status": "ok", + "std_macro_f1": 0.03084225050585933 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07372529329344814, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.29488050916418324, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8353165980893492, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.774561897957045, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7819200826721162, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8020003436661718, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.07870998520617359, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1545695004979848, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.46089173096414515, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32305621849402094, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38980567522709647, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.854237540168088, + "balanced_accuracy": 0.8600406701890992, + "brier": 0.10860503835898011, + "confusion_matrix": [ + [ + 4.0390625, + 0.9609375 + ], + [ + 0.3509246384872081, + 3.649075361512812 + ] + ], + "log_loss": 0.3477593910936403, + "macro_f1": 0.853963333848225, + "macro_precision": 0.8558083798522738, + "macro_recall": 0.860040670189099, + "roc_auc": 0.9404004942738745 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06389804558492458, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.27811330951927377, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7782941349309144, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6972182177855264, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6751589917515918, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7465003715338305, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7119115212272827, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1797433891813456, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07612535388277328, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14944206121075299, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3479047470591878, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8764079194829852, + "balanced_accuracy": 0.8819311900346867, + "brier": 0.09513179332236768, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.8388912246531313, + 4.161108775346857 + ] + ], + "log_loss": 0.3176559657266695, + "macro_f1": 0.8761191233893215, + "macro_precision": 0.8772958127243669, + "macro_recall": 0.8819311900346868, + "roc_auc": 0.9626740100627116 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.057318162482366576, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.26677339145626305, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8167615270187606, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.778516296292378, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7624815958831657, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8239509987515687, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7398184559500403, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.740662518938733, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.1312699867753652, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2043697995155065, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29203648478602046, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3520049927554054, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.900600610036175, + "balanced_accuracy": 0.8956828000301458, + "brier": 0.08811367036779999, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.4783688996382498, + 5.521631100361734 + ] + ], + "log_loss": 0.3037142020972138, + "macro_f1": 0.8962964865349405, + "macro_precision": 0.8969381204372109, + "macro_recall": 0.8956828000301459, + "roc_auc": 0.9594941010587679 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04087401932566994, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.22059743229563814, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8434370251071892, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8436475258265541, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8015877751444689, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7635224998166006, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7693447954317603, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7680456756587966, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7766735573356254, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7344927232120524, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.785829728288102, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7677040903586182, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1616704929312357, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.221899720770436, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12717094719067717, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09610496926840237, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9327272897806524, + "balanced_accuracy": 0.9429481653464564, + "brier": 0.06415604540022313, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.8090054430708662, + 9.19099455692907 + ] + ], + "log_loss": 0.24385182913124898, + "macro_f1": 0.921354640512616, + "macro_precision": 0.9063752021593792, + "macro_recall": 0.9429481653464585, + "roc_auc": 0.9905678583611033 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8869333960712756, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05676257012591428, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2598343413060161, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8167615270187606, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.778516296292378, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7624815958831657, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8353165980893492, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.774561897957045, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7819200826721162, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8020003436661718, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7782941349309144, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8239509987515687, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7398184559500403, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.740662518938733, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8434370251071892, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8436475258265541, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8015877751444689, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7635224998166006, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7693447954317603, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7680456756587966, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7766735573356254, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6972182177855264, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7344927232120524, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.785829728288102, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7677040903586182, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6751589917515918, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7465003715338305, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7119115212272827, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1797433891813456, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1312699867753652, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07612535388277328, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07870998520617359, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1616704929312357, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.221899720770436, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14944206121075299, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3479047470591878, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2043697995155065, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1545695004979848, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12717094719067717, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09610496926840237, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.46089173096414515, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29203648478602046, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32305621849402094, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38980567522709647, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3520049927554054, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8961904117654892, + "balanced_accuracy": 0.8950793576477172, + "brier": 0.08602268629555367, + "confusion_matrix": [ + [ + 15.1171875, + 1.8828125 + ], + [ + 2.4771902058494555, + 22.52280979415074 + ] + ], + "log_loss": 0.2961858533379146, + "macro_f1": 0.8928593806613707, + "macro_precision": 0.8910294547377622, + "macro_recall": 0.8950793576477165, + "roc_auc": 0.9616870859164353 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "extra_trees", + "name": "extra_trees_05", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.024882036836605465 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.041108601047483456, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18069169790381334, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9507807651271445, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.891417854375119, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8713664552635422, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9070001609926688, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02208497194726029, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01924600795817883, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4222284461449516, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21848920186142234, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3220197016306051, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8785795302393606, + "balanced_accuracy": 0.8856675965192808, + "brier": 0.08905147782683152, + "confusion_matrix": [ + [ + 4.109375, + 0.890625 + ], + [ + 0.2021592278457545, + 3.7978407721542666 + ] + ], + "log_loss": 0.33775575329700264, + "macro_f1": 0.878433870640994, + "macro_precision": 0.8815755676782787, + "macro_recall": 0.8856675965192808, + "roc_auc": 0.9542717141224621 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04138810210045186, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19897999416210543, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8300451418048734, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6971891551420153, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7043799551617561, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8104915386310334, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7656240734121921, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08231926054982554, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01863118708930632, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013524852155845528, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25762494269029623, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.873259524633135, + "balanced_accuracy": 0.8798788846698216, + "brier": 0.09937372719748001, + "confusion_matrix": [ + [ + 3.7578125, + 0.2421875 + ], + [ + 0.8984767783017829, + 4.101523221698207 + ] + ], + "log_loss": 0.443755272008036, + "macro_f1": 0.8730744059102808, + "macro_precision": 0.8756421360677249, + "macro_recall": 0.8798788846698217, + "roc_auc": 0.952821183118799 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02277936192627903, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14883945424341588, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9150468085261247, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8912650911467658, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8781817065126076, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9308558023644188, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8589821318113353, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8243372626099504, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.039153365498044726, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1460486389375128, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18412194410695382, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2857011720314333, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9108441292768885, + "balanced_accuracy": 0.9012893785640737, + "brier": 0.0636073707317734, + "confusion_matrix": [ + [ + 3.4140625, + 0.5859375 + ], + [ + 0.3056212072311145, + 5.69437879276887 + ] + ], + "log_loss": 0.20846373801307702, + "macro_f1": 0.9059538792175252, + "macro_precision": 0.9122696624134947, + "macro_recall": 0.9012893785640739, + "roc_auc": 0.9690722264081055 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.011215730620337467, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10388984563970627, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.915738561056783, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9276929539777115, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9064426115306917, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9011349631673429, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8858531707157521, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.851879061506961, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8844591809231253, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8472077319952005, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8903107961858909, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8371804930622181, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04622668030342421, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10805806212164877, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04129038282014533, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020974279582663076, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9622200147932707, + "balanced_accuracy": 0.9653508853552893, + "brier": 0.03366438266748723, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.41954479289420976, + 9.580455207105699 + ] + ], + "log_loss": 0.12711750861417395, + "macro_f1": 0.9547450607259833, + "macro_precision": 0.9456870239203228, + "macro_recall": 0.9653508853552901, + "roc_auc": 0.9945704457033806 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9030518041236959, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026840099435212685, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15142613357103132, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9150468085261247, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8912650911467658, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8781817065126076, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9507807651271445, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.891417854375119, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8713664552635422, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9070001609926688, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8300451418048734, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9308558023644188, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8589821318113353, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8243372626099504, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.915738561056783, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9276929539777115, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9064426115306917, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9011349631673429, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8858531707157521, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.851879061506961, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8844591809231253, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6971891551420153, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8472077319952005, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8903107961858909, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8371804930622181, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7043799551617561, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8104915386310334, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7656240734121921, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08231926054982554, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039153365498044726, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01863118708930632, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02208497194726029, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04622668030342421, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10805806212164877, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013524852155845528, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25762494269029623, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1460486389375128, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01924600795817883, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04129038282014533, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020974279582663076, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4222284461449516, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18412194410695382, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21848920186142234, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3220197016306051, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2857011720314333, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9130017379458841, + "balanced_accuracy": 0.9097155775216019, + "brier": 0.06674290261622284, + "confusion_matrix": [ + [ + 15.171875, + 1.828125 + ], + [ + 1.8258020062728608, + 23.17419799372734 + ] + ], + "log_loss": 0.2594733744874893, + "macro_f1": 0.9097245352352776, + "macro_precision": 0.9097334991164971, + "macro_recall": 0.9097155775216015, + "roc_auc": 0.9644156140423009 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "random_forest", + "name": "random_forest_08", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.03234695453440923 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04517730777094056, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1985558699660704, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9213836484047764, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815917681920261, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8666210147331305, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8784435420732681, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.022278309118381672, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05282040553161706, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4437494646027539, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22928096907794188, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3178979950419122, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8888746626910559, + "balanced_accuracy": 0.8952964955274381, + "brier": 0.08297589676928246, + "confusion_matrix": [ + [ + 4.1875, + 0.8125 + ], + [ + 0.18762803578049678, + 3.812371964219524 + ] + ], + "log_loss": 0.27193931965978346, + "macro_f1": 0.888681269012594, + "macro_precision": 0.8907171538784824, + "macro_recall": 0.895296495527438, + "roc_auc": 0.9632271862489713 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042032691327667376, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20685840275789394, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8170194940437735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7274025801559854, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7171055995849313, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7899831517653054, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7607965405164029, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10252219651771512, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03199685704317311, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034864013901939155, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27640240704636787, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8738764044462833, + "balanced_accuracy": 0.879457514001655, + "brier": 0.0875920549071175, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.8538623599834487, + 4.146137640016541 + ] + ], + "log_loss": 0.28753314925845064, + "macro_f1": 0.8735913448217874, + "macro_precision": 0.8748704595102299, + "macro_recall": 0.8794575140016552, + "roc_auc": 0.9624268620174261 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02709233613373101, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16730070708500186, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9021833620112519, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8718057744660318, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8621373758411811, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9179738103274345, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8281285456050819, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8106771100678027, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06137884888058345, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1446569948160187, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21189566693550116, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2901919569599193, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9172475554944596, + "balanced_accuracy": 0.9076021295787162, + "brier": 0.06302032911679777, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 0.26502444505540484, + 5.734975554944579 + ] + ], + "log_loss": 0.21641771339838992, + "macro_f1": 0.9126361471948503, + "macro_precision": 0.9195495515292975, + "macro_recall": 0.9076021295787162, + "roc_auc": 0.9704260580925675 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014196248576133197, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12021204462955301, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.910510875767745, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9331183532256865, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8857913887454613, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8653696900573997, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8695768025167817, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8431438292273512, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.87668832115915, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8239715599365472, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8826071886476667, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8462551587851785, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08273900384171942, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1362134433853108, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05755795163375228, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0340577909538398, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9667533176739196, + "balanced_accuracy": 0.9667663848717436, + "brier": 0.0337892961386153, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3326410525651261, + 9.667358947434783 + ] + ], + "log_loss": 0.1400107730620441, + "macro_f1": 0.9598643165893872, + "macro_precision": 0.9536222287041227, + "macro_recall": 0.9667663848717445, + "roc_auc": 0.9944937358651065 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9086932694046548, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029870496030729672, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16677867024236762, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9021833620112519, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8718057744660318, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8621373758411811, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9213836484047764, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8815917681920261, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8666210147331305, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8784435420732681, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8170194940437735, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9179738103274345, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8281285456050819, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8106771100678027, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.910510875767745, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9331183532256865, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8857913887454613, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8653696900573997, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8695768025167817, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8431438292273512, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.87668832115915, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7274025801559854, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8239715599365472, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8826071886476667, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8462551587851785, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7171055995849313, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7899831517653054, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7607965405164029, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10252219651771512, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06137884888058345, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03199685704317311, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022278309118381672, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08273900384171942, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1362134433853108, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034864013901939155, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27640240704636787, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1446569948160187, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05282040553161706, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05755795163375228, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0340577909538398, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4437494646027539, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21189566693550116, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22928096907794188, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3178979950419122, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2901919569599193, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9183757525384648, + "balanced_accuracy": 0.9145973968381931, + "brier": 0.06281821433800455, + "confusion_matrix": [ + [ + 15.2109375, + 1.7890625 + ], + [ + 1.6391558933844763, + 23.360844106615726 + ] + ], + "log_loss": 0.21808524231230056, + "macro_f1": 0.9151820500663497, + "macro_precision": 0.9157926538145799, + "macro_recall": 0.9145973968381926, + "roc_auc": 0.9709268887676871 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_09", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.03265979035589359 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 15 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 15 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 15 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 15 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.09685383285407306, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.36215373416386915, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7595529246194305, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7163912308369577, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7255589006512817, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7339803092546936, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.13859630381872678, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2504619968506749, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4446449219441276, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36780243848355443, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41523906986417164, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.837105657520702, + "balanced_accuracy": 0.84174386471079, + "brier": 0.12286967369129578, + "confusion_matrix": [ + [ + 4.0, + 1.0 + ], + [ + 0.466049082313682, + 3.5339509176863375 + ] + ], + "log_loss": 0.39941404030169614, + "macro_f1": 0.8366676814100878, + "macro_precision": 0.8375440182384218, + "macro_recall": 0.8417438647107899, + "roc_auc": 0.933452070361382 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07596739129327736, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.314810025256074, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7817040367693813, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7029609874547021, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6661345333514689, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7261620944876159, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6934852467182059, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2391702635195463, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12371519825122154, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23836884909626738, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.371603287603527, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8814831789441, + "balanced_accuracy": 0.8859129860496899, + "brier": 0.10527394870898206, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.769776389503098, + 4.230223610496891 + ] + ], + "log_loss": 0.34868917555187096, + "macro_f1": 0.8810752627712614, + "macro_precision": 0.8811624504594582, + "macro_recall": 0.8859129860496902, + "roc_auc": 0.9599286711993762 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.08592297978659755, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.3421775247207769, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.7543212561478474, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7185686527661311, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7032916424250639, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7871605753433416, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6722219018790714, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6868627460371798, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.19172574575311285, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26765752339616244, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35679111752527826, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38097118650771966, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8774502192097007, + "balanced_accuracy": 0.8776928910080838, + "brier": 0.11237024852592796, + "confusion_matrix": [ + [ + 3.515625, + 0.484375 + ], + [ + 0.7411228079029927, + 5.258877192096991 + ] + ], + "log_loss": 0.3750437400135973, + "macro_f1": 0.8736092964713533, + "macro_precision": 0.8707782447571015, + "macro_recall": 0.8776928910080839, + "roc_auc": 0.9478077616142492 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06943608712842637, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.3014940209463811, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.823864061754509, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7953164903799818, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.730856475700416, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7314991753999125, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7095531564448276, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.695882319006292, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7163131595182844, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6636171216458487, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7139286959176603, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7029664817136504, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.23610221383605773, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3002344107633679, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20131947982034798, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16642203454287882, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.910021756929279, + "balanced_accuracy": 0.9247105423504951, + "brier": 0.09152434504170266, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 1.0956329029900929, + 8.904367097009862 + ] + ], + "log_loss": 0.32509741409568693, + "macro_f1": 0.8964498275284601, + "macro_precision": 0.8798706234358704, + "macro_recall": 0.924710542350498, + "roc_auc": 0.9857525922403686 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8719505170452907, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.08063633416643093, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.3270325089342046, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.7543212561478474, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7185686527661311, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7032916424250639, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7595529246194305, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7163912308369577, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7255589006512817, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7339803092546936, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7817040367693813, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7871605753433416, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.6722219018790714, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.6868627460371798, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.823864061754509, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.7953164903799818, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.730856475700416, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7314991753999125, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7095531564448276, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.695882319006292, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7163131595182844, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7029609874547021, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6636171216458487, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7139286959176603, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7029664817136504, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6661345333514689, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7261620944876159, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.6934852467182059, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.2391702635195463, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19172574575311285, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12371519825122154, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13859630381872678, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23610221383605773, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3002344107633679, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23836884909626738, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.371603287603527, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26765752339616244, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2504619968506749, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20131947982034798, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16642203454287882, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4446449219441276, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35679111752527826, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36780243848355443, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41523906986417164, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38097118650771966, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8805263408878603, + "balanced_accuracy": 0.8813333028163914, + "brier": 0.1061508551772766, + "confusion_matrix": [ + [ + 15.0546875, + 1.9453125 + ], + [ + 3.072581182709867, + 21.927418817290324 + ] + ], + "log_loss": 0.35796976524184987, + "macro_f1": 0.8772391880034758, + "macro_precision": 0.8745063474957071, + "macro_recall": 0.8813333028163908, + "roc_auc": 0.955616386758448 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_00", + "params": { + "C": 0.001, + "degree": 2 + } + }, + "status": "ok", + "std_macro_f1": 0.021972182631451436 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05902894954087959, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2469304151114652, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8795392834119956, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8357666653192354, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8308232910380735, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8414596745371645, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.05009204282302804, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10013162829140934, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.459418126726658, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28166806682993306, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36480667342907847, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8783121935895851, + "balanced_accuracy": 0.8851715302882834, + "brier": 0.09148076955440194, + "confusion_matrix": [ + [ + 4.1171875, + 0.8828125 + ], + [ + 0.21237775769373368, + 3.787622242306287 + ] + ], + "log_loss": 0.3016640780461832, + "macro_f1": 0.8781488027790568, + "macro_precision": 0.8809628056232619, + "macro_recall": 0.8851715302882834, + "roc_auc": 0.9586781136212542 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.049719005006374634, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.23542986336924387, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7926138006020004, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.731988837845281, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7093265433591301, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7670675469244856, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7427218345921007, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1481828898941134, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05039253844794209, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08035155365630221, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3110264247078359, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8821179436830664, + "balanced_accuracy": 0.8866795868147597, + "brier": 0.08609566358272308, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.7718760068524009, + 4.228123993147588 + ] + ], + "log_loss": 0.28683677122346296, + "macro_f1": 0.8817273784754025, + "macro_precision": 0.881911335484677, + "macro_recall": 0.8866795868147599, + "roc_auc": 0.9637295998249022 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037629651049905774, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.2056454977108464, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.866213202207748, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8326267152396463, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.82462366379629, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.883534354390855, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.793990738237237, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.787131093203355, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08935830783271931, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16611218975763875, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24651573778936658, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3193141364255782, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9157590635333477, + "balanced_accuracy": 0.9060361987777896, + "brier": 0.06959370455825979, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.27209686466652416, + 5.727903135333459 + ] + ], + "log_loss": 0.24617661768134763, + "macro_f1": 0.911061514983984, + "macro_precision": 0.9179721571482427, + "macro_recall": 0.9060361987777896, + "roc_auc": 0.9683148605590194 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02265816440002725, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.15712562418747938, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8880293657587444, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9032856262761186, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8521304861426572, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8181811126356191, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8309781083720507, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.814272282211662, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8399805374305529, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7917228536419332, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8462121739777432, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8212371055818499, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11558401101430049, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17094267707604865, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08234836273878741, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.058152742022081774, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9632768607941916, + "balanced_accuracy": 0.962575052555934, + "brier": 0.04256274452893458, + "confusion_matrix": [ + [ + 3.84375, + 0.15625 + ], + [ + 0.35787394888131857, + 9.642126051118593 + ] + ], + "log_loss": 0.1768421736144466, + "macro_f1": 0.9556731930192066, + "macro_precision": 0.9494391651267737, + "macro_recall": 0.9625750525559349, + "roc_auc": 0.9933262912079628 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9066527223144125, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039815295310112554, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.20470133862046566, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.866213202207748, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8326267152396463, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.82462366379629, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8795392834119956, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8357666653192354, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8308232910380735, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8414596745371645, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7926138006020004, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.883534354390855, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.793990738237237, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.787131093203355, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8880293657587444, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9032856262761186, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8521304861426572, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8181811126356191, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8309781083720507, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.814272282211662, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8399805374305529, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.731988837845281, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7917228536419332, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8462121739777432, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8212371055818499, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7093265433591301, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7670675469244856, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7427218345921007, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1481828898941134, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08935830783271931, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05039253844794209, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05009204282302804, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11558401101430049, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17094267707604865, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08035155365630221, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3110264247078359, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16611218975763875, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10013162829140934, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08234836273878741, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.058152742022081774, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.459418126726658, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24651573778936658, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28166806682993306, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36480667342907847, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3193141364255782, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9163651886168099, + "balanced_accuracy": 0.9118791113792972, + "brier": 0.0688096039814716, + "confusion_matrix": [ + [ + 15.1015625, + 1.8984375 + ], + [ + 1.6142245780939775, + 23.38577542190623 + ] + ], + "log_loss": 0.24366819644863208, + "macro_f1": 0.9129796745087992, + "macro_precision": 0.9141736140617259, + "macro_recall": 0.9118791113792968, + "roc_auc": 0.9698247766705381 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_10", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 30 + } + }, + "status": "ok", + "std_macro_f1": 0.03104911510532043 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 23 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 22 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 24 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 23 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.052332785578583556, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2344382561243529, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8750226912652808, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.821945099466353, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8283787702999985, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8307963486974896, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.04716393978910318, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11278096452923274, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42289592825761924, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24961654344388742, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3309004453494552, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8816386133770032, + "balanced_accuracy": 0.8875465650491288, + "brier": 0.09023995460667215, + "confusion_matrix": [ + [ + 4.171875, + 0.828125 + ], + [ + 0.2371274796069706, + 3.7628725203930498 + ] + ], + "log_loss": 0.3024896936555747, + "macro_f1": 0.8813936648965766, + "macro_precision": 0.8829186211002227, + "macro_recall": 0.8875465650491288, + "roc_auc": 0.9549376810008079 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04564393943346143, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2240838639647322, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8466277351785363, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7265164363236443, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7208982953125812, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7862981380499464, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7604471468220376, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.14367731873946066, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04778047484604127, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10457879172099459, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3125131316969354, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8722157740750622, + "balanced_accuracy": 0.876791071667556, + "brier": 0.09034378016243713, + "confusion_matrix": [ + [ + 3.671875, + 0.328125 + ], + [ + 0.8219330333244388, + 4.1780669666755506 + ] + ], + "log_loss": 0.2985925680916464, + "macro_f1": 0.8718102667327714, + "macro_precision": 0.8721400346354568, + "macro_recall": 0.8767910716675561, + "roc_auc": 0.9560290795605969 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.041271895680847326, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.217025188213322, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8676768581324088, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8188820269635346, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8063830555059515, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.897806604519852, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.77018810111092, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7658948447801496, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.09715417629565674, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1844967758676107, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2607789118392059, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30882429275263495, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9100092754602237, + "balanced_accuracy": 0.9044999170501862, + "brier": 0.07809340208837108, + "confusion_matrix": [ + [ + 3.5078125, + 0.4921875 + ], + [ + 0.40771974539776445, + 5.59228025460222 + ] + ], + "log_loss": 0.2712048127188426, + "macro_f1": 0.9059215618471388, + "macro_precision": 0.9074893661894053, + "macro_recall": 0.9044999170501864, + "roc_auc": 0.9584052268938831 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02603834946662678, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.16762255563027237, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9246815840298506, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9112755345619088, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8375253774032367, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8151176290200388, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8195450319372795, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7933038066316697, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8290715477997951, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7705759129408404, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8280109332726048, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8034812995859056, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13687377301920556, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18676017055624983, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09056836919516395, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.057070003649583645, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9440254198015002, + "balanced_accuracy": 0.94851310636105, + "brier": 0.050522763453526805, + "confusion_matrix": [ + [ + 3.8359375, + 0.1640625 + ], + [ + 0.6195816227789956, + 9.38041837722093 + ] + ], + "log_loss": 0.1909272365275831, + "macro_f1": 0.9336130829562352, + "macro_precision": 0.9218756949917375, + "macro_recall": 0.9485131063610517, + "roc_auc": 0.990990075919428 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8981846441081804, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03950110415356317, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2058015890894952, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8676768581324088, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8188820269635346, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8063830555059515, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8750226912652808, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.821945099466353, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8283787702999985, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8307963486974896, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8466277351785363, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.897806604519852, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.77018810111092, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7658948447801496, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9246815840298506, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9112755345619088, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8375253774032367, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8151176290200388, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8195450319372795, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7933038066316697, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8290715477997951, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7265164363236443, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7705759129408404, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8280109332726048, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8034812995859056, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7208982953125812, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7862981380499464, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7604471468220376, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.14367731873946066, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09715417629565674, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04778047484604127, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04716393978910318, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13687377301920556, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18676017055624983, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10457879172099459, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3125131316969354, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1844967758676107, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11278096452923274, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09056836919516395, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.057070003649583645, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42289592825761924, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2607789118392059, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24961654344388742, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3309004453494552, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30882429275263495, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9071699552117101, + "balanced_accuracy": 0.9049639388484252, + "brier": 0.07413110290845404, + "confusion_matrix": [ + [ + 15.1875, + 1.8125 + ], + [ + 2.086361881108169, + 22.913638118892035 + ] + ], + "log_loss": 0.25701832843570427, + "macro_f1": 0.9039185902504954, + "macro_precision": 0.9029577829779323, + "macro_recall": 0.9049639388484247, + "roc_auc": 0.9648563852260345 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_01", + "params": { + "C": 0.01, + "degree": 2 + } + }, + "status": "ok", + "std_macro_f1": 0.023940441412674335 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 78 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 70 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 72 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 72 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04162049880408953, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19549822042205592, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9139961331316742, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8599452662143066, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8615855441162446, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8602561703043815, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.029459430418169723, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.057485727496674965, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40100420966682415, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21771631786589357, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3106579437052003, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.883376784390063, + "balanced_accuracy": 0.8893066949388211, + "brier": 0.08322267254886812, + "confusion_matrix": [ + [ + 4.1796875, + 0.8203125 + ], + [ + 0.2292964404894326, + 3.7707035595105878 + ] + ], + "log_loss": 0.28667403699887345, + "macro_f1": 0.8831354549730916, + "macro_precision": 0.8846577962654917, + "macro_recall": 0.889306694938821, + "roc_auc": 0.9579880465690318 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04164999252981153, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20606618829160644, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8637291650984791, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7057286388387924, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7248986777865671, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7946914442511156, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.770356088536013, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11012190284307509, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0335288897134912, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055481126713002815, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2877268085382064, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8641272709071942, + "balanced_accuracy": 0.8706832938164747, + "brier": 0.09244510581111183, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.9416045618352509, + 4.058395438164738 + ] + ], + "log_loss": 0.2946078850027112, + "macro_f1": 0.863933486955361, + "macro_precision": 0.866572432984073, + "macro_recall": 0.8706832938164748, + "roc_auc": 0.9569191604004643 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029060082078009968, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.17382848221022631, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9098595408176671, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8604251121013461, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8454119783856392, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9334067967755111, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8105638944879129, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7944458337086048, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06929206840569338, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15940486404871979, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20024313794063514, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29362406041442923, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9159335799615406, + "balanced_accuracy": 0.908134754134617, + "brier": 0.06712417916454491, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.31722670038459533, + 5.682773299615389 + ] + ], + "log_loss": 0.23846890794923695, + "macro_f1": 0.9116324056368944, + "macro_precision": 0.9160208539905093, + "macro_recall": 0.9081347541346172, + "roc_auc": 0.9625148697819359 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01622185980977757, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12754486292338735, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9431136592059082, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9437193503298835, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8753787036906228, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8400037997054141, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8543516492951225, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8280725103408265, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.870830275079921, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8176012677294074, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8746931290491584, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.842621379295236, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10274250637252329, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15119809584814842, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06140201067340192, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034491497847143726, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9618876578373491, + "balanced_accuracy": 0.9639463604861442, + "brier": 0.03793205466084152, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.4085727902771124, + 9.5914272097228 + ] + ], + "log_loss": 0.14844030411069378, + "macro_f1": 0.9542621445581048, + "macro_precision": 0.9458769387745357, + "macro_recall": 0.9639463604861453, + "roc_auc": 0.9929020978757419 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.903240873030863, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030170030479097498, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16995220432030111, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9098595408176671, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8604251121013461, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8454119783856392, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9139961331316742, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8599452662143066, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8615855441162446, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8602561703043815, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8637291650984791, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9334067967755111, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8105638944879129, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7944458337086048, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9431136592059082, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9437193503298835, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8753787036906228, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8400037997054141, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8543516492951225, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8280725103408265, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.870830275079921, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7057286388387924, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8176012677294074, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8746931290491584, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.842621379295236, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7248986777865671, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7946914442511156, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.770356088536013, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11012190284307509, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06929206840569338, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0335288897134912, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029459430418169723, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10274250637252329, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15119809584814842, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055481126713002815, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2877268085382064, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15940486404871979, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.057485727496674965, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06140201067340192, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034491497847143726, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40100420966682415, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20024313794063514, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21771631786589357, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3106579437052003, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29362406041442923, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9131737977860381, + "balanced_accuracy": 0.9105954019049785, + "brier": 0.06626906100326309, + "confusion_matrix": [ + [ + 15.25, + 1.75 + ], + [ + 1.8967004929863907, + 23.103299507013805 + ] + ], + "log_loss": 0.23081882464419867, + "macro_f1": 0.9100281327549267, + "macro_precision": 0.9094853757802159, + "macro_recall": 0.9105954019049778, + "roc_auc": 0.967291776373475 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "polynomial_logreg", + "name": "polynomial_logreg_02", + "params": { + "C": 0.1, + "degree": 2 + } + }, + "status": "ok", + "std_macro_f1": 0.03399590564722812 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 104 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 111 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 99 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 102 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033252996395182755, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1637846779836819, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9365913407681891, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8967404987726639, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883575887491706, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8904436007844557, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01983733405413569, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036422519963294084, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39314892050707245, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17704148898303024, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26925317082314726, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8975630716227907, + "balanced_accuracy": 0.9031178305756398, + "brier": 0.07764042002400472, + "confusion_matrix": [ + [ + 4.265625, + 0.734375 + ], + [ + 0.18755735539488314, + 3.812442644605138 + ] + ], + "log_loss": 0.28227993898383535, + "macro_f1": 0.8973026841668288, + "macro_precision": 0.8981841673156786, + "macro_recall": 0.9031178305756398, + "roc_auc": 0.9622629045564948 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03855809688288787, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19221850930288817, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8682753069506259, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7103528046109664, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7171078614761068, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7958204892898176, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7800718987406582, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07726116772699901, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02177592167835445, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03174255259355424, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26122654265150735, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8622510809433561, + "balanced_accuracy": 0.8691900353490203, + "brier": 0.1002170220863703, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.9663027715097947, + 4.033697228490195 + ] + ], + "log_loss": 0.36290276162612545, + "macro_f1": 0.8620904729699417, + "macro_precision": 0.8653031552186377, + "macro_recall": 0.8691900353490205, + "roc_auc": 0.9520271153407522 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023850536993996824, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1540984578853683, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9123661900087839, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8763747070543135, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8713572044841184, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.948348056204763, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8212174322088551, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8088811297065623, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.053507629941246374, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13565510972152345, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18113382298302771, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2715899738251537, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9168290513811025, + "balanced_accuracy": 0.910508584484252, + "brier": 0.06780482775920786, + "confusion_matrix": [ + [ + 3.515625, + 0.484375 + ], + [ + 0.34733448618897567, + 5.652665513811008 + ] + ], + "log_loss": 0.2831531871089674, + "macro_f1": 0.9128489115833336, + "macro_precision": 0.9155797155307187, + "macro_recall": 0.910508584484252, + "roc_auc": 0.9566340310247732 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01105881798858559, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10168321629719831, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9561396444371372, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9652310980333684, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9023540736838205, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8711017133312472, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8843309020773177, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8575508017970831, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8976880911912601, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8343864928975542, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8982291672280802, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8600058782343194, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0787245537667641, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12522761400544305, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041467662406596724, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020492445908497487, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9693588028272114, + "balanced_accuracy": 0.9691761619790478, + "brier": 0.03116746444612852, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.3039767604190397, + 9.696023239580866 + ] + ], + "log_loss": 0.12185337153441599, + "macro_f1": 0.9629543895257769, + "macro_precision": 0.9572663413831455, + "macro_recall": 0.9691761619790487, + "roc_auc": 0.9938036939585954 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9087991145614702, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02475306336387624, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1468709117284188, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9123661900087839, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8763747070543135, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8713572044841184, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9365913407681891, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8967404987726639, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883575887491706, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8904436007844557, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8682753069506259, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.948348056204763, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8212174322088551, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8088811297065623, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9561396444371372, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9652310980333684, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9023540736838205, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8711017133312472, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8843309020773177, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8575508017970831, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8976880911912601, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7103528046109664, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8343864928975542, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8982291672280802, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8600058782343194, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7171078614761068, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7958204892898176, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7800718987406582, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07726116772699901, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053507629941246374, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02177592167835445, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01983733405413569, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0787245537667641, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12522761400544305, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03174255259355424, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26122654265150735, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13565510972152345, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036422519963294084, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041467662406596724, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020492445908497487, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39314892050707245, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18113382298302771, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17704148898303024, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26925317082314726, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2715899738251537, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9185152649163645, + "balanced_accuracy": 0.9163322342944523, + "brier": 0.06464547044836316, + "confusion_matrix": [ + [ + 15.3828125, + 1.6171875 + ], + [ + 1.8051713735126922, + 23.194828626487503 + ] + ], + "log_loss": 0.24628865185859872, + "macro_f1": 0.9155951838405718, + "macro_precision": 0.91489860531824, + "macro_recall": 0.9163322342944518, + "roc_auc": 0.965417757302928 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_03", + "params": { + "C": 1.0, + "degree": 2 + } + }, + "status": "ok", + "std_macro_f1": 0.03627347437702468 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 162 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 184 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 138 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 154 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03164908968241553, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15802879921345253, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.940008713367178, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9018558055511654, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8927335582139835, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8938269905097446, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.017450870135492628, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03429728487428179, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38922844061041895, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17030652146290862, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2585495028755014, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8975630716227907, + "balanced_accuracy": 0.9031178305756398, + "brier": 0.07657659171286404, + "confusion_matrix": [ + [ + 4.265625, + 0.734375 + ], + [ + 0.18755735539488314, + 3.812442644605138 + ] + ], + "log_loss": 0.29407392931009146, + "macro_f1": 0.8973026841668288, + "macro_precision": 0.8981841673156786, + "macro_recall": 0.9031178305756398, + "roc_auc": 0.9616096751743834 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03905639561103806, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19236506086474198, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8728925836253566, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7102102678212826, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.706952778074004, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7914393056088772, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.779638067708932, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07029839223737973, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01995410449040514, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029953769567540225, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2592340622887133, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8556404030627003, + "balanced_accuracy": 0.8628498002564302, + "brier": 0.1007233055826193, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 1.0101738724356957, + 3.9898261275642937 + ] + ], + "log_loss": 0.38911427415088284, + "macro_f1": 0.855501650990981, + "macro_precision": 0.8592374919493877, + "macro_recall": 0.8628498002564304, + "roc_auc": 0.9523766509744908 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022796117612183735, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14966510719994902, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9179936859040814, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8809991474317103, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8721341600522566, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9511050262948286, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8247866461469763, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8129273224824727, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.051199093191311114, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1269105337404201, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1793379718411852, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26785985379501254, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9184506375155562, + "balanced_accuracy": 0.9121854270962968, + "brier": 0.06726534165167967, + "confusion_matrix": [ + [ + 3.5234375, + 0.4765625 + ], + [ + 0.3389311248444378, + 5.661068875155546 + ] + ], + "log_loss": 0.29164940160716146, + "macro_f1": 0.9145458369700655, + "macro_precision": 0.9173009304740831, + "macro_recall": 0.9121854270962968, + "roc_auc": 0.9572702360389309 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010080567838361856, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09669596109940555, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9548323127925442, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9686752983190018, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9080561840406313, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8741575887039885, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.888129087291174, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8639077907511408, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9039010854949009, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.843061563131852, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9051507265670456, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8661143347044395, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0743497325199296, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12080599464739156, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03901703562051333, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018700107386664392, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.96803605150446, + "balanced_accuracy": 0.968250236053122, + "brier": 0.02968923966857189, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.3224952789375582, + 9.677504721062348 + ] + ], + "log_loss": 0.11662895091275902, + "macro_f1": 0.9614064087524901, + "macro_precision": 0.9552088740758553, + "macro_recall": 0.9682502360531228, + "roc_auc": 0.9940850361447889 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9071891452200913, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023939011749999656, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1429509349546409, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9179936859040814, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8809991474317103, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8721341600522566, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.940008713367178, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9018558055511654, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8927335582139835, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8938269905097446, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8728925836253566, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9511050262948286, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8247866461469763, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8129273224824727, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9548323127925442, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9686752983190018, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9080561840406313, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8741575887039885, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.888129087291174, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8639077907511408, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9039010854949009, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7102102678212826, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.843061563131852, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9051507265670456, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8661143347044395, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.706952778074004, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7914393056088772, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.779638067708932, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07029839223737973, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051199093191311114, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01995410449040514, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017450870135492628, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0743497325199296, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12080599464739156, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029953769567540225, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2592340622887133, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1269105337404201, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03429728487428179, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03901703562051333, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018700107386664392, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38922844061041895, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1793379718411852, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17030652146290862, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2585495028755014, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26785985379501254, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9170438659139863, + "balanced_accuracy": 0.91502272972069, + "brier": 0.06390480589371794, + "confusion_matrix": [ + [ + 15.375, + 1.625 + ], + [ + 1.8591576316125737, + 23.140842368387617 + ] + ], + "log_loss": 0.25471412285711925, + "macro_f1": 0.914107334567458, + "macro_precision": 0.9132545532582924, + "macro_recall": 0.9150227297206893, + "roc_auc": 0.9654476422515772 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_04", + "params": { + "C": 10.0, + "degree": 2 + } + }, + "status": "ok", + "std_macro_f1": 0.03795711972175874 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 19 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 19 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 19 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 19 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07200307441274018, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2947997855992948, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8220162633632163, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7694737665299048, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.779465620310245, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7840618316955111, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.08642085834689577, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17404766677105848, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43680833781728157, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3122011589640468, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3767096587859995, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8675199166769662, + "balanced_accuracy": 0.8730302187615872, + "brier": 0.10381176599454184, + "confusion_matrix": [ + [ + 4.1171875, + 0.8828125 + ], + [ + 0.3095082499073044, + 3.6904917500927157 + ] + ], + "log_loss": 0.34379314396925953, + "macro_f1": 0.8672214612363065, + "macro_precision": 0.868522698112145, + "macro_recall": 0.873030218761587, + "roc_auc": 0.9475757689117101 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05769722054534295, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2628294355308042, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8224506876924794, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7201415230937005, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6958722588879656, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7606747799216093, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7311360320930853, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.18774858569975966, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07899407498852011, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1640000520306148, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34494458976939146, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8817834850835242, + "balanced_accuracy": 0.8861832615751717, + "brier": 0.09421532391394599, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.7670736342482811, + 4.232926365751708 + ] + ], + "log_loss": 0.30966653868539223, + "macro_f1": 0.8813724046031036, + "macro_precision": 0.881432295787073, + "macro_recall": 0.8861832615751719, + "roc_auc": 0.9593280408958657 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06041497689387023, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.2745615535363279, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8161011978778937, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7705106074224088, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7556619658463695, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8494817843740257, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7229716088640635, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7274324847099364, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.13816007540821104, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22286359566012606, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3089670735335081, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3464880790443584, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8995103688385422, + "balanced_accuracy": 0.8954253073654517, + "brier": 0.09266775476454536, + "confusion_matrix": [ + [ + 3.5, + 0.5 + ], + [ + 0.5048963116145784, + 5.495103688385406 + ] + ], + "log_loss": 0.3169228585878613, + "macro_f1": 0.8953446257933039, + "macro_precision": 0.8952644240502969, + "macro_recall": 0.8954253073654519, + "roc_auc": 0.9542896807981827 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04339454122385979, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.22713812382467546, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8823842173239281, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8603670517431427, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7884461697702289, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7747789277995246, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7671206735200652, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7462184122333184, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.775904673743691, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7187249155800813, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7740726833421333, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7565579859031625, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.18070825487275316, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23871237927067118, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14027472778344208, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10544044511212486, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9332770816440913, + "balanced_accuracy": 0.9415752071508638, + "brier": 0.06787079568939113, + "confusion_matrix": [ + [ + 3.84375, + 0.15625 + ], + [ + 0.7778708569827197, + 9.222129143017217 + ] + ], + "log_loss": 0.25127888464981635, + "macro_f1": 0.9217247009425542, + "macro_precision": 0.9075140363133947, + "macro_recall": 0.9415752071508658, + "roc_auc": 0.9895635888869887 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8914157981438171, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05664228573084495, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2605764823590388, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8161011978778937, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7705106074224088, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7556619658463695, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8220162633632163, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7694737665299048, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.779465620310245, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.7840618316955111, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8224506876924794, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8494817843740257, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7229716088640635, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7274324847099364, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8823842173239281, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8603670517431427, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.7884461697702289, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7747789277995246, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7671206735200652, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7462184122333184, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.775904673743691, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7201415230937005, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7187249155800813, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7740726833421333, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7565579859031625, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6958722588879656, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7606747799216093, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7311360320930853, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.18774858569975966, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13816007540821104, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07899407498852011, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08642085834689577, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18070825487275316, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23871237927067118, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1640000520306148, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.34494458976939146, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22286359566012606, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17404766677105848, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14027472778344208, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10544044511212486, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43680833781728157, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3089670735335081, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3122011589640468, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3767096587859995, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3464880790443584, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.900112224934455, + "balanced_accuracy": 0.8988148571802368, + "brier": 0.08712172610650762, + "confusion_matrix": [ + [ + 15.1640625, + 1.8359375 + ], + [ + 2.3593490527528833, + 22.640650947247316 + ] + ], + "log_loss": 0.299244526544474, + "macro_f1": 0.8968432932948718, + "macro_precision": 0.895176137816859, + "macro_recall": 0.8988148571802363, + "roc_auc": 0.962094662691662 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_06", + "params": { + "C": 0.001, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.020126481111774362 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 104 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 164 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 123 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 117 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03962952182296712, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18710196787288677, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9234989812471303, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.869248311670991, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8712268179218681, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8702623807754751, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.0261582804882848, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.048556143288005595, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.400186988664878, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21162148913442566, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3038546840543539, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8834047861821777, + "balanced_accuracy": 0.8895335094549501, + "brier": 0.08300572194095945, + "confusion_matrix": [ + [ + 4.171875, + 0.828125 + ], + [ + 0.22123192436040034, + 3.7787680756396202 + ] + ], + "log_loss": 0.29513313914044104, + "macro_f1": 0.8831819188384498, + "macro_precision": 0.8849416583893226, + "macro_recall": 0.88953350945495, + "roc_auc": 0.9572673186859819 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03919994637431759, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19738365817885856, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8757856470427101, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7256446426435439, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7224474243117248, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7986613900740407, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.774211659341449, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1001041054840407, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030199420764135093, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046447350635061654, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28364804521158, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8732586356873537, + "balanced_accuracy": 0.8794874596186182, + "brier": 0.08944941063264214, + "confusion_matrix": [ + [ + 3.7421875, + 0.2578125 + ], + [ + 0.8828597788138157, + 4.117140221186173 + ] + ], + "log_loss": 0.2832441764649807, + "macro_f1": 0.8730382715961109, + "macro_precision": 0.8750920711258863, + "macro_recall": 0.8794874596186184, + "roc_auc": 0.9605457664699042 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027301082731760497, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16721304099946246, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9061824912111339, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8690277644814628, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8528330215505967, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9407969549819926, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8186019876679701, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8029805490040389, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0652389121780534, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15215723320856978, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1948665401894819, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29118627214578374, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9173249003785962, + "balanced_accuracy": 0.9099452294821635, + "brier": 0.06631538186449229, + "confusion_matrix": [ + [ + 3.4921875, + 0.5078125 + ], + [ + 0.31893849621403825, + 5.681061503785945 + ] + ], + "log_loss": 0.2352848268036281, + "macro_f1": 0.9131644626824479, + "macro_precision": 0.917130677285669, + "macro_recall": 0.9099452294821635, + "roc_auc": 0.9630616261872914 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01412268729834386, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11814868284119133, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9449657959019577, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9507108383362846, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8859458357842948, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8447627972773251, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8620564677966478, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8391511240041568, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8818336849621101, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8325079014941758, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8880100867520402, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8538367701503148, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09573967577748077, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14450358343185965, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05771823073170211, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030832447621138664, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.970329143063527, + "balanced_accuracy": 0.9698554001444688, + "brier": 0.035132479979413114, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.29039199711062125, + 9.709608002889283 + ] + ], + "log_loss": 0.13852052672779974, + "macro_f1": 0.9640924726219356, + "macro_precision": 0.9587871882468146, + "macro_recall": 0.9698554001444695, + "roc_auc": 0.993352057009164 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.908369281434736, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028099849125475748, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1615853001008812, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9061824912111339, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8690277644814628, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8528330215505967, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9234989812471303, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.869248311670991, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8712268179218681, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8702623807754751, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8757856470427101, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9407969549819926, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8186019876679701, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8029805490040389, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9449657959019577, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9507108383362846, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8859458357842948, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8447627972773251, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8620564677966478, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8391511240041568, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8818336849621101, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7256446426435439, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8325079014941758, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8880100867520402, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8538367701503148, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7224474243117248, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7986613900740407, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.774211659341449, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1001041054840407, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0652389121780534, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030199420764135093, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0261582804882848, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09573967577748077, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14450358343185965, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046447350635061654, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28364804521158, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15215723320856978, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.048556143288005595, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05771823073170211, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030832447621138664, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.400186988664878, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1948665401894819, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21162148913442566, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3038546840543539, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29118627214578374, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9182816143690744, + "balanced_accuracy": 0.9151800854817875, + "brier": 0.06445487455997907, + "confusion_matrix": [ + [ + 15.28125, + 1.71875 + ], + [ + 1.713422196498875, + 23.286577803501324 + ] + ], + "log_loss": 0.2261317019684351, + "macro_f1": 0.9152009039136744, + "macro_precision": 0.9152217550009241, + "macro_recall": 0.915180085481787, + "roc_auc": 0.9679761205696946 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "polynomial_logreg", + "name": "polynomial_logreg_05", + "params": { + "C": 100.0, + "degree": 2 + } + }, + "status": "ok", + "std_macro_f1": 0.03539333019813703 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 31 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 34 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 35 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 31 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.043080921218870735, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20166132809595594, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9052619647676055, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8548852324079621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8567389793918533, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8569231556920499, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.033244012718522294, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07225895330190721, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4117094321835528, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2170526458006018, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3061975965976551, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8904369695752483, + "balanced_accuracy": 0.8960775282721545, + "brier": 0.08297897768896699, + "confusion_matrix": [ + [ + 4.2265625, + 0.7734375 + ], + [ + 0.21262977382276593, + 3.787370226177255 + ] + ], + "log_loss": 0.28238985237926134, + "macro_f1": 0.8901754381724205, + "macro_precision": 0.8912591247993447, + "macro_recall": 0.8960775282721544, + "roc_auc": 0.9593644131047662 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04086901271975469, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2057393347349561, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8600306932411008, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7223801515785739, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7281943735019208, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7956330176385967, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7739798281398553, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11761558243968907, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03593437697374978, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06480921213189172, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2917236853328945, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8638536331412126, + "balanced_accuracy": 0.8696557698270913, + "brier": 0.09108530955401664, + "confusion_matrix": [ + [ + 3.6875, + 0.3125 + ], + [ + 0.912817301729085, + 4.0871826982709045 + ] + ], + "log_loss": 0.30407970235508863, + "macro_f1": 0.8635845979537138, + "macro_precision": 0.8652736469224147, + "macro_recall": 0.8696557698270915, + "roc_auc": 0.95496419489692 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.031871228615604694, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18495925193775037, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8962258590289954, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8496079075934159, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8372128690294314, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9223789439463261, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7989781558755804, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7875424302692224, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07572217315877247, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16669496355403757, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22129891400902857, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2911331062177482, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9131536571816177, + "balanced_accuracy": 0.9058181518180146, + "brier": 0.07031440068492699, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.3450259281838232, + 5.65497407181616 + ] + ], + "log_loss": 0.24851084784560337, + "macro_f1": 0.9088270666194992, + "macro_precision": 0.9124981089420381, + "macro_recall": 0.9058181518180147, + "roc_auc": 0.9602249102838164 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01815646513880717, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13578419358431912, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9424149034586455, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9384786206902808, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8662516714149257, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8397779529933437, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.849457248436415, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8210769601514286, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8604388111352682, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8015526869349855, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8611346570694985, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8309628862577388, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10894585495135048, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15598711758916156, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06643174455200015, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039027514211143956, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9594066307042736, + "balanced_accuracy": 0.9616237039929914, + "brier": 0.04054362394112169, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.4354946701401688, + 9.564505329859745 + ] + ], + "log_loss": 0.15712259963163186, + "macro_f1": 0.9513496840320974, + "macro_precision": 0.9425447530487253, + "macro_recall": 0.9616237039929925, + "roc_auc": 0.9925676114371316 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9034841966944327, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0316298143701661, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17659945702467092, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8962258590289954, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8496079075934159, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8372128690294314, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9052619647676055, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8548852324079621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8567389793918533, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8569231556920499, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8600306932411008, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9223789439463261, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7989781558755804, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7875424302692224, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9424149034586455, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9384786206902808, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8662516714149257, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8397779529933437, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.849457248436415, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8210769601514286, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8604388111352682, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7223801515785739, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8015526869349855, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8611346570694985, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8309628862577388, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7281943735019208, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7956330176385967, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7739798281398553, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11761558243968907, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07572217315877247, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03593437697374978, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.033244012718522294, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10894585495135048, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15598711758916156, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06480921213189172, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2917236853328945, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16669496355403757, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07225895330190721, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06643174455200015, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039027514211143956, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4117094321835528, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22129891400902857, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2170526458006018, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3061975965976551, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2911331062177482, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9131391625267656, + "balanced_accuracy": 0.910639837698954, + "brier": 0.0675555554098054, + "confusion_matrix": [ + [ + 15.2578125, + 1.7421875 + ], + [ + 1.9059676738758424, + 23.094032326124356 + ] + ], + "log_loss": 0.23721549680733406, + "macro_f1": 0.9100064090409692, + "macro_precision": 0.9094035185975899, + "macro_recall": 0.9106398376989535, + "roc_auc": 0.9665880037491394 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_07", + "params": { + "C": 0.01, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.03197167562928135 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 186 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 193 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 176 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 207 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03234675567554776, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15819369133809033, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9385451648126331, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9033932066345007, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8936930511574948, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8962875509867092, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01488116846987694, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02601918112342124, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3985738109951853, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17122165785039234, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25860666357520046, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8957091598689902, + "balanced_accuracy": 0.9008368673526141, + "brier": 0.07630587341872111, + "confusion_matrix": [ + [ + 4.2734375, + 0.7265625 + ], + [ + 0.2120550611790878, + 3.787944938820933 + ] + ], + "log_loss": 0.2727404142940677, + "macro_f1": 0.8954047968320497, + "macro_precision": 0.8958923787086923, + "macro_recall": 0.9008368673526141, + "roc_auc": 0.9626409002352873 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.036626305449006795, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1847700846845439, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8596165638086105, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7208547568545925, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7195714135232644, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8012681061133688, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7877714545699571, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07299596123112637, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014614685581904329, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015341020453335652, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25110617984774475, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8632649215467514, + "balanced_accuracy": 0.8699071793920762, + "brier": 0.10107291044334914, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.9493657060792366, + 4.050634293920753 + ] + ], + "log_loss": 0.4233672322647113, + "macro_f1": 0.863078730282992, + "macro_precision": 0.8658510417689929, + "macro_recall": 0.8699071793920763, + "roc_auc": 0.9517230225854246 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021621202732751567, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14366993455178317, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9343714576622992, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8979422386116732, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8742638555219637, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9480905659415024, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8420793340737946, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8195570878819841, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.045677086190039067, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13012554638389445, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18111313622832223, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27141364064263274, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9173493574567491, + "balanced_accuracy": 0.9096400895472909, + "brier": 0.06249749788919608, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.31088142543250924, + 5.689118574567474 + ] + ], + "log_loss": 0.22845672368626896, + "macro_f1": 0.9131265299647555, + "macro_precision": 0.9174925517939488, + "macro_recall": 0.9096400895472909, + "roc_auc": 0.961729747419126 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.009301806796732372, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.0931623741435066, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.943953117746435, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9688267613884084, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9101864812197304, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8850958545627992, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8929314324914503, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8744694025386665, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9075332635976249, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8438957103784821, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.909364027161895, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8683025788398514, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06816052478411888, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11250659782005719, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03840437449869072, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019105154604947907, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9752348317040166, + "balanced_accuracy": 0.9732893821928117, + "brier": 0.027629620053513486, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.22171235614376583, + 9.778287643856135 + ] + ], + "log_loss": 0.11164941398666474, + "macro_f1": 0.9698793857147843, + "macro_precision": 0.9666291739944883, + "macro_recall": 0.9732893821928121, + "roc_auc": 0.994381496916503 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9103723606986454, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02302844934768476, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13875348970787219, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9343714576622992, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8979422386116732, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8742638555219637, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9385451648126331, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9033932066345007, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8936930511574948, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8962875509867092, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8596165638086105, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9480905659415024, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8420793340737946, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8195570878819841, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.943953117746435, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9688267613884084, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9101864812197304, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8850958545627992, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8929314324914503, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8744694025386665, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9075332635976249, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7208547568545925, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8438957103784821, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.909364027161895, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8683025788398514, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7195714135232644, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8012681061133688, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7877714545699571, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07299596123112637, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045677086190039067, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014614685581904329, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01488116846987694, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06816052478411888, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11250659782005719, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015341020453335652, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25110617984774475, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13012554638389445, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02601918112342124, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03840437449869072, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019105154604947907, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3985738109951853, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18111313622832223, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17122165785039234, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25860666357520046, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27141364064263274, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9204178083610809, + "balanced_accuracy": 0.9176362531409554, + "brier": 0.062099969390470994, + "confusion_matrix": [ + [ + 15.3515625, + 1.6484375 + ], + [ + 1.6940145488345988, + 23.305985451165594 + ] + ], + "log_loss": 0.24077685361202397, + "macro_f1": 0.9174570796991661, + "macro_precision": 0.9172802991789941, + "macro_recall": 0.9176362531409548, + "roc_auc": 0.9666282657945917 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_09", + "params": { + "C": 1.0, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.03876011777784868 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 125 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 143 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 123 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 130 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04159311630480996, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18908459150826495, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.925702390080276, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.874111937899373, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8739699474889937, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.873676174769644, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02226271051303623, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03540269642530245, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4164720339219658, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2206731024424454, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.311824104894179, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8781684510567297, + "balanced_accuracy": 0.8844238824388211, + "brier": 0.0836234965213686, + "confusion_matrix": [ + [ + 4.140625, + 0.859375 + ], + [ + 0.2371089404894326, + 3.7628910595105878 + ] + ], + "log_loss": 0.28016482118756, + "macro_f1": 0.8779534639290971, + "macro_precision": 0.8799584021169011, + "macro_recall": 0.884423882438821, + "roc_auc": 0.9580935939382876 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039714847127900986, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19670506967485787, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8706773801053646, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7140240002142357, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7198841044144265, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8026952841845778, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.773620873009662, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09662833321220757, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.026033008966478546, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030611873600171896, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2816622047081893, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8730120701995602, + "balanced_accuracy": 0.878484300679604, + "brier": 0.09170805894046968, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.8538288682039579, + 4.146171131796032 + ] + ], + "log_loss": 0.29865266052756567, + "macro_f1": 0.8727143973954958, + "macro_precision": 0.8738891041805313, + "macro_recall": 0.8784843006796041, + "roc_auc": 0.9586688156129552 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02674248188133275, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16341044468172833, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9223307741353449, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8741922961126247, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8566696771794015, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9405202106510154, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8326331337872472, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7952467798454504, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05969016489030725, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15179143417427068, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18907042937666405, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2986579538889221, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9219291254019388, + "balanced_accuracy": 0.912480000334949, + "brier": 0.06445908545720232, + "confusion_matrix": [ + [ + 3.4609375, + 0.5390625 + ], + [ + 0.2416462459806113, + 5.758353754019372 + ] + ], + "log_loss": 0.23152230890665226, + "macro_f1": 0.9175788362853289, + "macro_precision": 0.9245675979321736, + "macro_recall": 0.9124800003349491, + "roc_auc": 0.9628364678939431 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012675560330287066, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11142355287985603, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9405741487229545, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9528660435789585, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8922915789232304, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8526824811857902, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8700377945023767, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8484835581254544, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.887186997482708, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.839661141553132, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8932621584488841, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.858461705814654, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08150935987213, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13639734138162019, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05086472137504855, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029278518940718895, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9766957399539563, + "balanced_accuracy": 0.9743120179677693, + "brier": 0.03129077851272014, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.20125964064461074, + 9.798740359355287 + ] + ], + "log_loss": 0.12964516336842816, + "macro_f1": 0.9716136049027232, + "macro_precision": 0.9690151680689355, + "macro_recall": 0.9743120179677698, + "roc_auc": 0.9938731629763825 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9099650756281612, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028015579388851068, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15871764613769934, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9223307741353449, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8741922961126247, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8566696771794015, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.925702390080276, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.874111937899373, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8739699474889937, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.873676174769644, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8706773801053646, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9405202106510154, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8326331337872472, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7952467798454504, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9405741487229545, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9528660435789585, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8922915789232304, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8526824811857902, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8700377945023767, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8484835581254544, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.887186997482708, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7140240002142357, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.839661141553132, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8932621584488841, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.858461705814654, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7198841044144265, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8026952841845778, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.773620873009662, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09662833321220757, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05969016489030725, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.026033008966478546, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02226271051303623, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08150935987213, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13639734138162019, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030611873600171896, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2816622047081893, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15179143417427068, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03540269642530245, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05086472137504855, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029278518940718895, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4164720339219658, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18907042937666405, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2206731024424454, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.311824104894179, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2986579538889221, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9203251501114615, + "balanced_accuracy": 0.9160143025642162, + "brier": 0.06334870840253928, + "confusion_matrix": [ + [ + 15.1875, + 1.8125 + ], + [ + 1.5338436953186116, + 23.46615630468159 + ] + ], + "log_loss": 0.2223717312300154, + "macro_f1": 0.9171044341518242, + "macro_precision": 0.9182847519751036, + "macro_recall": 0.9160143025642158, + "roc_auc": 0.9677292111060999 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "polynomial_logreg", + "name": "polynomial_logreg_08", + "params": { + "C": 0.1, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.03959440246242639 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 496 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 478 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 437 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 518 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03162253836398085, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15427811118174656, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9402796260115357, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9046128547633562, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8949986323137789, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005114555190437, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.012165248898417795, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0192772230662341, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.402479448736923, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16353624286233331, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2485174904029523, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8966332190087751, + "balanced_accuracy": 0.9020717463848722, + "brier": 0.07554836258861473, + "confusion_matrix": [ + [ + 4.265625, + 0.734375 + ], + [ + 0.1959260289210233, + 3.8040739710789975 + ] + ], + "log_loss": 0.2650847480223747, + "macro_f1": 0.8963606483426501, + "macro_precision": 0.8971368900960968, + "macro_recall": 0.9020717463848722, + "roc_auc": 0.9632388761673849 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03905903412702628, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19112474113514497, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8270092785098531, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7064361956824294, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7165277691667724, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7959948853686165, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7731210783597201, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06733419204498814, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010989759443287506, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0096133651090733, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23922810801089023, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8617246746295717, + "balanced_accuracy": 0.8687162696666144, + "brier": 0.10860374455555642, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.9710404283338541, + 4.028959571666135 + ] + ], + "log_loss": 0.565110281337909, + "macro_f1": 0.8615683939103382, + "macro_precision": 0.8648677706168858, + "macro_recall": 0.8687162696666145, + "roc_auc": 0.9465997030714275 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020310418607134784, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1381895194587966, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9372207289034755, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044484183808116, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876419792346704, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9488411270666381, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8467686165374555, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8331479203608855, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0411123709915013, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1228760430242285, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1810042102783132, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2669696610937493, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9219114153129248, + "balanced_accuracy": 0.913441804427437, + "brier": 0.06047776474384137, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.265260846870754, + 5.7347391531292295 + ] + ], + "log_loss": 0.2169110630581414, + "macro_f1": 0.9177459563563577, + "macro_precision": 0.923380855511913, + "macro_recall": 0.9134418044274373, + "roc_auc": 0.9643980802593399 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008080105513312032, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.08654200627944908, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.935788406600955, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9691104436931244, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9177193312741689, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.895049970342493, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9030355726656301, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8871585754333007, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.91601089829899, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8524005012434281, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9191901674451666, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8730621548936724, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06611912353800994, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10463012333679769, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03292509622352488, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015420420530386903, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9758004092768537, + "balanced_accuracy": 0.9730993489937976, + "brier": 0.025632882775884096, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.20598177012404723, + 9.794018229875855 + ] + ], + "log_loss": 0.10506012675624454, + "macro_f1": 0.9705163123069522, + "macro_precision": 0.9680252314654305, + "macro_recall": 0.9730993489937981, + "roc_auc": 0.9939703080156239 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9115478277290746, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022675233706590008, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13576449888933995, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9372207289034755, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9044484183808116, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876419792346704, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9402796260115357, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9046128547633562, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8949986323137789, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9005114555190437, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8270092785098531, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9488411270666381, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8467686165374555, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8331479203608855, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.935788406600955, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9691104436931244, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9177193312741689, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.895049970342493, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9030355726656301, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8871585754333007, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.91601089829899, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7064361956824294, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8524005012434281, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9191901674451666, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8730621548936724, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7165277691667724, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7959948853686165, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7731210783597201, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06733419204498814, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0411123709915013, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010989759443287506, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012165248898417795, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06611912353800994, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10463012333679769, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0096133651090733, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23922810801089023, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1228760430242285, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0192772230662341, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03292509622352488, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015420420530386903, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.402479448736923, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1810042102783132, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16353624286233331, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2485174904029523, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2669696610937493, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9215604982321505, + "balanced_accuracy": 0.9185225832208891, + "brier": 0.06240492787138884, + "confusion_matrix": [ + [ + 15.34375, + 1.65625 + ], + [ + 1.638209074249678, + 23.361790925750515 + ] + ], + "log_loss": 0.26456446831931885, + "macro_f1": 0.9185936435583906, + "macro_precision": 0.9186650799502782, + "macro_recall": 0.9185225832208884, + "roc_auc": 0.9661805374449594 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_10", + "params": { + "C": 10.0, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.039510420127001386 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06704065765603374, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.273276147533442, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8582263430239546, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.807015154383963, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8068175253726602, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8212778969257157, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.06755912592572597, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12883146130006454, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4585927746224043, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.309588461227036, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.386584803952123, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8730758584641372, + "balanced_accuracy": 0.8798665907721545, + "brier": 0.09886411744050133, + "confusion_matrix": [ + [ + 4.09375, + 0.90625 + ], + [ + 0.23606727382276593, + 3.763932726177255 + ] + ], + "log_loss": 0.3235007547282012, + "macro_f1": 0.8729051757102511, + "macro_precision": 0.8757142376007601, + "macro_recall": 0.8798665907721543, + "roc_auc": 0.9521791062515929 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.058313412470364416, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.26208881793766553, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.783728422489635, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7132137839861784, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6903075874018809, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7536371479493498, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.725050743966466, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17400401279565691, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07021686558396822, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11739765403065622, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3385407372249811, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8761762208962386, + "balanced_accuracy": 0.8801601613066146, + "brier": 0.09066498257547385, + "confusion_matrix": [ + [ + 3.6640625, + 0.3359375 + ], + [ + 0.7784765119338519, + 4.221523488066137 + ] + ], + "log_loss": 0.3044263283350548, + "macro_f1": 0.8756993317866022, + "macro_precision": 0.8755280558804877, + "macro_recall": 0.8801601613066148, + "roc_auc": 0.962266031182548 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.046245702680647295, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.23318631105641535, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8444414137169384, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8104582138532667, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7980949021592686, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8531205847104615, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7695064800737174, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7637459529057289, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.10671296520972356, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17905683845755999, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26093574997894037, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.345707277503312, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9113892993917181, + "balanced_accuracy": 0.9017436869930984, + "brier": 0.07730638922843272, + "confusion_matrix": [ + [ + 3.4140625, + 0.5859375 + ], + [ + 0.3001695060828189, + 5.6998304939171645 + ] + ], + "log_loss": 0.27104009940527113, + "macro_f1": 0.9065044018506803, + "macro_precision": 0.912983715663915, + "macro_recall": 0.9017436869930984, + "roc_auc": 0.9645378070670738 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03205744246675189, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.19191410245065915, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8546526319128557, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8654684847683655, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8260207087126243, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7816817523714558, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7952878348494364, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7903968555554077, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8030348499645742, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7673115585803488, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.811592437359297, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.795612236673268, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.14202196804492717, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19715947719042876, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1023706441729536, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07793980093352335, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9574537388018987, + "balanced_accuracy": 0.9596707421613289, + "brier": 0.05215045296464562, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.4550226567734186, + 9.544977343226499 + ] + ], + "log_loss": 0.21156508125397583, + "macro_f1": 0.949050729099649, + "macro_precision": 0.9400074678401305, + "macro_recall": 0.9596707421613302, + "roc_auc": 0.9921365282866293 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9010399096117956, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04855828220187102, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.23421298176460356, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8444414137169384, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8104582138532667, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7980949021592686, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8582263430239546, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.807015154383963, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8068175253726602, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8212778969257157, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.783728422489635, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8531205847104615, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7695064800737174, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7637459529057289, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8546526319128557, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8654684847683655, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8260207087126243, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7816817523714558, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7952878348494364, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7903968555554077, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8030348499645742, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7132137839861784, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7673115585803488, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.811592437359297, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.795612236673268, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6903075874018809, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7536371479493498, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.725050743966466, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.17400401279565691, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10671296520972356, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07021686558396822, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06755912592572597, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14202196804492717, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19715947719042876, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11739765403065622, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3385407372249811, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17905683845755999, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12883146130006454, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1023706441729536, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07793980093352335, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4585927746224043, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26093574997894037, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.309588461227036, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.386584803952123, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.345707277503312, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.910988429794932, + "balanced_accuracy": 0.9067008692630373, + "brier": 0.0764031460460272, + "confusion_matrix": [ + [ + 15.03125, + 1.96875 + ], + [ + 1.7697359486128548, + 23.230264051387355 + ] + ], + "log_loss": 0.2696108542661352, + "macro_f1": 0.9074619194040974, + "macro_precision": 0.9082683497924123, + "macro_recall": 0.906700869263037, + "roc_auc": 0.9666508725082714 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "extra_trees", + "name": "extra_trees_11", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 100 + } + }, + "status": "ok", + "std_macro_f1": 0.030694492989579915 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 2188, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 2158, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 1658, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": true, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 3000, + "recordings": 28, + "warning_count": 1, + "warnings": [ + { + "category": "ConvergenceWarning", + "message": "lbfgs failed to converge (status=1):\nSTOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n\nIncrease the number of iterations (max_iter) or scale the data as shown in:\n https://scikit-learn.org/stable/modules/preprocessing.html" + } + ], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.029005318188696727, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.14595832044257537, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.95737232205168, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8876424455442662, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.9059266255881036, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8916447946575153, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.008652708448928103, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015169998560192915, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38717571739052115, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14623577331616916, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23328295839091565, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8972356115848884, + "balanced_accuracy": 0.9013822505329998, + "brier": 0.08064527163159903, + "confusion_matrix": [ + [ + 4.3203125, + 0.6796875 + ], + [ + 0.24519199573600284, + 3.7548080042640173 + ] + ], + "log_loss": 0.29649525768693114, + "macro_f1": 0.8968282802930987, + "macro_precision": 0.8965109321094424, + "macro_recall": 0.9013822505329996, + "roc_auc": 0.9599537468027262 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04600413133188911, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2060270239689528, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7764185938542626, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6727122207372848, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.676543622484815, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7828423472660129, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.748928150020822, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05275844140396846, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004057647232670051, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0007931751549272166, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1982729216074704, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8427513442406368, + "balanced_accuracy": 0.8530074598165729, + "brier": 0.131414707610654, + "confusion_matrix": [ + [ + 3.78125, + 0.21875 + ], + [ + 1.1964879018342687, + 3.8035120981657213 + ] + ], + "log_loss": 0.6124743440834044, + "macro_f1": 0.8427503821039677, + "macro_precision": 0.8526236906886357, + "macro_recall": 0.8530074598165731, + "roc_auc": 0.9434860109856454 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.018399042223479652, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1270220832394892, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9429460680691996, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9119671873010733, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8964994417447456, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.961355254509226, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8794453526657171, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8450438156876564, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.022265980362009052, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1350062289079179, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17264409571172074, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27148928432091235, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9032463291188136, + "balanced_accuracy": 0.8939813159323446, + "brier": 0.06843649494193264, + "confusion_matrix": [ + [ + 3.390625, + 0.609375 + ], + [ + 0.35816170881186393, + 5.64183829118812 + ] + ], + "log_loss": 0.24006441158041897, + "macro_f1": 0.8980811197271051, + "macro_precision": 0.9034891115008614, + "macro_recall": 0.8939813159323446, + "roc_auc": 0.9618033567678116 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.006983086339571954, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.0779060717341548, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9115940796356818, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9666943441433887, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9247876573663524, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9205187914479195, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9285761845785481, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.9089106600882034, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9114165069084812, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8509492405294038, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9308078158982305, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8613879993255886, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.045192540034835055, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08296282649850557, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02145314547327673, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004012992565334736, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9558420459980466, + "balanced_accuracy": 0.9608863071986324, + "brier": 0.034205054145478045, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.5088363560273488, + 9.491163643972568 + ] + ], + "log_loss": 0.12088236433072609, + "macro_f1": 0.9474290807207593, + "macro_precision": 0.9364743124224036, + "macro_recall": 0.9608863071986335, + "roc_auc": 0.9930632344327683 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8962722157112326, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022781873254144675, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1316374746756384, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9429460680691996, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9119671873010733, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8964994417447456, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.95737232205168, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8876424455442662, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.9059266255881036, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8916447946575153, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7764185938542626, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.961355254509226, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8794453526657171, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8450438156876564, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9115940796356818, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9666943441433887, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9247876573663524, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9205187914479195, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9285761845785481, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.9089106600882034, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9114165069084812, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6727122207372848, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8509492405294038, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9308078158982305, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8613879993255886, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.676543622484815, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7828423472660129, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.748928150020822, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05275844140396846, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022265980362009052, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004057647232670051, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.008652708448928103, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045192540034835055, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08296282649850557, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0007931751549272166, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1982729216074704, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1350062289079179, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015169998560192915, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02145314547327673, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004012992565334736, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.38717571739052115, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17264409571172074, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14623577331616916, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23328295839091565, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27148928432091235, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.906527012799774, + "balanced_accuracy": 0.9062621025165165, + "brier": 0.07313751239610229, + "confusion_matrix": [ + [ + 15.3828125, + 1.6171875 + ], + [ + 2.3086779624094818, + 22.691322037590687 + ] + ], + "log_loss": 0.2922315150563661, + "macro_f1": 0.9036082491831722, + "macro_precision": 0.901487924920704, + "macro_recall": 0.9062621025165155, + "roc_auc": 0.9621205707215494 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_10", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16, + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03703104390860636 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 723 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 897 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 699 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 652 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04162050286066942, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18468667584257098, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9324619437241192, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8804517827244043, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8818504375043409, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8829003255477047, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01695011017549164, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02067226410116655, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42673895767345443, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21623980412745517, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31381406588717836, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8766658813290488, + "balanced_accuracy": 0.88410067899518, + "brier": 0.08504789656654564, + "confusion_matrix": [ + [ + 4.0859375, + 0.9140625 + ], + [ + 0.19594456803856128, + 3.8040554319614595 + ] + ], + "log_loss": 0.28067578096347173, + "macro_f1": 0.8765447770894295, + "macro_precision": 0.8802520610404418, + "macro_recall": 0.8841006789951799, + "roc_auc": 0.9576120969371349 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03866418577804401, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19232063741295566, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8403477664158334, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7195669456324351, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.733466602387961, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8078608556044489, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7609903451439993, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08437589977585722, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019575362940943114, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013273025411915327, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2666165033623468, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8718954790925059, + "balanced_accuracy": 0.8774793686832552, + "brier": 0.09546320665396807, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.8638781881674469, + 4.136121811832543 + ] + ], + "log_loss": 0.34542392292403945, + "macro_f1": 0.871608926544365, + "macro_precision": 0.872922210551681, + "macro_recall": 0.8774793686832554, + "roc_auc": 0.9549555054901725 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023895354394643974, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1512209990853565, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9331138105687852, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.886588735446854, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8671240619750586, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.944565704170454, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8509681593494509, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8245659656871187, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05181628962924578, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1434632460803463, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18063588405816416, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3033235026219231, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.927541243560013, + "balanced_accuracy": 0.9168312446333441, + "brier": 0.060036188789773105, + "confusion_matrix": [ + [ + 3.453125, + 0.546875 + ], + [ + 0.1777125643998709, + 5.822287435600113 + ] + ], + "log_loss": 0.21343552483921718, + "macro_f1": 0.9232323273345545, + "macro_precision": 0.9325958629674151, + "macro_recall": 0.9168312446333442, + "roc_auc": 0.9665321567348968 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010030087508428992, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09842853580246481, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.926597922190987, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9589916086028057, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9057234662762822, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8664385692329879, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8872412164486687, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8698629252585972, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9026367269977718, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8566123961146737, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9100859824990004, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8702884012470955, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06564046021955776, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12356522881725629, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0435382497309868, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023513689302269433, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9784120514785661, + "balanced_accuracy": 0.9755134360349962, + "brier": 0.02633678821180583, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.17723127930007293, + 9.822768720699825 + ] + ], + "log_loss": 0.11487947712988056, + "macro_f1": 0.9736575065640987, + "macro_precision": 0.9718488271996178, + "macro_recall": 0.9755134360349966, + "roc_auc": 0.9942228173838784 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9112608843831118, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026236594447925393, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14960179312828123, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9331138105687852, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.886588735446854, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8671240619750586, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9324619437241192, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8804517827244043, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8818504375043409, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8829003255477047, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8403477664158334, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.944565704170454, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8509681593494509, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8245659656871187, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.926597922190987, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9589916086028057, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9057234662762822, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8664385692329879, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8872412164486687, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8698629252585972, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9026367269977718, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7195669456324351, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8566123961146737, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9100859824990004, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8702884012470955, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.733466602387961, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8078608556044489, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7609903451439993, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08437589977585722, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05181628962924578, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019575362940943114, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01695011017549164, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06564046021955776, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12356522881725629, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013273025411915327, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2666165033623468, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1434632460803463, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02067226410116655, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0435382497309868, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023513689302269433, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42673895767345443, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18063588405816416, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21623980412745517, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31381406588717836, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3033235026219231, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9216722238117631, + "balanced_accuracy": 0.9165576091783517, + "brier": 0.061754210758277056, + "confusion_matrix": [ + [ + 15.125, + 1.875 + ], + [ + 1.414766599905951, + 23.585233400094253 + ] + ], + "log_loss": 0.22327536340947857, + "macro_f1": 0.9183596070539886, + "macro_precision": 0.9204092323634636, + "macro_recall": 0.9165576091783514, + "roc_auc": 0.9674513118511906 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "polynomial_logreg", + "name": "polynomial_logreg_11", + "params": { + "C": 100.0, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.04127390147541389 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042346778979157305, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1861979506072846, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.943896605264751, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8873046245091855, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8678400209186233, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8913274965890104, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02112800463001783, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023366361504935117, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42762906734560396, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22580854048290494, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31803883970776775, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8768096238619041, + "balanced_accuracy": 0.8840670768446424, + "brier": 0.08643671523223889, + "confusion_matrix": [ + [ + 4.09375, + 0.90625 + ], + [ + 0.20246338524286236, + 3.797536614757158 + ] + ], + "log_loss": 0.2904326160615925, + "macro_f1": 0.8766760345167242, + "macro_precision": 0.8801050327333422, + "macro_recall": 0.8840670768446421, + "roc_auc": 0.9569903967280627 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0415610918236817, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20066989616197228, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8408916346145987, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7086657042612823, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7054681170941345, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8038578677195478, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.761924976066874, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09130488066690945, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022205181987839114, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01627818973928779, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26993252615735475, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8668718910073251, + "balanced_accuracy": 0.8729581394065925, + "brier": 0.09460288613859573, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.9090904809340732, + 4.090909519065916 + ] + ], + "log_loss": 0.36655116679958993, + "macro_f1": 0.8666341726186095, + "macro_precision": 0.8686159670992227, + "macro_recall": 0.8729581394065926, + "roc_auc": 0.9576834793640766 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023832328500359556, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1532488459864606, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9117612848796185, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8878448355713154, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8693594061069362, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9279175265386671, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8606436939443263, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8256405778188816, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04744716130085738, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14508015038568647, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19113655311725725, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2933283693518802, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9156105209864884, + "balanced_accuracy": 0.9055868924887404, + "brier": 0.06214705087407999, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.26576979013511526, + 5.734230209864869 + ] + ], + "log_loss": 0.2099510488929996, + "macro_f1": 0.9108433255350517, + "macro_precision": 0.918171703644688, + "macro_recall": 0.9055868924887405, + "roc_auc": 0.9689327565292538 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.011655067767691195, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10743619936118884, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9161588695577921, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9279218238181198, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9026593022319173, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8709194913650976, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8808241954020433, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8592725981093357, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8864511515103066, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8488284284294245, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8908313237001317, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8480744398530902, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.055090964468694395, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11871090041234483, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04780025003126684, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02539232196808834, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9616583935853497, + "balanced_accuracy": 0.9643718130097445, + "brier": 0.03267607400499928, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.4195949898051046, + 9.580405010194806 + ] + ], + "log_loss": 0.12867879093866547, + "macro_f1": 0.954047495936011, + "macro_precision": 0.9451950938967779, + "macro_recall": 0.9643718130097456, + "roc_auc": 0.9944034851638793 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.902050257151599, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027539644547067216, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1552001398058229, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9117612848796185, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8878448355713154, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8693594061069362, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.943896605264751, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8873046245091855, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8678400209186233, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8913274965890104, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8408916346145987, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9279175265386671, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8606436939443263, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8256405778188816, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9161588695577921, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9279218238181198, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9026593022319173, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8709194913650976, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8808241954020433, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8592725981093357, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8864511515103066, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7086657042612823, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8488284284294245, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8908313237001317, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8480744398530902, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7054681170941345, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8038578677195478, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.761924976066874, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09130488066690945, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04744716130085738, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022205181987839114, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02112800463001783, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.055090964468694395, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11871090041234483, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01627818973928779, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26993252615735475, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14508015038568647, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023366361504935117, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04780025003126684, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02539232196808834, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42762906734560396, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19113655311725725, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22580854048290494, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31803883970776775, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2933283693518802, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9122013417591154, + "balanced_accuracy": 0.9084550094305983, + "brier": 0.06448314183686432, + "confusion_matrix": [ + [ + 15.109375, + 1.890625 + ], + [ + 1.796918646117155, + 23.203081353883043 + ] + ], + "log_loss": 0.2336635144719513, + "macro_f1": 0.9088150897009897, + "macro_precision": 0.9091852189507402, + "macro_recall": 0.9084550094305979, + "roc_auc": 0.9671403112503548 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "extra_trees", + "name": "extra_trees_08", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.034202270066368716 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07481216087356145, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.29152453970370407, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8518600902933231, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7843548667740647, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.80236250437921, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8102632449644601, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.07316988357910935, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11915056257213094, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4944985433653315, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3315938287846054, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39467278920738946, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.849616150146253, + "balanced_accuracy": 0.8581619189145349, + "brier": 0.10911978606657957, + "confusion_matrix": [ + [ + 3.90625, + 1.09375 + ], + [ + 0.25970464868372256, + 3.7402953513162984 + ] + ], + "log_loss": 0.3526758522248893, + "macro_f1": 0.8495650004905656, + "macro_precision": 0.8557002296129065, + "macro_recall": 0.8581619189145349, + "roc_auc": 0.9391606344379312 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06327654932005009, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2773602537128371, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7891108247881635, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6985557748567179, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6712413468469982, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7442225175206495, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7078586343972291, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.18945875367399773, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.089826395605972, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13859094671936745, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33484963419444047, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8738809042405982, + "balanced_accuracy": 0.8800475013165383, + "brier": 0.09755787347017918, + "confusion_matrix": [ + [ + 3.7421875, + 0.2578125 + ], + [ + 0.8772593618346147, + 4.122740638165374 + ] + ], + "log_loss": 0.32350687040369147, + "macro_f1": 0.873655010800646, + "macro_precision": 0.8756202077767296, + "macro_recall": 0.8800475013165384, + "roc_auc": 0.9562268904277909 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05154400421913524, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.2496252887417097, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8470131924687437, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7915410738304586, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7756322640946843, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8484733083681859, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7599565637700505, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7351467239129537, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.1185811530798501, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21164094814632406, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27844014564638087, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33335916244211056, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9014481743463941, + "balanced_accuracy": 0.8931338952886616, + "brier": 0.08622357931048649, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.3917682565360587, + 5.608231743463925 + ] + ], + "log_loss": 0.30262177517358524, + "macro_f1": 0.8964261653855202, + "macro_precision": 0.9005568838032763, + "macro_recall": 0.8931338952886618, + "roc_auc": 0.9465624539541604 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03815517802456013, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.21086928072576624, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8751372168913808, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8719715651495381, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8112308463104553, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7324167470390872, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7788843642285135, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.762700505373301, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8009435588981995, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7494156603903455, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.796825115199631, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7820056058311163, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.16350277878220393, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21795326128769432, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12016824066741263, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09928733998077455, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.943286591478012, + "balanced_accuracy": 0.9485818640346082, + "brier": 0.06109531250211825, + "confusion_matrix": [ + [ + 3.84375, + 0.15625 + ], + [ + 0.6377377193078329, + 9.362262280692095 + ] + ], + "log_loss": 0.2356685022072591, + "macro_f1": 0.9328535477804887, + "macro_precision": 0.920639853374273, + "macro_recall": 0.9485818640346099, + "roc_auc": 0.9896203655704168 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8881249311143051, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05458121253042138, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.25162823710301657, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8470131924687437, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7915410738304586, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7756322640946843, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8518600902933231, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7843548667740647, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.80236250437921, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8102632449644601, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7891108247881635, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8484733083681859, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7599565637700505, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7351467239129537, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8751372168913808, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8719715651495381, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8112308463104553, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7324167470390872, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7788843642285135, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.762700505373301, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8009435588981995, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6985557748567179, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7494156603903455, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.796825115199631, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.7820056058311163, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6712413468469982, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7442225175206495, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7078586343972291, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.18945875367399773, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1185811530798501, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.089826395605972, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07316988357910935, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16350277878220393, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21795326128769432, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13859094671936745, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33484963419444047, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21164094814632406, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11915056257213094, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12016824066741263, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09928733998077455, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4944985433653315, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27844014564638087, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3315938287846054, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39467278920738946, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.33335916244211056, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8983801788961374, + "balanced_accuracy": 0.8948599385080498, + "brier": 0.0851825977134607, + "confusion_matrix": [ + [ + 14.8984375, + 2.1015625 + ], + [ + 2.1664699863622285, + 22.83353001363797 + ] + ], + "log_loss": 0.29550526872130256, + "macro_f1": 0.8946186072140817, + "macro_precision": 0.8943819967940299, + "macro_recall": 0.8948599385080493, + "roc_auc": 0.9553819514412698 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_00", + "params": { + "learning_rate": 0.03, + "max_depth": 1, + "min_samples_leaf": 5 + } + }, + "status": "ok", + "std_macro_f1": 0.030683083624724064 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04911930425605602, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20933363543380165, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9184445341844341, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8713024249554453, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8667744356684159, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8752781859511564, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.026411587906561798, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05279898333468933, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4520990095760109, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2502259769248355, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3392092834551214, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8845941220697894, + "balanced_accuracy": 0.8914574498285133, + "brier": 0.0884926572008894, + "confusion_matrix": [ + [ + 4.1484375, + 0.8515625 + ], + [ + 0.18709040137189464, + 3.812909598628126 + ] + ], + "log_loss": 0.2868406302592277, + "macro_f1": 0.8844335003686123, + "macro_precision": 0.8871418072678359, + "macro_recall": 0.8914574498285133, + "roc_auc": 0.9598686626181142 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04586556836984204, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22070925570298214, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8278273138818609, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7258357136013577, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7025722551404199, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7745283054814847, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.740404826920162, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1263790642799042, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03785510133518033, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05895746180866536, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2835658024710101, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8609579923377321, + "balanced_accuracy": 0.8672450056039587, + "brier": 0.09432569705789848, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.9466905689604104, + 4.053309431039579 + ] + ], + "log_loss": 0.3035907338348204, + "macro_f1": 0.8607376452460743, + "macro_precision": 0.8630726629979202, + "macro_recall": 0.8672450056039589, + "roc_auc": 0.9554836613377784 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.031525876133703126, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18312292092827523, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8914836656841785, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8596507457608188, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.852289949341638, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9081121403072888, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8083799304768486, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7897505315691896, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06507007106806424, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1623832412037396, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.228953097326065, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29929646434006113, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9148056807913619, + "balanced_accuracy": 0.9068693173261348, + "brier": 0.07110103938351167, + "confusion_matrix": [ + [ + 3.46875, + 0.53125 + ], + [ + 0.3206931920863812, + 5.679306807913602 + ] + ], + "log_loss": 0.24912493795160837, + "macro_f1": 0.910428725463464, + "macro_precision": 0.9149160573227595, + "macro_recall": 0.9068693173261348, + "roc_auc": 0.9557934628157133 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.018069841578473887, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13478869851746278, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9289997977821731, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9367731950223793, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8676868276658168, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8296109319457455, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8552136412824944, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8155646276070916, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8641532421043544, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7961935535449236, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8641926850211124, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8284898202538914, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0918551946125275, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14702224350089116, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05562693874052588, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03771428362520243, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9592480451616583, + "balanced_accuracy": 0.9620986316131606, + "brier": 0.039258961137641046, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.44552736773678353, + 9.554472632263131 + ] + ], + "log_loss": 0.1563988067992749, + "macro_f1": 0.9512201783404042, + "macro_precision": 0.9419836632464769, + "macro_recall": 0.9620986316131619, + "roc_auc": 0.9931607292694347 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9017050123546386, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033883342787351146, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18068230973234012, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8914836656841785, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8596507457608188, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.852289949341638, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9184445341844341, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8713024249554453, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8667744356684159, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8752781859511564, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8278273138818609, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9081121403072888, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8083799304768486, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7897505315691896, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9289997977821731, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9367731950223793, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8676868276658168, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8296109319457455, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8552136412824944, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8155646276070916, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8641532421043544, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7258357136013577, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7961935535449236, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8641926850211124, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8284898202538914, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7025722551404199, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7745283054814847, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.740404826920162, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1263790642799042, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06507007106806424, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03785510133518033, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.026411587906561798, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0918551946125275, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14702224350089116, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05895746180866536, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2835658024710101, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1623832412037396, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05279898333468933, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05562693874052588, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03771428362520243, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4520990095760109, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.228953097326065, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2502259769248355, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3392092834551214, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29929646434006113, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9116071064248698, + "balanced_accuracy": 0.9086911458674791, + "brier": 0.06919050090693292, + "confusion_matrix": [ + [ + 15.1875, + 1.8125 + ], + [ + 1.9000015301554696, + 23.099998469844728 + ] + ], + "log_loss": 0.2379694036083896, + "macro_f1": 0.9083544353422393, + "macro_precision": 0.9080264412981667, + "macro_recall": 0.9086911458674787, + "roc_auc": 0.9641051950141172 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_01", + "params": { + "learning_rate": 0.1, + "max_depth": 1, + "min_samples_leaf": 5 + } + }, + "status": "ok", + "std_macro_f1": 0.033557730581396335 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04900957974538254, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20898580869655373, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9194570988375409, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8712956263281871, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8666272038584548, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8752815188618125, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02629817738230309, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.052571669042216135, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4517665803476709, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2499974808422835, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.338591320952651, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8845941220697894, + "balanced_accuracy": 0.8914574498285133, + "brier": 0.08849316634643556, + "confusion_matrix": [ + [ + 4.1484375, + 0.8515625 + ], + [ + 0.18709040137189464, + 3.812909598628126 + ] + ], + "log_loss": 0.2869811149425099, + "macro_f1": 0.8844335003686123, + "macro_precision": 0.8871418072678359, + "macro_recall": 0.8914574498285133, + "roc_auc": 0.9597544103275193 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04597815027830887, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22098884462201468, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8276412827855855, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7256373438188969, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.702287475695595, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7742850067091654, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7404269623711158, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12601153289586645, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03800195438428724, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.058942447159270835, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2847200796808116, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8609579923377321, + "balanced_accuracy": 0.8672450056039587, + "brier": 0.0944881668400548, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.9466905689604104, + 4.053309431039579 + ] + ], + "log_loss": 0.30403100744386014, + "macro_f1": 0.8607376452460743, + "macro_precision": 0.8630726629979202, + "macro_recall": 0.8672450056039589, + "roc_auc": 0.9553042026848086 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03134604592462425, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18248826538531637, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8923469484497695, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8599200429732146, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.852291313225698, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9098606231549669, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8078844806815109, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7899301804872066, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06524445787322805, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16180562941084797, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2278040255084434, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29822079925405287, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9140244307913619, + "balanced_accuracy": 0.9058927548261348, + "brier": 0.07095726088706031, + "confusion_matrix": [ + [ + 3.4609375, + 0.5390625 + ], + [ + 0.3206931920863812, + 5.679306807913602 + ] + ], + "log_loss": 0.24846891249668362, + "macro_f1": 0.9095744422560719, + "macro_precision": 0.914254195633642, + "macro_recall": 0.9058927548261348, + "roc_auc": 0.9562265966552462 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.018069841578473887, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13478869851746278, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9289997977821731, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9367731950223793, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8676868276658168, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8296109319457455, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8552136412824944, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8155646276070916, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8641532421043544, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7961935535449236, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8641926850211124, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8284898202538914, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0918551946125275, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14702224350089116, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05562693874052588, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03771428362520243, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9592480451616583, + "balanced_accuracy": 0.9620986316131606, + "brier": 0.039258961137641046, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.44552736773678353, + 9.554472632263131 + ] + ], + "log_loss": 0.1563988067992749, + "macro_f1": 0.9512201783404042, + "macro_precision": 0.9419836632464769, + "macro_recall": 0.9620986316131619, + "roc_auc": 0.9931607292694347 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9014914415527906, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033841138370430936, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1805165788801133, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8923469484497695, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8599200429732146, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.852291313225698, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9194570988375409, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8712956263281871, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8666272038584548, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8752815188618125, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8276412827855855, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9098606231549669, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8078844806815109, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7899301804872066, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9289997977821731, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9367731950223793, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8676868276658168, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8296109319457455, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8552136412824944, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8155646276070916, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8641532421043544, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7256373438188969, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7961935535449236, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8641926850211124, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8284898202538914, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.702287475695595, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7742850067091654, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7404269623711158, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12601153289586645, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06524445787322805, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03800195438428724, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02629817738230309, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0918551946125275, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14702224350089116, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.058942447159270835, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2847200796808116, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16180562941084797, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.052571669042216135, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05562693874052588, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03771428362520243, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4517665803476709, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2278040255084434, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2499974808422835, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.338591320952651, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29822079925405287, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9114210945201078, + "balanced_accuracy": 0.9084613664557144, + "brier": 0.06919119198752359, + "confusion_matrix": [ + [ + 15.1796875, + 1.8203125 + ], + [ + 1.9000015301554696, + 23.099998469844728 + ] + ], + "log_loss": 0.23793765527700036, + "macro_f1": 0.9081549013147915, + "macro_precision": 0.9078556653814258, + "macro_recall": 0.908461366455714, + "roc_auc": 0.9641060458481547 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_03", + "params": { + "learning_rate": 0.1, + "max_depth": 1, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.033504206578104496 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04889850292367761, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21139053010553313, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9126402869186127, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8628650782472264, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8549083442490797, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8722904417564712, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.0345709815002518, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05975024628151665, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4645346944936796, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2333256748596079, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3182591752241804, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8827682121081036, + "balanced_accuracy": 0.8892079886216168, + "brier": 0.08979223917185611, + "confusion_matrix": [ + [ + 4.15625, + 0.84375 + ], + [ + 0.21133609102706705, + 3.7886639089729535 + ] + ], + "log_loss": 0.2952022158343258, + "macro_f1": 0.8825723260263361, + "macro_precision": 0.8847360750906847, + "macro_recall": 0.8892079886216167, + "roc_auc": 0.9554324972218479 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04906747355682958, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.22942062162665008, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8051551999285609, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7168666855381592, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6901795227483316, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7645381788798421, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7334409152845603, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.115238517334021, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05053026482330981, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051660763407034994, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2872133199351641, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8479277800554396, + "balanced_accuracy": 0.8551271895498954, + "brier": 0.1002902587291164, + "confusion_matrix": [ + [ + 3.6796875, + 0.3203125 + ], + [ + 1.0483374795010436, + 3.9516625204989464 + ] + ], + "log_loss": 0.32176011008688166, + "macro_f1": 0.8477887784908487, + "macro_precision": 0.8516458149499735, + "macro_recall": 0.8551271895498956, + "roc_auc": 0.9527894454632165 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0305660124117491, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18117772622452213, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8973535166317248, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8554358695181605, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8496470525070223, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9054538037628128, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8136087114820398, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.793076539057899, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07265357418445617, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16656431739688016, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21707802422398403, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2915063126393734, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9149184627462491, + "balanced_accuracy": 0.9069633022885408, + "brier": 0.06801156697972291, + "confusion_matrix": [ + [ + 3.46875, + 0.53125 + ], + [ + 0.319565372537509, + 5.680434627462475 + ] + ], + "log_loss": 0.2362856681256665, + "macro_f1": 0.9105426108174561, + "macro_precision": 0.9150600805216569, + "macro_recall": 0.906963302288541, + "roc_auc": 0.9635555014537657 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.018071255228593035, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13718838505864306, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9054854779369338, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9246241267018136, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.870344279004306, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8233055026061731, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8479479386487593, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8200146541457035, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.864047178261409, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8120076216163881, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8679015201146945, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8376509459221758, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10004114575250257, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14591411271952873, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06322050158843247, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04369704557664171, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9577847225224224, + "balanced_accuracy": 0.9622461807656955, + "brier": 0.03862722868345886, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.4816388846860861, + 9.518361115313832 + ] + ], + "log_loss": 0.15908213830437087, + "macro_f1": 0.949648478234277, + "macro_precision": 0.9392409063592946, + "macro_recall": 0.9622461807656968, + "roc_auc": 0.9932173022109907 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8976380483922295, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03429408299148472, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18332654806323506, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8973535166317248, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8554358695181605, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8496470525070223, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9126402869186127, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8628650782472264, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8549083442490797, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8722904417564712, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8051551999285609, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9054538037628128, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8136087114820398, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.793076539057899, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9054854779369338, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9246241267018136, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.870344279004306, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8233055026061731, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8479479386487593, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8200146541457035, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.864047178261409, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7168666855381592, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8120076216163881, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8679015201146945, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8376509459221758, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6901795227483316, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7645381788798421, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7334409152845603, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.115238517334021, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07265357418445617, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05053026482330981, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0345709815002518, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10004114575250257, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14591411271952873, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051660763407034994, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2872133199351641, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16656431739688016, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05975024628151665, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06322050158843247, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04369704557664171, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4645346944936796, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21707802422398403, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2333256748596079, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3182591752241804, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2915063126393734, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.907962730291626, + "balanced_accuracy": 0.9057033993273191, + "brier": 0.06980093696367633, + "confusion_matrix": [ + [ + 15.1953125, + 1.8046875 + ], + [ + 2.0608778277517046, + 22.93912217224848 + ] + ], + "log_loss": 0.24149208454306487, + "macro_f1": 0.904723849517782, + "macro_precision": 0.9038183854248217, + "macro_recall": 0.9057033993273184, + "roc_auc": 0.9637788488594432 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_04", + "params": { + "learning_rate": 0.03, + "max_depth": 2, + "min_samples_leaf": 5 + } + }, + "status": "ok", + "std_macro_f1": 0.03736153852509293 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.048807586245595364, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21065831491785886, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9144144178413055, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8641653414864565, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8575942627446427, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8735392191783483, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03412746897142377, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05887781701159869, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4643394144001071, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23465082046778338, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31924477444129884, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8819001565525482, + "balanced_accuracy": 0.8884267386216167, + "brier": 0.08964511463843929, + "confusion_matrix": [ + [ + 4.1484375, + 0.8515625 + ], + [ + 0.21133609102706705, + 3.7886639089729535 + ] + ], + "log_loss": 0.2941966621115524, + "macro_f1": 0.881711132348656, + "macro_precision": 0.8840042280863254, + "macro_recall": 0.8884267386216167, + "roc_auc": 0.9562486472463976 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04945263151149474, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2303467831866296, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8051205707575465, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7134315464930495, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6865758664644485, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.765472149253743, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7348303861750557, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11591464412414153, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050663160740385876, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05145306759496292, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2876993396211027, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8496638911665506, + "balanced_accuracy": 0.8570803145498954, + "brier": 0.09984896755619, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 1.0483374795010436, + 3.9516625204989464 + ] + ], + "log_loss": 0.321736623705474, + "macro_f1": 0.8495418243873601, + "macro_precision": 0.8537088556915506, + "macro_recall": 0.8570803145498956, + "roc_auc": 0.9530257173434912 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030602287981251967, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18130083523196744, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8974844460082196, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8556179759943057, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8483104473499454, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9044737760826772, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8144578694694345, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7936721745476006, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07253480173838009, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16561141289801112, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21790941978604247, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29216824908379846, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9140032841748205, + "balanced_accuracy": 0.905224090979017, + "brier": 0.06786556112765615, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.30527965825179465, + 5.694720341748189 + ] + ], + "log_loss": 0.23543134049501915, + "macro_f1": 0.9094200895863739, + "macro_precision": 0.9149232673449932, + "macro_recall": 0.9052240909790172, + "roc_auc": 0.9642410081673338 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01790602211983546, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13653137836971987, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9023004640772252, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9256125353101952, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8710266411052824, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8227755195592151, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8468514794006059, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8195510990516051, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8661847162823565, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8148499957808538, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8703529653894184, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8402314334908226, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09980169210068233, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14582210647160515, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06292412175451849, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.042911353285400085, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9583255879070378, + "balanced_accuracy": 0.9620388490349263, + "brier": 0.03842897678200986, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.4662542693014707, + 9.533745730698447 + ] + ], + "log_loss": 0.15822577993799536, + "macro_f1": 0.9502143204960691, + "macro_precision": 0.9403247512389477, + "macro_recall": 0.9620388490349276, + "roc_auc": 0.9931391895086729 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8977218417046148, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.034310694031048264, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1831784174389559, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8974844460082196, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8556179759943057, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8483104473499454, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9144144178413055, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8641653414864565, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8575942627446427, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8735392191783483, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8051205707575465, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9044737760826772, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8144578694694345, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7936721745476006, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9023004640772252, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9256125353101952, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8710266411052824, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8227755195592151, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8468514794006059, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8195510990516051, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8661847162823565, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7134315464930495, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8148499957808538, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8703529653894184, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8402314334908226, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6865758664644485, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.765472149253743, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7348303861750557, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11591464412414153, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07253480173838009, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050663160740385876, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03412746897142377, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09980169210068233, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14582210647160515, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05145306759496292, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2876993396211027, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16561141289801112, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05887781701159869, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06292412175451849, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.042911353285400085, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4643394144001071, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21790941978604247, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23465082046778338, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31924477444129884, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29216824908379846, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9081111309980624, + "balanced_accuracy": 0.9056074676854315, + "brier": 0.06957400061848483, + "confusion_matrix": [ + [ + 15.171875, + 1.828125 + ], + [ + 2.0312074980813755, + 22.968792501918813 + ] + ], + "log_loss": 0.2407827118198896, + "macro_f1": 0.9048313784653021, + "macro_precision": 0.9041019099691695, + "macro_recall": 0.9056074676854309, + "roc_auc": 0.9639604874351813 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_06", + "params": { + "learning_rate": 0.03, + "max_depth": 2, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.03697960997612844 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0770074207525758, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2998409228290012, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8474196066548615, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7698936674748282, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7924901290267119, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8010274107699463, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.08606779502310835, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12854761947490667, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47403693702571426, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3399832083203797, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4122558584641738, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8384127940510031, + "balanced_accuracy": 0.8445815808073789, + "brier": 0.11423529114516971, + "confusion_matrix": [ + [ + 3.9453125, + 1.0546875 + ], + [ + 0.3995973535409715, + 3.600402646459049 + ] + ], + "log_loss": 0.36687809491952156, + "macro_f1": 0.8381751256397987, + "macro_precision": 0.8407322089943827, + "macro_recall": 0.8445815808073787, + "roc_auc": 0.9313551929715738 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06340468689712095, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2782025920534704, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8038914596553909, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6892561620922478, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6738063363087476, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.742659189622747, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7022605253170804, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.19144807552839094, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09919096121651516, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14151139692387152, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3283744936928351, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.87079985547722, + "balanced_accuracy": 0.8782511199294979, + "brier": 0.09810517613233619, + "confusion_matrix": [ + [ + 3.78125, + 0.21875 + ], + [ + 0.9440513007050193, + 4.05594869929497 + ] + ], + "log_loss": 0.32543059515569334, + "macro_f1": 0.8706793807469181, + "macro_precision": 0.8745201627290338, + "macro_recall": 0.878251119929498, + "roc_auc": 0.955799925214834 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05494693483778418, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.25932911126574115, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8447458534879706, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7773483512743293, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7583156224630296, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8449227501754166, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7512960113981606, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7246626707293079, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.12713801253919438, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2180499906222232, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26826412379840264, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3463980634087617, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8719657129071796, + "balanced_accuracy": 0.8695417399226496, + "brier": 0.09104554244779632, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.7100303709282029, + 5.289969629071781 + ] + ], + "log_loss": 0.31324899809004875, + "macro_f1": 0.8673760631680397, + "macro_precision": 0.8655825621411577, + "macro_recall": 0.8695417399226497, + "roc_auc": 0.944702227094669 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04248674997156391, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.22380155030583063, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8645167800311125, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8625876306137996, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8095601594123301, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6912615964517298, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7622559059468519, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7672498454689646, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7860381674784871, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7447016675090166, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7871114079047591, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.771593708563235, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1683355019840309, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22593445885637747, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1275979955975944, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10574806702804496, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.906062556192128, + "balanced_accuracy": 0.9242828518344893, + "brier": 0.06946372497530996, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 1.1823117133102081, + 8.817688286689748 + ] + ], + "log_loss": 0.2548008301326637, + "macro_f1": 0.892638252510529, + "macro_precision": 0.8755085471832171, + "macro_recall": 0.9242828518344923, + "roc_auc": 0.9874628544639001 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8672172055163214, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05733316230540494, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.26021201073526873, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8447458534879706, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7773483512743293, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7583156224630296, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8474196066548615, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7698936674748282, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7924901290267119, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8010274107699463, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8038914596553909, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8449227501754166, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7512960113981606, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7246626707293079, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8645167800311125, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8625876306137996, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8095601594123301, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.6912615964517298, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7622559059468519, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7672498454689646, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7860381674784871, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6892561620922478, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7447016675090166, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7871114079047591, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.771593708563235, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6738063363087476, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.742659189622747, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7022605253170804, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.19144807552839094, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12713801253919438, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09919096121651516, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08606779502310835, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1683355019840309, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22593445885637747, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14151139692387152, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3283744936928351, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2180499906222232, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12854761947490667, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1275979955975944, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10574806702804496, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.47403693702571426, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26826412379840264, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3399832083203797, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4122558584641738, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3463980634087617, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8758915895598951, + "balanced_accuracy": 0.8771459940538419, + "brier": 0.09033361380071085, + "confusion_matrix": [ + [ + 15.0234375, + 1.9765625 + ], + [ + 3.2359907384844018, + 21.76400926151578 + ] + ], + "log_loss": 0.30786856698654075, + "macro_f1": 0.8726104190353168, + "macro_precision": 0.8697601299257758, + "macro_recall": 0.8771459940538411, + "roc_auc": 0.9515653268514338 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_02", + "params": { + "learning_rate": 0.03, + "max_depth": 1, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.019375783383626728 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03700340544210081, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16706037379545738, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9502714094419759, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9039061416613137, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8889668750003468, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9027389103852126, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.013549222290966648, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021348638502940033, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43469844496397625, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18338773873403919, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27622900949512397, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8916283653648086, + "balanced_accuracy": 0.8981990985354098, + "brier": 0.08160218696505522, + "confusion_matrix": [ + [ + 4.1953125, + 0.8046875 + ], + [ + 0.17065721171672224, + 3.8293427882832987 + ] + ], + "log_loss": 0.2707512588269375, + "macro_f1": 0.8914488756385739, + "macro_precision": 0.8936322581289693, + "macro_recall": 0.8981990985354098, + "roc_auc": 0.964086082947886 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0424474950508645, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20274325022627074, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8219403726801917, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7137287667167761, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7055028662777884, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7771017947936825, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7541604261913851, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0777053205828775, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020152072857448813, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012759838527055853, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2547836366394829, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8548587555962243, + "balanced_accuracy": 0.8619510050366017, + "brier": 0.10598695219824254, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 1.0093961996339809, + 3.9906038003660087 + ] + ], + "log_loss": 0.36666741184927404, + "macro_f1": 0.8547105171661926, + "macro_precision": 0.8582815793343788, + "macro_recall": 0.8619510050366019, + "roc_auc": 0.9509839468701886 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023063158688278747, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14853464052594217, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9313132651434266, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8923483843031503, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8800365890868332, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9451216667863749, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8372868501153754, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8216000321203204, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0439154922678244, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1398057425887964, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19238254757671513, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28308058771713196, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9082853957036428, + "balanced_accuracy": 0.8998081422530355, + "brier": 0.06637830049156335, + "confusion_matrix": [ + [ + 3.4296875, + 0.5703125 + ], + [ + 0.3468335429635742, + 5.653166457036409 + ] + ], + "log_loss": 0.22054950035256002, + "macro_f1": 0.9035153299771994, + "macro_precision": 0.9082608559577895, + "macro_recall": 0.8998081422530355, + "roc_auc": 0.9650356658589311 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010325823800081223, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09836364829907651, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9274755600887618, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9534684739555692, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9070520208161694, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.890625987200351, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.89103920100157, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.853939213266023, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8977787509543672, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.840293758813908, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9078889347099388, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8491996898390314, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05569466233494455, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10669517762304512, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03656895550420872, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018023631145122114, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9720572458029898, + "balanced_accuracy": 0.9734088220620927, + "brier": 0.030656992881334465, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.297448558758144, + 9.702551441241761 + ] + ], + "log_loss": 0.12181153358903196, + "macro_f1": 0.9662765863586097, + "macro_precision": 0.9598356435740536, + "macro_recall": 0.9734088220620933, + "roc_auc": 0.993864100859172 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9039878272851439, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02595836248858601, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14739690708671538, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9313132651434266, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8923483843031503, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8800365890868332, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9502714094419759, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9039061416613137, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8889668750003468, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9027389103852126, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8219403726801917, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9451216667863749, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8372868501153754, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8216000321203204, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9274755600887618, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9534684739555692, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9070520208161694, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.890625987200351, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.89103920100157, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.853939213266023, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8977787509543672, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7137287667167761, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.840293758813908, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9078889347099388, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8491996898390314, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7055028662777884, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7771017947936825, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7541604261913851, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0777053205828775, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0439154922678244, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020152072857448813, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013549222290966648, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05569466233494455, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10669517762304512, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012759838527055853, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2547836366394829, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1398057425887964, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021348638502940033, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03656895550420872, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018023631145122114, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43469844496397625, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19238254757671513, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18338773873403919, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27622900949512397, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28308058771713196, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9145247496887517, + "balanced_accuracy": 0.9115831426797283, + "brier": 0.06622102756485704, + "confusion_matrix": [ + [ + 15.234375, + 1.765625 + ], + [ + 1.8243355130724204, + 23.175664486927772 + ] + ], + "log_loss": 0.22970534547280838, + "macro_f1": 0.9113556603383677, + "macro_precision": 0.9111321189624364, + "macro_recall": 0.9115831426797276, + "roc_auc": 0.9658438998827665 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_07", + "params": { + "learning_rate": 0.1, + "max_depth": 2, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.04020445050480295 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033941503365424563, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.157579714180785, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9470624805396803, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9142806534886521, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8894740930522821, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9041443787616334, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.010391016345289793, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019301739813546957, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42901710249191805, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16159963711107167, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2515321438718302, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.889624917603922, + "balanced_accuracy": 0.8949686573044124, + "brier": 0.08541392974664222, + "confusion_matrix": [ + [ + 4.234375, + 0.765625 + ], + [ + 0.22775074156470143, + 3.772249258435319 + ] + ], + "log_loss": 0.287906463087178, + "macro_f1": 0.8893331393693276, + "macro_precision": 0.8901201361780257, + "macro_recall": 0.8949686573044124, + "roc_auc": 0.9614574430392854 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03962738163868707, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19245539139008383, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8360836540213709, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7055846056637627, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7091617557006026, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8002668169897035, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7683181304339283, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0673901666923258, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015954624296591852, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00721188598584516, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24513818249323654, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8630006301484243, + "balanced_accuracy": 0.8702552546335818, + "brier": 0.10800540250193741, + "confusion_matrix": [ + [ + 3.7421875, + 0.2578125 + ], + [ + 0.97518182866418, + 4.024818171335809 + ] + ], + "log_loss": 0.40044181954880986, + "macro_f1": 0.8628653915590507, + "macro_precision": 0.8665394504177675, + "macro_recall": 0.870255254633582, + "roc_auc": 0.9493878094803234 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021262552663359448, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14160788750925035, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9332158375967585, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9052289552279668, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8946293757774079, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9438040042227603, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8400467697592161, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8246825034286076, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.037671763988727416, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13969862463630559, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19092829979503423, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.266857919705624, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8996699366466201, + "balanced_accuracy": 0.8913265097055165, + "brier": 0.07023802930614756, + "confusion_matrix": [ + [ + 3.3984375, + 0.6015625 + ], + [ + 0.4017381335337996, + 5.598261866466185 + ] + ], + "log_loss": 0.23074648206671872, + "macro_f1": 0.8945678345741319, + "macro_precision": 0.8986276831704637, + "macro_recall": 0.8913265097055167, + "roc_auc": 0.9632878707563367 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008994749841606905, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09039907660599432, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9316123541786218, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9523578062499302, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9114204800452538, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9202457647829659, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8968483128866898, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8609774881500161, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9089386036153404, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8572936162371775, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9195403300783244, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8357963783062619, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04981582772422754, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09507155232264791, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02980898836202884, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01739482770342784, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9597064304965292, + "balanced_accuracy": 0.9641773138475702, + "brier": 0.03170067511752089, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.4625474730485926, + 9.53745252695132 + ] + ], + "log_loss": 0.1218502262362225, + "macro_f1": 0.9519033677248956, + "macro_precision": 0.9416992428304325, + "macro_recall": 0.9641773138475713, + "roc_auc": 0.9924137586175045 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8996674333068515, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02382552355840704, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13885671185033913, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9332158375967585, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9052289552279668, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8946293757774079, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9470624805396803, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9142806534886521, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8894740930522821, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9041443787616334, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8360836540213709, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9438040042227603, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8400467697592161, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8246825034286076, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9316123541786218, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9523578062499302, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9114204800452538, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9202457647829659, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8968483128866898, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8609774881500161, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9089386036153404, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7055846056637627, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8572936162371775, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9195403300783244, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8357963783062619, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7091617557006026, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8002668169897035, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7683181304339283, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0673901666923258, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037671763988727416, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015954624296591852, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010391016345289793, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04981582772422754, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09507155232264791, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.00721188598584516, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24513818249323654, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13969862463630559, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019301739813546957, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02980898836202884, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01739482770342784, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42901710249191805, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19092829979503423, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16159963711107167, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2515321438718302, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.266857919705624, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9096718886473505, + "balanced_accuracy": 0.9078743864637748, + "brier": 0.06873723178438058, + "confusion_matrix": [ + [ + 15.2734375, + 1.7265625 + ], + [ + 2.0672181768112727, + 22.93278182318892 + ] + ], + "log_loss": 0.2430595840880522, + "macro_f1": 0.9065644930023311, + "macro_precision": 0.9053856058337408, + "macro_recall": 0.9078743864637742, + "roc_auc": 0.9634011760712866 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_09", + "params": { + "learning_rate": 0.1, + "max_depth": 3, + "min_samples_leaf": 5 + } + }, + "status": "ok", + "std_macro_f1": 0.0324645447363542 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03744873215115306, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17233610380527942, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9348374023181457, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9018572144717482, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.878445163763557, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9023997239259494, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.022237896279824528, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034824982045347404, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4384501518892643, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18294206950294367, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26729269888857193, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8889084579574013, + "balanced_accuracy": 0.8949438902020764, + "brier": 0.08370495558482074, + "confusion_matrix": [ + [ + 4.203125, + 0.796875 + ], + [ + 0.20294887838338888, + 3.797051121616632 + ] + ], + "log_loss": 0.2759578522005623, + "macro_f1": 0.888681841680304, + "macro_precision": 0.8902380508404593, + "macro_recall": 0.8949438902020764, + "roc_auc": 0.9621993150665089 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.041083279678453044, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2016044908448151, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8165520761589284, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7213364609390474, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7170245330104236, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.795615381620754, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7611597875174831, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08419529200961706, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028612114665501388, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023572502811358947, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2666214749505411, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8702368939864115, + "balanced_accuracy": 0.8763772670877702, + "brier": 0.09881421639697095, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.894430454122296, + 4.105569545877693 + ] + ], + "log_loss": 0.33503759671643746, + "macro_f1": 0.8700063617584618, + "macro_precision": 0.8719995631150663, + "macro_recall": 0.8763772670877703, + "roc_auc": 0.9532080898444968 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02315448625971129, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15120154074114983, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9237145726017829, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8874014956480315, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8789334051554157, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9325485096759439, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8384247496733517, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8198651648857821, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.050470078957934525, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1427418721007501, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18920809669060049, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27669993482726524, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9143477713117807, + "balanced_accuracy": 0.9064877260931503, + "brier": 0.06397999592960933, + "confusion_matrix": [ + [ + 3.46875, + 0.53125 + ], + [ + 0.32527228688219423, + 5.67472771311779 + ] + ], + "log_loss": 0.21660617099574844, + "macro_f1": 0.909966433971811, + "macro_precision": 0.9143321074670913, + "macro_recall": 0.9064877260931505, + "roc_auc": 0.9677531522283884 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.011431028975244598, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1060871387668938, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9133966917327286, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9429885267227458, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8943414342703253, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8979168091618589, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8821293142235845, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8464004575532981, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8938225305919331, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8442501950171293, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9053785167944072, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8442346207254754, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07061989010272504, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11603488722295244, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045930163989980635, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03007253023244766, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9671606020170316, + "balanced_accuracy": 0.9688092964119219, + "brier": 0.03161589409033273, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.3503765717615587, + 9.649623428238348 + ] + ], + "log_loss": 0.13002875623877003, + "macro_f1": 0.9604718640404258, + "macro_precision": 0.953087963346382, + "macro_recall": 0.9688092964119227, + "roc_auc": 0.9934562668464615 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9072816253627507, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026151604159928392, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1514928738571158, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9237145726017829, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8874014956480315, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8789334051554157, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9348374023181457, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9018572144717482, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.878445163763557, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9023997239259494, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8165520761589284, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9325485096759439, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8384247496733517, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8198651648857821, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9133966917327286, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9429885267227458, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8943414342703253, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8979168091618589, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8821293142235845, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8464004575532981, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8938225305919331, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7213364609390474, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8442501950171293, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9053785167944072, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8442346207254754, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7170245330104236, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.795615381620754, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7611597875174831, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08419529200961706, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050470078957934525, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028612114665501388, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022237896279824528, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07061989010272504, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11603488722295244, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023572502811358947, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2666214749505411, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1427418721007501, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034824982045347404, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045930163989980635, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03007253023244766, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4384501518892643, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18920809669060049, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18294206950294367, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26729269888857193, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27669993482726524, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9170484359250134, + "balanced_accuracy": 0.914217745000541, + "brier": 0.0648832148665923, + "confusion_matrix": [ + [ + 15.2890625, + 1.7109375 + ], + [ + 1.773028191149437, + 23.22697180885076 + ] + ], + "log_loss": 0.2258434127988872, + "macro_f1": 0.9139756296045576, + "macro_precision": 0.9137379352827715, + "macro_recall": 0.9142177450005404, + "roc_auc": 0.9661273190855717 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_10", + "params": { + "learning_rate": 0.03, + "max_depth": 3, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.03380756911424707 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04455157820858249, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19145662498442348, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.933712709952602, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8840389127050078, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.876742500310941, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8875770405281369, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.019338535571521445, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023084163547038766, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4458930560275104, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22818084909328207, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32171092205824475, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8795035893791455, + "balanced_accuracy": 0.8872931005515389, + "brier": 0.08962113927175179, + "confusion_matrix": [ + [ + 4.0859375, + 0.9140625 + ], + [ + 0.17040519558768996, + 3.8295948044123307 + ] + ], + "log_loss": 0.2923936631545708, + "macro_f1": 0.8794057568116506, + "macro_precision": 0.883636448299173, + "macro_recall": 0.8872931005515388, + "roc_auc": 0.9560497805857417 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03831306587543524, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19248663176910188, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8558487485488392, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7123446709748589, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.733636023978682, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.806221412560189, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.768132905008242, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09451610844285974, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025818231376810406, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017978736501838448, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2628822018749787, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.876851430282634, + "balanced_accuracy": 0.8823303497543705, + "brier": 0.09024945597307665, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.8348996274562928, + 4.165100372543696 + ] + ], + "log_loss": 0.30374115323302386, + "macro_f1": 0.8765583470855787, + "macro_precision": 0.8776806774821233, + "macro_recall": 0.8823303497543706, + "roc_auc": 0.9596055014098109 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025780939214775388, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1592315837398119, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9153244486048014, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8823009820899922, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8659143305114675, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9317174838127016, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8362891360209097, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.817884215753005, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04927610267901306, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14512391940716307, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1858207104989373, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3100952869059742, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9144979530060799, + "balanced_accuracy": 0.9040087108383998, + "brier": 0.06354447334138065, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.2612704699392006, + 5.738729530060783 + ] + ], + "log_loss": 0.21660403606949696, + "macro_f1": 0.9095786129253037, + "macro_precision": 0.9174991827186019, + "macro_recall": 0.9040087108384001, + "roc_auc": 0.9677187190563831 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.011924415748873669, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10832537902520671, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9205754926487113, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9383972913286729, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8979191431233701, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8621636572193412, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8769890463374399, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8536801174948384, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8844116778209463, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8473277056726287, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8969620483554585, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8526150005757122, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0623072772768829, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1238452131512106, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04476502317454057, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025411115595035904, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9672718899251322, + "balanced_accuracy": 0.9671293854475924, + "brier": 0.029631745125013764, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3253810410481487, + 9.674618958951756 + ] + ], + "log_loss": 0.1268099546692377, + "macro_f1": 0.960469823517839, + "macro_precision": 0.954424487876917, + "macro_recall": 0.9671293854475931, + "roc_auc": 0.993953856163169 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.906503135085093, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027869833556860596, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15629429653649385, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9153244486048014, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8823009820899922, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8659143305114675, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.933712709952602, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8840389127050078, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.876742500310941, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8875770405281369, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8558487485488392, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9317174838127016, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8362891360209097, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.817884215753005, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9205754926487113, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9383972913286729, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8979191431233701, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8621636572193412, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8769890463374399, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8536801174948384, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8844116778209463, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7123446709748589, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8473277056726287, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8969620483554585, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8526150005757122, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.733636023978682, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.806221412560189, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.768132905008242, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09451610844285974, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04927610267901306, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025818231376810406, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019338535571521445, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0623072772768829, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1238452131512106, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017978736501838448, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2628822018749787, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14512391940716307, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023084163547038766, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04476502317454057, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025411115595035904, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4458930560275104, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1858207104989373, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22818084909328207, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32171092205824475, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3100952869059742, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.916523361094492, + "balanced_accuracy": 0.9118649174370208, + "brier": 0.06355058386589178, + "confusion_matrix": [ + [ + 15.0859375, + 1.9140625 + ], + [ + 1.5919563340313312, + 23.408043665968872 + ] + ], + "log_loss": 0.22158554937030117, + "macro_f1": 0.9131119997432791, + "macro_precision": 0.9144791610791578, + "macro_recall": 0.9118649174370203, + "roc_auc": 0.9666659979606718 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_05", + "params": { + "learning_rate": 0.1, + "max_depth": 2, + "min_samples_leaf": 5 + } + }, + "status": "ok", + "std_macro_f1": 0.03373729487515486 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.044471556809954356, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19588480892432322, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.924848583294528, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8778008547187601, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8671805637743943, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8854012008529876, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.031016864757416475, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03835945903708353, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44405971484995194, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22786029763624843, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3120046758552847, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8820179571952375, + "balanced_accuracy": 0.8891452018446423, + "brier": 0.08881276283793868, + "confusion_matrix": [ + [ + 4.125, + 0.875 + ], + [ + 0.18683838524286236, + 3.813161614757158 + ] + ], + "log_loss": 0.29588418400900895, + "macro_f1": 0.8818761456019091, + "macro_precision": 0.8850140929015953, + "macro_recall": 0.8891452018446422, + "roc_auc": 0.9547962902438253 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04059982680658648, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20193652575591675, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8505579768042874, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7079234496688, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7291734361828915, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8083246748594987, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7602428995856921, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10142360758740437, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03822331869610157, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035342008335604025, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2778309895456574, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8704927572868737, + "balanced_accuracy": 0.8760216065581863, + "brier": 0.091940119375027, + "confusion_matrix": [ + [ + 3.703125, + 0.296875 + ], + [ + 0.8686901844181354, + 4.1313098155818535 + ] + ], + "log_loss": 0.3058183459709865, + "macro_f1": 0.8701989546457793, + "macro_precision": 0.8714739742584154, + "macro_recall": 0.8760216065581864, + "roc_auc": 0.9573028531606277 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027004931895027156, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16582807870489125, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9091370325360645, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8717863076296184, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8642766101916765, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9188689267962746, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8355795781434908, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8121705850059515, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06007344915119128, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15524928458647336, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18884101744133208, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3076773404333396, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9120184868775233, + "balanced_accuracy": 0.9016169682312694, + "brier": 0.06446085361114666, + "confusion_matrix": [ + [ + 3.3984375, + 0.6015625 + ], + [ + 0.2782526312247675, + 5.721747368775216 + ] + ], + "log_loss": 0.2230189011299996, + "macro_f1": 0.9069984798914764, + "macro_precision": 0.9145928433709699, + "macro_recall": 0.9016169682312694, + "roc_auc": 0.96674783544936 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01385775005602125, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11938427736459457, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9019979112557309, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9236279158459366, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8844481153418785, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8586101726710306, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8627084923947056, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8496209894714037, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8755177556170377, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8425178526327399, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8915816453887181, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.845705272143454, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07707342389490235, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1328564766083902, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05429553422295804, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03698986764733064, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.968980332383312, + "balanced_accuracy": 0.9689112326683182, + "brier": 0.03169493069264623, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.30927534663363077, + 9.690724653366274 + ] + ], + "log_loss": 0.13914224123556895, + "macro_f1": 0.9625110721412309, + "macro_precision": 0.9566758068908936, + "macro_recall": 0.9689112326683191, + "roc_auc": 0.9932450125087228 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.905396163070099, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02927857791151039, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1645250638636999, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9091370325360645, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8717863076296184, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8642766101916765, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.924848583294528, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8778008547187601, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8671805637743943, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8854012008529876, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8505579768042874, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9188689267962746, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8355795781434908, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8121705850059515, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9019979112557309, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9236279158459366, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8844481153418785, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8586101726710306, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8627084923947056, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8496209894714037, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8755177556170377, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7079234496688, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8425178526327399, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8915816453887181, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.845705272143454, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7291734361828915, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8083246748594987, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7602428995856921, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10142360758740437, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06007344915119128, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03822331869610157, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031016864757416475, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07707342389490235, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1328564766083902, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035342008335604025, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2778309895456574, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15524928458647336, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03835945903708353, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05429553422295804, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03698986764733064, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44405971484995194, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18884101744133208, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22786029763624843, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3120046758552847, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3076773404333396, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9156787131543, + "balanced_accuracy": 0.9113024719907887, + "brier": 0.06464555966012392, + "confusion_matrix": [ + [ + 15.1015625, + 1.8984375 + ], + [ + 1.6430565475193954, + 23.356943452480806 + ] + ], + "log_loss": 0.22841674186709335, + "macro_f1": 0.9122900814898343, + "macro_precision": 0.913352962416639, + "macro_recall": 0.9113024719907883, + "roc_auc": 0.964652532193589 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_08", + "params": { + "learning_rate": 0.03, + "max_depth": 3, + "min_samples_leaf": 5 + } + }, + "status": "ok", + "std_macro_f1": 0.03555529130793576 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.040892121812611266, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17898486182441287, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9478366143670786, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8925051780096844, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8816325827305278, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8995368727498817, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.016870680069275494, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016508970658251722, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4353774515224289, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2144572975993413, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30585393834997754, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8811218998475672, + "balanced_accuracy": 0.8883324498285133, + "brier": 0.08870548535923414, + "confusion_matrix": [ + [ + 4.1171875, + 0.8828125 + ], + [ + 0.18709040137189464, + 3.812909598628126 + ] + ], + "log_loss": 0.2938869684955848, + "macro_f1": 0.8809858636905166, + "macro_precision": 0.8842651404969222, + "macro_recall": 0.8883324498285132, + "roc_auc": 0.9563709264408005 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03742972171016977, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1880812909513294, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8583485830146649, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7047935222183999, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7370595617785726, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8102250349513134, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7807972714627051, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08740855506645835, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019850766943507646, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012759019044857626, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26125917842214874, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8761048387234907, + "balanced_accuracy": 0.8818537298511415, + "brier": 0.09384195415355376, + "confusion_matrix": [ + [ + 3.734375, + 0.265625 + ], + [ + 0.8494314514885832, + 4.150568548511406 + ] + ], + "log_loss": 0.3215715776139028, + "macro_f1": 0.8758393233086306, + "macro_precision": 0.8772703389278192, + "macro_recall": 0.8818537298511416, + "roc_auc": 0.9574572606654195 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02321001741787079, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1489470185018506, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9242880708676287, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8938739736825512, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.878195410333403, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9339847227095966, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.848367643212716, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8298611424641787, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04162854136953747, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.144222625889557, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17548356976238916, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3010707269134738, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.916712476242275, + "balanced_accuracy": 0.9058541468685625, + "brier": 0.062449943827807254, + "confusion_matrix": [ + [ + 3.40625, + 0.59375 + ], + [ + 0.23912523757724996, + 5.760874762422733 + ] + ], + "log_loss": 0.21231104252660066, + "macro_f1": 0.9118237580977135, + "macro_precision": 0.9204836172053015, + "macro_recall": 0.9058541468685626, + "roc_auc": 0.9675008298620301 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.00999095292857124, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09840311575232094, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9181090919137318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9397172238285626, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9041753805825644, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.893078946208681, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8850800081432256, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8660854404971405, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8924468707468061, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8590584762927058, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9061714292863657, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8580964556302978, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04517585830459005, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11484043754663195, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040376493130398684, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02338745589876568, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9750302359768369, + "balanced_accuracy": 0.9731461651837858, + "brier": 0.02712636732818145, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.2245766963242825, + 9.775423303675618 + ] + ], + "log_loss": 0.11708796306561949, + "macro_f1": 0.9696369165762303, + "macro_precision": 0.966296908722317, + "macro_recall": 0.9731461651837863, + "roc_auc": 0.9944789324733998 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9095714654182727, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025639764449612728, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14692164715553999, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9242880708676287, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8938739736825512, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.878195410333403, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9478366143670786, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8925051780096844, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8816325827305278, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8995368727498817, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8583485830146649, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9339847227095966, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.848367643212716, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8298611424641787, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9181090919137318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9397172238285626, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9041753805825644, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.893078946208681, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8850800081432256, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8660854404971405, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8924468707468061, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7047935222183999, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8590584762927058, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9061714292863657, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8580964556302978, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7370595617785726, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8102250349513134, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7807972714627051, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08740855506645835, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04162854136953747, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019850766943507646, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016870680069275494, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04517585830459005, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11484043754663195, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012759019044857626, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26125917842214874, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.144222625889557, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016508970658251722, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.040376493130398684, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02338745589876568, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4353774515224289, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17548356976238916, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2144572975993413, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30585393834997754, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3010707269134738, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9198235407913806, + "balanced_accuracy": 0.9150782448529953, + "brier": 0.06302846515446914, + "confusion_matrix": [ + [ + 15.1328125, + 1.8671875 + ], + [ + 1.5002237867620094, + 23.499776213238196 + ] + ], + "log_loss": 0.2214635434088111, + "macro_f1": 0.9165101642203631, + "macro_precision": 0.9180987595707173, + "macro_recall": 0.9150782448529949, + "roc_auc": 0.9657522096656775 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_11", + "params": { + "learning_rate": 0.1, + "max_depth": 3, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.03730926588183504 + }, + { + "fit_summaries": [ + { + "convergence_warning": true, + "fitted_rows": 6138, + "input_rows": 9176, + "iterations": 3000, + "recordings": 33, + "warning_count": 1, + "warnings": [ + { + "category": "ConvergenceWarning", + "message": "lbfgs failed to converge (status=1):\nSTOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n\nIncrease the number of iterations (max_iter) or scale the data as shown in:\n https://scikit-learn.org/stable/modules/preprocessing.html" + } + ], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": true, + "fitted_rows": 6648, + "input_rows": 9612, + "iterations": 3000, + "recordings": 33, + "warning_count": 1, + "warnings": [ + { + "category": "ConvergenceWarning", + "message": "lbfgs failed to converge (status=1):\nSTOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n\nIncrease the number of iterations (max_iter) or scale the data as shown in:\n https://scikit-learn.org/stable/modules/preprocessing.html" + } + ], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": true, + "fitted_rows": 6653, + "input_rows": 9293, + "iterations": 3000, + "recordings": 32, + "warning_count": 1, + "warnings": [ + { + "category": "ConvergenceWarning", + "message": "lbfgs failed to converge (status=1):\nSTOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n\nIncrease the number of iterations (max_iter) or scale the data as shown in:\n https://scikit-learn.org/stable/modules/preprocessing.html" + } + ], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": true, + "fitted_rows": 6643, + "input_rows": 8801, + "iterations": 3000, + "recordings": 28, + "warning_count": 1, + "warnings": [ + { + "category": "ConvergenceWarning", + "message": "lbfgs failed to converge (status=1):\nSTOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n\nIncrease the number of iterations (max_iter) or scale the data as shown in:\n https://scikit-learn.org/stable/modules/preprocessing.html" + } + ], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03906397927553128, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1758125988771049, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9378187748870168, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.892897144281021, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8972735926927748, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8925927453030645, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.018555021682090684, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013097700050880116, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41688939129585423, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23445988730073453, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29131634350983576, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8805032211716722, + "balanced_accuracy": 0.8856833113181315, + "brier": 0.09742769167956605, + "confusion_matrix": [ + [ + 4.1953125, + 0.8046875 + ], + [ + 0.2707835094549499, + 3.72921649054507 + ] + ], + "log_loss": 0.35158378992893374, + "macro_f1": 0.8801818637677188, + "macro_precision": 0.8809434130081981, + "macro_recall": 0.8856833113181313, + "roc_auc": 0.949194291354905 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.047675948753908876, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21314584903834805, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7902447072479907, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6548802225009668, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7105081669255345, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7787134796361448, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.718816315857327, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06662897805725582, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0166738709233003, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0003612793518981671, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22231400355313136, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8420411227723501, + "balanced_accuracy": 0.851196385495115, + "brier": 0.13135857772641948, + "confusion_matrix": [ + [ + 3.734375, + 0.265625 + ], + [ + 1.1560048950488482, + 3.8439951049511416 + ] + ], + "log_loss": 0.8627898213617122, + "macro_f1": 0.8420176856719843, + "macro_precision": 0.8494908085325616, + "macro_recall": 0.8511963854951151, + "roc_auc": 0.9375987097179711 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021010978202656093, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13934372895642744, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.937268341282132, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9104211311606878, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8865715284860883, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9504732170920704, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8626559971097288, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8549730724123806, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05284308239090226, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13432272515191182, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19962114188699476, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28679514624700486, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9132196565345753, + "balanced_accuracy": 0.905222109612146, + "brier": 0.07247087439380784, + "confusion_matrix": [ + [ + 3.4609375, + 0.5390625 + ], + [ + 0.3287409346542476, + 5.671259065345736 + ] + ], + "log_loss": 0.2737428025147152, + "macro_f1": 0.9087622150033956, + "macro_precision": 0.9132262731063769, + "macro_recall": 0.905222109612146, + "roc_auc": 0.9506076022776148 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.009319012702588418, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09376907439817185, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9174262706436337, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.953809796420416, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9348205098125604, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8768482095776725, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8905159337541112, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8507111863120848, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9130568537903284, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8619230359229574, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9061628576216761, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.886688115898198, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.062314107010343726, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11950092540831202, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030066634835797034, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022106772356212147, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9557745617393857, + "balanced_accuracy": 0.9549796932175698, + "brier": 0.03523807849742313, + "confusion_matrix": [ + [ + 3.8125, + 0.1875 + ], + [ + 0.431656135648599, + 9.568343864351316 + ] + ], + "log_loss": 0.14194409448152992, + "macro_f1": 0.9467785842296792, + "macro_precision": 0.9395373760881292, + "macro_recall": 0.9549796932175711, + "roc_auc": 0.9834443652002212 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8944350871681945, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026696078860184762, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14778167529470848, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.937268341282132, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9104211311606878, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8865715284860883, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9378187748870168, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.892897144281021, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8972735926927748, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8925927453030645, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7902447072479907, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9504732170920704, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8626559971097288, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8549730724123806, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9174262706436337, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.953809796420416, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9348205098125604, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8768482095776725, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8905159337541112, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8507111863120848, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9130568537903284, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6548802225009668, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8619230359229574, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9061628576216761, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.886688115898198, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7105081669255345, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7787134796361448, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.718816315857327, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06662897805725582, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05284308239090226, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0166738709233003, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018555021682090684, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.062314107010343726, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11950092540831202, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0003612793518981671, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22231400355313136, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13432272515191182, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013097700050880116, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030066634835797034, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022106772356212147, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41688939129585423, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19962114188699476, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23445988730073453, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29131634350983576, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28679514624700486, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9051414172665084, + "balanced_accuracy": 0.9034070257979852, + "brier": 0.07802662541799694, + "confusion_matrix": [ + [ + 15.203125, + 1.796875 + ], + [ + 2.187185474806643, + 22.812814525193527 + ] + ], + "log_loss": 0.37271447260724727, + "macro_f1": 0.90192177291107, + "macro_precision": 0.9006073539395274, + "macro_recall": 0.903407025797984, + "roc_auc": 0.9501730283635077 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "mlp", + "name": "mlp_08", + "params": { + "activation": "tanh", + "alpha": 0.01, + "hidden_layer_sizes": [ + 16, + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03839220830308742 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.07247063973341394, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2922490680832819, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.834448016933787, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7761549835028633, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7820264526104611, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8029148334041633, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.0780999577817165, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15773304575165575, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4573134098330075, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31591633547986453, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3852903760484548, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8561194537140032, + "balanced_accuracy": 0.8623531354282539, + "brier": 0.10744612857207997, + "confusion_matrix": [ + [ + 4.03125, + 0.96875 + ], + [ + 0.32617491657397113, + 3.673825083426049 + ] + ], + "log_loss": 0.344954687746125, + "macro_f1": 0.8558921679603917, + "macro_precision": 0.8582392529529193, + "macro_recall": 0.8623531354282536, + "roc_auc": 0.9418171014669073 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.06396069514559445, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.278408643728021, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7795876034790801, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6970460272282284, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6776753247630829, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7466584652156205, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7120010898146761, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.18040679842911667, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07573005184984982, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15334343848552973, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3499559351853342, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.884263328744292, + "balanced_accuracy": 0.8891963708698627, + "brier": 0.09520905679203422, + "confusion_matrix": [ + [ + 3.734375, + 0.265625 + ], + [ + 0.7760050413013704, + 4.2239949586986185 + ] + ], + "log_loss": 0.3181885034531644, + "macro_f1": 0.8839197775690071, + "macro_precision": 0.8843935226654966, + "macro_recall": 0.8891963708698629, + "roc_auc": 0.9622812929234849 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.057116017770513464, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.2659930010435353, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8190718795294104, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7789057386177571, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7638838260065188, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8250073603679284, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7424161206531573, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7398492036732675, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.12981462572200753, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.203552359502856, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2928276845469741, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3537059573837654, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8990562439789415, + "balanced_accuracy": 0.894070307482451, + "brier": 0.08788356401950083, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.48600006021058684, + 5.5139999397893975 + ] + ], + "log_loss": 0.30312124140536567, + "macro_f1": 0.8946844355333049, + "macro_precision": 0.8953267289869423, + "macro_recall": 0.8940703074824512, + "roc_auc": 0.9592156115329772 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04137747113195644, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.2222047241277886, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8424555023290152, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8425448207392165, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8000408645451748, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7636877127530396, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7687772841824505, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7669857792312932, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7750065265901601, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7321864164306784, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7838957686244752, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.766835063670292, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.16398989276930118, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22324944157806736, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1279176538769426, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.097859286920676, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.93338391565564, + "balanced_accuracy": 0.9428218659589478, + "brier": 0.06442081359818679, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.7920001808210386, + 9.207999819178898 + ] + ], + "log_loss": 0.2452257621205636, + "macro_f1": 0.9219990444412782, + "macro_precision": 0.9073427085332662, + "macro_recall": 0.94282186595895, + "roc_auc": 0.9905412783428332 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8891238563759954, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05662682827294286, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.2596837036791933, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8190718795294104, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7789057386177571, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.7638838260065188, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.834448016933787, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.7761549835028633, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.7820264526104611, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8029148334041633, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7795876034790801, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8250073603679284, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7424161206531573, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7398492036732675, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8424555023290152, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.8425448207392165, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8000408645451748, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.7636877127530396, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.7687772841824505, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7669857792312932, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.7750065265901601, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6970460272282284, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7321864164306784, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.7838957686244752, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.766835063670292, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6776753247630829, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7466584652156205, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7120010898146761, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.18040679842911667, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12981462572200753, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07573005184984982, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0780999577817165, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16398989276930118, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22324944157806736, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15334343848552973, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3499559351853342, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.203552359502856, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15773304575165575, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1279176538769426, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.097859286920676, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4573134098330075, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2928276845469741, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31591633547986453, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3852903760484548, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3537059573837654, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8981281500260245, + "balanced_accuracy": 0.8965599989630375, + "brier": 0.08582437378206312, + "confusion_matrix": [ + [ + 15.1015625, + 1.8984375 + ], + [ + 2.380180198906967, + 22.619819801093232 + ] + ], + "log_loss": 0.29601575725083695, + "macro_f1": 0.894755789451823, + "macro_precision": 0.8932090569803148, + "macro_recall": 0.8965599989630371, + "roc_auc": 0.9619314210893969 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "extra_trees", + "name": "extra_trees_04_augmented", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.0236808233707864 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037139439588722886, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1678960933234184, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9424531336130343, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9034346866644997, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883036642166161, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9028733741452427, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.012728804117205634, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02186706913251569, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4373351911275332, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.180482487960592, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2742856409382329, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8897765135129568, + "balanced_accuracy": 0.8959204527020764, + "brier": 0.083165933586663, + "confusion_matrix": [ + [ + 4.203125, + 0.796875 + ], + [ + 0.19513637838338888, + 3.804863621616632 + ] + ], + "log_loss": 0.27520701487079013, + "macro_f1": 0.8895602532292991, + "macro_precision": 0.8912325236030507, + "macro_recall": 0.8959204527020764, + "roc_auc": 0.9628934484134569 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04201994043217161, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20202614113215855, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8255092969482896, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7248099189261726, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7077456865835102, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.776674082311482, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.754259720918614, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07964446625557238, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02096650323911003, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014315386808658867, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26332447316759705, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8578116635104528, + "balanced_accuracy": 0.8642179971594074, + "brier": 0.10564583505687866, + "confusion_matrix": [ + [ + 3.6875, + 0.3125 + ], + [ + 0.9671950284059243, + 4.032804971594065 + ] + ], + "log_loss": 0.3621718704274731, + "macro_f1": 0.8576020475302688, + "macro_precision": 0.8601470845261673, + "macro_recall": 0.8642179971594075, + "roc_auc": 0.9509905197097072 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02327804745982742, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14971918644071272, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9305055566818048, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8934350848223886, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8809082652774043, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9418202857783817, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8332460839060704, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8174076222758915, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04538088848627568, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1393980572683408, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1942866636548783, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2804314521473483, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9066638095691888, + "balanced_accuracy": 0.8981312996409905, + "brier": 0.06634694808854584, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.35523690430811206, + 5.6447630956918715 + ] + ], + "log_loss": 0.22270076902114763, + "macro_f1": 0.901812119081856, + "macro_precision": 0.9065235600663398, + "macro_recall": 0.8981312996409907, + "roc_auc": 0.9644690982708691 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010255065322588559, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09804033824301583, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9315016322631289, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.955240158548027, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9101700147205255, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8892218480755587, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8913292850650375, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8579524822216424, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8948641184546655, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8409702934305282, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9052378819100703, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8475029082133336, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05914206512516029, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.103920867754018, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03619364646491634, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018996422864128497, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.965943689269265, + "balanced_accuracy": 0.9691293324884854, + "brier": 0.03040200788520473, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.3830383502302884, + 9.61696164976962 + ] + ], + "log_loss": 0.12109829660821558, + "macro_f1": 0.9591460437767056, + "macro_precision": 0.9505222851029593, + "macro_recall": 0.9691293324884862, + "roc_auc": 0.9940833519954664 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9020301159045323, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025923471650061057, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14759658833117953, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9305055566818048, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8934350848223886, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8809082652774043, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9424531336130343, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9034346866644997, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883036642166161, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9028733741452427, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8255092969482896, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9418202857783817, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8332460839060704, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8174076222758915, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9315016322631289, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.955240158548027, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9101700147205255, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8892218480755587, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8913292850650375, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8579524822216424, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8948641184546655, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7248099189261726, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8409702934305282, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9052378819100703, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8475029082133336, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7077456865835102, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.776674082311482, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.754259720918614, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07964446625557238, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04538088848627568, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02096650323911003, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012728804117205634, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05914206512516029, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.103920867754018, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014315386808658867, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26332447316759705, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1393980572683408, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02186706913251569, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03619364646491634, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018996422864128497, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4373351911275332, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1942866636548783, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.180482487960592, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2742856409382329, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2804314521473483, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.912336746158864, + "balanced_accuracy": 0.909598160891093, + "brier": 0.06639055973976665, + "confusion_matrix": [ + [ + 15.21875, + 1.78125 + ], + [ + 1.9006066613277128, + 23.09939333867248 + ] + ], + "log_loss": 0.22997128120025864, + "macro_f1": 0.9091377917395134, + "macro_precision": 0.9086936427385284, + "macro_recall": 0.9095981608910926, + "roc_auc": 0.9658031868251225 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_05_canonical", + "params": { + "learning_rate": 0.1, + "max_depth": 2, + "min_samples_leaf": 5 + } + }, + "status": "ok", + "std_macro_f1": 0.0367138511801793 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04356483752054219, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1975785279199923, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9147298711243168, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8771987766345177, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8607462529441878, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8847412347147099, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.04507146883098852, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05965724091344115, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4499124233540098, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21030222171124585, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29123457291540855, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8844503795369341, + "balanced_accuracy": 0.8903191769790509, + "brier": 0.08586639997847838, + "confusion_matrix": [ + [ + 4.1875, + 0.8125 + ], + [ + 0.22744658416759353, + 3.7725534158324274 + ] + ], + "log_loss": 0.28676557444140793, + "macro_f1": 0.8842042339527829, + "macro_precision": 0.8856381865896723, + "macro_recall": 0.8903191769790509, + "roc_auc": 0.9584263327389589 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04535725505219788, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2189088783380287, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8091520586394719, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7104495285581046, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7086460654241351, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7844309575467632, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7512204138348344, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10958259989364917, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050156682224968815, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04724324885721105, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2791926036853397, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8661933979492535, + "balanced_accuracy": 0.873128745654328, + "brier": 0.09654605598170324, + "confusion_matrix": [ + [ + 3.7421875, + 0.2578125 + ], + [ + 0.9464469184567181, + 4.053553081543272 + ] + ], + "log_loss": 0.3156182650107366, + "macro_f1": 0.86603305353063, + "macro_precision": 0.8691709185750418, + "macro_recall": 0.8731287456543282, + "roc_auc": 0.9549453605455436 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02717677627816789, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1682376858726692, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9100955974431917, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8684864651661868, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8588040971629131, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9207575812583385, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.833320245923208, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8148400355174521, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07489813380601432, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15581537092700426, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20919341773967498, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2906150517014919, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9141426030602695, + "balanced_accuracy": 0.9053401900502245, + "brier": 0.06405831967073475, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.3038864693973055, + 5.696113530602678 + ] + ], + "log_loss": 0.22193262576312542, + "macro_f1": 0.9095608610682377, + "macro_precision": 0.915103833802334, + "macro_recall": 0.9053401900502245, + "roc_auc": 0.9699311325578236 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.015186841682370241, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12626885016029873, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8997626597749885, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9291755522474732, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8844555974027158, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8504271982750995, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8609474977180536, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8417808650486963, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8798072270627892, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8268215758344358, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8847363706015341, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8434949395477788, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09670404185095413, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1371070546501438, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06656369821927059, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05160796641507965, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9600460761240832, + "balanced_accuracy": 0.9626572532868581, + "brier": 0.035664943453734714, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.43435493426283345, + 9.565645065737082 + ] + ], + "log_loss": 0.14942238097040758, + "macro_f1": 0.9521382851455482, + "macro_precision": 0.9431537346937928, + "macro_recall": 0.9626572532868594, + "roc_auc": 0.9929575182020153 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9029841084242997, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0305876757021315, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17139350993554914, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9100955974431917, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8684864651661868, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8588040971629131, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9147298711243168, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8771987766345177, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8607462529441878, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8847412347147099, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8091520586394719, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9207575812583385, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.833320245923208, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8148400355174521, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8997626597749885, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9291755522474732, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8844555974027158, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8504271982750995, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8609474977180536, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8417808650486963, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8798072270627892, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7104495285581046, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8268215758344358, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8847363706015341, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8434949395477788, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7086460654241351, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7844309575467632, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7512204138348344, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10958259989364917, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07489813380601432, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050156682224968815, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04507146883098852, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09670404185095413, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1371070546501438, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04724324885721105, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2791926036853397, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15581537092700426, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05965724091344115, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06656369821927059, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05160796641507965, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4499124233540098, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20919341773967498, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21030222171124585, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29123457291540855, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2906150517014919, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9128063117551322, + "balanced_accuracy": 0.9102867136390171, + "brier": 0.06622867877860161, + "confusion_matrix": [ + [ + 15.25, + 1.75 + ], + [ + 1.9121349062844506, + 23.087865093715745 + ] + ], + "log_loss": 0.23173081300681572, + "macro_f1": 0.9096601852388178, + "macro_precision": 0.9090635735885335, + "macro_recall": 0.9102867136390166, + "roc_auc": 0.9662492886676171 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_11_canonical", + "params": { + "l2_regularization": 100.0, + "max_leaf_nodes": 15 + } + }, + "status": "ok", + "std_macro_f1": 0.0323166014124482 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033921660031880546, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1585064725001957, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9483963954625657, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9068153051719066, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.889987256423058, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9110764043660249, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.010856958245636273, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020514451939764627, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4222734263324287, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17687287595098714, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25258827013783636, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8889084579574013, + "balanced_accuracy": 0.8953345152020764, + "brier": 0.08224312823975805, + "confusion_matrix": [ + [ + 4.1875, + 0.8125 + ], + [ + 0.18732387838338888, + 3.812676121616632 + ] + ], + "log_loss": 0.2759962818432462, + "macro_f1": 0.8887154370264481, + "macro_precision": 0.890756201825647, + "macro_recall": 0.8953345152020764, + "roc_auc": 0.9629221901559458 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0397189722809462, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19339665416590196, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8171199152797722, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7261466386721444, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7272643038141634, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7831119473256897, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7516105412079006, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.061684041810210366, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015668779648718774, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004738184238831305, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2486655765585753, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8586110250636018, + "balanced_accuracy": 0.8651327350572415, + "brier": 0.11309647659542849, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.9678132744275831, + 4.032186725572407 + ] + ], + "log_loss": 0.421420877091184, + "macro_f1": 0.8584126555237583, + "macro_precision": 0.8610994352453604, + "macro_recall": 0.8651327350572418, + "roc_auc": 0.9517610404777472 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020693754998656146, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13877739659956745, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9377195049647308, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9041469848967086, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8797631205349054, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9484772858090978, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8533488980810221, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8402193697081947, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.03520581689764469, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13784901947047357, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18379131357336717, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2751398698685963, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9056969322401791, + "balanced_accuracy": 0.8963490060334824, + "brier": 0.06868811142368184, + "confusion_matrix": [ + [ + 3.3984375, + 0.6015625 + ], + [ + 0.34146817759820886, + 5.658531822401775 + ] + ], + "log_loss": 0.22734523856843275, + "macro_f1": 0.9006206066449567, + "macro_precision": 0.9063006237297344, + "macro_recall": 0.8963490060334827, + "roc_auc": 0.9635081124397792 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008275741595750957, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.08640198171738758, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9417366670616512, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9550306437063891, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9142949030223664, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9314588704302932, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8912860819169395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8768592479120929, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9075911014073912, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8494933767652986, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9193318597075832, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8517180457374272, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04710505742291626, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09058691280582556, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032853469009731726, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01507155739557067, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9662451184793931, + "balanced_accuracy": 0.969340332935575, + "brier": 0.029000116743924546, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.3788183412884966, + 9.621181658711413 + ] + ], + "log_loss": 0.11287748339082389, + "macro_f1": 0.9594956853407886, + "macro_precision": 0.9509728178786128, + "macro_recall": 0.9693403329355759, + "roc_auc": 0.9935805708171476 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9018110961339879, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02346580055101228, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.13725071071509476, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9377195049647308, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9041469848967086, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8797631205349054, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9483963954625657, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9068153051719066, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.889987256423058, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9110764043660249, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8171199152797722, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9484772858090978, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8533488980810221, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8402193697081947, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9417366670616512, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9550306437063891, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9142949030223664, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9314588704302932, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8912860819169395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8768592479120929, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9075911014073912, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7261466386721444, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8494933767652986, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9193318597075832, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8517180457374272, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7272643038141634, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7831119473256897, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7516105412079006, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.061684041810210366, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03520581689764469, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015668779648718774, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010856958245636273, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04710505742291626, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09058691280582556, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004738184238831305, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2486655765585753, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13784901947047357, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020514451939764627, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032853469009731726, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01507155739557067, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4222734263324287, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18379131357336717, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17687287595098714, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25258827013783636, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2751398698685963, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9121922935310077, + "balanced_accuracy": 0.9091827030366351, + "brier": 0.06787950457543908, + "confusion_matrix": [ + [ + 15.1875, + 1.8125 + ], + [ + 1.8754236716976767, + 23.124576328302517 + ] + ], + "log_loss": 0.24120218056108889, + "macro_f1": 0.9089403071832065, + "macro_precision": 0.9087024248108873, + "macro_recall": 0.9091827030366344, + "roc_auc": 0.964683881322887 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_08_canonical", + "params": { + "l2_regularization": 0.1, + "max_leaf_nodes": 15 + } + }, + "status": "ok", + "std_macro_f1": 0.036687361693236234 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": 150, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": 150, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": 150, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03634697293278182, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1677425249498162, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9386038617971928, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9030992657436621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8808891338804499, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9020375516540002, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.015501436792259314, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025062112582175174, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.429545501152205, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18083715891911756, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26851379659147045, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8862424942322745, + "balanced_accuracy": 0.892530618511309, + "brier": 0.08390765245271413, + "confusion_matrix": [ + [ + 4.1796875, + 0.8203125 + ], + [ + 0.20350505190952903, + 3.7964949480904915 + ] + ], + "log_loss": 0.2756078061243572, + "macro_f1": 0.886035900489976, + "macro_precision": 0.8879459504685469, + "macro_recall": 0.8925306185113089, + "roc_auc": 0.9612221840818499 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037792907367235944, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1898609610241956, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8301145338789124, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.742487137840943, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.736196386307155, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.799778851767749, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7616190925546733, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07381668762391078, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019786218200003012, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01248115901602122, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26918345336310184, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8707232589819591, + "balanced_accuracy": 0.8766196830837631, + "brier": 0.09906070149747931, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.8822406691623663, + 4.1177593308376235 + ] + ], + "log_loss": 0.3437981711673124, + "macro_f1": 0.8704686604227647, + "macro_precision": 0.8721574982169709, + "macro_recall": 0.8766196830837634, + "roc_auc": 0.9556432388145797 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022254118258705397, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14635148287396743, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9286743205002789, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.894558271860306, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8797663917229779, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9451683362468388, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.841817982563434, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8294484442569178, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.046594462782503066, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14239885123841461, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1875881677887032, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27771578779680345, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9075632318380965, + "balanced_accuracy": 0.8985552973650803, + "brier": 0.06580679646206264, + "confusion_matrix": [ + [ + 3.4140625, + 0.5859375 + ], + [ + 0.3384301816190364, + 5.661569818380947 + ] + ], + "log_loss": 0.22026726881132816, + "macro_f1": 0.9026455785121585, + "macro_precision": 0.9080122479084213, + "macro_recall": 0.8985552973650803, + "roc_auc": 0.9648111127987692 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.009877171439436158, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09687361319882923, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9321668393454813, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9493920665036875, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8989590778430548, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9144634399790523, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8813340205174549, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8655743563115325, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8967981776025674, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8452697081693001, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.909417381500656, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8512550232613869, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.059154277910527894, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10486169407551532, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03867463183012237, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022955854477063612, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9671358383574792, + "balanced_accuracy": 0.9687919618502352, + "brier": 0.029918774469964365, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.3507232629952927, + 9.649276737004614 + ] + ], + "log_loss": 0.12111276907597028, + "macro_f1": 0.9604430265409633, + "macro_precision": 0.9530502704270754, + "macro_recall": 0.9687919618502361, + "roc_auc": 0.9931793047380137 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9048982914914657, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02447810727236476, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14376611398308073, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9286743205002789, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.894558271860306, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8797663917229779, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9386038617971928, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9030992657436621, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8808891338804499, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9020375516540002, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8301145338789124, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9451683362468388, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.841817982563434, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8294484442569178, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9321668393454813, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9493920665036875, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8989590778430548, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9144634399790523, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8813340205174549, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8655743563115325, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8967981776025674, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.742487137840943, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8452697081693001, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.909417381500656, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8512550232613869, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.736196386307155, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.799778851767749, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7616190925546733, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07381668762391078, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046594462782503066, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019786218200003012, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.015501436792259314, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.059154277910527894, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10486169407551532, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01248115901602122, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26918345336310184, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14239885123841461, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025062112582175174, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03867463183012237, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022955854477063612, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.429545501152205, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1875881677887032, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18083715891911756, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26851379659147045, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27771578779680345, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9149577579598517, + "balanced_accuracy": 0.9116527519803934, + "brier": 0.06484871411313972, + "confusion_matrix": [ + [ + 15.203125, + 1.796875 + ], + [ + 1.7748991656862236, + 23.225100834313977 + ] + ], + "log_loss": 0.2255453631143308, + "macro_f1": 0.9117378872229689, + "macro_precision": 0.9118235760235667, + "macro_recall": 0.911652751980393, + "roc_auc": 0.9660523123730318 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_05_canonical", + "params": { + "l2_regularization": 1.0, + "max_leaf_nodes": 7 + } + }, + "status": "ok", + "std_macro_f1": 0.03402749475536642 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05283345009156874, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2238639234601365, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9050059777298566, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8567801726093897, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8473236634986232, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8625479691136596, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03580386150785575, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06616632846796384, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4535159743010396, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.263352749211404, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35081452947643266, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8757978257734932, + "balanced_accuracy": 0.88331942899518, + "brier": 0.08916693887378635, + "confusion_matrix": [ + [ + 4.078125, + 0.921875 + ], + [ + 0.19594456803856128, + 3.8040554319614595 + ] + ], + "log_loss": 0.29015114980418966, + "macro_f1": 0.8756825418539955, + "macro_precision": 0.8795438136743745, + "macro_recall": 0.8833194289951799, + "roc_auc": 0.9583337501919086 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0481701371790231, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2277445874987145, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8157132221191992, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7158322326632972, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.706965620399491, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7798513801748665, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7461434860749744, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13003830233156594, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0467580718312748, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06051269889266373, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31190149395848055, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8707666132958803, + "balanced_accuracy": 0.8754868269662922, + "brier": 0.08886214192186129, + "confusion_matrix": [ + [ + 3.671875, + 0.328125 + ], + [ + 0.8349754803370755, + 4.165024519662913 + ] + ], + "log_loss": 0.2921356058246238, + "macro_f1": 0.8703774312168049, + "macro_precision": 0.8708520465714333, + "macro_recall": 0.8754868269662923, + "roc_auc": 0.9603424689128772 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03292809443413136, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1882066024048634, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8841874265887903, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8544290196304397, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8401513919580355, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8985766468795022, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8147898797744938, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7955282288483373, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0745581964290688, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15665627845934696, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.222926045003045, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3208295157809533, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9178161339413275, + "balanced_accuracy": 0.9074249032844395, + "brier": 0.06685473317296359, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.24371366058672558, + 5.756286339413258 + ] + ], + "log_loss": 0.23175087392178967, + "macro_f1": 0.9130794173908452, + "macro_precision": 0.9211228653881955, + "macro_recall": 0.9074249032844396, + "roc_auc": 0.9688386858912208 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.019023928681841183, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1421735993041728, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8907681315053807, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.909223553242974, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8691325351987497, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8253215917962288, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8384633134303379, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8317310125261388, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8508315734414512, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8146516915002723, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8593660855920555, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8332656696712422, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0962865027446434, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15475399855513405, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06829036354794918, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0452628998736768, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9649981089686026, + "balanced_accuracy": 0.9655377387780215, + "brier": 0.038161937886049484, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3572139744395645, + 9.642786025560346 + ] + ], + "log_loss": 0.1605227174434327, + "macro_f1": 0.9578193137779216, + "macro_precision": 0.9509271050692222, + "macro_recall": 0.9655377387780226, + "roc_auc": 0.9937243529346529 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9042396760598919, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03582495788862897, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18897554792706459, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8841874265887903, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8544290196304397, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8401513919580355, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9050059777298566, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8567801726093897, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8473236634986232, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8625479691136596, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8157132221191992, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.8985766468795022, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8147898797744938, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7955282288483373, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8907681315053807, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.909223553242974, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8691325351987497, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8253215917962288, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8384633134303379, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8317310125261388, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8508315734414512, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7158322326632972, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8146516915002723, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8593660855920555, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8332656696712422, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.706965620399491, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7798513801748665, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7461434860749744, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.13003830233156594, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0745581964290688, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0467580718312748, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03580386150785575, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0962865027446434, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15475399855513405, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06051269889266373, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31190149395848055, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15665627845934696, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06616632846796384, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06829036354794918, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0452628998736768, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4535159743010396, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.222926045003045, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.263352749211404, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.35081452947643266, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3208295157809533, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9144574956332874, + "balanced_accuracy": 0.9096884139790206, + "brier": 0.06678752831655137, + "confusion_matrix": [ + [ + 15.0390625, + 1.9609375 + ], + [ + 1.6318476834019267, + 23.368152316598277 + ] + ], + "log_loss": 0.23346208533536372, + "macro_f1": 0.9109556006460393, + "macro_precision": 0.9123478330297721, + "macro_recall": 0.9096884139790201, + "roc_auc": 0.9686749695058535 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "extra_trees", + "name": "extra_trees_10_augmented", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 30 + } + }, + "status": "ok", + "std_macro_f1": 0.03503954959991719 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04137035589461919, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.185502343790068, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.933304018455706, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9038762445064255, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8889587725695727, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9021638790173828, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02877071634049157, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06367604820470261, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4350224941892151, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21139083822235077, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3129376324451562, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8784320541342231, + "balanced_accuracy": 0.8858923109010013, + "brier": 0.09106668680788474, + "confusion_matrix": [ + [ + 4.09375, + 0.90625 + ], + [ + 0.18786151279199104, + 3.8121384872080295 + ] + ], + "log_loss": 0.6839774576134539, + "macro_f1": 0.8783129133962728, + "macro_precision": 0.8820279743797916, + "macro_recall": 0.8858923109010011, + "roc_auc": 0.9535301573417075 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.032961697058033805, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.17790180541097145, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.879938382763313, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7432316651378501, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7775298110060633, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8363759789591091, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8093190914128352, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1019556540853444, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029947691904906162, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03681388820976852, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3017257158964032, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8791439983890865, + "balanced_accuracy": 0.8828311610501778, + "brier": 0.0851474616645091, + "confusion_matrix": [ + [ + 3.6640625, + 0.3359375 + ], + [ + 0.75176651449822, + 4.248233485501769 + ] + ], + "log_loss": 0.5554287587322383, + "macro_f1": 0.8786326737375783, + "macro_precision": 0.8782371821578034, + "macro_recall": 0.882831161050178, + "roc_auc": 0.9562723990949596 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02345941703610321, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14941675602032792, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9159440407354397, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9010436809442279, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8795945000782438, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9531128458028246, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8679564633623736, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8532059786987354, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06806753750361182, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1442098203835808, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21325318519602426, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3019105167781885, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9056042205130828, + "balanced_accuracy": 0.8933420587609022, + "brier": 0.06493223186221159, + "confusion_matrix": [ + [ + 3.328125, + 0.671875 + ], + [ + 0.27208279486917264, + 5.727917205130811 + ] + ], + "log_loss": 0.2574722230957146, + "macro_f1": 0.8998357592565445, + "macro_precision": 0.9097209653555804, + "macro_recall": 0.8933420587609022, + "roc_auc": 0.9710185922815023 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010562665525894707, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10225270515672498, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9271267436045164, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9464091251655956, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9094288751671475, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.872792882026427, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8868672809217812, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8772652237512023, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9054646619927196, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8494462735726299, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9018174544023496, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8635531149329052, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09665690987830097, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12388447056445417, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04931312164740655, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021554197667464137, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9560137894479467, + "balanced_accuracy": 0.9563190276135626, + "brier": 0.03474189105261398, + "confusion_matrix": [ + [ + 3.828125, + 0.171875 + ], + [ + 0.4439319477287453, + 9.556068052271169 + ] + ], + "log_loss": 0.1457958353789868, + "macro_f1": 0.9471704028590524, + "macro_precision": 0.9392082779159809, + "macro_recall": 0.9563190276135637, + "roc_auc": 0.9923399577228595 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9009879373123619, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025034761054700833, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14753197083825675, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9159440407354397, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9010436809442279, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8795945000782438, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.933304018455706, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9038762445064255, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8889587725695727, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9021638790173828, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.879938382763313, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9531128458028246, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8679564633623736, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8532059786987354, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9271267436045164, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9464091251655956, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9094288751671475, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.872792882026427, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8868672809217812, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8772652237512023, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9054646619927196, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7432316651378501, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8494462735726299, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9018174544023496, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8635531149329052, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7775298110060633, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8363759789591091, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8093190914128352, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1019556540853444, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06806753750361182, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029947691904906162, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02877071634049157, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09665690987830097, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12388447056445417, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03681388820976852, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3017257158964032, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1442098203835808, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06367604820470261, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04931312164740655, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021554197667464137, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4350224941892151, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21325318519602426, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21139083822235077, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3129376324451562, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3019105167781885, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.910914755478854, + "balanced_accuracy": 0.9055360416610612, + "brier": 0.06480086022881562, + "confusion_matrix": [ + [ + 14.9140625, + 2.0859375 + ], + [ + 1.655642769888128, + 23.34435723011208 + ] + ], + "log_loss": 0.3754885684136712, + "macro_f1": 0.9071749220598759, + "macro_precision": 0.9090272202554386, + "macro_recall": 0.9055360416610609, + "roc_auc": 0.9665482085189361 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "knn", + "name": "knn_05_canonical", + "params": { + "n_neighbors": 21, + "p": 1, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.028053797235565205 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03360620274622772, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15633134395962336, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9575563423463487, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9154581105666973, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.89148070002637, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9043635108268812, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.010377357682387945, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023207928774100287, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4234243218720203, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1637364293421393, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25659341551763193, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8923168232192147, + "balanced_accuracy": 0.8979970511216168, + "brier": 0.08244216688169309, + "confusion_matrix": [ + [ + 4.234375, + 0.765625 + ], + [ + 0.20352359102706705, + 3.7964764089729535 + ] + ], + "log_loss": 0.2796249902513517, + "macro_f1": 0.8920612947571954, + "macro_precision": 0.8931583837608084, + "macro_recall": 0.8979970511216167, + "roc_auc": 0.9627795975925215 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039975790844083245, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19316244952960218, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8271392883027092, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7090985415281663, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7132432891219331, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7945875360252175, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7645291347543133, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06336394492806029, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012448907043581077, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.006355992507549686, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24738037511832348, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8555223006169587, + "balanced_accuracy": 0.8637200705552626, + "brier": 0.10666313292208944, + "confusion_matrix": [ + [ + 3.75, + 0.25 + ], + [ + 1.050299294447372, + 3.9497007055526177 + ] + ], + "log_loss": 0.4000908050929264, + "macro_f1": 0.8554511319428706, + "macro_precision": 0.8608366191104109, + "macro_recall": 0.8637200705552628, + "roc_auc": 0.9501753878690319 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021742284740383793, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1427477864337053, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9337986514677569, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9028384626580798, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8862709660842133, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9504980691383607, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8465794034852167, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8266032898776056, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.03426461781326808, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1475903129440249, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19604694563254926, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2705909501191392, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9010413254226141, + "balanced_accuracy": 0.891818292018845, + "brier": 0.07059331908369407, + "confusion_matrix": [ + [ + 3.3828125, + 0.6171875 + ], + [ + 0.37239924577385913, + 5.627600754226124 + ] + ], + "log_loss": 0.23589139693283853, + "macro_f1": 0.8957901117175363, + "macro_precision": 0.9009994723095476, + "macro_recall": 0.8918182920188451, + "roc_auc": 0.9600517207139692 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.00930554620981027, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09272296917156451, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9221991889432639, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9542331530106851, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9107090900058601, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9048997282167035, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8892692705511394, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8617361892931372, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.904130550031306, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8561594987765715, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9215734542821717, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8438680570216031, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.04990388877876101, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09760545196221482, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032313643238393405, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016267468405984024, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9629877523215978, + "balanced_accuracy": 0.9670601766251183, + "brier": 0.03236004159690058, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.4244214674976308, + 9.575578532502279 + ] + ], + "log_loss": 0.12294300840878189, + "macro_f1": 0.9557277097549726, + "macro_precision": 0.9461503885274163, + "macro_recall": 0.9670601766251192, + "roc_auc": 0.9929999640817562 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8997575620431437, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024046153253666203, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1397867517652854, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9337986514677569, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9028384626580798, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8862709660842133, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9575563423463487, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9154581105666973, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.89148070002637, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9043635108268812, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8271392883027092, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9504980691383607, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8465794034852167, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8266032898776056, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9221991889432639, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9542331530106851, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9107090900058601, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9048997282167035, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8892692705511394, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8617361892931372, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.904130550031306, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7090985415281663, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8561594987765715, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9215734542821717, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8438680570216031, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7132432891219331, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7945875360252175, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7645291347543133, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06336394492806029, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03426461781326808, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012448907043581077, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.010377357682387945, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04990388877876101, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09760545196221482, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.006355992507549686, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24738037511832348, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1475903129440249, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023207928774100287, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.032313643238393405, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016267468405984024, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4234243218720203, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19604694563254926, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1637364293421393, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.25659341551763193, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2705909501191392, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9100665214584303, + "balanced_accuracy": 0.9082058780250817, + "brier": 0.06811717789113313, + "confusion_matrix": [ + [ + 15.2734375, + 1.7265625 + ], + [ + 2.0506435987459275, + 22.94935640125426 + ] + ], + "log_loss": 0.2427990058369008, + "macro_f1": 0.9069588341208225, + "macro_precision": 0.9058304613985053, + "macro_recall": 0.908205878025081, + "roc_auc": 0.962759779787224 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "gradient_boosting", + "name": "gradient_boosting_11_canonical", + "params": { + "learning_rate": 0.1, + "max_depth": 3, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.03595375632439971 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.047085360689420236, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2054440244542598, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9229114969851536, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.884721887909137, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8720156778682593, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8874072422267297, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.036827099563113606, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07258819370702956, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42910026388016215, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2442939751404379, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3536206810781076, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8742693141556461, + "balanced_accuracy": 0.882576415925102, + "brier": 0.09294161255694901, + "confusion_matrix": [ + [ + 4.0390625, + 0.9609375 + ], + [ + 0.17063867259918422, + 3.8293613274008367 + ] + ], + "log_loss": 0.41112744224976594, + "macro_f1": 0.8742010183827309, + "macro_precision": 0.8794323147269656, + "macro_recall": 0.882576415925102, + "roc_auc": 0.9544152517463702 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03686813076254583, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19194371930422674, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8752228849254637, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7513645118982433, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.743117834243515, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8128940772880886, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7916657294000128, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11401513042903262, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036795569224917446, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04594336245677415, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3058755373248626, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8843000467694502, + "balanced_accuracy": 0.8878622295925052, + "brier": 0.08328179887619835, + "confusion_matrix": [ + [ + 3.6796875, + 0.3203125 + ], + [ + 0.7209870790749471, + 4.279012920925042 + ] + ], + "log_loss": 0.26763057385837263, + "macro_f1": 0.8837846950785758, + "macro_precision": 0.8832605265982789, + "macro_recall": 0.8878622295925053, + "roc_auc": 0.9623931164068621 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.028601168299523326, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16947672335845768, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9077724385653676, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8811259599407717, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8415209675883133, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9298119082200589, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8571036015904404, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8347860794340174, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.07675639904162279, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14994233561722353, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2208169347249031, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3293681266797139, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9125841523328946, + "balanced_accuracy": 0.9007862727774121, + "brier": 0.06751459464073425, + "confusion_matrix": [ + [ + 3.3671875, + 0.6328125 + ], + [ + 0.24134597667105406, + 5.758654023328929 + ] + ], + "log_loss": 0.2271251736030365, + "macro_f1": 0.907281475976677, + "macro_precision": 0.9170545107133323, + "macro_recall": 0.9007862727774122, + "roc_auc": 0.9659629676764266 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014112811716930015, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11947048113245894, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9187758039118318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9406917283293875, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.898970435387608, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8374102586431628, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8646934390012886, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8651322190648657, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8861847041282004, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8274634914611023, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8860610227137394, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8576223743211546, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10740259136042049, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1498585626406316, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05796194596888679, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03156267438074864, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9676258509539882, + "balanced_accuracy": 0.9673771581677917, + "brier": 0.035764259608473396, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3204255866441649, + 9.679574413355741 + ] + ], + "log_loss": 0.14166985610929397, + "macro_f1": 0.9608834700759794, + "macro_precision": 0.9549736677485055, + "macro_recall": 0.9673771581677924, + "roc_auc": 0.9922027590987116 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9065376648784907, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02950410643095115, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1653296110301281, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9077724385653676, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8811259599407717, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8415209675883133, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9229114969851536, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.884721887909137, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8720156778682593, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8874072422267297, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8752228849254637, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9298119082200589, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8571036015904404, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8347860794340174, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9187758039118318, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9406917283293875, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.898970435387608, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8374102586431628, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8646934390012886, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8651322190648657, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8861847041282004, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7513645118982433, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8274634914611023, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8860610227137394, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8576223743211546, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.743117834243515, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8128940772880886, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7916657294000128, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.11401513042903262, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07675639904162279, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036795569224917446, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036827099563113606, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10740259136042049, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1498585626406316, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04594336245677415, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3058755373248626, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14994233561722353, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07258819370702956, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05796194596888679, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03156267438074864, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42910026388016215, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2208169347249031, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2442939751404379, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3536206810781076, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3293681266797139, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.916660182976444, + "balanced_accuracy": 0.9107298478178603, + "brier": 0.06575848294819753, + "confusion_matrix": [ + [ + 14.953125, + 2.046875 + ], + [ + 1.45339731498935, + 23.546602685010857 + ] + ], + "log_loss": 0.24674885396508875, + "macro_f1": 0.9130188143190124, + "macro_precision": 0.9157185063230918, + "macro_recall": 0.9107298478178599, + "roc_auc": 0.9668471395043782 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.03360571431624668 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 7 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 7 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 7 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 7 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.043531058338535114, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20768473980911678, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8917074364795601, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8245585582237365, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8379715882369454, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8367935285300991, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.035963856459255435, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07497502276573911, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39889634358401393, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20893003027641063, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29444572370166505, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8850268302228813, + "balanced_accuracy": 0.8894051840007418, + "brier": 0.08625259014185471, + "confusion_matrix": [ + [ + 4.25, + 0.75 + ], + [ + 0.2847585279940675, + 3.7152414720059532 + ] + ], + "log_loss": 0.29648068991480425, + "macro_f1": 0.8846194847505484, + "macro_precision": 0.8846206598267314, + "macro_recall": 0.8894051840007416, + "roc_auc": 0.9539435955043362 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.045188791913994476, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21923768785430306, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8524747175127797, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7060874262817316, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7171174828197833, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7985586240402974, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7557926870574938, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1349944622359602, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04610705841952836, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0691073212247515, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3052659030691567, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8708603017300435, + "balanced_accuracy": 0.8779148965570391, + "brier": 0.09659588865322843, + "confusion_matrix": [ + [ + 3.765625, + 0.234375 + ], + [ + 0.9278822844296075, + 4.072117715570382 + ] + ], + "log_loss": 0.3281860622394279, + "macro_f1": 0.8707103612084084, + "macro_precision": 0.8739407490537592, + "macro_recall": 0.8779148965570391, + "roc_auc": 0.9488524546271144 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03515324961070254, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1963264598533338, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.8980451055816953, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8345310865219964, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8198752266363324, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9181381435705058, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7918459093227057, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7788924705827234, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.08558591189124375, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18707116986228484, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22847087130327703, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2964376187218985, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9052843757208114, + "balanced_accuracy": 0.9012135422673427, + "brier": 0.07725962255232736, + "confusion_matrix": [ + [ + 3.5234375, + 0.4765625 + ], + [ + 0.4705937427918857, + 5.529406257208098 + ] + ], + "log_loss": 0.2687202651786166, + "macro_f1": 0.9013133115492797, + "macro_precision": 0.9014137999263703, + "macro_recall": 0.9012135422673428, + "roc_auc": 0.955555195123875 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022940104904551128, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.15518240990132295, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9403669293862166, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9244571043769518, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8514566068915462, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8106470521877649, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8260166141887125, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7986098541638712, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.840333734418247, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7874254328682423, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.84189619019459, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8160520187736835, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12163420650556109, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17129285459180493, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08165503701093996, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0532178906962323, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.933156967344283, + "balanced_accuracy": 0.9432489396409978, + "brier": 0.05139673471781892, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.8029899571800392, + 9.197010042819896 + ] + ], + "log_loss": 0.18327884082587248, + "macro_f1": 0.9218270748043029, + "macro_precision": 0.9069124052882231, + "macro_recall": 0.9432489396409999, + "roc_auc": 0.9904640388796417 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.8946175580781348, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03502791945341684, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.18995524252672946, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.8980451055816953, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8345310865219964, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8198752266363324, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.8917074364795601, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8245585582237365, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8379715882369454, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8367935285300991, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8524747175127797, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9181381435705058, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.7918459093227057, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.7788924705827234, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9403669293862166, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9244571043769518, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8514566068915462, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8106470521877649, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8260166141887125, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.7986098541638712, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.840333734418247, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7060874262817316, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7874254328682423, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.84189619019459, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8160520187736835, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7171174828197833, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7985586240402974, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7557926870574938, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1349944622359602, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08558591189124375, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04610705841952836, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035963856459255435, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12163420650556109, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17129285459180493, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0691073212247515, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3052659030691567, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18707116986228484, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07497502276573911, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08165503701093996, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0532178906962323, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.39889634358401393, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22847087130327703, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20893003027641063, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29444572370166505, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2964376187218985, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9028577497048667, + "balanced_accuracy": 0.9034005097520884, + "brier": 0.07470921001734493, + "confusion_matrix": [ + [ + 15.40625, + 1.59375 + ], + [ + 2.4862245123955993, + 22.513775487604594 + ] + ], + "log_loss": 0.25893112363658266, + "macro_f1": 0.8999938012949031, + "macro_precision": 0.8974681476911186, + "macro_recall": 0.9034005097520879, + "roc_auc": 0.9624317714001903 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "logreg", + "name": "logreg_legacy_hyperparameters_augmented", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + "status": "ok", + "std_macro_f1": 0.01908341195547604 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0511650656516289, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.21964682955945725, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9152987825622532, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8719608898743993, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8579123733877438, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8768145467889347, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.041534163603084026, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0907771186175152, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4349910980656768, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.257991269671612, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36852599467946434, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8637369067482388, + "balanced_accuracy": 0.8726805825917687, + "brier": 0.0967135521469083, + "confusion_matrix": [ + [ + 3.9609375, + 1.0390625 + ], + [ + 0.18730533926585088, + 3.81269466073417 + ] + ], + "log_loss": 0.31160081499368886, + "macro_f1": 0.8636999274626412, + "macro_precision": 0.8703424827324879, + "macro_recall": 0.8726805825917687, + "roc_auc": 0.9519382622492147 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038532135528358755, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1998932123477456, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8720853403900523, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7591790937562525, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7407768859509613, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8058588863707294, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7928640417847628, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1288263670896292, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04136888457951651, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07331840537413001, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3177364389684174, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8872118180004962, + "balanced_accuracy": 0.8897015737004466, + "brier": 0.08212679075890132, + "confusion_matrix": [ + [ + 3.6484375, + 0.3515625 + ], + [ + 0.6635311379955333, + 4.336468862004455 + ] + ], + "log_loss": 0.267198509671461, + "macro_f1": 0.8865487766192739, + "macro_precision": 0.8855636237885149, + "macro_recall": 0.8897015737004466, + "roc_auc": 0.9621254630725465 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.031930448523448625, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.18227209885778786, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9033405437486759, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8652580258262382, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8343905413753333, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9210552895399932, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8399744556871303, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8220342933189582, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.09060352031234861, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15568896850027264, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23684341102283316, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3351484049106601, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9094000661984408, + "balanced_accuracy": 0.8971563051653673, + "brier": 0.06989560654464623, + "confusion_matrix": [ + [ + 3.34375, + 0.65625 + ], + [ + 0.24974933801559188, + 5.750250661984391 + ] + ], + "log_loss": 0.23454746198406928, + "macro_f1": 0.9038306639112427, + "macro_precision": 0.9140323340412324, + "macro_recall": 0.8971563051653674, + "roc_auc": 0.9660986491113193 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01672931900050695, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.13187958315822493, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9098325235058502, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9327156026261814, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8854592402539743, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8289314736583416, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8517563971800406, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8513606992539033, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8716543350076362, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8202721035169331, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.874862905307897, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8506260678059022, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.12218892289881204, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16528564306299057, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06807798447148228, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03832217338953465, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9672403074822136, + "balanced_accuracy": 0.9641775902375493, + "brier": 0.03964979052877449, + "confusion_matrix": [ + [ + 3.828125, + 0.171875 + ], + [ + 0.2867606952490104, + 9.713239304750896 + ] + ], + "log_loss": 0.1557574087674082, + "macro_f1": 0.9602089508973137, + "macro_precision": 0.9564620639107018, + "macro_recall": 0.9641775902375502, + "roc_auc": 0.9914061400321615 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9035720797226179, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03239975623479696, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.17725941737994888, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9033405437486759, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8652580258262382, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8343905413753333, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9152987825622532, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8719608898743993, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8579123733877438, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8768145467889347, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8720853403900523, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9210552895399932, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8399744556871303, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8220342933189582, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9098325235058502, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9327156026261814, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8854592402539743, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8289314736583416, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8517563971800406, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8513606992539033, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8716543350076362, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7591790937562525, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8202721035169331, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.874862905307897, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8506260678059022, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7407768859509613, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8058588863707294, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7928640417847628, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1288263670896292, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09060352031234861, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04136888457951651, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.041534163603084026, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12218892289881204, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16528564306299057, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07331840537413001, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3177364389684174, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15568896850027264, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0907771186175152, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06807798447148228, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03832217338953465, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4349910980656768, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23684341102283316, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.257991269671612, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.36852599467946434, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3351484049106601, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9141405592731908, + "balanced_accuracy": 0.906995716848304, + "brier": 0.06818133854765694, + "confusion_matrix": [ + [ + 14.78125, + 2.21875 + ], + [ + 1.3873465105259861, + 23.612653489474223 + ] + ], + "log_loss": 0.2317921967754942, + "macro_f1": 0.9101687506579095, + "macro_precision": 0.9141507406455888, + "macro_recall": 0.9069957168483037, + "roc_auc": 0.9660992500782005 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "knn", + "name": "knn_10_augmented", + "params": { + "n_neighbors": 101, + "p": 2, + "weights": "distance" + } + }, + "status": "ok", + "std_macro_f1": 0.035662947917386126 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04672438094223434, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.20122461332053476, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9278220880072873, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8784620620023081, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.863886444325894, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.881012156466706, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.027260552395785762, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038401749042624805, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44446489420265023, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24177441069216424, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3311065693854872, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8758876246240679, + "balanced_accuracy": 0.8832251402020764, + "brier": 0.08651711761561841, + "confusion_matrix": [ + [ + 4.0859375, + 0.9140625 + ], + [ + 0.20294887838338888, + 3.797051121616632 + ] + ], + "log_loss": 0.2821745483202449, + "macro_f1": 0.8757596181640672, + "macro_precision": 0.8793288442763605, + "macro_recall": 0.8832251402020764, + "roc_auc": 0.9597425314422708 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042674295396903136, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20676081210185673, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8346556148006434, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7154045663920321, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7141281366076657, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7986199215667208, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7601552135938889, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10198281742606147, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03085134482627988, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02839458356918327, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28943842054133184, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8713979347723328, + "balanced_accuracy": 0.8764456412950995, + "brier": 0.09006225021530705, + "confusion_matrix": [ + [ + 3.6875, + 0.3125 + ], + [ + 0.844918587049003, + 4.155081412950986 + ] + ], + "log_loss": 0.2959781795791518, + "macro_f1": 0.8710498770935609, + "macro_precision": 0.8718174613807812, + "macro_recall": 0.8764456412950996, + "roc_auc": 0.9598588857715902 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02728515641161523, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16673989796340766, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9011468030964823, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8785189644621861, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8622736056383321, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9184202843781709, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8397554971205609, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8133718789951225, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.059216129754787517, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14953434771621538, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20511507457960532, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3070025026530342, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9203562594134382, + "balanced_accuracy": 0.9085651120111985, + "brier": 0.0630217785362979, + "confusion_matrix": [ + [ + 3.3984375, + 0.6015625 + ], + [ + 0.19487490586561795, + 5.8051250941343655 + ] + ], + "log_loss": 0.21558012704946758, + "macro_f1": 0.9154595540518884, + "macro_precision": 0.9259356551731153, + "macro_recall": 0.9085651120111986, + "roc_auc": 0.9701160014180847 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013175205990198908, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11562123278192438, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9105023260557599, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9289062805328019, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8934274258543893, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8602600600775276, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8677750492024767, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8546411983975408, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.878015093215703, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8425047267199831, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8849609779505379, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8491723368820608, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07138637959403389, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13144929666525823, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05345362416266625, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031478377046982545, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9720290939200905, + "balanced_accuracy": 0.9716313032440632, + "brier": 0.03186508847517875, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.2744051851187324, + 9.72559481488117 + ] + ], + "log_loss": 0.13366876128393299, + "macro_f1": 0.9661297824436813, + "macro_precision": 0.9610435678359716, + "macro_recall": 0.9716313032440638, + "roc_auc": 0.9946042336276855 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9070997079382995, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030045060357885102, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16566583493767956, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9011468030964823, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8785189644621861, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8622736056383321, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9278220880072873, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8784620620023081, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.863886444325894, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.881012156466706, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8346556148006434, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9184202843781709, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8397554971205609, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8133718789951225, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9105023260557599, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9289062805328019, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8934274258543893, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8602600600775276, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8677750492024767, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8546411983975408, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.878015093215703, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7154045663920321, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8425047267199831, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8849609779505379, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8491723368820608, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7141281366076657, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7986199215667208, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7601552135938889, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10198281742606147, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.059216129754787517, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03085134482627988, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027260552395785762, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07138637959403389, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13144929666525823, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02839458356918327, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28943842054133184, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14953434771621538, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.038401749042624805, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05345362416266625, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031478377046982545, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44446489420265023, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20511507457960532, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24177441069216424, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3311065693854872, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3070025026530342, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9175604748472204, + "balanced_accuracy": 0.9124419753422537, + "brier": 0.06346531748794788, + "confusion_matrix": [ + [ + 15.0546875, + 1.9453125 + ], + [ + 1.5171475564167416, + 23.482852443583464 + ] + ], + "log_loss": 0.21977472570391213, + "macro_f1": 0.9141014531276347, + "macro_precision": 0.9159739808230685, + "macro_recall": 0.9124419753422532, + "roc_auc": 0.9691719084098912 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "extra_trees", + "name": "extra_trees_09_augmented", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.038197605468618785 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "iterations": [ + 1259 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "iterations": [ + 1400 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "iterations": [ + 1316 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "iterations": [ + 1342 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0314251257435553, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15332230349923698, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9427097633812275, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9015614780273087, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8944055757449442, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9000437330292848, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01022681176209312, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01825523865598108, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40415354016656047, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1611689076109778, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24281482225068862, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8941167912907346, + "balanced_accuracy": 0.9000220152020765, + "brier": 0.07574989724231829, + "confusion_matrix": [ + [ + 4.234375, + 0.765625 + ], + [ + 0.18732387838338888, + 3.812676121616632 + ] + ], + "log_loss": 0.2877404986715539, + "macro_f1": 0.8938838204973816, + "macro_precision": 0.8952031269311813, + "macro_recall": 0.9000220152020765, + "roc_auc": 0.963469320883519 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038310751501231914, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18892160494225402, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8182359956596444, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7045275688838408, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7330411093475615, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7911934631045923, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7737247464284268, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06489750936172416, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009170352271861207, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.007251296850812489, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2324619964034459, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8612612561230812, + "balanced_accuracy": 0.8681038805107728, + "brier": 0.10879782081041547, + "confusion_matrix": [ + [ + 3.71875, + 0.28125 + ], + [ + 0.967398694892269, + 4.032601305107721 + ] + ], + "log_loss": 0.6597931608067146, + "macro_f1": 0.8610923330100766, + "macro_precision": 0.8641825690371702, + "macro_recall": 0.868103880510773, + "roc_auc": 0.9440000312106369 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.019827259958195488, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13595044562282377, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9379170460695503, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9078930963051179, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8792784431491174, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.949876438573047, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8504566377019449, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8286433833758035, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.037156086028701636, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1187067451959327, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18246081843272755, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2614544614094766, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9219114153129248, + "balanced_accuracy": 0.913441804427437, + "brier": 0.06054001914337026, + "confusion_matrix": [ + [ + 3.484375, + 0.515625 + ], + [ + 0.265260846870754, + 5.7347391531292295 + ] + ], + "log_loss": 0.2185778913239603, + "macro_f1": 0.9177459563563577, + "macro_precision": 0.923380855511913, + "macro_recall": 0.9134418044274373, + "roc_auc": 0.9646520927071107 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.007535821616066757, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.08276057158517504, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9376844434734901, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9705064714255037, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9229642266920765, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9019514164945629, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9104044464822241, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8932097366939348, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9215310200865217, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8506542874812181, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.922620331955977, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8735255163316408, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06370586253158014, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10122560254541031, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02933439361665284, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012583730989933059, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9723508788004119, + "balanced_accuracy": 0.9700987401602883, + "brier": 0.02510875341928091, + "confusion_matrix": [ + [ + 3.859375, + 0.140625 + ], + [ + 0.24646269679423222, + 9.75353730320567 + ] + ], + "log_loss": 0.10374109042502613, + "macro_f1": 0.9663942305793796, + "macro_precision": 0.9628798447420361, + "macro_recall": 0.9700987401602889, + "roc_auc": 0.9926736433733072 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.909779085110799, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.022176118985951773, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1332939912950978, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9379170460695503, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9078930963051179, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8792784431491174, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9427097633812275, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9015614780273087, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8944055757449442, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9000437330292848, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8182359956596444, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.949876438573047, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8504566377019449, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8286433833758035, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9376844434734901, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9705064714255037, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9229642266920765, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9019514164945629, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9104044464822241, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8932097366939348, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9215310200865217, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7045275688838408, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8506542874812181, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.922620331955977, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8735255163316408, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7330411093475615, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7911934631045923, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7737247464284268, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06489750936172416, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037156086028701636, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.009170352271861207, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01022681176209312, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06370586253158014, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10122560254541031, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.007251296850812489, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2324619964034459, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1187067451959327, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01825523865598108, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02933439361665284, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012583730989933059, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40415354016656047, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18246081843272755, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1611689076109778, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.24281482225068862, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2614544614094766, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9197721162633179, + "balanced_accuracy": 0.9165791658964815, + "brier": 0.06232981432805331, + "confusion_matrix": [ + [ + 15.296875, + 1.703125 + ], + [ + 1.6664461169406437, + 23.33355388305955 + ] + ], + "log_loss": 0.2896656455831996, + "macro_f1": 0.9167229581826263, + "macro_precision": 0.9168683022246269, + "macro_recall": 0.9165791658964808, + "roc_auc": 0.965810895980103 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_11_canonical", + "params": { + "C": 100.0, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.038379047021518155 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 611 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 732 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 623 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 525 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.041608398523799384, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18485342207003963, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9320417266192887, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8804054773971655, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8815521361948793, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8825293075695302, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.01711945261535385, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02137911391128302, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4262716126043578, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2165826250578875, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31362316014263114, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8766658813290488, + "balanced_accuracy": 0.88410067899518, + "brier": 0.08496351460992507, + "confusion_matrix": [ + [ + 4.0859375, + 0.9140625 + ], + [ + 0.19594456803856128, + 3.8040554319614595 + ] + ], + "log_loss": 0.28052033746398725, + "macro_f1": 0.8765447770894295, + "macro_precision": 0.8802520610404418, + "macro_recall": 0.8841006789951799, + "roc_auc": 0.9576480816539498 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03989066721276899, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1959727513567366, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8345495461735722, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7132541952822947, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7255995040652078, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8071251550278393, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7613149974576755, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08599865314023208, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019876844661437805, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014848527933778805, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2682178055461496, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8670294775275605, + "balanced_accuracy": 0.8727093422748045, + "brier": 0.09623324849997078, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.8920472022519539, + 4.107952797748036 + ] + ], + "log_loss": 0.3496111619252975, + "macro_f1": 0.8667493682236598, + "macro_precision": 0.8682467753523172, + "macro_recall": 0.8727093422748046, + "roc_auc": 0.954329402029886 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023997684268429527, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15176451647119468, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9322931927326964, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8858759112220803, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.866409633352234, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9439677407979358, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8498888826713888, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8238590849562368, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05210033034389328, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1436431726657546, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1807268178145194, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30300720372841594, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9267009074255592, + "balanced_accuracy": 0.9161309645212992, + "brier": 0.06017117255411526, + "confusion_matrix": [ + [ + 3.453125, + 0.546875 + ], + [ + 0.18611592574440872, + 5.813884074255575 + ] + ], + "log_loss": 0.21422351169051285, + "macro_f1": 0.9223747075048314, + "macro_precision": 0.9314411062348921, + "macro_recall": 0.9161309645212994, + "roc_auc": 0.9661799011628994 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010130341381986763, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09893092114675135, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9279336185316145, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9587823842783187, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9051075047919778, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8661860411083028, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8864575133405155, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8687561023914596, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9020468126011943, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8557962719760391, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9092768903101156, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8695775154980645, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06625860178033664, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12409533205098272, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0438171099628923, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023762658130573655, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9784120514785661, + "balanced_accuracy": 0.9755134360349962, + "brier": 0.02649473085436686, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.17723127930007293, + 9.822768720699825 + ] + ], + "log_loss": 0.11543603540292, + "macro_f1": 0.9736575065640987, + "macro_precision": 0.9718488271996178, + "macro_recall": 0.9755134360349966, + "roc_auc": 0.9941809150489883 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9098315898455047, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026554600325267273, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15071699099065364, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9322931927326964, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8858759112220803, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.866409633352234, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9320417266192887, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8804054773971655, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8815521361948793, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8825293075695302, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8345495461735722, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9439677407979358, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8498888826713888, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8238590849562368, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9279336185316145, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9587823842783187, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9051075047919778, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8661860411083028, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8864575133405155, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8687561023914596, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9020468126011943, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7132541952822947, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8557962719760391, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9092768903101156, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8695775154980645, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7255995040652078, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8071251550278393, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7613149974576755, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08599865314023208, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05210033034389328, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019876844661437805, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01711945261535385, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06625860178033664, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12409533205098272, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014848527933778805, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2682178055461496, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1436431726657546, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02137911391128302, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0438171099628923, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023762658130573655, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4262716126043578, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1807268178145194, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2165826250578875, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.31362316014263114, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30300720372841594, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9204294291586905, + "balanced_accuracy": 0.9153666028462415, + "brier": 0.061985924416460746, + "confusion_matrix": [ + [ + 15.109375, + 1.890625 + ], + [ + 1.451338975334996, + 23.548661024665208 + ] + ], + "log_loss": 0.22451245492975164, + "macro_f1": 0.9170815963255612, + "macro_precision": 0.9190217148791661, + "macro_recall": 0.915366602846241, + "roc_auc": 0.9673219113313335 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "polynomial_logreg", + "name": "polynomial_logreg_10_augmented", + "params": { + "C": 10.0, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.04241216561588308 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "iterations": 374, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "iterations": 272, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "iterations": 281, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "iterations": 265, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04064416796011747, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18300346515101207, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9293848756896119, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8882782095310838, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8818515686242014, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8936331720918249, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02391650935934777, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029563460610079802, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42582490398834966, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21405933522613113, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3073468041170694, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8800203029085815, + "balanced_accuracy": 0.8867025282721543, + "brier": 0.08409694550078092, + "confusion_matrix": [ + [ + 4.1328125, + 0.8671875 + ], + [ + 0.21262977382276593, + 3.787370226177255 + ] + ], + "log_loss": 0.2761119058748193, + "macro_f1": 0.8798432863104712, + "macro_precision": 0.8823795003277434, + "macro_recall": 0.8867025282721543, + "roc_auc": 0.9605343298652146 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0420091753892188, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2015622802414311, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.848683512728846, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.688117611848146, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.720063658251232, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7999580359507802, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7574684247585963, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08442516777393046, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02609489159893639, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01811221156105871, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26939926282992305, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8692199568995269, + "balanced_accuracy": 0.8760479612095742, + "brier": 0.09786287977342861, + "confusion_matrix": [ + [ + 3.75, + 0.25 + ], + [ + 0.9270203879042564, + 4.0729796120957324 + ] + ], + "log_loss": 0.3566390401813049, + "macro_f1": 0.8690513146677303, + "macro_precision": 0.8719810223457057, + "macro_recall": 0.8760479612095742, + "roc_auc": 0.9515355350375263 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02547446269870083, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1599453669453213, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9171751699019857, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8777480847144167, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8603827441475218, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9294560221493723, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.839663070136071, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8202278387368545, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.061967465595736564, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14442969210880485, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18889673838416549, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3001031009534756, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.921077324228253, + "balanced_accuracy": 0.9107936035235442, + "brier": 0.061206914937576684, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 0.22672675771746978, + 5.773273242282514 + ] + ], + "log_loss": 0.21322795309582485, + "macro_f1": 0.9165229529075233, + "macro_precision": 0.9246713346394886, + "macro_recall": 0.9107936035235442, + "roc_auc": 0.9693233750699666 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012173962153881997, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11009692099087111, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.919806208722537, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9443360602407291, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8928359137352627, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8606733719097619, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8704907322346394, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8586119490594775, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8872093687525772, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8431976616982593, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8962396274686244, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8619707314748432, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07332048882561444, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13204406234310778, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05031027040212818, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027875155217172477, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9742429349220784, + "balanced_accuracy": 0.9731809919454548, + "brier": 0.02992955364791323, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.24341141109090267, + 9.756588588908999 + ] + ], + "log_loss": 0.1273505659143142, + "macro_f1": 0.968740410585609, + "macro_precision": 0.9645700582654237, + "macro_recall": 0.9731809919454553, + "roc_auc": 0.9944187361442394 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9085394911178334, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02783476636393768, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15718814932993802, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9171751699019857, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8777480847144167, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8603827441475218, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9293848756896119, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8882782095310838, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8818515686242014, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8936331720918249, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.848683512728846, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9294560221493723, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.839663070136071, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8202278387368545, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.919806208722537, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9443360602407291, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8928359137352627, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8606733719097619, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8704907322346394, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8586119490594775, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8872093687525772, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.688117611848146, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8431976616982593, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8962396274686244, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8619707314748432, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.720063658251232, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7999580359507802, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7574684247585963, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08442516777393046, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.061967465595736564, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02609489159893639, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02391650935934777, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07332048882561444, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13204406234310778, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01811221156105871, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26939926282992305, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14442969210880485, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.029563460610079802, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05031027040212818, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027875155217172477, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42582490398834966, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18889673838416549, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21405933522613113, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3073468041170694, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3001031009534756, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9188889683205859, + "balanced_accuracy": 0.91495496868341, + "brier": 0.06354098399796282, + "confusion_matrix": [ + [ + 15.203125, + 1.796875 + ], + [ + 1.6097883305353946, + 23.390211669464804 + ] + ], + "log_loss": 0.22880823733961342, + "macro_f1": 0.9156851777119014, + "macro_precision": 0.9164558705233739, + "macro_recall": 0.9149549686834095, + "roc_auc": 0.9667131853933153 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "mlp", + "name": "mlp_07_augmented", + "params": { + "activation": "relu", + "alpha": 10.0, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03895726702623529 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "iterations": [ + 281 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "iterations": [ + 336 + ], + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "iterations": [ + 307 + ], + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "iterations": [ + 338 + ], + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04150550732610167, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.185751024741888, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9304504104191167, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.879602379468199, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8797715042703926, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8801987270929496, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.018479339590684145, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025285009857357155, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42297110283131883, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21863454763427242, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3126070382348946, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8800483047006963, + "balanced_accuracy": 0.8867340302882833, + "brier": 0.08448637292367345, + "confusion_matrix": [ + [ + 4.1328125, + 0.8671875 + ], + [ + 0.21237775769373368, + 3.787622242306287 + ] + ], + "log_loss": 0.279950240450466, + "macro_f1": 0.8798715879255079, + "macro_precision": 0.8824121242602689, + "macro_recall": 0.8867340302882833, + "roc_auc": 0.9577767866259819 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04259386816345598, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20364224304673595, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8345660369603249, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6984187643413914, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7082614610509056, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8043782380792537, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7588369750536891, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08919596015067276, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021443097892674217, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019904831589629853, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2732661598538811, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8602276715660143, + "balanced_accuracy": 0.8665877169094127, + "brier": 0.09950244782186599, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.9532634559058704, + 4.046736544094119 + ] + ], + "log_loss": 0.35287118060463485, + "macro_f1": 0.8600142384574441, + "macro_precision": 0.8624570622550412, + "macro_recall": 0.8665877169094129, + "roc_auc": 0.9521127916392665 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024620145512365965, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1546252326200927, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9293598579793146, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8823584813733152, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.863096378980587, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9431129734585454, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8449339686661778, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8191123100755278, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05388513868524081, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14585492911012643, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1826790557002775, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30179202601954624, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9258014851566516, + "balanced_accuracy": 0.9157069667972095, + "brier": 0.06104668950733113, + "confusion_matrix": [ + [ + 3.4609375, + 0.5390625 + ], + [ + 0.20292264843348434, + 5.797077351566499 + ] + ], + "log_loss": 0.21803101805148942, + "macro_f1": 0.9215183080433944, + "macro_precision": 0.9297688181369201, + "macro_recall": 0.9157069667972098, + "roc_auc": 0.9652301184969568 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010771617912804498, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10213919643196408, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9340750206051344, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9573288569808441, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9015102945954124, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8630784964103595, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8816902501434087, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.862455673659382, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8980962710272379, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.851550881839036, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9047136714314891, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8661873625158003, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07013999500728807, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12734557429707208, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045688997157199665, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025328776345574087, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9766957399539563, + "balanced_accuracy": 0.9743120179677693, + "brier": 0.027613659887295115, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.20125964064461074, + 9.798740359355287 + ] + ], + "log_loss": 0.11901456954468484, + "macro_f1": 0.9716136049027232, + "macro_precision": 0.9690151680689355, + "macro_recall": 0.9743120179677698, + "roc_auc": 0.9941358501336232 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9082544348322674, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0274737734597367, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15430334491300096, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9293598579793146, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8823584813733152, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.863096378980587, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9304504104191167, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.879602379468199, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8797715042703926, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8801987270929496, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8345660369603249, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9431129734585454, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8449339686661778, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8191123100755278, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9340750206051344, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9573288569808441, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9015102945954124, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8630784964103595, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8816902501434087, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.862455673659382, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8980962710272379, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6984187643413914, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.851550881839036, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9047136714314891, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8661873625158003, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7082614610509056, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8043782380792537, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7588369750536891, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08919596015067276, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05388513868524081, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.021443097892674217, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018479339590684145, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07013999500728807, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12734557429707208, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019904831589629853, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2732661598538811, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14585492911012643, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025285009857357155, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.045688997157199665, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025328776345574087, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42297110283131883, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1826790557002775, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21863454763427242, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3126070382348946, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30179202601954624, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9189104523171976, + "balanced_accuracy": 0.9146053681817403, + "brier": 0.06316565524298329, + "confusion_matrix": [ + [ + 15.1640625, + 1.8359375 + ], + [ + 1.5698235026776983, + 23.4301764973225 + ] + ], + "log_loss": 0.22718826056277122, + "macro_f1": 0.9156428742392102, + "macro_precision": 0.9167624606996374, + "macro_recall": 0.9146053681817399, + "roc_auc": 0.9666524586048069 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "polynomial_logreg", + "name": "polynomial_logreg_09_augmented", + "params": { + "C": 1.0, + "degree": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.0427873150284984 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "iterations": 351, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "iterations": 448, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "iterations": 450, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "iterations": 425, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.033086825984584664, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.15863094463671368, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9368301175064325, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9058625867216459, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8940701349098132, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9013935787542945, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.014715741028200351, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019686625586034498, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40658561296937107, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16911009113883352, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26357273140392007, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.893248735735179, + "balanced_accuracy": 0.8990454527020765, + "brier": 0.07635063789123668, + "confusion_matrix": [ + [ + 4.234375, + 0.765625 + ], + [ + 0.19513637838338888, + 3.804863621616632 + ] + ], + "log_loss": 0.2561884288193118, + "macro_f1": 0.8930050514055274, + "macro_precision": 0.8942156924531968, + "macro_recall": 0.8990454527020765, + "roc_auc": 0.9652485574701779 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.045405095901868725, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.2058614377154956, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8143379639270713, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6703774240346978, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.6750940845616965, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7795587785459445, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7634876204569168, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05694425710210062, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013244386257422608, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004918989354537431, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22800411963704992, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8514877470427096, + "balanced_accuracy": 0.8610655348384386, + "brier": 0.11802146829712498, + "confusion_matrix": [ + [ + 3.7890625, + 0.2109375 + ], + [ + 1.1256727766156123, + 3.8743272233843773 + ] + ], + "log_loss": 0.530143454380512, + "macro_f1": 0.8514744162792034, + "macro_precision": 0.8596629455546687, + "macro_recall": 0.8610655348384386, + "roc_auc": 0.9394046728444404 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020650177656446805, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14047292490070698, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9285242282125414, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8970577192439048, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8734901332234773, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9490421013866307, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8506567304428848, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8391068123918823, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04611689050521322, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12495512154232463, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1830248849323427, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2697512467940606, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9155491731365377, + "balanced_accuracy": 0.9071633734471147, + "brier": 0.059484172651868894, + "confusion_matrix": [ + [ + 3.4609375, + 0.5390625 + ], + [ + 0.3054457686346233, + 5.694554231365361 + ] + ], + "log_loss": 0.2041777632723695, + "macro_f1": 0.9111146438741773, + "macro_precision": 0.9162127090113034, + "macro_recall": 0.9071633734471147, + "roc_auc": 0.9684133367219889 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008583093455932531, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.0893572763162063, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9367359904389587, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.960181261685416, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9118759889983146, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8946670456295288, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8953143391176759, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.880254195619851, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.910876051321441, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8496472208991173, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.908253640726566, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8718679850441605, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.050936036331674324, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10508656991599404, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.033793209919107434, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01589124241138452, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9732360607043888, + "balanced_accuracy": 0.973062117493072, + "brier": 0.025948036214546024, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.26532015013855675, + 9.734679849861346 + ] + ], + "log_loss": 0.10777773001115976, + "macro_f1": 0.9675883312058318, + "macro_precision": 0.9625240616502861, + "macro_recall": 0.9730621174930727, + "roc_auc": 0.9948063508571563 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.905795610691185, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024597437664895336, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14133720377628195, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9285242282125414, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8970577192439048, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8734901332234773, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9368301175064325, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9058625867216459, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8940701349098132, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9013935787542945, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8143379639270713, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9490421013866307, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8506567304428848, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8391068123918823, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9367359904389587, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.960181261685416, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9118759889983146, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8946670456295288, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8953143391176759, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.880254195619851, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.910876051321441, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6703774240346978, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8496472208991173, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.908253640726566, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8718679850441605, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.6750940845616965, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7795587785459445, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7634876204569168, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05694425710210062, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04611689050521322, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.013244386257422608, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014715741028200351, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050936036331674324, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.10508656991599404, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.004918989354537431, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.22800411963704992, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12495512154232463, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.019686625586034498, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.033793209919107434, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01589124241138452, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40658561296937107, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1830248849323427, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16911009113883352, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26357273140392007, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2697512467940606, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9162720220530431, + "balanced_accuracy": 0.9143743808774978, + "brier": 0.06446340926708544, + "confusion_matrix": [ + [ + 15.375, + 1.625 + ], + [ + 1.8915750737721797, + 23.108424926228 + ] + ], + "log_loss": 0.25303935242091297, + "macro_f1": 0.9133337278152684, + "macro_precision": 0.9123740868017136, + "macro_recall": 0.914374380877497, + "roc_auc": 0.9641465139840444 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_11_canonical", + "params": { + "activation": "relu", + "alpha": 10.0, + "hidden_layer_sizes": [ + 16, + 8 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.041716372660465226 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.040895362838556035, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1806314406718095, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9376313000519729, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9103527044814744, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8953368095659157, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8979690857670517, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.0329056255446349, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03825593997501374, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44949475758727797, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19855907424601493, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30124664666884343, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8883040054793392, + "balanced_accuracy": 0.8962170061642567, + "brier": 0.0817029757850807, + "confusion_matrix": [ + [ + 4.125, + 0.875 + ], + [ + 0.13026395068594734, + 3.8697360493140742 + ] + ], + "log_loss": 0.28373058329091555, + "macro_f1": 0.8882140803526979, + "macro_precision": 0.892486339784013, + "macro_recall": 0.8962170061642567, + "roc_auc": 0.9588469544701722 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04616649663000427, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.21217453819359683, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.7905453005915661, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6555610175737673, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7101775224436297, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7910137890713361, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7746709303870066, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08118137822280859, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022327520648084534, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012638416920875587, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2594124660696577, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8522873967268667, + "balanced_accuracy": 0.8602227195541798, + "brier": 0.11143059762303374, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 1.0559759294581992, + 3.9440240705417904 + ] + ], + "log_loss": 0.3854211225208012, + "macro_f1": 0.8522011085688492, + "macro_precision": 0.8571835866480517, + "macro_recall": 0.8602227195541801, + "roc_auc": 0.9456481258714936 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02280890311002155, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14760306763172146, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9285412750546203, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8992582247609994, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8801809886087667, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9427254893483096, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8616667463920301, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8354209628703309, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05859002111595258, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14111631028031402, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19511229094740695, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.295903790434304, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9204831085369978, + "balanced_accuracy": 0.9106239446141648, + "brier": 0.06132724158715336, + "confusion_matrix": [ + [ + 3.4453125, + 0.5546875 + ], + [ + 0.24048141463002143, + 5.759518585369962 + ] + ], + "log_loss": 0.21843421903764365, + "macro_f1": 0.9159835666014822, + "macro_precision": 0.9234534848401836, + "macro_recall": 0.910623944614165, + "roc_auc": 0.9636285495319051 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.011606295077241452, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1088573156005113, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.90515492927313, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9429890824774765, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9004145107578283, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8546027373949013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8804363898591436, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8715821950523739, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9045300201052209, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8534748870124756, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9066316390489696, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8653552347631445, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0941244225084772, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13212601956634024, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.056935884315793835, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037532645443514666, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9733674440888267, + "balanced_accuracy": 0.9713962733621786, + "brier": 0.02829577437214027, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.24004328275642622, + 9.759956717243478 + ] + ], + "log_loss": 0.12729758670406674, + "macro_f1": 0.9676330975743106, + "macro_precision": 0.9640653602885694, + "macro_recall": 0.9713962733621793, + "roc_auc": 0.9930638894048306 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.906007963274335, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.027955568985681873, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15560206915507213, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9285412750546203, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8992582247609994, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8801809886087667, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9376313000519729, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9103527044814744, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8953368095659157, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8979690857670517, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.7905453005915661, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9427254893483096, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8616667463920301, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8354209628703309, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.90515492927313, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9429890824774765, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9004145107578283, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8546027373949013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8804363898591436, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8715821950523739, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9045300201052209, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6555610175737673, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8534748870124756, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9066316390489696, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8653552347631445, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7101775224436297, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7910137890713361, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7746709303870066, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08118137822280859, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05859002111595258, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022327520648084534, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0329056255446349, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0941244225084772, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13212601956634024, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.012638416920875587, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2594124660696577, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14111631028031402, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03825593997501374, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.056935884315793835, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.037532645443514666, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.44949475758727797, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19511229094740695, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19855907424601493, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30124664666884343, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.295903790434304, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9166023314873668, + "balanced_accuracy": 0.9126665466846825, + "brier": 0.06541941470844113, + "confusion_matrix": [ + [ + 15.1640625, + 1.8359375 + ], + [ + 1.6667645775305933, + 23.3332354224696 + ] + ], + "log_loss": 0.23783032753663863, + "macro_f1": 0.9133231871663552, + "macro_precision": 0.9140128217498111, + "macro_recall": 0.9126665466846818, + "roc_auc": 0.961437246427779 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_08_canonical", + "params": { + "C": 3.0, + "gamma": "scale", + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.042157353219683995 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04090934464107728, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18175570906141572, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9381320515109793, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9197709483531867, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.901167357548184, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9123164737765682, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.04415553527731242, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053228518499938274, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4330651154301379, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20990529214118953, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32260634472620586, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8891440592427801, + "balanced_accuracy": 0.8963808166481277, + "brier": 0.08610073425808126, + "confusion_matrix": [ + [ + 4.15625, + 0.84375 + ], + [ + 0.15395346681497957, + 3.8460465331850417 + ] + ], + "log_loss": 0.3020487799116559, + "macro_f1": 0.8890122082251202, + "macro_precision": 0.8921848839900769, + "macro_recall": 0.8963808166481277, + "roc_auc": 0.9578448074448315 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039923596566825176, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1992604876712226, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8323948188449698, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6999644258775528, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7314523438545412, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8041340029649487, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7797618397769578, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09484031439984342, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03241820846381517, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030088064128691666, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2669502386209237, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8586983632463316, + "balanced_accuracy": 0.8652113394216983, + "brier": 0.09819662714000983, + "confusion_matrix": [ + [ + 3.6953125, + 0.3046875 + ], + [ + 0.9670272307830148, + 4.032972769216975 + ] + ], + "log_loss": 0.32154638358390414, + "macro_f1": 0.8584991887003678, + "macro_precision": 0.8611726024280337, + "macro_recall": 0.8652113394216985, + "roc_auc": 0.9524395930745874 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.021289096209237746, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14073975227693442, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9418753291403017, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9058298106351461, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8892289732570596, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9578040791698889, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8674848199796071, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8472962796528215, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.0701425543243119, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14228376351773017, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18990102672349188, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29066819172757674, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9168832452808846, + "balanced_accuracy": 0.9066474960674038, + "brier": 0.06221939884538356, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.253042547191154, + 5.74695745280883 + ] + ], + "log_loss": 0.2197259308466976, + "macro_f1": 0.9121331563198615, + "macro_precision": 0.9198706848514128, + "macro_recall": 0.9066474960674039, + "roc_auc": 0.965003585060002 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01154752946801094, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.10732713776406758, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9194712509410553, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9527391084208696, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9060444207792067, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8390152783100121, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8788412167322612, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8742432642411233, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.907016387170147, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8512050127129429, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9076534633321165, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.866228648783154, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09185184516996628, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13295704731819408, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0547994677293015, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03719039021898219, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9663272742197095, + "balanced_accuracy": 0.9664681544537965, + "brier": 0.032759702463697096, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3386056609240676, + 9.661394339075843 + ] + ], + "log_loss": 0.1322178020152828, + "macro_f1": 0.9593673006152377, + "macro_precision": 0.9529651705364686, + "macro_recall": 0.9664681544537974, + "roc_auc": 0.9923480553084857 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9047529634651468, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026239353464658395, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.1509315052871437, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9418753291403017, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9058298106351461, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8892289732570596, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9381320515109793, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.9197709483531867, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.901167357548184, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9123164737765682, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8323948188449698, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9578040791698889, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8674848199796071, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8472962796528215, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9194712509410553, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9527391084208696, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9060444207792067, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8390152783100121, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8788412167322612, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8742432642411233, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.907016387170147, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6999644258775528, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8512050127129429, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9076534633321165, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.866228648783154, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7314523438545412, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8041340029649487, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7797618397769578, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09484031439984342, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0701425543243119, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03241820846381517, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04415553527731242, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.09185184516996628, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13295704731819408, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030088064128691666, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2669502386209237, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14228376351773017, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053228518499938274, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0547994677293015, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03719039021898219, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4330651154301379, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18990102672349188, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20990529214118953, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.32260634472620586, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29066819172757674, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9149522879592091, + "balanced_accuracy": 0.9110599218857359, + "brier": 0.06522633513162893, + "confusion_matrix": [ + [ + 15.140625, + 1.859375 + ], + [ + 1.7126289057132156, + 23.287371094286982 + ] + ], + "log_loss": 0.2300158335271661, + "macro_f1": 0.9116273172761253, + "macro_precision": 0.9122194740932958, + "macro_recall": 0.9110599218857354, + "roc_auc": 0.9635193407422686 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "svm", + "name": "svm_05_canonical", + "params": { + "C": 0.3, + "gamma": "scale", + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.03682518202410516 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 6138, + "input_rows": 9176, + "iterations": 679, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6648, + "input_rows": 9612, + "iterations": 652, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6653, + "input_rows": 9293, + "iterations": 655, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 6643, + "input_rows": 8801, + "iterations": 529, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039879732047743796, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1778346342167243, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9374624707102436, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8844292422013705, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8886877614081895, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8916753713257689, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.018956713181163706, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011526526989731313, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42575998028046225, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20528938125927174, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3059704193199651, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8862144924401599, + "balanced_accuracy": 0.89308505399518, + "brier": 0.08354158693534071, + "confusion_matrix": [ + [ + 4.15625, + 0.84375 + ], + [ + 0.18031956803856128, + 3.8196804319614595 + ] + ], + "log_loss": 0.2759367793869014, + "macro_f1": 0.8860551397454507, + "macro_precision": 0.8887449019372733, + "macro_recall": 0.8930850539951799, + "roc_auc": 0.9597822746754928 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04242585054314182, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1999068736914152, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8360584096547172, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6713417232118658, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7137393801895927, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8041374769750828, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.763263648019068, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07812780262725583, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017282913265639355, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.005376186665239433, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2532915715049653, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8736225399579817, + "balanced_accuracy": 0.8802055984621834, + "brier": 0.10422059517548156, + "confusion_matrix": [ + [ + 3.7578125, + 0.2421875 + ], + [ + 0.8952096403781644, + 4.104790359621825 + ] + ], + "log_loss": 0.39327684077187663, + "macro_f1": 0.8734344203257417, + "macro_precision": 0.8759464220366309, + "macro_recall": 0.8802055984621835, + "roc_auc": 0.9507699434877532 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02220089708546507, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14490602220983934, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9290398125627066, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8982387992396399, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8793870970594623, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9471715732594845, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8572848255715029, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8297905916964382, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.04780408330971198, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14059963146366597, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1798785815411808, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29245736631589603, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9206385318174212, + "balanced_accuracy": 0.9094513806811843, + "brier": 0.059085403900201915, + "confusion_matrix": [ + [ + 3.4140625, + 0.5859375 + ], + [ + 0.20767718182578865, + 5.792322818174195 + ] + ], + "log_loss": 0.20343123230924665, + "macro_f1": 0.9158806379559794, + "macro_precision": 0.9253966934089073, + "macro_recall": 0.9094513806811844, + "roc_auc": 0.9698522317371989 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.008180531246653107, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.0885647345316163, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9238134166102843, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9528597402163176, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9146606597404882, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8780853786271088, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9014661328607049, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8850845715142456, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9104507547290704, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8749772559906674, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9165449353229456, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8820520962554496, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.05247883699392756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11232398170479654, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03425555917129121, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01923598439294333, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.977458096698121, + "balanced_accuracy": 0.9748456676886845, + "brier": 0.02321417745249291, + "confusion_matrix": [ + [ + 3.875, + 0.125 + ], + [ + 0.1905866462263062, + 9.809413353773595 + ] + ], + "log_loss": 0.10384154503196306, + "macro_f1": 0.9725206007927226, + "macro_precision": 0.970269728444688, + "macro_recall": 0.9748456676886852, + "roc_auc": 0.995190044514098 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9119726997049735, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.025649682181565832, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14496762087414944, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9290398125627066, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8982387992396399, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8793870970594623, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9374624707102436, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8844292422013705, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8886877614081895, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8916753713257689, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8360584096547172, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9471715732594845, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8572848255715029, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8297905916964382, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9238134166102843, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9528597402163176, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9146606597404882, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8780853786271088, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.9014661328607049, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8850845715142456, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9104507547290704, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6713417232118658, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8749772559906674, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9165449353229456, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8820520962554496, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7137393801895927, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8041374769750828, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.763263648019068, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07812780262725583, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04780408330971198, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017282913265639355, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018956713181163706, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05247883699392756, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11232398170479654, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.005376186665239433, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2532915715049653, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.14059963146366597, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.011526526989731313, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03425555917129121, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01923598439294333, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.42575998028046225, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1798785815411808, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20528938125927174, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3059704193199651, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29245736631589603, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9221269515126471, + "balanced_accuracy": 0.9176748745647415, + "brier": 0.06204076576986477, + "confusion_matrix": [ + [ + 15.203125, + 1.796875 + ], + [ + 1.47379303646882, + 23.526206963531383 + ] + ], + "log_loss": 0.2264527746421179, + "macro_f1": 0.9189438099860593, + "macro_precision": 0.920334392239939, + "macro_recall": 0.917674874564741, + "roc_auc": 0.9673076078147947 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "mlp", + "name": "mlp_06_augmented", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "status": "ok", + "std_macro_f1": 0.03820418563218142 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04457896834736312, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1958621934872048, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9269668553327663, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8775516570072491, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8675702836612389, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8859530879674832, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.031320267026856835, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0375950957835612, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4448115321739845, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2282552552476339, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3130284958820145, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8820179571952375, + "balanced_accuracy": 0.8891452018446423, + "brier": 0.08865432135230325, + "confusion_matrix": [ + [ + 4.125, + 0.875 + ], + [ + 0.18683838524286236, + 3.813161614757158 + ] + ], + "log_loss": 0.2951860333477313, + "macro_f1": 0.8818761456019091, + "macro_precision": 0.8850140929015953, + "macro_recall": 0.8891452018446422, + "roc_auc": 0.955337879151205 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04071771275546449, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20214819228953707, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8514167687725217, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7075025227960454, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7277990562834108, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.80745054623705, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7598813315428473, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1005650035998116, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03820630123458334, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035194504687202186, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2778315112024204, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8695971444120941, + "balanced_accuracy": 0.8754108674708847, + "brier": 0.09203252159183421, + "confusion_matrix": [ + [ + 3.7109375, + 0.2890625 + ], + [ + 0.8845632002911512, + 4.115436799708838 + ] + ], + "log_loss": 0.30574050234314054, + "macro_f1": 0.8693331979826442, + "macro_precision": 0.8709432342748649, + "macro_recall": 0.8754108674708848, + "roc_auc": 0.9574015158271415 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026964000866581732, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16566431872618287, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9092116015144626, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8718471264439424, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.863858841081838, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9175069930008101, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8357666224968838, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8129727914906782, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05931623229672939, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15414562695777168, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18794417651304518, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3083516220033615, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9138703387293752, + "balanced_accuracy": 0.9031601781078126, + "brier": 0.06428688247389139, + "confusion_matrix": [ + [ + 3.3984375, + 0.6015625 + ], + [ + 0.25973411270624897, + 5.740265887293734 + ] + ], + "log_loss": 0.22267603120230187, + "macro_f1": 0.9088727757709074, + "macro_precision": 0.917071303319747, + "macro_recall": 0.9031601781078127, + "roc_auc": 0.9669551620310245 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013898538788048018, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11959568887073067, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9011961746124793, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9226057080635838, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8849647389278269, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8583549132321167, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.86118337335003, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8501152637612971, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8750977494414635, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8431983751686082, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8902718950854782, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8456937001077665, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07718503362884288, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13246236916221735, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05403655068976483, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036520794079011196, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9695383680975977, + "balanced_accuracy": 0.9698877951683182, + "brier": 0.03166882580876176, + "confusion_matrix": [ + [ + 3.8828125, + 0.1171875 + ], + [ + 0.30927534663363077, + 9.690724653366274 + ] + ], + "log_loss": 0.139087827921806, + "macro_f1": 0.9632060905562873, + "macro_precision": 0.9571378842768843, + "macro_recall": 0.9698877951683191, + "roc_auc": 0.9934039455567782 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.905822052477937, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02933070670533186, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16459705484387466, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9092116015144626, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8718471264439424, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.863858841081838, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9269668553327663, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8775516570072491, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8675702836612389, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8859530879674832, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8514167687725217, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9175069930008101, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8357666224968838, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8129727914906782, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9011961746124793, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9226057080635838, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8849647389278269, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8583549132321167, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.86118337335003, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8501152637612971, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8750977494414635, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7075025227960454, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8431983751686082, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8902718950854782, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8456937001077665, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7277990562834108, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.80745054623705, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7598813315428473, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.1005650035998116, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05931623229672939, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03820630123458334, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.031320267026856835, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07718503362884288, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13246236916221735, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.035194504687202186, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2778315112024204, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15414562695777168, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0375950957835612, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05403655068976483, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.036520794079011196, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4448115321739845, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18794417651304518, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2282552552476339, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3130284958820145, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3083516220033615, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.91611372512205, + "balanced_accuracy": 0.9118149408672283, + "brier": 0.06458128506092418, + "confusion_matrix": [ + [ + 15.1171875, + 1.8828125 + ], + [ + 1.6404110448738927, + 23.35958895512631 + ] + ], + "log_loss": 0.2281506839082416, + "macro_f1": 0.9127535918527098, + "macro_precision": 0.9137600708739366, + "macro_recall": 0.9118149408672278, + "roc_auc": 0.9648063689977892 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_10_augmented", + "params": { + "learning_rate": 0.03, + "max_depth": 3, + "min_samples_leaf": 20 + } + }, + "status": "ok", + "std_macro_f1": 0.036080041911290356 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 2974, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3179, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 3062, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 2911, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03433155715836619, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16330058600548303, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9404991119740312, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8949931743950401, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8886186523738202, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8981281332753344, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.017426169057145786, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020440867277081408, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.410644003642735, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17824446167706454, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2655418182273101, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8958809041939604, + "balanced_accuracy": 0.9018113297182055, + "brier": 0.08205360927595153, + "confusion_matrix": [ + [ + 4.2421875, + 0.7578125 + ], + [ + 0.17925936225435662, + 3.820740637745664 + ] + ], + "log_loss": 0.3397344084260782, + "macro_f1": 0.8956520892479791, + "macro_precision": 0.8969716615255496, + "macro_recall": 0.9018113297182054, + "roc_auc": 0.9607250564682688 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.042317741282132365, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19974389699250375, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8223060714894733, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7003022143689153, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.702864890971471, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7906958982723221, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7510943531200721, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06690378324543278, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016523067231767365, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0035068509101362126, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2462779924491162, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8720362286479892, + "balanced_accuracy": 0.8789732307831902, + "brier": 0.10472969115391392, + "confusion_matrix": [ + [ + 3.765625, + 0.234375 + ], + [ + 0.9172989421680959, + 4.082701057831894 + ] + ], + "log_loss": 0.7013464261950625, + "macro_f1": 0.8718772025900061, + "macro_precision": 0.8749140581818274, + "macro_recall": 0.8789732307831903, + "roc_auc": 0.9500243972804764 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02014413293643941, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1400384384424953, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9286374540676421, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8925755452530098, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8771763140900216, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9382166855371555, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8410692284663751, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8262093723781134, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.03795349451856861, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12839857063187812, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17268914334099095, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2503906824433011, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9116442138733161, + "balanced_accuracy": 0.9055368448944299, + "brier": 0.06276551286968295, + "confusion_matrix": [ + [ + 3.5, + 0.5 + ], + [ + 0.38355786126683994, + 5.616442138733144 + ] + ], + "log_loss": 0.20462243188362703, + "macro_f1": 0.9075008753039343, + "macro_precision": 0.9097442878807908, + "macro_recall": 0.9055368448944301, + "roc_auc": 0.9710995868493529 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.010133723248831373, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.09680482333144327, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.918982928160126, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9460680300201287, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9130706333289735, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9103734082923759, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8906728220442395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8531755588259987, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9004362220643173, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.831241276505961, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9053175027774008, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8456723571595554, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.053274468877289184, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08833185069450608, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03499372886580651, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01614676045145925, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9564044888394518, + "balanced_accuracy": 0.9624518921876162, + "brier": 0.03549522604583132, + "confusion_matrix": [ + [ + 3.90625, + 0.09375 + ], + [ + 0.5165871562476725, + 9.483412843752248 + ] + ], + "log_loss": 0.12655583949259214, + "macro_f1": 0.9481809212311443, + "macro_precision": 0.9367055695019465, + "macro_recall": 0.9624518921876176, + "roc_auc": 0.9938717551117209 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.905802772093266, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024598979543155243, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14340600614397717, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9286374540676421, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8925755452530098, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8771763140900216, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9404991119740312, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8949931743950401, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8886186523738202, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8981281332753344, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8223060714894733, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9382166855371555, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8410692284663751, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8262093723781134, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.918982928160126, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9460680300201287, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9130706333289735, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.9103734082923759, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8906728220442395, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8531755588259987, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.9004362220643173, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7003022143689153, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.831241276505961, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.9053175027774008, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8456723571595554, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.702864890971471, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7906958982723221, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7510943531200721, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06690378324543278, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03795349451856861, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016523067231767365, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017426169057145786, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053274468877289184, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.08833185069450608, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0035068509101362126, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2462779924491162, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12839857063187812, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020440867277081408, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03499372886580651, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01614676045145925, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.410644003642735, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17268914334099095, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17824446167706454, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2655418182273101, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2503906824433011, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9146990280491197, + "balanced_accuracy": 0.9134207129730256, + "brier": 0.06680090469541089, + "confusion_matrix": [ + [ + 15.4140625, + 1.5859375 + ], + [ + 1.9967033219369645, + 23.00329667806323 + ] + ], + "log_loss": 0.3139936567457816, + "macro_f1": 0.9118198524833325, + "macro_precision": 0.910410330970407, + "macro_recall": 0.9134207129730252, + "roc_auc": 0.9661527964986448 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.02762594662275147 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.043662506074196, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.19081258300961604, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9404589963947161, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8827179456970957, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8710978681686696, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8925896617750703, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.02525495787539864, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03122057149649426, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43104029722572046, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23123372453760505, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3265460040635138, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8820797542536974, + "balanced_accuracy": 0.8890194110354097, + "brier": 0.08696912732817227, + "confusion_matrix": [ + [ + 4.1328125, + 0.8671875 + ], + [ + 0.19409471171672224, + 3.8059052882832987 + ] + ], + "log_loss": 0.2886655563814441, + "macro_f1": 0.8819239692210985, + "macro_precision": 0.8847860166998631, + "macro_recall": 0.8890194110354097, + "roc_auc": 0.9582676151941826 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.04258667785498983, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.20541150864767088, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8314090518691742, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7066875037883528, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7094406343161195, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7893769263021978, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7551516601161378, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09132772220355903, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028661809404891984, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022815632176440774, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2653387147253007, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8658140547112606, + "balanced_accuracy": 0.8723967117401344, + "brier": 0.09429522957249034, + "confusion_matrix": [ + [ + 3.7265625, + 0.2734375 + ], + [ + 0.934236007598654, + 4.065763992401336 + ] + ], + "log_loss": 0.3097470376443135, + "macro_f1": 0.8656231771584275, + "macro_precision": 0.8682694453591077, + "macro_recall": 0.8723967117401346, + "roc_auc": 0.9585620751870629 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024375393708810915, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15540964184993555, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9140361352355675, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8851809262181342, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8666562164414623, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9281137525599803, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8555318224515228, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.820302492014269, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05226865069956323, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1452512464280972, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18764922281448385, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.296695328907995, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9139458696727466, + "balanced_accuracy": 0.9038741622272888, + "brier": 0.06198022890763035, + "confusion_matrix": [ + [ + 3.4140625, + 0.5859375 + ], + [ + 0.274603803272534, + 5.725396196727449 + ] + ], + "log_loss": 0.20833992389244466, + "macro_f1": 0.9090891738270833, + "macro_precision": 0.9163578913911388, + "macro_recall": 0.9038741622272888, + "roc_auc": 0.9716518664063756 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.01155986137394346, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.1069195880362611, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9120794827466094, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9343164558253484, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9054766279294112, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8740342545987854, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8748523740646863, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8607288068802736, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8871685011750035, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8499408820264384, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8969334670993212, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8490629806499289, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0628975726305266, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12130749304845537, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04520255446344364, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023770150238532746, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9696883162396389, + "balanced_accuracy": 0.9711646338677471, + "brier": 0.030919269013322075, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.32280107264505475, + 9.677198927354851 + ] + ], + "log_loss": 0.12638619516380428, + "macro_f1": 0.963463260440852, + "macro_precision": 0.956571634999225, + "macro_recall": 0.9711646338677479, + "roc_auc": 0.9945172491074478 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9050248951618654, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02813892027823786, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15754732085529982, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9140361352355675, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8851809262181342, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8666562164414623, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9404589963947161, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8827179456970957, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8710978681686696, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8925896617750703, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8314090518691742, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9281137525599803, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8555318224515228, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.820302492014269, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9120794827466094, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9343164558253484, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.9054766279294112, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8740342545987854, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8748523740646863, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8607288068802736, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8871685011750035, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7066875037883528, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8499408820264384, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8969334670993212, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8490629806499289, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7094406343161195, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.7893769263021978, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7551516601161378, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09132772220355903, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05226865069956323, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028661809404891984, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02525495787539864, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0628975726305266, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12130749304845537, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022815632176440774, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2653387147253007, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1452512464280972, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03122057149649426, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04520255446344364, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.023770150238532746, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.43104029722572046, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18764922281448385, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23123372453760505, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3265460040635138, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.296695328907995, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9153842715420721, + "balanced_accuracy": 0.9117169057423997, + "brier": 0.06390598255639943, + "confusion_matrix": [ + [ + 15.171875, + 1.828125 + ], + [ + 1.7257355952329643, + 23.274264404767234 + ] + ], + "log_loss": 0.2199647456535601, + "macro_f1": 0.9121135031156165, + "macro_precision": 0.9125221478377226, + "macro_recall": 0.9117169057423993, + "roc_auc": 0.9683676831116832 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "random_forest", + "name": "random_forest_09_augmented", + "params": { + "max_depth": null, + "max_features": "sqrt", + "min_samples_leaf": 10 + } + }, + "status": "ok", + "std_macro_f1": 0.03714064168297327 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.05047036536986129, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.2078992704058472, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9254800424443291, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8892646824113513, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8828989158235013, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8845988667640867, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03295982867985997, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039570510355553756, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4713088536576497, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2512574725508332, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3485299694152915, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8727070072714539, + "balanced_accuracy": 0.8825766331803857, + "brier": 0.09097558330141735, + "confusion_matrix": [ + [ + 3.96875, + 1.03125 + ], + [ + 0.1143869345569151, + 3.8856130654431063 + ] + ], + "log_loss": 0.3044974315139169, + "macro_f1": 0.8726961444021998, + "macro_precision": 0.8811240705474146, + "macro_recall": 0.8825766331803857, + "roc_auc": 0.9540605736698182 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038212012299636285, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.1922215901007657, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8535766368104781, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7174460148526431, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7517211929384283, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8187057262560661, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7867109611616788, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10051681304136435, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025263936190029, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022571179908363364, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30228795333464503, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.886278708615076, + "balanced_accuracy": 0.8898383377535684, + "brier": 0.08725918640438593, + "confusion_matrix": [ + [ + 3.6875, + 0.3125 + ], + [ + 0.7109916224643156, + 4.289008377535674 + ] + ], + "log_loss": 0.2940449065469211, + "macro_f1": 0.8857684570035869, + "macro_precision": 0.8852215337663061, + "macro_recall": 0.8898383377535685, + "roc_auc": 0.9573325260949678 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02681926034085984, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.16229617067660326, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9242510460961214, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8828381056528047, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8677400245804561, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9310603758694818, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8584124586349534, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8215767859676321, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06864384376682618, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1578410262403247, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19846705435463025, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.324939384100299, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9199504069250587, + "balanced_accuracy": 0.9079013807708821, + "brier": 0.0628411876952151, + "confusion_matrix": [ + [ + 3.390625, + 0.609375 + ], + [ + 0.19112093074941372, + 5.80887906925057 + ] + ], + "log_loss": 0.22825880628028, + "macro_f1": 0.914978382937531, + "macro_precision": 0.9258481218270613, + "macro_recall": 0.9079013807708822, + "roc_auc": 0.9601594970153287 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.014774121826846806, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12314204403184034, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.8806852408878573, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9202070081596726, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8767841707986851, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8182460366327013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8644020748001666, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8541242523302937, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8838549154236145, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8533544324476308, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8877579345872757, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8535651180251576, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0803875744507126, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13827927371149168, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051593263840948894, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03271626271032311, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9781235680296311, + "balanced_accuracy": 0.9747255601207416, + "brier": 0.029082749625955893, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.17345754758516474, + 9.826542452414735 + ] + ], + "log_loss": 0.13877147693686692, + "macro_f1": 0.9732825399079605, + "macro_precision": 0.9718681827997921, + "macro_recall": 0.9747255601207421, + "roc_auc": 0.9924683306311897 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9116813810628195, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.030313612095474573, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.16542947780407888, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9242510460961214, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8828381056528047, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8677400245804561, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9254800424443291, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8892646824113513, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8828989158235013, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8845988667640867, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8535766368104781, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9310603758694818, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8584124586349534, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8215767859676321, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8806852408878573, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9202070081596726, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8767841707986851, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8182460366327013, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8644020748001666, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8541242523302937, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8838549154236145, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7174460148526431, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8533544324476308, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8877579345872757, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8535651180251576, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7517211929384283, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8187057262560661, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7867109611616788, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.10051681304136435, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06864384376682618, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025263936190029, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03295982867985997, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0803875744507126, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.13827927371149168, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.022571179908363364, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.30228795333464503, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1578410262403247, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039570510355553756, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.051593263840948894, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03271626271032311, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4713088536576497, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19846705435463025, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2512574725508332, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3485299694152915, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.324939384100299, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9220025110629569, + "balanced_accuracy": 0.9148497563517075, + "brier": 0.06284960235875625, + "confusion_matrix": [ + [ + 14.9140625, + 2.0859375 + ], + [ + 1.1899570353558087, + 23.810042964644403 + ] + ], + "log_loss": 0.22886356624920193, + "macro_f1": 0.9183389448291823, + "macro_precision": 0.9227787223068995, + "macro_recall": 0.9148497563517073, + "roc_auc": 0.9623358169256854 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "svm", + "name": "svm_06_augmented", + "params": { + "C": 3.0, + "gamma": 0.1, + "kernel": "rbf" + } + }, + "status": "ok", + "std_macro_f1": 0.03871983116960299 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 9176, + "input_rows": 9176, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9612, + "input_rows": 9612, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 9293, + "input_rows": 9293, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + }, + { + "convergence_warning": false, + "fitted_rows": 8801, + "input_rows": 8801, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "equal_recording_class" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.044685531331145, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.1934821920032099, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9232496446874768, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.879196564351069, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8752544926236278, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9015187997924352, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.024232717587498787, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027554756557262326, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.438496045456105, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23866580846420415, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3253291675351135, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8750195690685124, + "balanced_accuracy": 0.8824438902020765, + "brier": 0.09247348849644806, + "confusion_matrix": [ + [ + 4.078125, + 0.921875 + ], + [ + 0.20294887838338888, + 3.797051121616632 + ] + ], + "log_loss": 0.30441190240126037, + "macro_f1": 0.8748975516695561, + "macro_precision": 0.8786184926429326, + "macro_recall": 0.8824438902020765, + "roc_auc": 0.952435219792644 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039246403500360176, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19546852925610775, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8504826853076479, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.7169843074735417, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.722069359359297, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8217386460597854, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7701200485921139, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09598253358402276, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02786545475990744, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02355097996897875, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2799164152736904, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8732645601254915, + "balanced_accuracy": 0.8781256041129423, + "brier": 0.09172141503379272, + "confusion_matrix": [ + [ + 3.6875, + 0.3125 + ], + [ + 0.8281189588705757, + 4.171881041129414 + ] + ], + "log_loss": 0.3075092869889508, + "macro_f1": 0.8728963911955319, + "macro_precision": 0.8734618858758812, + "macro_recall": 0.8781256041129424, + "roc_auc": 0.9583489204880266 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02532959930684167, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1594016383131693, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9136467281090968, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8817981649527301, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8695596487956244, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9209819988322824, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8465689445748091, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8260836685305275, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.054258073350213085, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15605075275472788, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1961681358790242, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29840108804898, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9150520837068825, + "balanced_accuracy": 0.9031684030890686, + "brier": 0.06332957892888617, + "confusion_matrix": [ + [ + 3.375, + 0.625 + ], + [ + 0.2244791629311753, + 5.775520837068808 + ] + ], + "log_loss": 0.21549533481468544, + "macro_f1": 0.9098576293367177, + "macro_precision": 0.9199936754878247, + "macro_recall": 0.9031684030890688, + "roc_auc": 0.9674942234041801 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012989026836096393, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11401685552671391, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.912313153134629, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.927250820109605, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.894502074481541, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.863941660985743, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8650036847451639, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8559666158027492, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8828414878393379, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8322130758488636, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8878059823239993, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.851131661850612, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06804193537055547, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12664582722615592, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046359151442376664, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0284210235398513, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9663095912067244, + "balanced_accuracy": 0.966455776344707, + "brier": 0.0318190105115981, + "confusion_matrix": [ + [ + 3.8671875, + 0.1328125 + ], + [ + 0.3388532231058571, + 9.661146776894052 + ] + ], + "log_loss": 0.13386530606764716, + "macro_f1": 0.9593466806370645, + "macro_precision": 0.9529379391318968, + "macro_recall": 0.9664557763447079, + "roc_auc": 0.9932578273291421 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9042495632097175, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02834594719660269, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15930497266284632, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9136467281090968, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8817981649527301, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8695596487956244, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9232496446874768, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.879196564351069, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8752544926236278, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.9015187997924352, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8504826853076479, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9209819988322824, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8465689445748091, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8260836685305275, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.912313153134629, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.927250820109605, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.894502074481541, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.863941660985743, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8650036847451639, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8559666158027492, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8828414878393379, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.7169843074735417, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8322130758488636, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8878059823239993, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.851131661850612, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.722069359359297, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8217386460597854, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7701200485921139, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.09598253358402276, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.054258073350213085, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02786545475990744, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.024232717587498787, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06804193537055547, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12664582722615592, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02355097996897875, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2799164152736904, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.15605075275472788, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.027554756557262326, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.046359151442376664, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0284210235398513, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.438496045456105, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1961681358790242, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.23866580846420415, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.3253291675351135, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.29840108804898, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9146050542073573, + "balanced_accuracy": 0.9095182455341804, + "brier": 0.06515514448150957, + "confusion_matrix": [ + [ + 15.0078125, + 1.9921875 + ], + [ + 1.5944002232909968, + 23.405599776709206 + ] + ], + "log_loss": 0.22705615089537656, + "macro_f1": 0.911048883829914, + "macro_precision": 0.9127625914862278, + "macro_recall": 0.9095182455341799, + "roc_auc": 0.9644378208525728 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": true, + "family": "random_forest", + "name": "random_forest_04_augmented", + "params": { + "max_depth": 6, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "status": "ok", + "std_macro_f1": 0.03504177767783962 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03599516165147074, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17520162276631346, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9245271887072577, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8856051768861655, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8847232769353439, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8927500672919679, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03508734717930594, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050116365279264594, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4071449746201401, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19305171408586952, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27130074907074225, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9001033813290488, + "balanced_accuracy": 0.90519442899518, + "brier": 0.08071581426442216, + "confusion_matrix": [ + [ + 4.296875, + 0.703125 + ], + [ + 0.19594456803856128, + 3.8040554319614595 + ] + ], + "log_loss": 0.27678677833222, + "macro_f1": 0.8998029495942561, + "macro_precision": 0.900193047570278, + "macro_recall": 0.9051944289951799, + "roc_auc": 0.9603251336210515 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037614420551828294, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18809019495318874, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8361207397746838, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6841086216130052, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7296133240002979, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.808574976100925, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7672342554417086, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07465714332167397, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01792391074056825, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017057905177661432, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20437146613037316, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8658789196221086, + "balanced_accuracy": 0.8738222776598976, + "brier": 0.10552198807420544, + "confusion_matrix": [ + [ + 3.78125, + 0.21875 + ], + [ + 0.9883397234010223, + 4.011660276598968 + ] + ], + "log_loss": 0.3705748949263758, + "macro_f1": 0.865790956537023, + "macro_precision": 0.8705370704074036, + "macro_recall": 0.8738222776598978, + "roc_auc": 0.9526423683796692 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02099769625942161, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1418031184430024, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9314493023985095, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8995406483993864, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8878648521253576, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9466858405121971, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8666918032780196, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8457927827265859, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.05570927181705187, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16580389643999194, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1776171936039494, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2758182888434011, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9143675768869267, + "balanced_accuracy": 0.9052021474057721, + "brier": 0.061407886746654206, + "confusion_matrix": [ + [ + 3.4375, + 0.5625 + ], + [ + 0.29382423113073286, + 5.706175768869251 + ] + ], + "log_loss": 0.2144446333049928, + "macro_f1": 0.9097210171788896, + "macro_precision": 0.9157614169228434, + "macro_recall": 0.9052021474057723, + "roc_auc": 0.967252969834088 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012421006351607738, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11106702189339598, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9297402721677953, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9371604644965634, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.887337257212313, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8657648349779261, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8735023989919015, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8546715034548286, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8863130186809532, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.832834960356511, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8939260040692351, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.846678118111636, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06930513750167662, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11455308946079837, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04952039452407073, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034187864709831955, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9565308915928394, + "balanced_accuracy": 0.9613684991149876, + "brier": 0.031113552629248108, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.4991925177002454, + 9.500807482299672 + ] + ], + "log_loss": 0.13301900525068283, + "macro_f1": 0.9482151581800119, + "macro_precision": 0.93745141798576, + "macro_recall": 0.9613684991149889, + "roc_auc": 0.9937529020911473 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9058825203725452, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024913268841581324, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14863323453364494, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9314493023985095, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8995406483993864, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8878648521253576, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9245271887072577, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8856051768861655, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8847232769353439, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8927500672919679, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8361207397746838, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9466858405121971, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8666918032780196, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8457927827265859, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9297402721677953, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9371604644965634, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.887337257212313, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8657648349779261, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8735023989919015, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8546715034548286, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8863130186809532, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6841086216130052, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.832834960356511, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8939260040692351, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.846678118111636, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7296133240002979, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.808574976100925, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7672342554417086, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07465714332167397, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05570927181705187, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01792391074056825, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03508734717930594, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06930513750167662, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11455308946079837, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017057905177661432, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20437146613037316, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16580389643999194, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050116365279264594, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04952039452407073, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.034187864709831955, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4071449746201401, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1776171936039494, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19305171408586952, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27130074907074225, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2758182888434011, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9149749752316533, + "balanced_accuracy": 0.9135789791945891, + "brier": 0.0649002101267539, + "confusion_matrix": [ + [ + 15.40625, + 1.59375 + ], + [ + 1.977301040270561, + 23.02269895972963 + ] + ], + "log_loss": 0.23411827299730592, + "macro_f1": 0.9120837932196506, + "macro_precision": 0.9107555931946842, + "macro_recall": 0.9135789791945884, + "roc_auc": 0.9621726266042507 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C1_passthrough1", + "params": { + "C": 1.0, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": true + } + }, + "status": "ok", + "std_macro_f1": 0.02937295079276363 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.034602622684453195, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.16965575421124426, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9285804841053811, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8914175770297589, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883947428084262, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8949461026748635, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.03783357879836333, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0424135532853608, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4096145238561322, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18006777549155295, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26000367005876424, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.899325124624068, + "balanced_accuracy": 0.9047095152020764, + "brier": 0.07973605536822127, + "confusion_matrix": [ + [ + 4.28125, + 0.71875 + ], + [ + 0.18732387838338888, + 3.812676121616632 + ] + ], + "log_loss": 0.27427544072160387, + "macro_f1": 0.8990514900042123, + "macro_precision": 0.8997325965630394, + "macro_recall": 0.9047095152020764, + "roc_auc": 0.9616283220143328 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0371678257431533, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18644148349215883, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8408685616169287, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6835697047636863, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7287863271335292, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8088285453262025, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7655448076878996, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07490030841457185, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018565797585931014, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01564318437675502, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19438984636860052, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8686643018246849, + "balanced_accuracy": 0.8767197466422163, + "brier": 0.10670028357886494, + "confusion_matrix": [ + [ + 3.796875, + 0.203125 + ], + [ + 0.9788962835778354, + 4.021103716422155 + ] + ], + "log_loss": 0.37867269996119135, + "macro_f1": 0.8685827281756628, + "macro_precision": 0.8734714747714776, + "macro_recall": 0.8767197466422165, + "roc_auc": 0.9535062122108695 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020339088740124595, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1388154600269212, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9351611630311395, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8989954816381592, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8897926292878573, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9496557449667561, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8706866129068802, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8467992051312004, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.053020916259886995, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16384460395573114, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1708411759522314, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27435246760510723, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9114537255355752, + "balanced_accuracy": 0.9021228962796461, + "brier": 0.06134296410522706, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.30733774464424635, + 5.692662255355737 + ] + ], + "log_loss": 0.2132809485373428, + "macro_f1": 0.9066396211660137, + "macro_precision": 0.9126965295515026, + "macro_recall": 0.9021228962796461, + "roc_auc": 0.9689937633129914 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0122129957270871, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11027686415733619, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9246163660963576, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.936728350506065, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8886964382453967, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8577087541204106, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8718983981942425, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8564190295223294, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8883143347259419, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8392452256831527, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8985987029601421, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8518992852712228, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06847388164048468, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1137424100989218, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04810114331656558, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03411144908947404, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9566856684158493, + "balanced_accuracy": 0.9614768428910945, + "brier": 0.03166198211496758, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.4970256421781068, + 9.502974357821811 + ] + ], + "log_loss": 0.13385710451614766, + "macro_f1": 0.9483919161805334, + "macro_precision": 0.9376715499258728, + "macro_recall": 0.9614768428910958, + "roc_auc": 0.9935636557151839 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9056664388816056, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02429302055783152, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14611680566196542, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9351611630311395, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8989954816381592, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8897926292878573, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9285804841053811, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8914175770297589, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8883947428084262, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8949461026748635, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8408685616169287, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9496557449667561, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8706866129068802, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8467992051312004, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9246163660963576, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.936728350506065, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8886964382453967, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8577087541204106, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8718983981942425, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8564190295223294, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8883143347259419, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6835697047636863, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8392452256831527, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8985987029601421, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8518992852712228, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7287863271335292, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8088285453262025, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7655448076878996, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07490030841457185, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.053020916259886995, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.018565797585931014, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03783357879836333, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06847388164048468, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1137424100989218, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.01564318437675502, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19438984636860052, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16384460395573114, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0424135532853608, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04810114331656558, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03411144908947404, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4096145238561322, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1708411759522314, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18006777549155295, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.26000367005876424, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27435246760510723, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9147628916956291, + "balanced_accuracy": 0.9132537702007993, + "brier": 0.06511010574251411, + "confusion_matrix": [ + [ + 15.390625, + 1.609375 + ], + [ + 1.970583548783577, + 23.029416451216616 + ] + ], + "log_loss": 0.23531767177963456, + "macro_f1": 0.9118468858862219, + "macro_precision": 0.9105881385126705, + "macro_recall": 0.9132537702007987, + "roc_auc": 0.9614150398761991 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C10_passthrough0", + "params": { + "C": 10.0, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": false + } + }, + "status": "ok", + "std_macro_f1": 0.02848408609448644 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.035185475485007944, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17175904412931323, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9272979896386601, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8913225027593897, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8871615752027664, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8942973813557471, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.039596693744265735, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044680130390442066, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41136533313742124, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18277321898658497, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.263582332214948, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8992353257734932, + "balanced_accuracy": 0.9044131789951799, + "brier": 0.07985429204053486, + "confusion_matrix": [ + [ + 4.2890625, + 0.7109375 + ], + [ + 0.19594456803856128, + 3.8040554319614595 + ] + ], + "log_loss": 0.2747243647838873, + "macro_f1": 0.8989418430843578, + "macro_precision": 0.899424857571457, + "macro_recall": 0.9044131789951799, + "roc_auc": 0.9616827173059763 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037277010812362274, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18718446283496146, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8402700421450144, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6842331532650193, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7282333443557176, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8105404468632844, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7668374614032548, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07534352382765405, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020170176095039426, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017206594933464096, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19943515257485117, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8696154332426578, + "balanced_accuracy": 0.8773804524183919, + "brier": 0.10504239524292597, + "confusion_matrix": [ + [ + 3.7890625, + 0.2109375 + ], + [ + 0.9625236008160787, + 4.037476399183911 + ] + ], + "log_loss": 0.36799778317979753, + "macro_f1": 0.8695160246457401, + "macro_precision": 0.8738901053954047, + "macro_recall": 0.8773804524183921, + "roc_auc": 0.9547630022831406 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.020560683851589157, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.13989507377225033, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9340258968946942, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8987738077703943, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8883819263226667, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9484438692499837, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8695612678798786, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8462729399679975, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.054219513255208115, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16421463914151924, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17267256000795267, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2748137498812364, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9114537255355752, + "balanced_accuracy": 0.9021228962796461, + "brier": 0.061231076352758804, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.30733774464424635, + 5.692662255355737 + ] + ], + "log_loss": 0.21326520587053502, + "macro_f1": 0.9066396211660137, + "macro_precision": 0.9126965295515026, + "macro_recall": 0.9021228962796461, + "roc_auc": 0.969297104866746 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012291951377920208, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11091655192371644, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9232992267463204, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9355955597846278, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.888273727009649, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8588848390716282, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8723048516419927, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8561996769353842, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8880661588534048, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8390657017925305, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8982335621073163, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8513441722365352, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.06970583700655433, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11486697799426215, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.049584383997879664, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0357716728762142, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.957871358335092, + "balanced_accuracy": 0.9623068258345642, + "brier": 0.031238807662260327, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.48042598330871106, + 9.519574016691205 + ] + ], + "log_loss": 0.13382777653052613, + "macro_f1": 0.9497476363395677, + "macro_precision": 0.9393650808249183, + "macro_recall": 0.9623068258345655, + "roc_auc": 0.9936654959560313 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9062112813089197, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0245203936781692, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14719700065078586, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9340258968946942, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8987738077703943, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8883819263226667, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9272979896386601, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8913225027593897, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8871615752027664, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8942973813557471, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8402700421450144, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9484438692499837, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8695612678798786, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8462729399679975, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9232992267463204, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9355955597846278, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.888273727009649, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8588848390716282, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8723048516419927, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8561996769353842, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8880661588534048, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6842331532650193, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8390657017925305, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8982335621073163, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8513441722365352, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7282333443557176, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8105404468632844, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7668374614032548, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07534352382765405, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.054219513255208115, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.020170176095039426, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.039596693744265735, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06970583700655433, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11486697799426215, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.017206594933464096, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19943515257485117, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.16421463914151924, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.044680130390442066, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.049584383997879664, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0357716728762142, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.41136533313742124, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.17267256000795267, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18277321898658497, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.263582332214948, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2748137498812364, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9153426929331523, + "balanced_accuracy": 0.9137408032403189, + "brier": 0.06461248229405667, + "confusion_matrix": [ + [ + 15.390625, + 1.609375 + ], + [ + 1.946231896807597, + 23.053768103192596 + ] + ], + "log_loss": 0.23311286337633047, + "macro_f1": 0.9124273907315266, + "macro_precision": 0.9112429786012376, + "macro_recall": 0.9137408032403183, + "roc_auc": 0.9621780629756677 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C1_passthrough0", + "params": { + "C": 1.0, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": false + } + }, + "status": "ok", + "std_macro_f1": 0.028700976804218518 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.0356194609072665, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.17524287177034706, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.921176534185698, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8765371988690861, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.884102423145301, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8891511576061351, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.025137801356586748, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05989139948500683, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40453892885518994, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19175349653013657, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2622197452106233, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8948950479957154, + "balanced_accuracy": 0.90031161649518, + "brier": 0.08037550748326455, + "confusion_matrix": [ + [ + 4.2578125, + 0.7421875 + ], + [ + 0.20375706803856128, + 3.7962429319614595 + ] + ], + "log_loss": 0.2743345937936807, + "macro_f1": 0.894617871575282, + "macro_precision": 0.8953983354545321, + "macro_recall": 0.9003116164951799, + "roc_auc": 0.959469107973341 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.037144324480914134, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.18667449643863696, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8339804027658337, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6908402055618035, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7324584088835538, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8030833041369247, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7691681313991635, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07329033314783498, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014046812386751602, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016874644511946157, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20412019992716632, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8666914566344707, + "balanced_accuracy": 0.8747488734710236, + "brier": 0.10730781261448136, + "confusion_matrix": [ + [ + 3.7890625, + 0.2109375 + ], + [ + 0.988839390289763, + 4.011160609710227 + ] + ], + "log_loss": 0.38113934946265116, + "macro_f1": 0.8666102246156129, + "macro_precision": 0.8715393210264161, + "macro_recall": 0.8747488734710236, + "roc_auc": 0.9496980926136314 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02148686556997364, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.14400001307758278, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9292246952555101, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8980738996509374, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8863551175643911, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9444039503221252, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.858348902096581, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8403470368564817, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.052866846213382515, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1618393896525569, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1846110901874957, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27357312311789483, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9182132178479895, + "balanced_accuracy": 0.9100344523733246, + "brier": 0.062102047391367564, + "confusion_matrix": [ + [ + 3.4765625, + 0.5234375 + ], + [ + 0.29443032152010495, + 5.705569678479878 + ] + ], + "log_loss": 0.21704622479861557, + "macro_f1": 0.913937211433542, + "macro_precision": 0.9189450406089972, + "macro_recall": 0.9100344523733246, + "roc_auc": 0.9641446450026292 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.012549086322895182, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11086592208478917, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9377038388219087, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9411956081943379, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.885948447110113, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8719862783836587, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8726319406191912, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8508190880584509, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8834854173095853, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8295416480784913, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8907304193909527, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8448615802572725, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07110208605195846, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11700494487519676, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047344841681855265, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02913653384381353, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9627027787856383, + "balanced_accuracy": 0.9662747576499467, + "brier": 0.031993027669853555, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.42059859700106145, + 9.579401402998851 + ] + ], + "log_loss": 0.13254545953174082, + "macro_f1": 0.9553508521872676, + "macro_precision": 0.9460632679844783, + "macro_recall": 0.9662747576499477, + "roc_auc": 0.9939640500863913 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9076290399529261, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.024891188874140352, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.14879474652008887, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9292246952555101, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8980738996509374, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8863551175643911, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.921176534185698, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8765371988690861, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.884102423145301, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8891511576061351, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8339804027658337, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9444039503221252, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.858348902096581, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8403470368564817, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9377038388219087, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9411956081943379, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.885948447110113, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8719862783836587, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8726319406191912, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8508190880584509, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8834854173095853, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6908402055618035, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8295416480784913, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8907304193909527, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8448615802572725, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7324584088835538, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8030833041369247, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7691681313991635, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07329033314783498, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.052866846213382515, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.014046812386751602, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.025137801356586748, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07110208605195846, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.11700494487519676, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.016874644511946157, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20412019992716632, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1618393896525569, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05989139948500683, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.047344841681855265, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.02913653384381353, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.40453892885518994, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1846110901874957, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.19175349653013657, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2622197452106233, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.27357312311789483, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9170059434083454, + "balanced_accuracy": 0.9154320512865399, + "brier": 0.06566839862312711, + "confusion_matrix": [ + [ + 15.421875, + 1.578125 + ], + [ + 1.9076253768494902, + 23.0923746231507 + ] + ], + "log_loss": 0.23631819454136935, + "macro_f1": 0.9141422383467497, + "macro_precision": 0.9129761235613455, + "macro_recall": 0.9154320512865393, + "roc_auc": 0.9624932362056045 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C10_passthrough1", + "params": { + "C": 10.0, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": true + } + }, + "status": "ok", + "std_macro_f1": 0.0322838895758651 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038744563687050725, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18595285164624334, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9164054310629574, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8836525416650598, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8764078492861693, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8858827743129641, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.050970522745532765, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06011120052580329, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4162042942569767, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20110297012469389, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2828405195186539, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8983672702179377, + "balanced_accuracy": 0.90363192899518, + "brier": 0.08085764052635595, + "confusion_matrix": [ + [ + 4.28125, + 0.71875 + ], + [ + 0.19594456803856128, + 3.8040554319614595 + ] + ], + "log_loss": 0.2787723795373187, + "macro_f1": 0.8980807454281763, + "macro_precision": 0.898659057658604, + "macro_recall": 0.9036319289951799, + "roc_auc": 0.9610401911411983 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.039261465798658086, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19595138975480245, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8312503796350625, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6859728306600256, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7244378811661888, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8053933160924892, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7643699486710215, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08318840957658044, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030166995249913942, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028250803153218162, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2197895900967328, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8746427692831066, + "balanced_accuracy": 0.8817097423547959, + "brier": 0.10077810910540565, + "confusion_matrix": [ + [ + 3.78125, + 0.21875 + ], + [ + 0.9094650764520398, + 4.09053492354795 + ] + ], + "log_loss": 0.34074386601689777, + "macro_f1": 0.8744945532943393, + "macro_precision": 0.8776756422886528, + "macro_recall": 0.881709742354796, + "roc_auc": 0.9570155176600278 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.023061841415694943, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.1513983098906843, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9223310844186575, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8911777049788422, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8767749598747866, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9365123622590713, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8583371495001044, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8381679815632129, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06587260094944591, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1699379361978836, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18670441787357145, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2814142220718092, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9128050768869267, + "balanced_accuracy": 0.9032490224057721, + "brier": 0.0612457533421891, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.29382423113073286, + 5.706175768869251 + ] + ], + "log_loss": 0.21682874884045128, + "macro_f1": 0.9080047364329762, + "macro_precision": 0.9144642251346343, + "macro_recall": 0.9032490224057723, + "roc_auc": 0.9696981619800731 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013954810641523317, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.12008228180799184, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.9126715207714164, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9251590802277742, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8808174143748194, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8589954166753587, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8675198810851222, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8491329327425319, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8803695666596648, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.830182730553886, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8894574922262058, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8421038537730668, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.07971212177693608, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12359508419711024, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.060438249832463375, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04646023524389256, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9566679529963482, + "balanced_accuracy": 0.9614644420974436, + "brier": 0.031088252160871122, + "confusion_matrix": [ + [ + 3.890625, + 0.109375 + ], + [ + 0.49727365805112267, + 9.502726341948794 + ] + ], + "log_loss": 0.1404148120545822, + "macro_f1": 0.9483716823440975, + "macro_precision": 0.9376463431766063, + "macro_recall": 0.961464442097445, + "roc_auc": 0.993961928178483 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9072379293748973, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.026858095916896554, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.15791126706733669, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9223310844186575, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8911777049788422, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.8767749598747866, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9164054310629574, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8836525416650598, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8764078492861693, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8858827743129641, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8312503796350625, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9365123622590713, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8583371495001044, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8381679815632129, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.9126715207714164, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9251590802277742, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8808174143748194, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8589954166753587, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8675198810851222, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8491329327425319, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8803695666596648, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6859728306600256, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.830182730553886, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8894574922262058, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8421038537730668, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7244378811661888, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8053933160924892, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7643699486710215, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08318840957658044, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06587260094944591, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.030166995249913942, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.050970522745532765, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.07971212177693608, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12359508419711024, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028250803153218162, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2197895900967328, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1699379361978836, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06011120052580329, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.060438249832463375, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04646023524389256, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4162042942569767, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18670441787357145, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.20110297012469389, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2828405195186539, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2814142220718092, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9161545825316081, + "balanced_accuracy": 0.9142757316794924, + "brier": 0.06386701929428432, + "confusion_matrix": [ + [ + 15.375, + 1.625 + ], + [ + 1.8965075336724557, + 23.103492466327744 + ] + ], + "log_loss": 0.23118431112277651, + "macro_f1": 0.9132160506631273, + "macro_precision": 0.9122403855380978, + "macro_recall": 0.9142757316794918, + "roc_auc": 0.9641664515203282 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C0.1_passthrough1", + "params": { + "C": 0.1, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": true + } + }, + "status": "ok", + "std_macro_f1": 0.026685934129155233 + }, + { + "fit_summaries": [ + { + "convergence_warning": false, + "fitted_rows": 3069, + "input_rows": 2974, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3324, + "input_rows": 3179, + "recordings": 33, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3317, + "input_rows": 3062, + "recordings": 32, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + }, + { + "convergence_warning": false, + "fitted_rows": 3314, + "input_rows": 2911, + "recordings": 28, + "warning_count": 0, + "warnings": [], + "weighting": "uniform_recording_class_cap" + } + ], + "folds": [ + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.038327866587493827, + "confusion_matrix": [ + [ + 5, + 0 + ], + [ + 0, + 4 + ] + ], + "log_loss": 0.18435459952184932, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.9173308823924832, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8856156013482627, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8777065027402232, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8864958915171793, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 0, + "probability": 0.05223397844830455, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05894965638114058, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4192607850524124, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1959396906759303, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2771615499218381, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.8984830109586783, + "balanced_accuracy": 0.9041527623285133, + "brier": 0.08017838230358494, + "confusion_matrix": [ + [ + 4.265625, + 0.734375 + ], + [ + 0.17927790137189464, + 3.820722098628126 + ] + ], + "log_loss": 0.2767060903440084, + "macro_f1": 0.8982343275774745, + "macro_precision": 0.8992230698351515, + "macro_recall": 0.9041527623285133, + "roc_auc": 0.9619940085971534 + }, + "window_count": 1068 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.03932422959997454, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 5 + ] + ], + "log_loss": 0.19618374745107758, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 9, + "recordings": [ + { + "label": 1, + "probability": 0.8314259220909737, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.6858180016757526, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.7234820641442048, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8053053087416453, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7641644468799682, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08330772272380103, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03107249306359935, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028157035291377475, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21932948659333262, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.875510824838662, + "balanced_accuracy": 0.8826863048547959, + "brier": 0.10087482216528845, + "confusion_matrix": [ + [ + 3.7890625, + 0.2109375 + ], + [ + 0.9094650764520398, + 4.09053492354795 + ] + ], + "log_loss": 0.34138474067573515, + "macro_f1": 0.8753709855112426, + "macro_precision": 0.878698855817994, + "macro_recall": 0.882686304854796, + "roc_auc": 0.9567127077100546 + }, + "window_count": 863 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02297303479975622, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 6 + ] + ], + "log_loss": 0.15106262030531675, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 10, + "recordings": [ + { + "label": 1, + "probability": 0.9228152932129546, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8909968519922369, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876711601118587, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9368506817328256, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588569836163287, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8381981627970441, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 0, + "probability": 0.06582553466000855, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1697455511539956, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18558049046771555, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28109688699020785, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9128050768869267, + "balanced_accuracy": 0.9032490224057721, + "brier": 0.06121127847496879, + "confusion_matrix": [ + [ + 3.421875, + 0.578125 + ], + [ + 0.29382423113073286, + 5.706175768869251 + ] + ], + "log_loss": 0.21669098569878553, + "macro_f1": 0.9080047364329762, + "macro_precision": 0.9144642251346343, + "macro_recall": 0.9032490224057723, + "roc_auc": 0.9700493454141706 + }, + "window_count": 980 + }, + { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.013877522998472573, + "confusion_matrix": [ + [ + 4, + 0 + ], + [ + 0, + 10 + ] + ], + "log_loss": 0.11982048842936228, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 14, + "recordings": [ + { + "label": 1, + "probability": 0.911289152413023, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9249115356861815, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8812696457988766, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8582179590910208, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8678324598134212, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8496465359305931, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8810134266445167, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.8316335947661311, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8905798195418875, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8430540156275965, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.0797169985904011, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12328444647091469, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06038988177981109, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04683269879776668, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9572259887106339, + "balanced_accuracy": 0.9624410045974436, + "brier": 0.030986941213479714, + "confusion_matrix": [ + [ + 3.8984375, + 0.1015625 + ], + [ + 0.49727365805112267, + 9.502726341948794 + ] + ], + "log_loss": 0.14025392206666304, + "macro_f1": 0.9490636912247459, + "macro_precision": 0.9381491438425897, + "macro_recall": 0.962441004597445, + "roc_auc": 0.993941421577648 + }, + "window_count": 1131 + } + ], + "mean_macro_f1": 0.9076684351866098, + "pooled": { + "recording": { + "accuracy": 1.0, + "balanced_accuracy": 1.0, + "brier": 0.02673534608722366, + "confusion_matrix": [ + [ + 17, + 0 + ], + [ + 0, + 25 + ] + ], + "log_loss": 0.157451384852871, + "macro_f1": 1.0, + "macro_precision": 1.0, + "macro_recall": 1.0, + "roc_auc": 1.0 + }, + "recording_count": 42, + "recordings": [ + { + "label": 1, + "probability": 0.9228152932129546, + "recording_id": "focused/play12.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8909968519922369, + "recording_id": "focused/play13.csv", + "windows": 74 + }, + { + "label": 1, + "probability": 0.876711601118587, + "recording_id": "focused/play14.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.9173308823924832, + "recording_id": "focused/play15.csv", + "windows": 60 + }, + { + "label": 1, + "probability": 0.8856156013482627, + "recording_id": "focused/play16.csv", + "windows": 124 + }, + { + "label": 1, + "probability": 0.8777065027402232, + "recording_id": "focused/play17.csv", + "windows": 128 + }, + { + "label": 1, + "probability": 0.8864958915171793, + "recording_id": "focused/play18.csv", + "windows": 116 + }, + { + "label": 1, + "probability": 0.8314259220909737, + "recording_id": "focused/play2.csv", + "windows": 79 + }, + { + "label": 1, + "probability": 0.9368506817328256, + "recording_id": "focused/play20.csv", + "windows": 75 + }, + { + "label": 1, + "probability": 0.8588569836163287, + "recording_id": "focused/play21.csv", + "windows": 70 + }, + { + "label": 1, + "probability": 0.8381981627970441, + "recording_id": "focused/play22.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.911289152413023, + "recording_id": "focused/play23.csv", + "windows": 59 + }, + { + "label": 1, + "probability": 0.9249115356861815, + "recording_id": "focused/play24.csv", + "windows": 65 + }, + { + "label": 1, + "probability": 0.8812696457988766, + "recording_id": "focused/play25.csv", + "windows": 56 + }, + { + "label": 1, + "probability": 0.8582179590910208, + "recording_id": "focused/play26.csv", + "windows": 13 + }, + { + "label": 1, + "probability": 0.8678324598134212, + "recording_id": "focused/play27.csv", + "windows": 64 + }, + { + "label": 1, + "probability": 0.8496465359305931, + "recording_id": "focused/play28.csv", + "windows": 57 + }, + { + "label": 1, + "probability": 0.8810134266445167, + "recording_id": "focused/play29.csv", + "windows": 119 + }, + { + "label": 1, + "probability": 0.6858180016757526, + "recording_id": "focused/play3.csv", + "windows": 62 + }, + { + "label": 1, + "probability": 0.8316335947661311, + "recording_id": "focused/play30.csv", + "windows": 54 + }, + { + "label": 1, + "probability": 0.8905798195418875, + "recording_id": "focused/play31.csv", + "windows": 69 + }, + { + "label": 1, + "probability": 0.8430540156275965, + "recording_id": "focused/play32.csv", + "windows": 63 + }, + { + "label": 1, + "probability": 0.7234820641442048, + "recording_id": "focused/play5.csv", + "windows": 71 + }, + { + "label": 1, + "probability": 0.8053053087416453, + "recording_id": "focused/play6.csv", + "windows": 76 + }, + { + "label": 1, + "probability": 0.7641644468799682, + "recording_id": "focused/play7.csv", + "windows": 63 + }, + { + "label": 0, + "probability": 0.08330772272380103, + "recording_id": "relaxed/wine11.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06582553466000855, + "recording_id": "relaxed/wine12.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.03107249306359935, + "recording_id": "relaxed/wine13.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05223397844830455, + "recording_id": "relaxed/wine14.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.0797169985904011, + "recording_id": "relaxed/wine15.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.12328444647091469, + "recording_id": "relaxed/wine18.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.028157035291377475, + "recording_id": "relaxed/wine19.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.21932948659333262, + "recording_id": "relaxed/wine2.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1697455511539956, + "recording_id": "relaxed/wine20.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.05894965638114058, + "recording_id": "relaxed/wine21.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.06038988177981109, + "recording_id": "relaxed/wine23.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.04683269879776668, + "recording_id": "relaxed/wine24.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.4192607850524124, + "recording_id": "relaxed/wine3.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.18558049046771555, + "recording_id": "relaxed/wine6.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.1959396906759303, + "recording_id": "relaxed/wine7.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.2771615499218381, + "recording_id": "relaxed/wine8.csv", + "windows": 128 + }, + { + "label": 0, + "probability": 0.28109688699020785, + "recording_id": "relaxed/wine9.csv", + "windows": 128 + } + ], + "window": { + "accuracy": 0.9165514079284334, + "balanced_accuracy": 0.9146090650128257, + "brier": 0.06370020957043486, + "confusion_matrix": [ + [ + 15.375, + 1.625 + ], + [ + 1.8798408670057891, + 23.12015913299441 + ] + ], + "log_loss": 0.230792434407115, + "macro_f1": 0.9136137114311169, + "macro_precision": 0.9126924406554502, + "macro_recall": 0.9146090650128251, + "roc_auc": 0.9643413764475213 + }, + "window_count": 4042 + }, + "spec": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C0.1_passthrough0", + "params": { + "C": 0.1, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": false + } + }, + "status": "ok", + "std_macro_f1": 0.026673057393673354 + } + ], + "selected_global_family": "mlp", + "selection": { + "families": { + "extra_trees": { + "augmentation": false, + "family": "extra_trees", + "name": "extra_trees_09", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 10 + } + }, + "gradient_boosting": { + "augmentation": true, + "family": "gradient_boosting", + "name": "gradient_boosting_11", + "params": { + "learning_rate": 0.1, + "max_depth": 3, + "min_samples_leaf": 20 + } + }, + "hist_gradient_boosting": { + "augmentation": true, + "family": "hist_gradient_boosting", + "name": "hist_gradient_boosting_11", + "params": { + "l2_regularization": 100.0, + "max_leaf_nodes": 15 + } + }, + "knn": { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + "logreg": { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + "mlp": { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "polynomial_logreg": { + "augmentation": false, + "family": "polynomial_logreg", + "name": "polynomial_logreg_10", + "params": { + "C": 10.0, + "degree": 3 + } + }, + "random_forest": { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + "stacking": { + "augmentation": false, + "family": "stacking", + "name": "stacking_C0.1_passthrough0", + "params": { + "C": 0.1, + "base_specs": [ + { + "augmentation": false, + "family": "logreg", + "name": "logreg_legacy_hyperparameters", + "params": { + "C": 1.0, + "fit_intercept": false, + "solver": "liblinear" + } + }, + { + "augmentation": false, + "family": "random_forest", + "name": "random_forest_08_canonical", + "params": { + "max_depth": null, + "max_features": 1.0, + "min_samples_leaf": 3 + } + }, + { + "augmentation": true, + "family": "knn", + "name": "knn_07_augmented", + "params": { + "n_neighbors": 51, + "p": 2, + "weights": "distance" + } + }, + { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + } + ], + "passthrough": false + } + }, + "svm": { + "augmentation": true, + "family": "svm", + "name": "svm_06_augmented", + "params": { + "C": 3.0, + "gamma": 0.1, + "kernel": "rbf" + } + } + }, + "fingerprint": "315272f3d22f632e01c2e980515c9023eee702061e2afb6ee1c240c790fb3ceb", + "selected_global_family": "mlp", + "selected_global_spec": { + "augmentation": false, + "family": "mlp", + "name": "mlp_06", + "params": { + "activation": "tanh", + "alpha": 1.0, + "hidden_layer_sizes": [ + 16 + ] + } + }, + "selection_metric": "mean fold recording-weighted window macro F1" + }, + "splits": { + "actual_cv_folds": 4, + "actual_holdout_folds": 5, + "development_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-07-31", + "utc-day:2020-08-10", + "utc-day:2020-08-12", + "utc-day:2020-08-15", + "utc-day:2020-08-21", + "utc-day:2020-09-08", + "utc-day:2020-09-15", + "utc-day:2020-09-20", + "utc-day:2022-04-15", + "utc-day:2022-04-17", + "utc-day:2022-04-20", + "utc-day:2022-04-29", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-13", + "utc-day:2022-06-17", + "utc-day:2022-06-18", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "development_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play2.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play3.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine12.csv", + "relaxed/wine13.csv", + "relaxed/wine14.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine20.csv", + "relaxed/wine21.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine3.csv", + "relaxed/wine6.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv", + "relaxed/wine9.csv" + ], + "folds": [ + { + "canonical_validation_windows": 1068, + "train_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-08-10", + "utc-day:2020-08-12", + "utc-day:2020-08-21", + "utc-day:2020-09-15", + "utc-day:2020-09-20", + "utc-day:2022-04-15", + "utc-day:2022-04-17", + "utc-day:2022-04-20", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-13", + "utc-day:2022-06-17", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "train_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play2.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play3.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine12.csv", + "relaxed/wine13.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine20.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine6.csv", + "relaxed/wine9.csv" + ], + "validation_groups": [ + "utc-day:2020-07-31", + "utc-day:2020-08-15", + "utc-day:2020-09-08", + "utc-day:2022-04-29", + "utc-day:2022-06-18" + ], + "validation_recordings": [ + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "relaxed/wine14.csv", + "relaxed/wine21.csv", + "relaxed/wine3.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv" + ] + }, + { + "canonical_validation_windows": 863, + "train_groups": [ + "utc-day:2020-07-31", + "utc-day:2020-08-12", + "utc-day:2020-08-15", + "utc-day:2020-08-21", + "utc-day:2020-09-08", + "utc-day:2020-09-15", + "utc-day:2020-09-20", + "utc-day:2022-04-17", + "utc-day:2022-04-29", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-17", + "utc-day:2022-06-18", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "train_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "relaxed/wine12.csv", + "relaxed/wine14.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine20.csv", + "relaxed/wine21.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine3.csv", + "relaxed/wine6.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv", + "relaxed/wine9.csv" + ], + "validation_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-08-10", + "utc-day:2022-04-15", + "utc-day:2022-04-20", + "utc-day:2022-06-13" + ], + "validation_recordings": [ + "focused/play2.csv", + "focused/play3.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine13.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv" + ] + }, + { + "canonical_validation_windows": 980, + "train_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-07-31", + "utc-day:2020-08-10", + "utc-day:2020-08-15", + "utc-day:2020-09-08", + "utc-day:2020-09-20", + "utc-day:2022-04-15", + "utc-day:2022-04-20", + "utc-day:2022-04-29", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-06-13", + "utc-day:2022-06-18", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "train_recordings": [ + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play2.csv", + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play3.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine13.csv", + "relaxed/wine14.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine21.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv", + "relaxed/wine3.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv" + ], + "validation_groups": [ + "utc-day:2020-08-12", + "utc-day:2020-08-21", + "utc-day:2020-09-15", + "utc-day:2022-04-17", + "utc-day:2022-06-17" + ], + "validation_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "relaxed/wine12.csv", + "relaxed/wine20.csv", + "relaxed/wine6.csv", + "relaxed/wine9.csv" + ] + }, + { + "canonical_validation_windows": 1131, + "train_groups": [ + "utc-day:2020-07-28", + "utc-day:2020-07-31", + "utc-day:2020-08-10", + "utc-day:2020-08-12", + "utc-day:2020-08-15", + "utc-day:2020-08-21", + "utc-day:2020-09-08", + "utc-day:2020-09-15", + "utc-day:2022-04-15", + "utc-day:2022-04-17", + "utc-day:2022-04-20", + "utc-day:2022-04-29", + "utc-day:2022-06-13", + "utc-day:2022-06-17", + "utc-day:2022-06-18" + ], + "train_recordings": [ + "focused/play12.csv", + "focused/play13.csv", + "focused/play14.csv", + "focused/play15.csv", + "focused/play16.csv", + "focused/play17.csv", + "focused/play18.csv", + "focused/play2.csv", + "focused/play20.csv", + "focused/play21.csv", + "focused/play22.csv", + "focused/play3.csv", + "focused/play5.csv", + "focused/play6.csv", + "focused/play7.csv", + "relaxed/wine11.csv", + "relaxed/wine12.csv", + "relaxed/wine13.csv", + "relaxed/wine14.csv", + "relaxed/wine19.csv", + "relaxed/wine2.csv", + "relaxed/wine20.csv", + "relaxed/wine21.csv", + "relaxed/wine3.csv", + "relaxed/wine6.csv", + "relaxed/wine7.csv", + "relaxed/wine8.csv", + "relaxed/wine9.csv" + ], + "validation_groups": [ + "utc-day:2020-09-20", + "utc-day:2022-05-03", + "utc-day:2022-06-10", + "utc-day:2022-07-01", + "utc-day:2022-07-14" + ], + "validation_recordings": [ + "focused/play23.csv", + "focused/play24.csv", + "focused/play25.csv", + "focused/play26.csv", + "focused/play27.csv", + "focused/play28.csv", + "focused/play29.csv", + "focused/play30.csv", + "focused/play31.csv", + "focused/play32.csv", + "relaxed/wine15.csv", + "relaxed/wine18.csv", + "relaxed/wine23.csv", + "relaxed/wine24.csv" + ] + } + ], + "grouping": "dataset groups; recording UTC day unless overridden by manifest", + "holdout_canonical_windows": 793, + "holdout_fold": 0, + "holdout_groups": [ + "utc-day:2020-08-11", + "utc-day:2020-09-18", + "utc-day:2022-06-04", + "utc-day:2022-06-05", + "utc-day:2022-06-25" + ], + "holdout_recordings": [ + "focused/play10.csv", + "focused/play11.csv", + "focused/play8.csv", + "focused/play9.csv", + "relaxed/wine10.csv", + "relaxed/wine16.csv", + "relaxed/wine17.csv", + "relaxed/wine22.csv" + ], + "requested_cv_folds": 4, + "requested_holdout_folds": 5, + "seed": 42, + "stratification_unit": "one canonical representative per recording" + }, + "versions": { + "joblib": "1.4.2", + "numpy": "1.25.2", + "onnx": "1.16.2", + "onnxruntime": "1.19.2", + "platform": "Windows-10-10.0.22621-SP0", + "python": "3.11.4", + "scikit-learn": "1.5.1", + "scipy": "1.11.2", + "skl2onnx": "1.17.0", + "threadpoolctl": "3.5.0" + } +} diff --git a/src/ml/train/training_report.md b/src/ml/train/training_report.md new file mode 100644 index 000000000..6366e8890 --- /dev/null +++ b/src/ml/train/training_report.md @@ -0,0 +1,74 @@ +# Mindfulness classifier training + +Selection used development group cross-validation. Holdout scores below precede refitting on all recordings. + +CV-selected family: **mlp**. The portable native default remains **logreg**. + +## Cross-validation + +Means across 4 group-disjoint folds; F1 spread is the fold standard deviation, not a confidence interval. + +| Family | Macro F1 (mean +/- SD) | Macro precision | Macro recall / balanced accuracy | ROC AUC | +| --- | ---: | ---: | ---: | ---: | +| mlp | 0.9132 +/- 0.0358 | 0.9141 | 0.9170 | 0.9707 | +| svm | 0.9117 +/- 0.0387 | 0.9160 | 0.9138 | 0.9660 | +| polynomial_logreg | 0.9115 +/- 0.0395 | 0.9134 | 0.9143 | 0.9671 | +| hist_gradient_boosting | 0.9108 +/- 0.0359 | 0.9130 | 0.9137 | 0.9694 | +| gradient_boosting | 0.9096 +/- 0.0373 | 0.9121 | 0.9123 | 0.9690 | +| extra_trees | 0.9087 +/- 0.0327 | 0.9097 | 0.9123 | 0.9726 | +| stacking | 0.9077 +/- 0.0267 | 0.9076 | 0.9131 | 0.9707 | +| knn | 0.9065 +/- 0.0336 | 0.9087 | 0.9097 | 0.9687 | +| random_forest | 0.9058 +/- 0.0276 | 0.9046 | 0.9122 | 0.9689 | +| logreg | 0.8992 +/- 0.0290 | 0.8988 | 0.9043 | 0.9610 | + +## Frozen holdout + +These scores are reported after model selection; they are not used to choose hyperparameters or model families. + +| Family | Window macro F1 | Window accuracy | Recording accuracy | Window ROC AUC | +| --- | ---: | ---: | ---: | ---: | +| logreg | 0.8893 | 0.8894 | 1.0000 | 0.9427 | +| svm | 0.9122 | 0.9125 | 1.0000 | 0.9617 | +| random_forest | 0.9012 | 0.9012 | 1.0000 | 0.9556 | +| knn | 0.9092 | 0.9093 | 1.0000 | 0.9579 | +| mlp | 0.9023 | 0.9023 | 1.0000 | 0.9557 | +| stacking | 0.8906 | 0.8906 | 1.0000 | 0.9571 | +| extra_trees | 0.9031 | 0.9031 | 1.0000 | 0.9598 | +| hist_gradient_boosting | 0.8988 | 0.8988 | 1.0000 | 0.9599 | +| polynomial_logreg | 0.9061 | 0.9061 | 1.0000 | 0.9563 | +| gradient_boosting | 0.8903 | 0.8903 | 1.0000 | 0.9551 | +| Historical native weights on current DSP | 0.8527 | 0.8529 | 1.0000 | 0.9419 | + +Canonical windows: 4835; augmented training windows: 9910; recordings: 50; groups: 25. + +Window metrics give each recording equal total weight. Recording metrics threshold mean window probability. Selection maximizes mean fold window macro F1 at probability 0.5. + +## Limitations + +- Subject identities are unavailable unless supplied in the manifest; day grouping does not establish subject-independent generalization. +- Collection era and class are confounded in the supplied dataset: focused recordings are from 2020, while many relaxed recordings are from 2022. Models may learn session or hardware differences. +- Only one frozen grouped holdout is evaluated; small numbers of independent groups make scores uncertain. Inspect recording-level results as well as pooled metrics. +- CV selects hyperparameters, augmentation and stacking bases; selected CV scores are optimistic. The untouched holdout evaluates this selection procedure. +- Aborted export-validation attempts may precede this run. Pipeline fixes are not selected using holdout scores; rerunning the same split does not create a new independent validation study. +- Labels describe the recording task and are not independently validated mental-state measurements. +- Holdout scores belong to development-only evaluation models. Final production models are refit on all recordings, including the former holdout. + +## Holdout sensitivity within 2020 + +This descriptive slice uses recording timestamps and is not used to select models. + +| Family | Recordings | Macro F1 | Accuracy | +| --- | ---: | ---: | ---: | +| logreg | 5 | 0.8303 | 0.8839 | +| svm | 5 | 0.8836 | 0.9287 | +| random_forest | 5 | 0.8455 | 0.8919 | +| knn | 5 | 0.8661 | 0.9111 | +| mlp | 5 | 0.8482 | 0.8968 | +| stacking | 5 | 0.8279 | 0.8812 | +| extra_trees | 5 | 0.8541 | 0.9028 | +| hist_gradient_boosting | 5 | 0.8382 | 0.8912 | +| polynomial_logreg | 5 | 0.8530 | 0.9013 | +| gradient_boosting | 5 | 0.8211 | 0.8792 | + +The JSON report includes splits, candidate scores, extraction provenance, model hashes, export parity, and versions. +Evaluation ONNX files and holdout_predictions.npz in the work directory preserve the evaluation. Production ONNX files are refit on all groups and have no independent test score. diff --git a/src/ml/train/verification_report.json b/src/ml/train/verification_report.json new file mode 100644 index 000000000..ba06bddc1 --- /dev/null +++ b/src/ml/train/verification_report.json @@ -0,0 +1,158 @@ +{ + "brainflow_version": "0.0.1", + "bundled_onnxruntime": { + "sha256": "1d288bc5cf880825e9aae4c9217799d092257dc6be2b1094d361a95d532a009a", + "version": "1.11.0" + }, + "models": { + "extra_trees": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 4.76837158203125e-07, + "native_vs_sklearn_max_error": 1.3339557891622889e-07, + "probes": 793, + "sha256": "6108e3a556edf8fc6439176d1c6f8b8e7f962d27ddabe2e86accb41bc685e693" + }, + "production": { + "native_vs_python_max_error": 4.76837158203125e-07, + "probes": 197, + "sha256": "b903adff21a1f0c2a3cf25cb1edfb13cc3539ba6377a998d6c399b544ef27a38" + } + }, + "gradient_boosting": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 2.980232238769531e-07, + "native_vs_sklearn_max_error": 9.219201291266188e-08, + "probes": 793, + "sha256": "a743b1d2ef41cfbfbd96e7e9784491618021108c66496c47d41b284568189b7f" + }, + "production": { + "native_vs_python_max_error": 2.384185791015625e-07, + "probes": 197, + "sha256": "08ef3b350eba51727d96344b253fba967f31731d79e7c9f7ead12dcad82b6617" + } + }, + "hist_gradient_boosting": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 1.7881393432617188e-07, + "native_vs_sklearn_max_error": 9.126003985837627e-08, + "probes": 793, + "sha256": "0dd6862d9aebd64a1f8e53e8e5ecd0276ebb69a1e0485953e9fb86f8b0875558" + }, + "production": { + "native_vs_python_max_error": 2.384185791015625e-07, + "probes": 197, + "sha256": "84cd8106c185905580ccfd3bc6fd39c4d74e4455d9a5f0295325097fcfca5ba9" + } + }, + "knn": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 0.0, + "native_vs_sklearn_max_error": 1.1305528657690189e-07, + "probes": 793, + "sha256": "2d1394d7b06fd318a1a903b5b48eff8ef730bcf1bd96ae795bc1ce8a73592a75" + }, + "production": { + "native_vs_python_max_error": 0.0, + "probes": 197, + "sha256": "a7199c6a21df6f0ba5db472d4f0590aec7ab3eb55e4eab07a58426af22b1972d" + } + }, + "logreg": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 0.0, + "native_vs_sklearn_max_error": 2.560292147180121e-07, + "probes": 793, + "sha256": "ceba0f2f64ad5714c145f5de3c9b280f7d465f7ef3c40fe27336549a22e8c3ef" + }, + "production": { + "native_vs_python_max_error": 0.0, + "probes": 197, + "sha256": "c42b04affdde311beb81cf8ae34c97aeab926864da1f1c9cf7971477722e6dee" + } + }, + "mlp": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 0.0, + "native_vs_sklearn_max_error": 4.7546925341368507e-07, + "probes": 793, + "sha256": "80834de180c1849070a6d20271d7630d2ce35e5900079c5d5c22b56ee38a27f3" + }, + "production": { + "native_vs_python_max_error": 0.0, + "probes": 197, + "sha256": "41df51c69d445fde352f3d87e69b58bef8f399ca56a9460cd2373958d776982b" + } + }, + "polynomial_logreg": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 0.0, + "native_vs_sklearn_max_error": 6.232599443212195e-07, + "probes": 793, + "sha256": "c5bcfb91c53ef8a9eda62fc7ac9ef137e87287ab69f8c493220ef85337831a13" + }, + "production": { + "native_vs_python_max_error": 0.0, + "probes": 197, + "sha256": "db6f6ac413b804c474d0f6b2ed66b1070d9e0de39d12decf6ed8e5e2ea3c7074" + } + }, + "random_forest": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 4.172325134277344e-07, + "native_vs_sklearn_max_error": 1.2219964173887377e-07, + "probes": 793, + "sha256": "97d6acd5e534767f835da9f0405b8047d57fae54f5063ab4f7c7ef84da535f92" + }, + "production": { + "native_vs_python_max_error": 4.172325134277344e-07, + "probes": 197, + "sha256": "011d54d33fe614b28d70ddfe3a5869297ca000be88221d7c2606743c0d694714" + } + }, + "stacking": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 1.1920928955078125e-07, + "native_vs_sklearn_max_error": 3.02576646071806e-07, + "probes": 793, + "sha256": "e689c6bc422431f57046f863374d1d7cb637a371b92caed1ba52762cc68bf986" + }, + "production": { + "native_vs_python_max_error": 1.1920928955078125e-07, + "probes": 197, + "sha256": "ec582a8599218c2da4ef507710c87c5eaa0b62c92fdf96d77351f669226d5d86" + } + }, + "svm": { + "evaluation": { + "class_disagreements": 0, + "native_vs_python_max_error": 0.0, + "native_vs_sklearn_max_error": 8.93687427394596e-08, + "probes": 793, + "sha256": "2f8804dc77626b743f4e348c5c4bca1ceaa19b1fd229c57d926040db071091ef" + }, + "production": { + "native_vs_python_max_error": 0.0, + "probes": 197, + "sha256": "bc337325be60d47d9854bf94c1ee4f0290fc0a9748c090b902382256102190a9" + } + } + }, + "native_default": { + "coefficient_parity_error": 2.7755575615628914e-16, + "complement_error": 2.220446049250313e-16, + "onnx_parity_error": 9.535044487307687e-08, + "probes": 197 + }, + "onnxruntime_version": "1.19.2", + "status": "passed", + "training_fingerprint": "315272f3d22f632e01c2e980515c9023eee702061e2afb6ee1c240c790fb3ceb" +} diff --git a/src/ml/train/verify_classifiers.py b/src/ml/train/verify_classifiers.py new file mode 100644 index 000000000..a74b756fa --- /dev/null +++ b/src/ml/train/verify_classifiers.py @@ -0,0 +1,136 @@ +"""Verify saved classifiers against held-out sklearn predictions and native BrainFlow.""" +import argparse +import ctypes +import hashlib +import json +from pathlib import Path +import sys + +import numpy as np +import onnx +import onnxruntime as ort +from scipy.special import expit + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT / 'python_package')) +from brainflow.ml_model import BrainFlowClassifiers, BrainFlowMetrics, BrainFlowModelParams, MLModel + + +def sha256(path): + return hashlib.sha256(Path(path).read_bytes()).hexdigest() + + +def native_model(path): + params = BrainFlowModelParams(BrainFlowMetrics.USER_DEFINED, BrainFlowClassifiers.ONNX_CLASSIFIER) + params.file = str(Path(path).resolve()) + params.max_array_size = 2 + model = MLModel(params) + model.prepare() + return model + + +def native_predict(model, X): + try: + return np.asarray([model.predict(row) for row in X]) + finally: + model.release() + + +def ort_predict(path, X): + options = ort.SessionOptions() + options.intra_op_num_threads = options.inter_op_num_threads = 1 + session = ort.InferenceSession(str(path), sess_options=options, providers=['CPUExecutionProvider']) + output = next(value.name for value in session.get_outputs() + if value.name in ('probabilities', 'output_probability')) + name = session.get_inputs()[0].name + return np.asarray([session.run([output], {name: row.astype(np.float32).reshape(1, 5)})[0][0] + for row in X]) + + +def compare(actual, expected, tolerance, description): + if actual.shape != expected.shape or not np.isfinite(actual).all(): + raise ValueError(f'{description}: invalid prediction shape or nonfinite output') + error = float(np.max(np.abs(actual - expected))) + if error > tolerance: + raise ValueError(f'{description}: max error {error:g} exceeds {tolerance:g}') + return error + + +def main(argv=None): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--report', type=Path, default=ROOT / 'src/ml/train/training_report.json') + parser.add_argument('--work-dir', type=Path, default=ROOT / 'build/classifier_training') + parser.add_argument('--output', type=Path) + args = parser.parse_args(argv) + report = json.loads(args.report.read_text(encoding='utf-8')) + predictions_path = args.work_dir / 'holdout_predictions.npz' + if sha256(predictions_path) != report['holdout_predictions_sha256']: + raise ValueError('Held-out prediction cache does not match the training report') + with np.load(predictions_path, allow_pickle=False) as cache: + saved = {name: cache[name] for name in cache.files} + X = saved['X'] + probes = np.vstack((X[np.linspace(0, len(X)-1, min(128, len(X)), dtype=int)], np.eye(5), + np.random.default_rng(42).dirichlet(np.ones(5), 64))) + MLModel.disable_ml_logger() + result = dict(training_fingerprint=report['fingerprint'], onnxruntime_version=ort.__version__, + brainflow_version=MLModel.get_version(), models={}) + for family, entry in report['models'].items(): + errors = {} + for stage, directory in (('evaluation', args.work_dir / 'evaluation_models'), + ('production', args.report.parent)): + metadata = entry[stage + '_export'] + path = directory / Path(metadata['path']).name + if sha256(path) != metadata['sha256']: + raise ValueError(f'{family}/{stage}: artifact hash mismatch') + onnx.checker.check_model(onnx.load(path)) + samples = X if stage == 'evaluation' else probes + python = ort_predict(path, samples) + native = native_predict(native_model(path), samples) + compare(python.sum(axis=1), np.ones(len(samples)), 2e-5, family + ' normalization') + errors[stage] = dict(probes=len(samples), sha256=metadata['sha256'], + native_vs_python_max_error=compare(native, python, 2e-5, family + '/' + stage)) + if stage == 'evaluation': + expected = np.column_stack((1-saved[family], saved[family])) + errors[stage]['native_vs_sklearn_max_error'] = compare( + native, expected, 2e-5, family + '/saved sklearn probabilities') + errors[stage]['class_disagreements'] = int(np.sum((native[:, 1] >= .5) != (saved[family] >= .5))) + result['models'][family] = errors + print(f'{family}: evaluation and production parity passed', flush=True) + parameters = report['native_logistic'] + native_source = ROOT / 'src/ml/generated/mindfulness_model.cpp' + if sha256(native_source) != parameters['sha256']: + raise ValueError('Generated native coefficients do not match the training report') + probabilities = {} + for name, metric in [('mindfulness', BrainFlowMetrics.MINDFULNESS), ('restfulness', BrainFlowMetrics.RESTFULNESS)]: + model = MLModel(BrainFlowModelParams(metric, BrainFlowClassifiers.DEFAULT_CLASSIFIER)) + model.prepare() + probabilities[name] = native_predict(model, probes)[:, 0] + expected = expit(probes @ np.asarray(parameters['coefficients']) + parameters['intercept']) + result['native_default'] = dict(probes=len(probes), + coefficient_parity_error=compare(probabilities['mindfulness'], expected, 1e-12, 'native logistic'), + complement_error=compare(probabilities['restfulness'], 1-expected, 1e-12, 'restfulness')) + logistic = report['models']['logreg']['production_export'] + result['native_default']['onnx_parity_error'] = compare(probabilities['mindfulness'], + ort_predict(args.report.parent / Path(logistic['path']).name, probes)[:, 1], 2e-5, 'native vs ONNX logistic') + # This is the dynamically loaded bundled runtime, separate from Python's ORT. + library_dir = ROOT / 'python_package/brainflow/lib' + for name in ('onnxruntime_x64.dll', 'libonnxruntime.so', 'libonnxruntime.dylib'): + path = library_dir / name + if path.is_file(): + class ApiBase(ctypes.Structure): + _fields_ = [('get_api', ctypes.c_void_p), ('version', ctypes.c_void_p)] + library = ctypes.CDLL(str(path)) + library.OrtGetApiBase.restype = ctypes.POINTER(ApiBase) + version = ctypes.CFUNCTYPE(ctypes.c_char_p)(library.OrtGetApiBase().contents.version)() + result['bundled_onnxruntime'] = dict(version=version.decode(), sha256=sha256(path)) + break + result['status'] = 'passed' + output = args.output or args.work_dir / 'verification_report.json' + output.parent.mkdir(parents=True, exist_ok=True) + output.write_text(json.dumps(result, indent=2, sort_keys=True) + '\n', encoding='utf-8') + print(f'All {len(result["models"])} classifier families and native logistic verified; {output}') + return 0 + + +if __name__ == '__main__': + raise SystemExit(main()) diff --git a/src/utils/inc/brainflow_array.h b/src/utils/inc/brainflow_array.h index 5dba6e732..5168f551d 100644 --- a/src/utils/inc/brainflow_array.h +++ b/src/utils/inc/brainflow_array.h @@ -3,6 +3,7 @@ #include #include #include +#include #include #include #include @@ -23,6 +24,12 @@ static inline int product (const std::array &array) for (int i = 0; i < N; i++) { + if (array[i] < 0 || + (array[i] != 0 && result > (std::numeric_limits::max) () / array[i])) + { + throw BrainFlowException ( + "invalid array dimensions", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } result *= array[i]; } @@ -69,6 +76,12 @@ static inline std::array make_stride (const std::array &size) stride[N - 1] = 1; for (int i = (int)N - 2; i >= 0; i--) { + if (size[i + 1] < 0 || + (size[i + 1] != 0 && stride[i + 1] > (std::numeric_limits::max) () / size[i + 1])) + { + throw BrainFlowException ( + "invalid array dimensions", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } stride[i] = stride[i + 1] * size[i + 1]; } @@ -86,6 +99,15 @@ class BrainFlowArray std::array stride; T *origin; + void validate_index (int index, int dim) const + { + if (index < 0 || index >= size[dim]) + { + throw BrainFlowException ( + "out of range", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } + } + public: friend std::ostream &operator<<<> (std::ostream &out, const BrainFlowArray &array); @@ -113,7 +135,7 @@ class BrainFlowArray } explicit BrainFlowArray (int size0) - : length (size0) + : length (product (make_array (size0))) , size (make_array (size0)) , stride (make_stride<1> (make_array (size0))) , origin (nullptr) @@ -124,7 +146,7 @@ class BrainFlowArray } BrainFlowArray (int size0, int size1) - : length (size0 * size1) + : length (product (make_array (size0, size1))) , size (make_array (size0, size1)) , stride (make_stride<2> (make_array (size0, size1))) , origin (nullptr) @@ -135,7 +157,7 @@ class BrainFlowArray } BrainFlowArray (int size0, int size1, int size2) - : length (size0 * size1 * size2) + : length (product (make_array (size0, size1, size2))) , size (make_array (size0, size1, size2)) , stride (make_stride<3> (make_array (size0, size1, size2))) , origin (nullptr) @@ -146,7 +168,7 @@ class BrainFlowArray } BrainFlowArray (T *ptr, int size0) - : length (size0) + : length (product (make_array (size0))) , size (make_array (size0)) , stride (make_stride<1> (make_array (size0))) , origin (nullptr) @@ -157,7 +179,7 @@ class BrainFlowArray } BrainFlowArray (T *ptr, int size0, int size1) - : length (size0 * size1) + : length (product (make_array (size0, size1))) , size (make_array (size0, size1)) , stride (make_stride<2> (make_array (size0, size1))) , origin (nullptr) @@ -168,7 +190,7 @@ class BrainFlowArray } BrainFlowArray (T *ptr, int size0, int size1, int size2) - : length (size0 * size1 * size2) + : length (product (make_array (size0, size1, size2))) , size (make_array (size0, size1, size2)) , stride (make_stride<3> (make_array (size0, size1, size2))) , origin (nullptr) @@ -266,6 +288,11 @@ class BrainFlowArray int get_stride (int dim) const { + if (dim < 0 || dim >= Dim) + { + throw BrainFlowException ( + "invalid dim argument", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } return stride[dim]; } @@ -294,6 +321,7 @@ class BrainFlowArray /// access element at index T &at (int index0) { + validate_index (index0, 0); int idx = index0 * get_stride (0); if (idx >= length) { @@ -306,6 +334,7 @@ class BrainFlowArray /// access element at index const T &at (int index0) const { + validate_index (index0, 0); int idx = index0 * get_stride (0); if (idx >= length) { @@ -330,12 +359,22 @@ class BrainFlowArray /// access element at index T &operator[] (int index0) { + if (index0 < 0 || index0 >= length) + { + throw BrainFlowException ( + "out of range", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } return origin[index0]; } /// access element at index const T &operator[] (int index0) const { + if (index0 < 0 || index0 >= length) + { + throw BrainFlowException ( + "out of range", (int)BrainFlowExitCodes::INVALID_ARGUMENTS_ERROR); + } return origin[index0]; } @@ -343,6 +382,8 @@ class BrainFlowArray T &at (int index0, int index1) { static_assert (Dim >= 2, "BrainFlowArray dimension bounds error"); + validate_index (index0, 0); + validate_index (index1, 1); int idx = index0 * get_stride (0) + index1 * get_stride (1); if (idx >= length) { @@ -356,6 +397,8 @@ class BrainFlowArray const T &at (int index0, int index1) const { static_assert (Dim >= 2, "BrainFlowArray dimension bounds error"); + validate_index (index0, 0); + validate_index (index1, 1); int idx = index0 * get_stride (0) + index1 * get_stride (1); if (idx >= length) { @@ -381,6 +424,9 @@ class BrainFlowArray T &at (int index0, int index1, int index2) { static_assert (Dim >= 3, "BrainFlowArray dimension bounds error"); + validate_index (index0, 0); + validate_index (index1, 1); + validate_index (index2, 2); int idx = index0 * get_stride (0) + index1 * get_stride (1) + index2 * get_stride (2); if (idx >= length) { @@ -394,6 +440,9 @@ class BrainFlowArray const T &at (int index0, int index1, int index2) const { static_assert (Dim >= 3, "BrainFlowArray dimension bounds error"); + validate_index (index0, 0); + validate_index (index1, 1); + validate_index (index2, 2); int idx = index0 * get_stride (0) + index1 * get_stride (1) + index2 * get_stride (2); if (idx >= length) { @@ -424,27 +473,27 @@ class BrainFlowArray /// use it to get pointer to row in matrix or to get pointer to matrix from 3d array T *get_address (int index0) { - return &origin[index0 * get_stride (0)]; + return &at (index0); } /// use it to get pointer to row in 3d array T *get_address (int index0, int index1) { static_assert (Dim >= 2, "Dim should be >= 2"); - return &origin[index0 * get_stride (0) + index1 * get_stride (1)]; + return &at (index0, index1); } /// use it to get pointer to row in matrix or to get pointer to matrix from 3d array const T *get_address (int index0) const { - return &origin[index0 * get_stride (0)]; + return &at (index0); } /// use it to get pointer to row in 3d array const T *get_address (int index0, int index1) const { static_assert (Dim >= 2, "Dim should be >= 2"); - return &origin[index0 * get_stride (0) + index1 * get_stride (1)]; + return &at (index0, index1); } /// fill already preallocated buffer diff --git a/swift_package/Sources/BrainFlow/DataFilter.swift b/swift_package/Sources/BrainFlow/DataFilter.swift index 89008de40..7a0b000b6 100644 --- a/swift_package/Sources/BrainFlow/DataFilter.swift +++ b/swift_package/Sources/BrainFlow/DataFilter.swift @@ -3,7 +3,7 @@ import Foundation public enum DataFilter { public static func set_log_level(_ log_level: Int) throws { try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.set_log_level_data_handler(CInt(log_level)), "Error in set_log_level") + try checkBrainFlowExitCode(native.set_log_level_data_handler(checkedCInt(log_level)), "Error in set_log_level") } } @@ -35,7 +35,7 @@ public enum DataFilter { var mutableMessage = Array(message.utf8CString) try mutableMessage.withUnsafeMutableBufferPointer { pointer in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.log_message_data_handler(CInt(log_level), pointer.baseAddress), "Error in log_message") + try checkBrainFlowExitCode(native.log_message_data_handler(checkedCInt(log_level), pointer.baseAddress), "Error in log_message") } } } @@ -54,7 +54,7 @@ public enum DataFilter { ) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_lowpass(pointer, CInt(count), CInt(sampling_rate), cutoff, CInt(order), CInt(filter_type), ripple), "Failed to perform lowpass") + try checkBrainFlowExitCode(native.perform_lowpass(pointer, checkedCInt(count), checkedCInt(sampling_rate), cutoff, checkedCInt(order), checkedCInt(filter_type), ripple), "Failed to perform lowpass") } } } @@ -80,7 +80,7 @@ public enum DataFilter { ) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_highpass(pointer, CInt(count), CInt(sampling_rate), cutoff, CInt(order), CInt(filter_type), ripple), "Failed to perform highpass") + try checkBrainFlowExitCode(native.perform_highpass(pointer, checkedCInt(count), checkedCInt(sampling_rate), cutoff, checkedCInt(order), checkedCInt(filter_type), ripple), "Failed to perform highpass") } } } @@ -107,7 +107,7 @@ public enum DataFilter { ) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_bandpass(pointer, CInt(count), CInt(sampling_rate), start_freq, stop_freq, CInt(order), CInt(filter_type), ripple), "Failed to perform bandpass") + try checkBrainFlowExitCode(native.perform_bandpass(pointer, checkedCInt(count), checkedCInt(sampling_rate), start_freq, stop_freq, checkedCInt(order), checkedCInt(filter_type), ripple), "Failed to perform bandpass") } } } @@ -135,7 +135,7 @@ public enum DataFilter { ) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_bandstop(pointer, CInt(count), CInt(sampling_rate), start_freq, stop_freq, CInt(order), CInt(filter_type), ripple), "Failed to perform bandstop") + try checkBrainFlowExitCode(native.perform_bandstop(pointer, checkedCInt(count), checkedCInt(sampling_rate), start_freq, stop_freq, checkedCInt(order), checkedCInt(filter_type), ripple), "Failed to perform bandstop") } } } @@ -155,7 +155,7 @@ public enum DataFilter { public static func remove_environmental_noise(data: inout [Double], sampling_rate: Int, noise_type: Int) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.remove_environmental_noise(pointer, CInt(count), CInt(sampling_rate), CInt(noise_type)), "Failed to remove environmental noise") + try checkBrainFlowExitCode(native.remove_environmental_noise(pointer, checkedCInt(count), checkedCInt(sampling_rate), checkedCInt(noise_type)), "Failed to remove environmental noise") } } } @@ -167,7 +167,7 @@ public enum DataFilter { public static func perform_rolling_filter(data: inout [Double], period: Int, operation: Int) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_rolling_filter(pointer, CInt(count), CInt(period), CInt(operation)), "Failed to perform rolling filter") + try checkBrainFlowExitCode(native.perform_rolling_filter(pointer, checkedCInt(count), checkedCInt(period), checkedCInt(operation)), "Failed to perform rolling filter") } } } @@ -179,7 +179,7 @@ public enum DataFilter { public static func detrend(data: inout [Double], detrend_operation: Int) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.detrend(pointer, CInt(count), CInt(detrend_operation)), "Failed to detrend data") + try checkBrainFlowExitCode(native.detrend(pointer, checkedCInt(count), checkedCInt(detrend_operation)), "Failed to detrend data") } } } @@ -195,7 +195,7 @@ public enum DataFilter { try input.withUnsafeMutableBufferPointer { inputPtr in try output.withUnsafeMutableBufferPointer { outputPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_downsampling(inputPtr.baseAddress, CInt(data.count), CInt(period), CInt(operation), outputPtr.baseAddress), "Failed to perform downsampling") + try checkBrainFlowExitCode(native.perform_downsampling(inputPtr.baseAddress, checkedCInt(data.count), checkedCInt(period), checkedCInt(operation), outputPtr.baseAddress), "Failed to perform downsampling") } } } @@ -212,7 +212,10 @@ public enum DataFilter { decomposition_level: Int, extension_type: Int ) throws -> WaveletTransform { - guard decomposition_level > 0 else { throw invalidArguments("Invalid decomposition level") } + guard decomposition_level > 0, decomposition_level <= 100, !data.isEmpty, + data.count <= Int(CInt.max) - 82 * decomposition_level else { + throw invalidArguments("Invalid wavelet dimensions") + } var input = data var output = [Double](repeating: 0.0, count: data.count + 2 * decomposition_level * 41) var lengths = [CInt](repeating: 0, count: decomposition_level + 1) @@ -220,7 +223,7 @@ public enum DataFilter { try output.withUnsafeMutableBufferPointer { outputPtr in try lengths.withUnsafeMutableBufferPointer { lengthsPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_wavelet_transform(inputPtr.baseAddress, CInt(data.count), CInt(wavelet), CInt(decomposition_level), CInt(extension_type), outputPtr.baseAddress, lengthsPtr.baseAddress), "Failed to perform wavelet transform") + try checkBrainFlowExitCode(native.perform_wavelet_transform(inputPtr.baseAddress, checkedCInt(data.count), checkedCInt(wavelet), checkedCInt(decomposition_level), checkedCInt(extension_type), outputPtr.baseAddress, lengthsPtr.baseAddress), "Failed to perform wavelet transform") } } } @@ -245,6 +248,19 @@ public enum DataFilter { decomposition_level: Int, extension_type: Int ) throws -> [Double] { + guard original_data_len > 0, original_data_len <= Int(CInt.max), + original_data_len <= wavelet_output.coefficients.count, + decomposition_level > 0, decomposition_level <= 100, + wavelet_output.decomposition_lengths.count == decomposition_level + 1, + wavelet_output.coefficients.count <= Int(CInt.max), + CInt(exactly: wavelet) != nil, CInt(exactly: extension_type) != nil, + wavelet_output.decomposition_lengths.allSatisfy({ $0 > 0 && $0 <= Int(CInt.max) }) else { + throw invalidArguments("Invalid wavelet metadata") + } + let coefficientCount = wavelet_output.decomposition_lengths.reduce(Int64(0)) { $0 + Int64($1) } + guard coefficientCount == Int64(wavelet_output.coefficients.count) else { + throw invalidArguments("Wavelet coefficient lengths do not match") + } var coeffs = wavelet_output.coefficients var lengths = wavelet_output.decomposition_lengths.map(CInt.init) var output = [Double](repeating: 0.0, count: original_data_len) @@ -252,7 +268,7 @@ public enum DataFilter { try lengths.withUnsafeMutableBufferPointer { lengthsPtr in try output.withUnsafeMutableBufferPointer { outputPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_inverse_wavelet_transform(coeffsPtr.baseAddress, CInt(original_data_len), CInt(wavelet), CInt(decomposition_level), CInt(extension_type), lengthsPtr.baseAddress, outputPtr.baseAddress), "Failed to perform inverse wavelet transform") + try checkBrainFlowExitCode(native.perform_inverse_wavelet_transform_checked(coeffsPtr.baseAddress, checkedCInt(coeffsPtr.count), checkedCInt(original_data_len), checkedCInt(wavelet), checkedCInt(decomposition_level), checkedCInt(extension_type), lengthsPtr.baseAddress, checkedCInt(lengthsPtr.count), outputPtr.baseAddress, checkedCInt(outputPtr.count)), "Failed to perform inverse wavelet transform") } } } @@ -281,7 +297,7 @@ public enum DataFilter { ) throws { try withMutableData(&data) { pointer, count in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_wavelet_denoising(pointer, CInt(count), CInt(wavelet), CInt(decomposition_level), CInt(wavelet_denoising), CInt(threshold), CInt(extension_type), CInt(noise_level)), "Failed to perform wavelet denoising") + try checkBrainFlowExitCode(native.perform_wavelet_denoising(pointer, checkedCInt(count), checkedCInt(wavelet), checkedCInt(decomposition_level), checkedCInt(wavelet_denoising), checkedCInt(threshold), checkedCInt(extension_type), checkedCInt(noise_level)), "Failed to perform wavelet denoising") } } } @@ -309,7 +325,7 @@ public enum DataFilter { try input.withUnsafeMutableBufferPointer { inputPtr in try output.withUnsafeMutableBufferPointer { outputPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.restore_data_from_wavelet_detailed_coeffs(inputPtr.baseAddress, CInt(data.count), CInt(wavelet), CInt(decomposition_level), CInt(level_to_restore), outputPtr.baseAddress), "Failed to restore wavelet detailed coeffs") + try checkBrainFlowExitCode(native.restore_data_from_wavelet_detailed_coeffs(inputPtr.baseAddress, checkedCInt(data.count), checkedCInt(wavelet), checkedCInt(decomposition_level), checkedCInt(level_to_restore), outputPtr.baseAddress), "Failed to restore wavelet detailed coeffs") } } } @@ -331,7 +347,7 @@ public enum DataFilter { try input.withUnsafeMutableBufferPointer { inputPtr in try output.withUnsafeMutableBufferPointer { outputPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.detect_peaks_z_score(inputPtr.baseAddress, CInt(data.count), CInt(lag), threshold, influence, outputPtr.baseAddress), "Failed to detect peaks") + try checkBrainFlowExitCode(native.detect_peaks_z_score(inputPtr.baseAddress, checkedCInt(data.count), checkedCInt(lag), threshold, influence, outputPtr.baseAddress), "Failed to detect peaks") } } } @@ -350,21 +366,21 @@ public enum DataFilter { throw invalidArguments("CSP data must be rectangular") } var flattened = [Double]() - flattened.reserveCapacity(nEpochs * nChannels * nTimes) + flattened.reserveCapacity(try checkedBufferCount(nEpochs, nChannels, nTimes)) for epoch in data { for channel in epoch { flattened.append(contentsOf: channel) } } var mutableLabels = labels - var filters = [Double](repeating: 0.0, count: nChannels * nChannels) + var filters = [Double](repeating: 0.0, count: try checkedBufferCount(nChannels, nChannels)) var eigenvalues = [Double](repeating: 0.0, count: nChannels) try flattened.withUnsafeMutableBufferPointer { dataPtr in try mutableLabels.withUnsafeMutableBufferPointer { labelsPtr in try filters.withUnsafeMutableBufferPointer { filtersPtr in try eigenvalues.withUnsafeMutableBufferPointer { eigenPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_csp(dataPtr.baseAddress, labelsPtr.baseAddress, CInt(nEpochs), CInt(nChannels), CInt(nTimes), filtersPtr.baseAddress, eigenPtr.baseAddress), "Failed to get CSP") + try checkBrainFlowExitCode(native.get_csp(dataPtr.baseAddress, labelsPtr.baseAddress, checkedCInt(nEpochs), checkedCInt(nChannels), checkedCInt(nTimes), filtersPtr.baseAddress, eigenPtr.baseAddress), "Failed to get CSP") } } } @@ -374,11 +390,13 @@ public enum DataFilter { } public static func get_window(window_function: Int, window_len: Int) throws -> [Double] { - guard window_len > 0 else { throw invalidArguments("window_len must be positive") } + guard window_len > 0, window_len <= Int(CInt.max) else { + throw invalidArguments("window_len must be a positive native integer") + } var output = [Double](repeating: 0.0, count: window_len) try output.withUnsafeMutableBufferPointer { pointer in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_window(CInt(window_function), CInt(window_len), pointer.baseAddress), "Failed to get window") + try checkBrainFlowExitCode(native.get_window(checkedCInt(window_function), checkedCInt(window_len), pointer.baseAddress), "Failed to get window") } } return output @@ -399,7 +417,7 @@ public enum DataFilter { try real.withUnsafeMutableBufferPointer { realPtr in try imag.withUnsafeMutableBufferPointer { imagPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_fft(inputPtr.baseAddress, CInt(inputCount), CInt(window), realPtr.baseAddress, imagPtr.baseAddress), "Failed to perform FFT") + try checkBrainFlowExitCode(native.perform_fft(inputPtr.baseAddress, checkedCInt(inputCount), checkedCInt(window), realPtr.baseAddress, imagPtr.baseAddress), "Failed to perform FFT") } } } @@ -423,13 +441,13 @@ public enum DataFilter { guard data.count >= 2 else { throw invalidArguments("FFT data must contain at least two bins") } var real = data.map(\.real) var imag = data.map(\.imag) - let restoredLength = (data.count - 1) * 2 + let restoredLength = try checkedBufferCount(data.count - 1, 2) var output = [Double](repeating: 0.0, count: restoredLength) try real.withUnsafeMutableBufferPointer { realPtr in try imag.withUnsafeMutableBufferPointer { imagPtr in try output.withUnsafeMutableBufferPointer { outputPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_ifft(realPtr.baseAddress, imagPtr.baseAddress, CInt(restoredLength), outputPtr.baseAddress), "Failed to perform IFFT") + try checkBrainFlowExitCode(native.perform_ifft(realPtr.baseAddress, imagPtr.baseAddress, checkedCInt(restoredLength), outputPtr.baseAddress), "Failed to perform IFFT") } } } @@ -448,7 +466,7 @@ public enum DataFilter { try ampl.withUnsafeMutableBufferPointer { amplPtr in try freq.withUnsafeMutableBufferPointer { freqPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_psd(inputPtr.baseAddress, CInt(inputCount), CInt(sampling_rate), CInt(window), amplPtr.baseAddress, freqPtr.baseAddress), "Failed to get PSD") + try checkBrainFlowExitCode(native.get_psd(inputPtr.baseAddress, checkedCInt(inputCount), checkedCInt(sampling_rate), checkedCInt(window), amplPtr.baseAddress, freqPtr.baseAddress), "Failed to get PSD") } } } @@ -480,7 +498,7 @@ public enum DataFilter { try ampl.withUnsafeMutableBufferPointer { amplPtr in try freq.withUnsafeMutableBufferPointer { freqPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_psd_welch(inputPtr.baseAddress, CInt(data.count), CInt(nfft), CInt(overlap), CInt(sampling_rate), CInt(window), amplPtr.baseAddress, freqPtr.baseAddress), "Failed to get PSD Welch") + try checkBrainFlowExitCode(native.get_psd_welch(inputPtr.baseAddress, checkedCInt(data.count), checkedCInt(nfft), checkedCInt(overlap), checkedCInt(sampling_rate), checkedCInt(window), amplPtr.baseAddress, freqPtr.baseAddress), "Failed to get PSD Welch") } } } @@ -501,13 +519,15 @@ public enum DataFilter { try ampl.withUnsafeMutableBufferPointer { amplPtr in try freq.withUnsafeMutableBufferPointer { freqPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_band_power(amplPtr.baseAddress, freqPtr.baseAddress, CInt(psd.ampl.count), freq_start, freq_end, &output), "Failed to get band power") + try checkBrainFlowExitCode(native.get_band_power(amplPtr.baseAddress, freqPtr.baseAddress, checkedCInt(psd.ampl.count), freq_start, freq_end, &output), "Failed to get band power") } } } return output } + /// Calculate normalized mean powers for bands 2-4, 4-8, 8-13, 13-30, 30-45 Hz. + /// Uses get_custom_band_powers preprocessing, minimum retained length, and variation semantics. public static func get_avg_band_powers(data: [[Double]], channels: [Int], sampling_rate: Int, apply_filter: Bool) throws -> BandPowerResult { let defaultBands = [ FrequencyBand(start: 2.0, stop: 4.0), @@ -519,6 +539,18 @@ public enum DataFilter { return try get_custom_band_powers(data: data, bands: defaultBands, channels: channels, sampling_rate: sampling_rate, apply_filter: apply_filter) } + /// Return normalized channel-mean band powers and coefficients of variation (population + /// stddev / mean of absolute channel powers). Zero-power bands have zero variation; + /// an all-zero total returns zero normalized powers. + /// Filtering demeans and applies padded, initialized zero-phase 48-52 and 58-62 Hz + /// notches only when their upper edges are below 90% of Nyquist. There is no automatic + /// passband, so preprocessing is independent of the requested integration bands. + /// Margins estimated from the complete cascade impulse-response tail are discarded at + /// both ends; this estimate is not a guaranteed artifact bound. Supply surrounding + /// samples and account for the resulting delay in live analysis. Without filtering + /// there is no preprocessing or trimming. At least max(8, 2 * get_nearest_power_of_two(sampling_rate)) + /// samples must remain. Data and edges must be finite; bands require + /// 0 <= start < stop <= Nyquist. Mains notches also attenuate overlapping bands. public static func get_custom_band_powers( data: [[Double]], bands: [FrequencyBand], @@ -532,7 +564,7 @@ public enum DataFilter { guard bands.allSatisfy({ $0.start < $0.stop }) else { throw invalidArguments("Band start frequency must be less than stop frequency") } guard sampling_rate > 0 else { throw invalidArguments("sampling_rate must be positive") } var selected = [Double]() - selected.reserveCapacity(channels.count * cols) + selected.reserveCapacity(try checkedBufferCount(channels.count, cols)) for channel in channels { selected.append(contentsOf: data[channel]) } @@ -546,7 +578,7 @@ public enum DataFilter { try avg.withUnsafeMutableBufferPointer { avgPtr in try stddev.withUnsafeMutableBufferPointer { stddevPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_custom_band_powers(dataPtr.baseAddress, CInt(channels.count), CInt(cols), startsPtr.baseAddress, stopsPtr.baseAddress, CInt(bands.count), CInt(sampling_rate), apply_filter ? 1 : 0, avgPtr.baseAddress, stddevPtr.baseAddress), "Failed to get custom band powers") + try checkBrainFlowExitCode(native.get_custom_band_powers(dataPtr.baseAddress, checkedCInt(channels.count), checkedCInt(cols), startsPtr.baseAddress, stopsPtr.baseAddress, checkedCInt(bands.count), checkedCInt(sampling_rate), apply_filter ? 1 : 0, avgPtr.baseAddress, stddevPtr.baseAddress), "Failed to get custom band powers") } } } @@ -561,25 +593,27 @@ public enum DataFilter { let selectedChannels = channels ?? Array(0..= 0 && $0 < rows }) else { throw invalidArguments("Channel index is out of range") } - guard cols >= 2 else { throw invalidArguments("ICA data must contain at least two samples") } + guard cols >= 3 else { throw invalidArguments("ICA data must contain at least three samples") } guard selectedChannels.count >= 2 else { throw invalidArguments("ICA requires at least two channels") } - guard num_components >= 2, num_components <= selectedChannels.count else { throw invalidArguments("num_components must be between 2 and the selected channel count") } + guard num_components >= 2, num_components <= min(selectedChannels.count, cols - 1) else { + throw invalidArguments("num_components exceeds the possible centered data rank") + } var selected = [Double]() - selected.reserveCapacity(selectedChannels.count * cols) + selected.reserveCapacity(try checkedBufferCount(selectedChannels.count, cols)) for channel in selectedChannels { selected.append(contentsOf: data[channel]) } - var w = [Double](repeating: 0.0, count: num_components * num_components) - var k = [Double](repeating: 0.0, count: selectedChannels.count * num_components) - var a = [Double](repeating: 0.0, count: num_components * selectedChannels.count) - var s = [Double](repeating: 0.0, count: cols * num_components) + var w = [Double](repeating: 0.0, count: try checkedBufferCount(num_components, num_components)) + var k = [Double](repeating: 0.0, count: try checkedBufferCount(selectedChannels.count, num_components)) + var a = [Double](repeating: 0.0, count: try checkedBufferCount(num_components, selectedChannels.count)) + var s = [Double](repeating: 0.0, count: try checkedBufferCount(cols, num_components)) try selected.withUnsafeMutableBufferPointer { dataPtr in try w.withUnsafeMutableBufferPointer { wPtr in try k.withUnsafeMutableBufferPointer { kPtr in try a.withUnsafeMutableBufferPointer { aPtr in try s.withUnsafeMutableBufferPointer { sPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.perform_ica(dataPtr.baseAddress, CInt(selectedChannels.count), CInt(cols), CInt(num_components), wPtr.baseAddress, kPtr.baseAddress, aPtr.baseAddress, sPtr.baseAddress), "Failed to perform ICA") + try checkBrainFlowExitCode(native.perform_ica(dataPtr.baseAddress, checkedCInt(selectedChannels.count), checkedCInt(cols), checkedCInt(num_components), wPtr.baseAddress, kPtr.baseAddress, aPtr.baseAddress, sPtr.baseAddress), "Failed to perform ICA") } } } @@ -602,7 +636,7 @@ public enum DataFilter { var output = 0.0 try input.withUnsafeMutableBufferPointer { pointer in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.calc_stddev(pointer.baseAddress, CInt(start), CInt(end), &output), "Failed to calc stddev") + try checkBrainFlowExitCode(native.calc_stddev(pointer.baseAddress, checkedCInt(start), checkedCInt(end), &output), "Failed to calc stddev") } } return output @@ -614,7 +648,7 @@ public enum DataFilter { var output = 0.0 try input.withUnsafeMutableBufferPointer { pointer in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_railed_percentage(pointer.baseAddress, CInt(data.count), CInt(gain), &output), "Failed to get railed percentage") + try checkBrainFlowExitCode(native.get_railed_percentage(pointer.baseAddress, checkedCInt(data.count), checkedCInt(gain), &output), "Failed to get railed percentage") } } return output @@ -629,7 +663,7 @@ public enum DataFilter { try ir.withUnsafeMutableBufferPointer { irPtr in try red.withUnsafeMutableBufferPointer { redPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_oxygen_level(irPtr.baseAddress, redPtr.baseAddress, CInt(ppg_ir.count), CInt(sampling_rate), coef1, coef2, coef3, &output), "Failed to get oxygen level") + try checkBrainFlowExitCode(native.get_oxygen_level(irPtr.baseAddress, redPtr.baseAddress, checkedCInt(ppg_ir.count), checkedCInt(sampling_rate), coef1, coef2, coef3, &output), "Failed to get oxygen level") } } } @@ -646,7 +680,7 @@ public enum DataFilter { try ir.withUnsafeMutableBufferPointer { irPtr in try red.withUnsafeMutableBufferPointer { redPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_heart_rate(irPtr.baseAddress, redPtr.baseAddress, CInt(ppg_ir.count), CInt(sampling_rate), CInt(fft_size), &output), "Failed to get heart rate") + try checkBrainFlowExitCode(native.get_heart_rate(irPtr.baseAddress, redPtr.baseAddress, checkedCInt(ppg_ir.count), checkedCInt(sampling_rate), checkedCInt(fft_size), &output), "Failed to get heart rate") } } } @@ -656,19 +690,20 @@ public enum DataFilter { public static func get_nearest_power_of_two(_ value: Int) throws -> Int { var output: CInt = 0 try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_nearest_power_of_two(CInt(value), &output), "Failed to get nearest power of two") + try checkBrainFlowExitCode(native.get_nearest_power_of_two(checkedCInt(value), &output), "Failed to get nearest power of two") } return Int(output) } public static func write_file(data: [[Double]], file_name: String, file_mode: String) throws { let (rows, cols) = try BrainFlowArray.validateRectangular(data) + _ = try checkedBufferCount(rows, cols) var linear = reshape_data_to_1d(num_rows: rows, num_cols: cols, buf: data) try file_name.withCString { fileNamePtr in try file_mode.withCString { fileModePtr in try linear.withUnsafeMutableBufferPointer { linearPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.write_file(linearPtr.baseAddress, CInt(rows), CInt(cols), fileNamePtr, fileModePtr), "Failed to write file") + try checkBrainFlowExitCode(native.write_file(linearPtr.baseAddress, checkedCInt(rows), checkedCInt(cols), fileNamePtr, fileModePtr), "Failed to write file") } } } @@ -733,7 +768,7 @@ public enum DataFilter { try accel_z.withUnsafeBufferPointer { zPtr in try output.withUnsafeMutableBufferPointer { outPtr in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native.get_activity_index(xPtr.baseAddress, yPtr.baseAddress, zPtr.baseAddress, CInt(dataLen), CInt(sampling_rate), CInt(periodToUse), noise_var_x, noise_var_y, noise_var_z, outPtr.baseAddress), "Failed to calculate activity index") + try checkBrainFlowExitCode(native.get_activity_index(xPtr.baseAddress, yPtr.baseAddress, zPtr.baseAddress, checkedCInt(dataLen), checkedCInt(sampling_rate), checkedCInt(periodToUse), noise_var_x, noise_var_y, noise_var_z, outPtr.baseAddress), "Failed to calculate activity index") } } } @@ -742,6 +777,28 @@ public enum DataFilter { return output } + private static func checkedCInt(_ value: Int) throws -> CInt { + guard let result = CInt(exactly: value) else { + throw invalidArguments("Integer argument exceeds the native integer range") + } + return result + } + + private static func checkedBufferCount(_ dimensions: Int...) throws -> Int { + var count = 1 + for dimension in dimensions { + guard dimension >= 0, dimension <= Int(CInt.max) else { + throw invalidArguments("Invalid buffer dimension") + } + let (next, overflow) = count.multipliedReportingOverflow(by: dimension) + guard !overflow, next <= Int(CInt.max) else { + throw invalidArguments("Buffer exceeds the native integer range") + } + count = next + } + return count + } + private static func withMutableData(_ data: inout [Double], _ body: (UnsafeMutablePointer?, Int) throws -> T) throws -> T { try data.withUnsafeMutableBufferPointer { pointer in try body(pointer.baseAddress, pointer.count) @@ -754,7 +811,7 @@ public enum DataFilter { var length: CInt = 0 try bytes.withUnsafeMutableBufferPointer { pointer in try DataFilterNative.withData { native in - try checkBrainFlowExitCode(native[keyPath: function](pointer.baseAddress, &length, CInt(maxLength)), "Error in get_version") + try checkBrainFlowExitCode(native[keyPath: function](pointer.baseAddress, &length, checkedCInt(maxLength)), "Error in get_version") } } return String(bytes: bytes.prefix(Int(length)).map { UInt8(bitPattern: $0) }, encoding: .utf8) ?? "" @@ -772,7 +829,7 @@ final class DataFilterNative { let perform_rolling_filter: @convention(c) (UnsafeMutablePointer?, CInt, CInt, CInt) -> CInt let perform_downsampling: @convention(c) (UnsafeMutablePointer?, CInt, CInt, CInt, UnsafeMutablePointer?) -> CInt let perform_wavelet_transform: @convention(c) (UnsafeMutablePointer?, CInt, CInt, CInt, CInt, UnsafeMutablePointer?, UnsafeMutablePointer?) -> CInt - let perform_inverse_wavelet_transform: @convention(c) (UnsafeMutablePointer?, CInt, CInt, CInt, CInt, UnsafeMutablePointer?, UnsafeMutablePointer?) -> CInt + let perform_inverse_wavelet_transform_checked: @convention(c) (UnsafeMutablePointer?, CInt, CInt, CInt, CInt, CInt, UnsafeMutablePointer?, CInt, UnsafeMutablePointer?, CInt) -> CInt let perform_wavelet_denoising: @convention(c) (UnsafeMutablePointer?, CInt, CInt, CInt, CInt, CInt, CInt, CInt) -> CInt let get_csp: @convention(c) (UnsafePointer?, UnsafePointer?, CInt, CInt, CInt, UnsafeMutablePointer?, UnsafeMutablePointer?) -> CInt let get_window: @convention(c) (CInt, CInt, UnsafeMutablePointer?) -> CInt @@ -810,7 +867,7 @@ final class DataFilterNative { private static func load() throws -> DataFilterNative { lock.lock() defer { lock.unlock() } - if let cached { return cached } + if let cached = cached { return cached } let value = try DataFilterNative(library: NativeLibraries.dataHandler.load()) cached = value return value @@ -825,7 +882,7 @@ final class DataFilterNative { perform_rolling_filter = try library.symbol("perform_rolling_filter", as: type(of: perform_rolling_filter)) perform_downsampling = try library.symbol("perform_downsampling", as: type(of: perform_downsampling)) perform_wavelet_transform = try library.symbol("perform_wavelet_transform", as: type(of: perform_wavelet_transform)) - perform_inverse_wavelet_transform = try library.symbol("perform_inverse_wavelet_transform", as: type(of: perform_inverse_wavelet_transform)) + perform_inverse_wavelet_transform_checked = try library.symbol("perform_inverse_wavelet_transform_checked", as: type(of: perform_inverse_wavelet_transform_checked)) perform_wavelet_denoising = try library.symbol("perform_wavelet_denoising", as: type(of: perform_wavelet_denoising)) get_csp = try library.symbol("get_csp", as: type(of: get_csp)) get_window = try library.symbol("get_window", as: type(of: get_window)) diff --git a/swift_package/Tests/BrainFlowTests/BrainFlowTests.swift b/swift_package/Tests/BrainFlowTests/BrainFlowTests.swift index 73ad196ae..aadbf5a1b 100644 --- a/swift_package/Tests/BrainFlowTests/BrainFlowTests.swift +++ b/swift_package/Tests/BrainFlowTests/BrainFlowTests.swift @@ -53,6 +53,24 @@ final class BrainFlowTests: XCTestCase { } func testDataFilterRejectsInvalidArgumentsBeforeNativeCalls() throws { + assertInvalidArguments(try DataFilter.perform_wavelet_transform( + data: [1.0, 2.0], wavelet: .DB3, decomposition_level: Int.max, + extension_type: .SYMMETRIC)) + assertInvalidArguments(try DataFilter.perform_wavelet_transform( + data: [1.0, 2.0], wavelet: .DB3, decomposition_level: 101, + extension_type: .SYMMETRIC)) + assertInvalidArguments(try DataFilter.get_window( + window_function: .HANNING, window_len: Int.max)) + assertInvalidArguments(try DataFilter.perform_inverse_wavelet_transform( + wavelet_output: WaveletTransform(coefficients: [0.0, 0.0], decomposition_lengths: [1, 1]), + original_data_len: Int(CInt.max), wavelet: .HAAR, decomposition_level: 1, + extension_type: .PERIODIC)) + assertInvalidArguments(try DataFilter.perform_inverse_wavelet_transform( + wavelet_output: WaveletTransform(coefficients: [0.0], decomposition_lengths: [19, 19, 34]), + original_data_len: 64, wavelet: WaveletTypes.DB3, decomposition_level: 2, extension_type: WaveletExtensionTypes.SYMMETRIC)) + assertInvalidArguments(try DataFilter.perform_inverse_wavelet_transform( + wavelet_output: WaveletTransform(coefficients: [0.0], decomposition_lengths: [Int.max]), + original_data_len: 64, wavelet: WaveletTypes.DB3, decomposition_level: 2, extension_type: WaveletExtensionTypes.SYMMETRIC)) assertInvalidArguments(try DataFilter.get_csp(data: [[[1.0, 2.0]], [[3.0]]], labels: [0.0, 1.0])) assertInvalidArguments(try DataFilter.get_csp(data: [[[1.0, 2.0]]], labels: [])) assertInvalidArguments(try DataFilter.get_window(window_function: WindowOperations.HANNING.rawValue, window_len: 0)) @@ -73,6 +91,20 @@ final class BrainFlowTests: XCTestCase { assertInvalidArguments(try DataFilter.get_heart_rate(ppg_ir: [1.0, 2.0], ppg_red: [1.0, 2.0], sampling_rate: 25, fft_size: 1023)) } + func testDataFilterRejectsOutOfRangeNativeIntegers() throws { + try requireNativeLibraries() + var data = [1.0, 2.0, 3.0, 4.0] + assertInvalidArguments(try DataFilter.perform_lowpass( + data: &data, sampling_rate: Int.max, cutoff: 20.0, order: 4, + filter_type: .BUTTERWORTH, ripple: 0.0)) + assertInvalidArguments(try DataFilter.perform_rolling_filter( + data: &data, period: Int.max, operation: .MEAN)) + assertInvalidArguments(try DataFilter.get_nearest_power_of_two(Int.max)) + assertInvalidArguments(try DataFilter.get_psd( + data: data, sampling_rate: Int.max, window: .NO_WINDOW)) + XCTAssertEqual(data, [1.0, 2.0, 3.0, 4.0]) + } + func testBrainFlowGetDataSyntheticBoard() throws { try requireNativeLibraries() let board = try BoardShim(board_id: .SYNTHETIC_BOARD) diff --git a/swift_package/examples/tests/ica/ica.swift b/swift_package/examples/tests/ica/ica.swift index 92840e65f..c45bc6a00 100644 --- a/swift_package/examples/tests/ica/ica.swift +++ b/swift_package/examples/tests/ica/ica.swift @@ -1,14 +1,21 @@ +import Foundation import BrainFlow -import BrainFlowExampleSupport @main enum ICAExample { static func main() throws { - let sample = try SyntheticBoardDataReader.read(maxSamples: 500) - let channels = Array(sample.eegChannels.prefix(4)) - let ica = try DataFilter.perform_ica(data: sample.data, num_components: 2, channels: channels) - - print("W: \(ica.w.count)x\(ica.w.first?.count ?? 0)") - print("S: \(ica.s.count)x\(ica.s.first?.count ?? 0)") + // Two simultaneous mixtures: rows are channels and columns are samples. + let samples = 1024 + var data = [[Double]](repeating: [Double](repeating: 0, count: samples), count: 2) + for i in 0..