Ваш вопрос несколько открытый, но звучит так, будто вы хотите, это то, что известно как « классификатор » в области машинного обучения .
Как правило, классификатор берет часть ввода и «классифицирует» ее, то есть: определяет категорию для объекта. Многие классификаторы обеспечивают вероятность с помощью этого определения, а некоторые могут даже возвращать несколько категорий с вероятностями для каждой.
Некоторые примеры классификаторов: байесовские сети , нейронные сети, списки решений и деревья решений . Байесовские сети часто используются для классификации спама. Письма классифицируются как «спам» или «не спам» с вероятностью.
По вашему вопросу вы бы хотели классифицировать ваши объекты как «высококачественные» или «не высокого качества».
Первое, что вам нужно, это куча тренировочных данных. То есть набор объектов, где вы уже знаете правильную классификацию. Одним из способов получить это может быть получение группы объектов и их классификация вручную. Если для классификации одного человека слишком много объектов, вы можете передать его Mechanical Turk .
Как только вы получите данные о тренировках, вы создадите свой классификатор. Вам необходимо выяснить, какие атрибуты важны для вашей классификации. Вам, вероятно, нужно будет поэкспериментировать, чтобы увидеть, что работает хорошо. После этого ваш классификатор будет учиться на основе ваших тренировочных данных.
Один из подходов, который часто используется для тестирования, состоит в том, чтобы разделить ваши тренировочные данные на два набора. Обучите свой классификатор, используя одно из подмножеств, а затем посмотрите, насколько хорошо он классифицирует другое (обычно меньшее) подмножество.