Как узнать неизвестную стоимость квартиры или спрогнозировать расход электроэнергии в населенном пункте? Использовать модель машинного обучения, скажете вы.. Но зачастую ваша крутая модель не сработает на части примеров ввиду отсутствия достаточного количества признаков для них. Конечно можно построить еще одну, но целесообразно ли это? Не лучше пойти другим путем и распространить влияние текущей модели на новые объекты, используя признаки их сходства с соседями. Напишем класс KnnNeighbors, который делает это, под капотом проводя кодирование категориальных признаков и стандартизацию числовых и используя класс NearestNeighbors из пакета scikit-learn для поиска ближайших точек. Принцип его применения следующий - сначала он настраивается на признаках общих для точек, с которыми основная модель справляется и "проблемных". Затем вычисляется метрика по основной модели и впоследствии распространяется на "проблемные точки", используя класс KnnNeighbors. Полный код класса представлен ниже: Да