Я пытаюсь понять, как Perceptron из sklearn.linear_model выполняет функцию fit() (Documentation). Вопрос исходит из этого куска кода:sklearn Perceptron learning
clf = Perceptron()
clf.fit(train_data, train_answers)
print('accuracy:', clf.score(train_data, train_answers))
accuracy: 0.7
Я думал, что цель фитинга создать функцию классификации, которая даст ответ с точностью до 100% по данным испытаний, но в приведенном выше примере это дает лишь 70%. Я попробовал еще один набор данных, где точность составляла 60%.
Что я неправильно понимаю в процессе подгонки?
Просьба предоставить подробную информацию о случае, если вы работаете (вход и выход, качество данных и т.д.). Если вы не сообщите, что получить полезный ответ практически невозможно. – rpd
Пожалуйста, возьмите книгу об машинной учебе и прочитайте о предсказании-ошибке, возможностях модели, обобщении-ошибке и со ... Кажется, вы не указали * все * основы. Sry. – sascha
Первое примечание: документы говорят «линейная модель». В общем, обучение алгоритму машинного обучения не даст вам 100% точности ваших данных обучения. Это особенно верно для линейной модели. Рассмотрим диаграмму двух классов объектов, распределенных по двум измерениям. Если точки класса сильно перекрываются, то классификатор должен иметь очень большую дисперсию для создания (нелинейной) границы, разделяющей 100% данных обучения. Обычно это представляет собой огромную переработку и нежелательно. –