Я хочу обучать PassiveAggressiveClassifier в режиме scikit-learn в онлайн-настройках.Правильный способ использования PassiveAggressiveClassifier в scikit-learn в онлайн-настройке
мне было интересно, если правильный способ создать экземпляр этого классификатор является
PA_I_online = PassiveAggressiveClassifier(warm_start=True)
В соответствии с Документами
warm_start : bool, optional
When set to True, reuse the solution of the previous call to fit as initialization, otherwise, just erase the previous solution.
что и мне нужно будет в онлайн/дополнительных настроек - Продолжить обучение модель на следующей точке данных.
Но в example, он intiantiated в
'Passive-Aggressive': PassiveAggressiveClassifier()
Аналогично в this code слишком
Примечание, согласно docs стоимости warm_start по умолчанию = False
Могу ли я что-то отсутствует ?
Мой полный код snipet для онлайн-обучения:
# Given X_train, y_train, X_test and y_test, labels
PA_I_online = PassiveAggressiveClassifier(loss='hinge', warm_start=True)
no_of_samples = len(X_train)
no_of_classes= np.unique(labels)
for i in range(no_of_samples):
#get the ith datapoint
X_i = X_train[i]
y_i = y_train[i]
#reshape it
X_i = X_i.reshape(1,300)
y_i = y_i.reshape(1,)
#consume data point
PA_I_online.partial_fit(X_i, y_i, no_of_classes)
Crux: Для того, чтобы сделать обучение онлайн с помощью использования PassiveAggressiveClassifier() не так необходимо установить аргумент warm_start = True