<commit_before>#pragma once
#include "neural_network.hpp"

namespace Hippocrates::Trained {

template<typename Classification>
class Classifier : public NeuralNetwork {
public:
	using NeuralNetwork::NeuralNetwork;
	Classifier() : NeuralNetwork(){ };
	Classifier(const NeuralNetwork& other) : NeuralNetwork(other){};
	Classifier(NeuralNetwork&& other) : NeuralNetwork(std::move(other)){};

	auto Classify(const Type::neuron_values_t& inputs) {
		const auto outputs = GetOutputsUsingInputs(inputs);
		const auto maxOutput = std::max_element(outputs.begin(), outputs.end());
		const auto outputIndex = std::distance(outputs.begin(), maxOutput);
		return static_cast<Classification>(outputIndex);
	}
};

}<commit_msg>Add dependency<commit_after>#pragma once
#include <memory>
#include "neural_network.hpp"

namespace Hippocrates::Trained {

template<typename Classification>
class Classifier : public NeuralNetwork {
public:
	using NeuralNetwork::NeuralNetwork;
	Classifier() : NeuralNetwork(){ };
	Classifier(const NeuralNetwork& other) : NeuralNetwork(other){};
	Classifier(NeuralNetwork&& other) : NeuralNetwork(std::move(other)){};

	auto Classify(const Type::neuron_values_t& inputs) {
		const auto outputs = GetOutputsUsingInputs(inputs);
		const auto maxOutput = std::max_element(outputs.begin(), outputs.end());
		const auto outputIndex = std::distance(outputs.begin(), maxOutput);
		return static_cast<Classification>(outputIndex);
	}
};

}
{'fraction_non_alphanumeric': 0.12941176470588237, 'fraction_numerical': 0.0, 'mean_word_length': 7.925925925925926, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6635655', 'n_tokens_mistral': 442, 'n_tokens_neox': 414, 'n_words': 91}