#python #regression #grid-search #oserror
#python #регрессия #поиск по сетке #ошибка ОС
Вопрос:
У меня небольшие трудности с выяснением, в чем проблема с моим кодом. Я новичок в сказочном мире python, поэтому простите меня за любые синтаксические проблемы. Спасибо всем, кто потратит свое время, чтобы помочь мне. Вот мой код:
X_train=np.random.randn(4000,400)
y_train=np.random.randn(4000)
parameters={
"solver":("auto", "svd", "cholesky", "lsqr", "sparse_cg", "sag", "saga"),
"tol":[1e-3,1e-5,1e-8],
"alpha":[1,1.2,1.4,1.5],
"random_state":[42]
}
reg= Ridge()
clf = GridSearchCV(reg, parameters,scoring="r2", n_jobs=-1,cv=5)
clf.fit(X_train,y_train) **here's where troubles happen**
print(clf.best_score_)
print(clf.best_params_)
И вот ошибка:
File"/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydevd_bundle/pydevd_comm.py", line 290, in _on_run
r = self.sock.recv(1024)
OSError: [Errno 9] Bad file descriptor
Ответ №1:
Проблема заключается в аргументе n_jobs=-1
. Это означает, что компьютер может использовать все доступные ядра и определенные алгоритмы, в нескольких сценариях это вызывает ошибку.
Проверьте это предложение:
clf = GridSearchCV(reg, parameters, scoring="r2", cv=5)