Я использую очень простой линейный классификатор предоставленного класса scikit Perceptron:scikit Perceptron смещение
clf = linear_model.Perceptron(n_iter=12)
clf.fit(X,Y)
У меня есть X массив, в котором строки являются экземплярами, а столбцы являются бинарными функциями. У меня есть массив Y с моими классами. Мои данные имеют три класса. У меня есть два вопроса: 1) Алгоритм персептрона требует условия смещения. Как персептрон scikit обрабатывает предвзятость? Должен ли я добавить «столбец смещения» (все) к моим данным ввода X? Или функция персептрона scikit автоматически добавляет смещение к массиву X (вход) с функциями? Или он обрабатывает смещение отдельно? 2) Как найти ошибку обучения для моего персептрона?
Спасибо! У меня есть вопрос о двух версиях данных. Исходные данные X содержат мои функции, которые являются двоичными, и у меня нет столбца смещения. Какова будет масштабированная версия? – user963386
в целом, масштабирование данных ускоряет сближение алгоритмов оптимизации. В конструкторе Perceptron для sklearn, fit_intercept по умолчанию имеет значение true ..., которое узнает перехват, который можно рассматривать как ваш изученный блок смещения. Если вы уже масштабировали свои данные, используйте fit_intercept = False, и вы * должны * получить те же результаты, как если бы вы использовали значение по умолчанию с немасштабированными данными. – user1269942