Индивидуальная перекрестная проверка по принципу «один-один» - PullRequest
0 голосов
/ 18 мая 2018

У меня есть около 1000 точек данных, и каждая точка данных принадлежит определенному пользователю.Всего у меня 80 пользователей, поэтому у каждого пользователя около 12 точек данных.Я могу оставить одного пользователя без перекрестной проверки, используя LeaveOneGroupOut из scikit-learn.

Но теперь я хотел бы использовать перекрестную проверку с пропуском, то есть использовать только одну точку данных в наборе тестов (вместо пользователя).Но вместо использования полного оставшегося обучающего набора я хотел бы использовать немного другой обучающий набор: если точка данных n от пользователя x находится в тестовом наборе, то обучающий набор должен состоять из точек данных всех других пользователей плюс данныепункты 1,2, ... n-1 пользователя x.Если точка данных 1 от пользователя x находится в наборе тестов, то ни одна точка данных этого пользователя не находится в наборе обучения.

Как это можно сделать?Я использую Pipeline с RandomizedSearchCV и SVM, поэтому я был бы очень рад, если бы было решение, подобное LeaveOneGroupOut, которое я мог бы передать этим методам.

...