Логистическая регрессия PySpark принимает параметр elasticNetParam
.Если я установлю этот параметр, скажем, 0.2
, что это значит?Означает ли это 0.2
из l1
и 0.8
из l2
или наоборот?
Кроме того, я пытался воспроизвести результаты PySpark с помощью sklearn.Для этого я использую SGDClassifier
от sklearn.
Это словарь параметров. Я инициализирую модель логистической регрессии PySpark с помощью
{'elasticNetParam': 0.41880231596887807,
'regParam': 0.05816730909769129,
'threshold': 0.4011073540317653,
'maxIter': 21.0}
И это то, что я использую для SGDClassifier sklearn
{'loss':'log',
'penalty':'elasticnet',
'l1_ratio':0.41880231596887807,
'alpha':0.05816730909769129,
'fit_intercept':True,
'max_iter':21*train_pandas.shape[0]}
эти два параметра словаря эквивалентны?Или я должен изменить l1_ratio
на (1-0.41880231596887807)
?
Что касается max_iter
, я подумал об умножении его на количество строк из-за разницы в методах обучения.Я понимаю, что не получу точных результатов, я ищу похожие результаты.Разница в +/- 0,01 является приемлемой.Но в настоящее время разница составляет около -0,05, и я собираюсь это преодолеть.