Обучение SVM занимает слишком много времениPython

Программы на Python
Anonymous
Обучение SVM занимает слишком много времени

Сообщение Anonymous »

У меня есть набор данных с 41 объектом, из которых 4 — текстовые. Для этих четырех функций мне были предоставлены массивы numpy «Мешок слов» (npz), которые я объединил с другими числовыми функциями для обучения модели SVM. Всего имеется 100000 записей и 41 признак, 4 из которых векторизованы, как уже упоминалось.
Эта модель обучается уже 45 минут :). Есть ли способ сократить время обучения? Я использовал линейное ядро, потому что знаю, что нелинейное ядро ​​для 100 тысяч строк займет столетие. Что-то не так с тем, как я предварительно обрабатываю набор данных (в частности, объединяю npz и существующие числовые функции)? Какие еще варианты я мог бы изучить?
title_feature = load_npz('train_title_bow.npz')
overview_feature = load_npz('train_overview_bow.npz')
tagline_feature = load_npz('train_tagline_bow.npz')
production_companies_feature = load_npz('train_production_companies_bow.npz')

numerical_features = df_train[df_train.columns.difference(['title', 'overview', 'tagline', 'production_companies', 'rate_category', 'average_rate', 'original_language'])]
text_features = np.hstack([title_feature.toarray(), overview_feature.toarray(), tagline_feature.toarray(), production_companies_feature.toarray()])
svm_X_train = np.hstack([numerical_features, text_features])
svm_y_train = df_train['rate_category']

svm_classifier = SVC(kernel='linear') # Linear kernel is used, you can choose other kernels too
svm_classifier.fit(svm_X_train, svm_y_train)


Подробнее здесь: https://stackoverflow.com/questions/784 ... g-too-long

Вернуться в «Python»