Модель классификации для большого набора данных - PullRequest
0 голосов
/ 28 апреля 2020

Я хотел бы реализовать модель классификации для набора данных, где n = 3000000 и 12 столбцов. У меня проблема, потому что она очень медленная после нескольких часов, я ничего не получаю, у вас есть рекомендация, чтобы запустить его быстрее?

Такс

df = pd.DataFrame(np.random.randint(0,100,size=(3000000, 12)), columns=list('ABCDEFGHIJKL'))
X=df.drop(['L'], axis=1)
y=df['L']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

parameters = {'n_neighbors':np.arange(1,30)}
grid=GridSearchCV(KNeighborsClassifier(),parameters,cv=5)
grid.fit(X_train, y_train)

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Другой ответ помимо сокращения большого числа соседей: построение модели из небольшой выборки данных. Если KNeighborsClassifier не выглядит многообещающе для одного миллиона наблюдений, возможно, не стоит тратить время и ресурсы, чтобы опробовать его на трех миллионах.

0 голосов
/ 28 апреля 2020

Используйте больше ядер, т.е. используйте n_jobs=-1 в пределах GridSearchCV и KNeighborsClassifier.

parameters = {'n_neighbors':np.arange(1,30)}
grid=GridSearchCV(KNeighborsClassifier(n_jobs=-1),parameters,cv=5, n_jobs=-1)
grid.fit(X_train, y_train)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...