Продажа квадроциклов, снегоходов и мототехники
second logo
Пн-Чт: 10:00-20:00
Пт-Сб: 10:00-19:00 Вс: выходной

+7 (812) 924 3 942

+7 (911) 924 3 942

Содержание

Как вытянуть вмятину на пороге автомобиля

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

Очень часто даже небольшие повреждения порога автомобиля нарушают структуру его покрытия и способствуют быстрому распространению ржавчины. Потому, если порог вашего транспортного средства поврежден, вытягивание или выравнивание необходимо произвести как можно быстрее.

Многие автомобилисты полагают, что подобного рода работы могут быть произведены лишь в специализированной мастерской, однако это не так — вытянуть вмятину на пороге автомобиля по силам почти каждому.

Удаляем вмятину на пороге

Разновидности автомобильных порогов

Перед тем как приступить к ремонту порога, вам нужно четко понять, с чем вы столкнулись, и какой способ выравнивания вам нужно будет использовать. Это напрямую зависит от разновидности детали, установленной на ваш автомобиль.

Все автомобильные пороги можно разделить на две основные категории:

  • Съемные. Такую деталь можно легко снять в любой момент, потому как он крепится к кузову и днищу при помощи обыкновенных болтов.
  • Литые. Они привариваются к кузову транспортного средства еще на заводе и не подлежат снятию. Удалить такой порог можно, лишь вырезав его. Так что ремонт, как правило, производится без отделения детали от автомобиля.

Выравнивание вмятин на съемном пороге

Устранить повреждения на съемном пороге значительно проще. Для подобного рода работы вам потребуется:

  • верстак или ровная опорная плита, на которой будет производиться рихтовка;
  • набор инструментов для рихтовки. В него входят всевозможные молотки (мягкие и твердые), рубанки и зубила для рихтовки;
  • болгарка и аппарат для сварки или пневмозубило.

Чтобы выровнять вмятину на съемном пороге автомобиля, необходимо действовать следующим образом:

  • отсоединить поврежденную деталь автомобиля. Для этого достаточно лишь вкрутить все крепежные болты, на которых он держался, и аккуратно вытянуть деталь;
  • установить поврежденный порог на верстак;
  • используя молотки и другие инструменты для рихтовки металлических изделий, аккуратно выгнуть все неровности в обратную сторону;
  • обработать весь порог хорошим средством против коррозии;
  • установить порог автомобиля на место.
Удаление вмятины на съёмном пороге авто

Стоит, помнить, что подобный способ вытягивания вмятин на съемном пороге автомобиля не является универсальным. Он актуален лишь в тех случаях, когда порог поврежден не слишком сильно и может быть возвращен в первоначальное состояние ударами молотка.

Однако если вмятина не подлежит ремонту, или же ее уже успела поразить ржавчина, такую деталь лучше выбросить и поставить другую на ее место. Преимуществом такого способа выравнивания вмятин является отсутствие необходимости в покраске поврежденного фрагмента — он сохранит свой первоначальный цвет.

Выравнивание вмятин на литом пороге

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

  • Выправление с использованием обратного молотка. Оно используется для вытягивания небольших и несложных вмятин. Принцип действия устройства заключается в следующем: одним концом обратный молоток не слишком сильно приваривается к центру вмятины. По мере ударов грузиком об ручку вмятина будет постепенно выравниваться.
Удаление вмятины при помощи обратного молотка
  • Если у вас нет под рукой обратного молотка, вы можете поступить следующим образом: приварить к месту вмятины стальную пластину, после чего при помощи ледки или своими руками вытянуть ее вместе с поврежденной частью порога. Однако в таком случае после успешного завершения ремонта вам нужно будет срезать эту пластину и обработать соответствующим образом поверхности бывшей вмятины.
  • Если повреждения носят исключительно точечный характер, их можно выправить следующим образом: просверлить возле вмятины небольшие отверстия в пороге, продеть через них специальную арматуру с угловыми наконечниками, и, потянув на себя, выровнять повреждение. Однако такой метод актуален лишь в тех случаях, когда дефекты порога не отличаются большими размерами, а у вас есть все необходимое, чтобы тут же устранить отверстия в пороге.
  • Вытягивание с использованием вакуумной присоски. Этот тип устранения повреждений является довольно актуальным из-за того, что он сохраняет целостность лакокрасочного покрытия детали автомобиля. Но применять вакуумную присоску удается далеко не во всех случаях. Размеры вмятины и ее форма должны примерно соответствовать габаритам самой присоски — только тогда ее можно будет использовать успешно.

Принцип действия этого агрегата предельно прост: присоска прикладывается к проблемному участку поверхности порога, из нее откачивается весь воздух, обеспечивая надежное и мягкое сцепление.

Вытягивание вмятин вакуумной присоской

После этого агрегат вытягивается наружу вместе с поверхностью порога. Эти устройства могут быть разных типов, однако принцип действия у них всегда один и тот же.

  • Также для вытягивания вмятин можно использовать наковальню и различные гидравлические приспособления.
    Суть такого метода заключается в том, что в пороге вырезается небольшое прямоугольное окно, через которое вводится наковальня и устанавливается напротив вмятины. Далее посредством использования гидравлики вмятину можно выправить наружу. В некоторых ситуациях можно не вырезать прямоугольное отверстие, а ограничиться разрезами справа и слева от дефекта. После того как вмятина была вытянута, все отверстия необходимо заварить, обработать антикоррозийным раствором и покрасить (использование лакокрасочных материалов при реализации этого метода неизбежно).
Вырезание порога целиком

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

Какой бы метод устранения вмятин на литых деталях автомобиля вы ни выбрали, ни в коем случае нельзя забывать об антикоррозийной обработке поверхности. Пороги — очень чувствительная деталь, а потому чрезвычайно уязвимы для ржавчины.

Если вы установите новый порог, при этом не защитив его от коррозии, скорее всего, вам придется снова менять его в ближайшем будущем — влага быстро проникнет во все мельчайшие дефекты на поверхности и спровоцирует образование ржавчины.

Если речь идет о перекрашивании порога автомобиля, то нужно попытаться подобрать цветовой оттенок так, чтобы он максимально совпадал со старой краской. То же касается и лака.

0 0 votes

Рейтинг статьи

[democracy]

[democracy]

Автор: Баранов Виталий Петрович

Образование: среднее специальное. Специальность: автослесарь. Профессиональная диагностика, ремонт, ТО легковых авто зарубежного производства 2000-2015 г.в. Большой опыт работы с Японскими и Немецкими авто.

Ремонт порогов своими руками




Резкие перепады температур и высокая влажность в холодную пору года неблагоприятно сказываются на состоянии лакокрасочного покрытия кузова, в результате чего образуются очаги коррозии. Автомобильные пороги наряду с днищем – наиболее подверженный этим факторам элемент кузова, и рано или поздно они начинают ржаветь. Особенно уязвимы пороги отечественных авто.

Кроме того, на них постоянно воздействуют вибрационные нагрузки, изгибающий и крутящий моменты, что приводит к нарушению их первоначальной геометрии. Часто бывают и вмятины, в том числе из-за неправильного установленного домкрата и дорожно-транспортных происшествий.

И тогда возникает проблема: как отремонтировать пороги автомобиля и можно ли это сделать самому, в гаражных условиях? Ответ лежит на поверхности – если вы обладаете хотя бы начальными слесарными навыками, ремонт или замену порога своими руками провести не составит труда.

Какими бывают пороги авто?

Автомобильные пороги бывают двух типов: съемные и несъемные. Наиболее часто встречаются несъемные пороги, приваренные к основанию кузова. Они составляют единое целое с днищем, с их помощью формируется нижний каркас кузова авто, придавая ему необходимую жесткость.

Съемные пороги служат для защиты от выбросов из-под колес и несильных ударов. Они устанавливаются непосредственно в салоне автомобиля, а к основанию кузова прикрепляются винтами.

В большинстве современных автомобилей устанавливаются съемные металлические или пластиковые пороги. Для их ремонта не нужен специальный инструмент или сварочный аппарат, ведь они легко снимаются и могут быть выправлены или заменены в удобном месте. Для многих автолюбителей актуально, как отремонтировать пороги без сварки, поскольку далеко не в каждом гараже есть полуавтомат. И для съемных порогов он не нужен.

Если же автомобилю больше 10 лет – почти наверняка в нем установлены пороги несъемного типа. Для них ремонт – достаточно сложная задача, поэтому процесс ремонта и замены порогов автомобиля своими руками опишем очень подробно, приведем видео и фото, демонстрирующие последовательность выполняемых работ.

Инструмент для ремонта и замены порогов своими руками

Для выполнения работ нам могут понадобиться:
  • верстак;
  • набор отверток;
  • рихтовочный инструмент: молотки, поддержки, правки, крюки;
  • сварочный аппарат;
  • пневмозубило;
  • угловая шлифмашинка (болгарка).

Ремонт и замена съемных порогов своими руками

Перед тем, как отремонтировать съемные пороги автомобиля, необходимо их снять. Крепятся они с помощью саморезов, которые нужно вывинтить отверткой. Если пороги нуждаются в рихтовке, ее необходимо провести на верстаке или другой жесткой ровной поверхности. Чтобы удачно убрать деформацию, стоит использовать специальный инструмент для правки и рихтовки.

После рихтовки необходимо установить пороги на авто. Монтаж для каждой модели авто имеет свои особенности, поэтому советуем найти в Сети видео, как установить пластиковые пороги на Кайрон, Туарег и другие авто. Установка порогов на Гранту и другие отечественные автомобили имеет свои особенности, о которых будет сказано ниже.

Ремонт гнилых порогов своими руками проводить нецелесообразно, в этом случае проводится полная замена порогов, как это показано на фото. И если для съемных порогов все достаточно просто – достаточно купить новую деталь и привинтить ее, то для несъемных порогов все намного сложнее. Особенно часто замена порогов требуется на устаревших моделях отечественных авто: ГАЗ 3110, Москвич 2141, Газель, ВАЗ 2101-2107. Причем заменять их придется вместе со стойками.

Не имеет смысла ремонтировать и пластиковые пороги, поскольку они не поддаются правке или рихтовке. Они быстрее изнашиваются, но в то же время не подвержены коррозии. Как правильно установить пластиковые пороги? С помощью саморезов, для хорошего прилегания достаточно чтобы отверстия под саморезы были на расстоянии не более 4-5 см. После того, как удалось установить накладки на пороги, нужно провести их антикоррозийную обработку. Советуем посмотреть видео установки накладок на пороги, чтобы корректно проделать работу.

Ремонт и замена несъемных порогов самостоятельно

Ремонт несъемных порогов проводится иначе. Вначале придется освободить пространство вокруг порога, потребуется демонтаж дверей, сидений и покрытия пола. Дальнейшие действия зависят от характера дефекта.

При незначительных деформациях порога проводится выправка вмятины снаружи с помощью споттера. Также к поверхности порога в месте изъяна можно приварить какое-либо приспособление (например стальной пруток), и затем мускульным усилием производится вытяжка. Также можно использовать лебедку. После удаления вмятины пруток необходимо срезать болгаркой и зачистить место сварки.

Также удалить вмятины можно, если в порога просверлить отверстие , через которое нужно ввести крюк и выпрямить вмятину. После удаления неровности отверстие нужно заварить и зашлифовать место сварки.

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

После проведения рихтовки вырезанное окошко заваривается металлом подходящей геометрии.

Также можно сделать поперечные прорези в пороге с разъединением точек сварки. Металл необходимо отогнуть, и через полученное отверстие ввести наковальню, после чего можно производить выправку. После окончания работ прорезь заваривается.

В случае, если порог немного проржавел в нескольких местах, делать полную замену порогов нецелесообразно. Лучше зачистить места от коррозии, после чего точечной сваркой приварить поверх них заплатки.

Если участок порога подвергся действию коррозии или имеет сильно деформированные места, придется заменить его. Перед тем, как заменить пороги, дефектный участок старого порога срезается болгаркой. Затем на его место приваривается либо новый порог, либо подходящая по геометрии и размерам конструкция. Ее вполне можно сделать самому.

Полная замена порогов ВАЗ своими руками

Данная технология по замене порогов подходит для большинства автомобилей семейства Волжского автомобильного завода. Как сделать самостоятельную замену порогов для Оки, ВАЗ 2104, ВАЗ 2105, ВАЗ 2106, ВАЗ 2107, ВАЗ 2109, ВАЗ 21099, ВАЗ 2110, ВАЗ 2112, ВАЗ 2121 Нива, смотрите на видео.

Вначале необходимо демонтировать мешающие элементы кузова. Затем нужно снять старый порог. Чтобы сделать это аккуратно, сперва нужно вырезать пороги под передней дверью, потом под задней, и в конце внимать порог посередине, возле стойки. Если стойка не повреждена, тогда места сварки нужно аккуратно высверлить и затем отделить порог. Спереди и сзади рекомендуется оставить по 5-6 см тела старого порога, чтобы новый было к чему состыковать при сварке.

Места, где находился снятый порог, необходимо тщательно зачистить от ржавчины.

Перед тем, как заменить пороги на Ниве, Оке или другом ВАЗе, новый порог необходимо подогнать по размеру. Спереди он должен ложиться встык с выступающим телом старого порога, а сзади – ложиться поверх оставшейся части. В районе стойки необходимо сделать вырез, чтобы старые элементы порога не мешали хорошей стыковке элементов. После этого можно начинать сварку.

Если у отечественного автомобиля повреждена стойка, производить ее замену стоит вместе с заменой порога своими руками. Советуем посмотреть видео, как сделать замену порога на ВАЗ 2109 или 2110. Перед тем, как заменить пороги вместе со стойкой, необходимо демонтировать старые элементы. Для этого в районе крыши сваркой или болгаркой вырезается лонжерон средней стойки и старые элементы демонтируются.

Места установки новых стоек и порогов тщательно зачищаются от остатков металла, оставшихся после резки. Далее необходимо выровнять поверхность лонжерона и подогнать под посадочное место новую часть лонжерона. Замена лонжеронов на Ниве или на ВАЗ 2019 не имеет существенных различий. Если с ремонтом лонжеронов автомобиля своими руками вы раньше не сталкивались, посмотрите видео, как это делается.

Затем новые элементы монтируются на свои места, крепятся и завариваются. Пороги и стойки готовы к шпаклевке. Затем поверхность грунтуется и красится. После того, как краска высохнет, необходимо установить двери и произвести подгонку зазоров.

Антикоррозионная обработка порогов

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

Некоторые автопроизводители защищают внутреннюю поверхность порогов от коррозии обычной монтажной пеной. В заводских условиях это можно сделать качественно, а вот заниматься этим самому не рекомендуется. Поскольку пена заполнит полностью внутренне пространство порогов, доступ туда воздуха будет затруднен. В этом случае внутри порогов может скапливаться вода, которая не будет успевать высыхать, что наоборот приведет к порче порогов и развитию очагов коррозии.

Ремонт порогов автомобиля своими руками » АвтоНоватор

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

Простой ремонт порогов автомобиля

Высокий уровень влажности в осенне-зимний период в сочетании с постоянными перепадами температуры способны весьма негативно отразиться на лакокрасочном покрытии кузова автомобиля, а его днище рано или поздно начнет подвергаться коррозийным процессам. И в первую очередь всегда страдают именно пороги авто.

Помимо появления ржавчины, пороги автомобиля постоянно подвергаются воздействию крутящих и изгибающих моментов, нагрузкам вибрационного плана. Нередко на них появляются неприятные взору вмятины (в основном, из-за неправильного использования домкрата). Тем не менее, справиться с задачей ремонта автомобиля в этом случае не так уж сложно. Достаточно просто произвести вытяжку и правку порогов. Правда, иногда понадобится и замена ремонтируемых вставок, вырезка поврежденных участков. Именно это позволит продлить жизнь автомобилю в целом.

Стоит отметить, что автомобильные пороги могут быть несъемными, а могут и наоборот — съемными. Несъемными называют обычно такие пороги, которые объединены путем сварки с днищем авто в единое целое. Съемные пороги размещаются непосредственно в салоне авто и крепятся специальными винтами к основанию кузова. Именно эти детали обеспечивают машине надежную защиту от выброса, который может попадать на кузов из-под колес и повреждать его.

Инструменты для ремонта автомобильных порогов:

— верстак или опорная плита;
— инструменты для проведения рихтовки;
— болгарка и сварочный аппарат или пневмозубило.

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

Ремонт несъемных порогов авто

Несъемные автомобильные пороги ремонтировать не всегда сложно — это будет зависеть только от того, насколько поврежден сам порог. При наличии небольших повреждений или складок на поверхности порога, его достаточно выправить на место снаружи при помощи специальной вытяжки. Осуществляется вытяжка с использованием споттера и инерционного съемника.

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

Вы можете воспользоваться несколькими способами ремонта автомобиля. Первый заключается в том, чтобы с боковой стороны порога прорезать окно в форме квадрата. Тогда вы сможете осуществлять ремонт участка при помощи вытяжки, гидравлических инструментов и наковаленок. Наковаленки необходимы для того, чтобы поддерживать лист порога в процессе выпрямления согнутых участков. По размерам и форме они могут отличаться. Участки с помощью инструментов могут восстанавливаться в разных местах (обычно характер повреждений является классическим). Если форма порога была полностью восстановлена, то окно, через которое осуществлялась рихтовка, можно заварить.

Можно также разрезать верхнюю часть автомобильного порога и разъединить места, в которых он был сварен ранее. Для проведения работ по восстановлению через отверстие, которое было подготовлено, проводится наковальня. Когда выправка порогов будет завершена, отверстие заваривается заново.

Оцените статью: Поделитесь с друзьями!

Замена порогов своими руками! — Удаление вмятин без покраски Воронеж

Одной из самой трудной в ремонте автомобильной деталью по праву считается порог. Он представляет собой отштампованную панель, являющуюся структурной, но демонтируемой частью несущей кузовной конструкции. Главная задача данного элемента – усиление, повышение жесткости дна авто. Поэтому важно своевременно выполнять кузовной ремонт в Воронеже с последующей заменой порогов. От целостности данной запчасти зависит безопасность водителя и пассажиров. Выполнить качественный ремонт авто вы всегда можете, обратившись в компанию Garage19. Но можно попробовать заменить запчасти своими руками.

Когда может потребоваться замена

Нижняя часть порогов – наиболее уязвимая часть детали. В ходе езды на нее попадает дорожная грязь, пыль, мусор, гравий, соль (зимой), вода и т.д. Все это становится предпосылкой к образованию сколов и трещин, куда затекает жидкость, попадают осадки. А они, как известно, являются источниками коррозии. Цена кузовного ремонта в данном случае зависит от того, реально ли отремонтировать старую деталь, какую запчасть вы используете для замены (б/у или новую), нужно ли последующее окрашивание порогов.

Разбираемся в конструкции порогов

Несмотря на то, что автомобильные пороги выглядят конструкционно простыми, они состоят из нескольких функционально важных частей. Прежде чем выполнить замену порогов автомобиля в Воронеже в автосервисе Garage19 или же своими руками, стоит разобраться в конструкции. А она состоит из следующих элементов:

  • внутренняя часть;
  • соединения;
  • внутренний усилитель;
  • внешняя часть.

В зависимости от модели авто, года ее выпуска, конструкция может отличаться от стандартной. Поэтому, заказывая кузовной ремонт в Воронеже от профессионалов компании Garage19, вам не придется переживать о правильности подбора новой детали. Самостоятельно найти оптимальный вариант гораздо сложнее.

Подготовительный этап

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

Если причина замены порога авто – это коррозия, то места локации ржавчины тщательно зачищаются с запасом. Это помогает определить зоны, требующие смены, и пригодные участки для дальнейшего использования. Далее выполняется сварка (предварительно рядом находящиеся участки кузова в ЛКП закрываются защитными чехлами).

Сам кузовной ремонт с заменой порогов, какой он?

Это трудоемкий и многоэтапный процесс, требующий наличия инструмента и опыта мастера. Условно процедуру можно разделить на такие этапы, как помещение ремонтной пластины, разрезание детали, намечивание точек сварки, устранение заусенцев, демонтаж старого лакокрасочного покрытия, приваривание швов, обработка антикоррозийными составами и другое.

Ремонт порогов автомобиля своими руками: фото, видео

Пороги на современном автомобиле являются одним из элементов конструкции кузова машины. Исходя из расположения в этой конструкции, они наиболее подвержены воздействию воды, растворов, которыми обрабатывают дорогу и получают вмятины от камней из-под колес автомобиля. Опыт эксплуатации транспортных средств показывает, что их можно восстанавливать. В том числе, возможен ремонт порогов на автомобилях своими руками.

Конструкция, назначение и виды порогов

Автомобильные пороги бывают нескольких видов, которые различаются способом крепления к кузову и предназначением:

  • несъемные — прикрепляются к кузову с помощью сварки и являются частью кузовной конструкции, придавая ему дополнительную жесткость;
  • съемные — крепятся к нижней части кузова саморезами или специальными болтами и различаются как защитные и ступенька;
  • на рамных внедорожниках используются силовые пороги, которые крепятся непосредственно к раме с помощью сварки или мощными болтами с гайками. Такие силовые конструкции по сечению гораздо больше, чем пороги на машинах с несущим кузовом.

Ремонт съемных порогов

Подобная часть конструкции кузова, выполненная в заводских условиях, как правило, находится в салоне автомобиля и называется верхняя часть порога. Она подвергается загрязнению при посадке и высадке людей в машину и механическому повреждению в результате моментов кручения, воздействующих на кузов в целом. Съемной может быть и нижняя часть порога снаружи автомобиля.

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

Работы по ремонту пороговых конструкций, которые достаточно легко снимаются, вполне возможно сделать своими руками. Такие работы выполняются без применения сварки, простой рихтовкой или вытяжкой. Если они сделаны аккуратно, то покраски детали не требуется. Хотя это и съемная деталь, по сути такая работа — это кузовной ремонт.

Для такого вида ремонта своими руками необходимы:

  • верстак;
  • наковаленки;
  • киянка и другие инструменты для рихтовки.
Набор молотков и наковальней для рихтовки

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

Ремонт несъемных порогов

Характерными повреждениями для этой несъемной кузовной детали являются вмятины и коррозия из-за длительной эксплуатации в неблагоприятных условиях.

Коррозия образуется от прямого постоянного воздействия воды, грязи и различных солевых и химических растворов, которыми обрабатывают дороги. Из-за некачественной покраски кузова такое может произойти за относительно небольшой пробег машины. Особенно это характерно для машин отечественного автопрома.


Вмятины можно получить не только от камней, но и сделать своими руками. Достаточно неправильно установить домкрат при замене колеса.

Прежде чем приступить к такой работе, как кузовной ремонт отдельных деталей своими руками, надо оценить степень повреждения. От этого зависит набор необходимых инструментов и материалов.

Автолюбитель своими руками может сделать кузовной ремонт при небольшой и средней тяжести повреждений. Когда планируется ремонт порогов, могут понадобиться:

  • верстак;
  • споттер или сварочный аппарат;
  • ручная вытяжка, которая создает плавные и щадящие усилия, в отличие от молотка;
  • рихтовочные молотки и поддержки;
  • наковаленки;
  • болгарка;
  • слесарные инструменты.
  1. Для удаления вмятин или других незначительных перекосов без повреждения покраски детали достаточно поверхностного ремонта с помощью вытяжки и плоттера.
  2. Если удалить вмятины таким образом не получается, то этот кузовной элемент ремонтируется с помощью сварки. В боковой части порога вырезается отверстие в виде прямоугольника. Туда вставляется наковаленка и с помощью рихтовочного инструмента аккуратно выправляются вмятины.
  3. При более серьезных повреждениях делаются надрезы металла в нескольких местах. После рихтовочных работ на вырезанные части устанавливаются заплатки.
  4. Участки, поврежденные коррозией, вырезаются с помощью болгарки до целого металла, затем делается выкройка, по которой вырезается заплатка. Эта заплатка приваривается на место поврежденного металла. Возможен ремонт порогов автомобиля без применения сварки. Существуют технологии, когда своими руками можно заделать поврежденные участки с помощью стекловолокна и эпоксидного клея.

Смотрите также видео по теме:

Ремонт восстановление порогов автомобиля в Брянске

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

Небольшое кузовное повреждение время и окружающая среда превратят в коррозию, а затем разрушат. И чем общирнее область повреждений, тем дороже и труднее вернуть первоначальный вид.

Восстановление порогов

Мы восстанавливаем пороги с любой сложностью повреждений на всех моделях автомобилей.

Рихтовка порогов — дело непростое. Качественно отреставрировать эту деталь можно только при профессиональном подходе.

Небольшие вмятины и царапины убираются просто, быстро и недорого. Но опять же, сложность работ зависит от вмятины и её расположения на детали. 

Прогнившие или дырявые пороги авто реставрируются или наваркой латок, или заменой всей детали целиком.

Каким способом восстановить порог до нормального технического состояния решает мастер в зависимости от степени его повреждения.

Ремонт порогов

Съемные пороги проще в работе. Несложный демонтаж и последующая замена: новый или отреставриванный элемент устанавливают на место, предварительно обработав антикоррозийными материалами. Замену можно произвести самостоятельно.

Несъемные пороги восстанавливать сложнее и трудозатратнее. Выправление таких частей кузова может потребовать вытяжки споттером, сварки, шлифовки, шпаклевки и покраски. 

Для качественного результата рекомендуем обратить в специализрованный сервис.

Ремонт порогов своими руками

Вполне возможно манипуляции по восстановлению порогов сделать самостоятельно при наличии помещения, инструмента, умелых рук и интернета. Видео об установке поргов на разные модели автомобилей есть в сети Интернет в свободном доступе.

Так как российский автопром не отличается высоким качеством, разрушение кузова и его элементов распространено в моделях ВАЗ, ГАЗ, Нива и пр.

Например, возьмем ВАЗ. Пороги их чаще всего страдают от внешних агрессивных факторов и быстро гниют. Ранний ремонт — залог долгосрочной службы кузова. Сделай производитель его съемным, сколько автовладельцев ВАЗа облегченно вздохнули бы… Но увы, реальность такова, что резать и варить просто необходимо в данной ситуации. Как отремонтировать порог ВАЗа своими руками? Ищите подробное видео в сети Интернет! 

 

Замена порогов на автомобиле — DAS GUT

Прогнили пороги на вашем авто? Компания DAS GUT выполняет замену порогов на автомобиле в г. Краснодаре. Цена замены ниже, чем у конкурентов, а качество выполненных работ выше! Приезжайте и убедитесь сами!

 

Когда следует заменить пороги?

Пороги – являются одним из самых уязвимых мест автомобиля. При езде они постоянно получают повреждения от камней и песка, которые постоянно стирают их, выступая в качестве абразива. К тому же, в порогах зачастую скапливается грязь и соль — эти загрязнители довольно сложно вымыть.  Такие повреждения способствуют появлению коррозии, которая сразу бросается в глаза, отчего автомобиль теряет свою внешнюю презентабельность. Но основная задача порогов заключается в поддержании целостности геометрии днища автомобиля при сильных повреждениях кузова, поэтому рекомендуется внимательно следить за их состоянием.
Если вы заметили, что на порогах начала облупливаться краска и выступать ржавчина – стоит обратиться к мастеру, ведь возможно, что пороги давно пора ремонтировать.

Как происходит замена порогов?
  1. На современных авто чаще всего устанавливаются съемные пороги из металла или из пластика. Если съемные пороги прогнили, то их довольно просто заменить без больших затрат времени и сил. Если это возможно, можно провести рихтовку съемного порога без его замены, если он металлический. Пластиковые пороги проще всего просто заменить или укрепить болтами.
  2. Если пороги цельные – ситуация заметно сложнее. Для начала, демонтируются детали, которые могут помешать замене, это двери и крылья. Затем поврежденные ржавчиной пороги срезаются по линии сварочного соединения. Если коррозийные повреждения очень серьезные, то скорее всего, придется заменить и накладку с соединителем.
    Далее, кузов подготавливают к сварке с новыми порогами. Очень важно, чтобы кузов и порог плотно подходили друг к другу. Затем можно приступать к сварке и к обратной сборке автомобиля. 

Почему стоит доверить ремонт порогов именно компании DAS GUT?

Как уже упоминалось, пороги – очень важные детали, которые продлевают срок службы вашего автомобиля, а в случае аварии, могут сохранить вашу жизнь. Вы можете попытаться отремонтировать их своими руками, однако качественно заменить пороги сможет далеко не каждый мастер.

Наша компания занимается профессиональным ремонтом автомобилей и в нашем штате работают только опытные квалифицированные мастера. Доверяя ремонт нашей компании, вы можете быть спокойны, ведь результат нашей работы всегда оправдывает затраты.

Изготовление порога — сравнение DIY и Pro.

Последнее обновление : воскресенье, 11 ноября 2012 г., Создано : четверг, 22 ноября 2001 г.

Стефани переделала кухню, но пол стал даже выше, чем раньше, и возникла необходимость в массивном пороге между паркетным полом и кухонной плиткой, добрых 1-1/2 дюйма в высоту и около 3 дюймов в ширину.

Столкнувшись с предложением по 300 долларов за два порога, она решила сделать это сама.Так она купила дуб, а потом написала мне о помощи. Хороший план, Стеф.

Я не просто хотел пойти и сделать за нее работу, но и не хотел заставлять ее работать слишком много. Поэтому я решил воспользоваться возможностью, чтобы продемонстрировать, что почти всегда есть несколько способов сделать одно и то же.

Первый шаг — не полагаться на размеры для такой работы, где нет ничего квадратного, а вырезать идеальный шаблон из картона для плакатов, а затем сделать деревянную копию. Она потратила около часа на это задолго до того, как мы добрались туда.Один трюк, которому она научилась, заключался в том, чтобы сделать его из двух частей, склеенных вместе скотчем посередине. Это позволяет растягивать его до тех пор, пока она, наконец, не обрежет концы правильно.

Мы увидели, что под некоторыми зазубренными концами твердой древесины есть гладкая фанерная основа, на которую мы могли установить порог, поэтому мы решили не заделывать неровное отверстие, а срезать препятствия.

В следующем сегменте этого телешоу я показал в студии, как заделывать дыры для такой работы. Я заставил Стефани отрезать острым долотом.Хитрость здесь заключается не в том, чтобы атаковать древесину всем краем долота, а наклонить его вбок, чтобы острие одного угла проникло первым. Чтобы заставить ее чувствовать себя по-настоящему плохо, я закончил работу с помощью FEIN Multi-Master, электроинструмента с широким выбором пильных полотен, которые просто вибрируют взад-вперед, быстро и чисто разрезая твердую древесину.

Далее нам нужно было перенести этот шаблон на твердую древесину. Концы необычной формы мы обрезаем точно по размеру с помощью моей японской отделочной пилы.Циркулярная пила использовалась для черновой обработки ширины. Не пытайтесь резать близко к конечной линии циркулярной пилой, это не инструмент для отделки столярных изделий. Это оставит от 1/8 до 1/4 или более дюйма, чтобы аккуратно закончить, чтобы добраться до линии шаблона.

Ленточная шлифовальная машина — один из наиболее распространенных инструментов, а с наждачной бумагой зернистостью 80 — средство для удаления древесины. Это будет не самый быстрый способ спилить древесину, но если это все, с чем вам придется работать, он, безусловно, сработает и даст отличные результаты.Если у вас есть ручной рубанок, он будет работать быстрее, и даже быстрее, если у вас есть ручной рубанок с электроприводом. Даже в этом случае вы, вероятно, захотите отшлифовать его ленточной шлифовальной машиной с наждачной бумагой с зернистостью 100.

Плата тоже была слишком толстой. Это можно было бы сбрить с помощью тех же инструментов, что и выше, но я хотел показать преимущество использования «параллельного станка для лицевых поверхностей», который будет сбривать одну сторону точно параллельно другой стороне. Он быстр и прост в использовании и незаменим для любого серьезного плотника, особенно в этом довольно портативном формате.

Завершите обработку небольшим ручным шлифованием, двигаясь по волокнам Дуба. Это позволит закончить заготовку намного быстрее, чем механическая шлифовальная машина, которая движется во всех направлениях.

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

Теперь, если вы просто хотите заделать дыру в полу, нажмите здесь.

Обнаружение путем пороговой обработки · Анализ изображений флуоресцентной микроскопии с помощью ImageJ

Применение глобальных пороговых значений хорошо подходит для простых изображений, для которых порог явно существует, но на практике так бывает редко прямолинейно – и часто никакое пороговое значение, ручное или автоматическое, не дает полезные результаты. Этот раздел предвосхищает следующую главу о фильтрах. показывая, что с некоторой дополнительной обработкой пороговое значение можно исправить даже если изначально кажется, что он работает плохо.

Пороговое значение зашумленных данных

Шум — это одна из проблем, влияющих на пороговые значения, особенно в живых ячейках. визуализация. Верхняя половина рисунка 4 воспроизводит ядра с рис. 2, но с дополнительным шумом для имитации далеких от идеальных условий изображения. Несмотря на то, что ядра на изображении (A) все еще отчетливо видны два класса пикселей, ранее легко отделить в гистограмме теперь слились вместе (B). То метод порога треугольника, который раньше работал хорошо, теперь дает менее привлекательные результаты (C), потому что шум вызвал диапазоны фоновые и ядерные пиксели перекрываются.Однако, применяя гауссову фильтр сглаживает изображение, тем самым уменьшая большую часть случайного шума (см. Фильтры), что делает гистограмму значительно более аналогично исходному, (почти) бесшумному изображению, а порог снова вполне успешен (F).

Локальное пороговое значение

Другая распространенная проблема заключается в том, что структуры, которые должны быть обнаружены, появляются поверх фона, который сам по себе имеет разную яркость. Например, в красный канал клеток HeLa нет единого глобального порога способен идентифицировать и разделять все «пятнистые» структуры; любой выбор пропустит многие места, потому что порог достаточно высок чтобы избежать фона, также будет слишком высоко, чтобы поймать все пятна происходящие в более темных областях (рис. 5a–c).

В таких случаях было бы лучше, если бы мы могли определить разные пороги для разных частей изображения: локальный порог . Несколько методов, чтобы сделать это реализованы на Фиджи , и описано в http://imagej.net/Auto_Local_Threshold. Однако, если эти недостаточны, легко реализовать собственное локальное пороговое значение и получить больший контроль над результатом, если мы подумаем о проблеме с немного другой ракурс. Предположим, у нас есть второе изображение, содержащее значения, равные пороговым значениям, которые вы хотите применить, и которые могут быть разные для каждого пикселя.Если мы просто вычтем этого второго изображения с самого начала мы можем затем применить глобальный порог, чтобы определить, что мы хочу.

Самое сложное это создать второе изображение, но опять приходят фильтры в полезном. Один из вариантов — медианный фильтр , который эффективно перемещается по каждому пикселю изображения, ранжирует соседние пиксели по порядку значения, и выбирает средний — тем самым удаляя все, что намного ярче или намного темнее, чем его окружение (D). Вычитание изображения с медианной фильтрацией из оригинала дает результат к которому можно с пользой применить глобальный порог (E).

Пороговое значение

— обработка изображений с помощью Python

Обзор

Обучение: 60 мин.
Упражнения: 50 мин.

Цели
  • Объясните, что такое пороговое значение и как его можно использовать.

  • Используйте гистограммы, чтобы определить соответствующие пороговые значения для использования в процессе пороговой обработки.

  • Применение к изображению простого двоичного порога с фиксированным уровнем.

  • Объясните разницу между использованием оператора > и оператора < для порогового значения изображения, представленного массивом numpy.

  • Опишите форму бинарного изображения, полученного путем пороговой обработки с помощью > или < .

  • Объясните, когда подходит метод Оцу для автоматического определения порога.

  • Применить автоматическое определение порога к изображению с помощью метода Оцу.

  • Используйте функцию np.count_nonzero() для подсчета количества ненулевых пикселей в изображении.

В этом эпизоде ​​мы узнаем, как использовать функции skimage для применения пороговое значение изображения. Thresholding — тип изображения сегментация , где мы меняем пиксели изображения, чтобы сделать изображение легче анализировать. При пороговой обработке мы конвертируем изображение из цвет или оттенки серого в бинарное изображение , т.е.е., тот, который просто черное и белое. Чаще всего мы используем пороговое значение как способ выделять интересующие области изображения, игнорируя при этом те части, которые мы не касается. Мы уже выполнили простую пороговую обработку, в раздел «Управление пикселями» эпизода Skimage Images. В этом случае мы использовали простой NumPy манипулирование массивом для разделения пикселей, принадлежащих корневой системе растения с черного фона. В этом выпуске мы узнаем как использовать функции skimage для определения порога.Затем мы будем используйте маски, возвращаемые этими функциями, для выбора частей изображение, которое нас интересует.

Простое пороговое значение

Рассмотрим изображение data/shapes-01.jpg с серией грубо вырезанные фигуры на белом фоне.

  импортировать numpy как np
импортировать глобус
импортировать matplotlib.pyplot как plt
импортировать skimage.io
импортировать skimage.color
импортировать skimage.filters
виджет %matplotlib

# загрузить изображение
image = skimage.io.imread("data/shapes-01.jpg")

рис, топор = plt.subplots()
plt.imshow(изображение)
plt.show()
  

Теперь предположим, что мы хотим выбрать только фигуры с изображения. Другими словами, мы хотим оставить пиксели, принадлежащие фигурам, «включенными», при повороте остальные пиксели «выключены», установив значения их цветовых каналов в нули. То В библиотеке skimage есть несколько различных методов пороговой обработки. Мы начнем с самой простой версией, которая включает в себя важный шаг человеческого Вход. В частности, в этом простом пороговом значении с фиксированным уровнем мы должны укажите пороговое значение t .

Процесс работает следующим образом. Сначала мы загрузим исходное изображение, конвертируем в оттенки серого и уберите шум, как в эпизоде ​​Blurring.

  # преобразовать изображение в оттенки серого
gray_image = skimage.color.rgb2gray(изображение)

# размыть изображение, чтобы убрать шум
blurred_image = skimage.filters.gaussian (grey_image, sigma = 1,0)

рис, топор = plt.subplots()
plt.imshow (размытое_изображение, cmap = 'серый')
plt.show()
  

Затем мы хотели бы применить порог t , чтобы пиксели с значения оттенков серого с одной стороны от до будут включены, а пиксели со значениями оттенков серого на другой стороне будет отключено.Как мы можем это сделать? Помните, что изображения в градациях серого содержат значения пикселей. в диапазоне от 0 до 1, поэтому ищем порог t в закрытый диапазон [0,0, 1,0]. Мы видим на изображении, что геометрические фигуры «темнее», чем белый фон, но есть и немного света серый шум на фоне. Один из способов определить «хорошее» значение для t — посмотреть на гистограмму изображения в градациях серого и попытаться определить, какие диапазоны оттенков серого соответствуют формам на изображении или фон.

Гистограмму для показанного выше изображения формы можно создать, как показано в Создание гистограмм эпизод.

  # создать гистограмму размытого изображения в градациях серого
гистограмма, bin_edges = np.histogram (blurred_image, интервалы = 256, диапазон = (0,0, 1,0))

plt.plot(bin_edges[0:-1], гистограмма)
plt.title("Гистограмма оттенков серого")
plt.xlabel("значение в оттенках серого")
plt.ylabel("пиксели")
plt.xlim(0, 1.0)
plt.show()
  

Так как изображение имеет белый фон, большинство пикселей в изображение белое.Это хорошо соответствует тому, что мы видим в гистограмма: есть пик около значения 1.0. Если мы хотим выбрать фигуры, а не фон, мы хотим отключить белый фоновые пиксели, оставляя пиксели фигур повернутыми на. Итак, мы должны выбрать значение t где-то перед большим пик и выключите пиксели выше этого значения. Выберем t=0,8 .

Чтобы применить порог t , мы можем использовать операторы сравнения numpy для создания маски.Здесь мы хотим включить все пиксели, которые имеют значения меньше порога, поэтому мы используем оператор less < для сравните blurred_image с порогом t . Оператор возвращает маска, которую мы фиксируем в переменной binary_mask . Он имеет только один канал, и каждое из его значений равно 0 или 1. Двоичная маска созданный операцией порогового значения, может быть показан с помощью plt.imshow .

  # создать маску на основе порога
т = 0.8
двоичная_маска = размытое_изображение < t

рис, топор = plt.subplots()
plt.imshow (бинарная_маска, cmap = 'серый')
plt.show()
  

Вы можете видеть, что области, где формы были в исходной области теперь белые, а остальная часть изображения маски черная.

Что делает порог хорошим?

Как это часто бывает, ответ на этот вопрос: зависит от". В приведенном выше примере мы могли бы просто отключить все белые пиксели фона, выбрав t=1.0 , но это было бы оставьте нам фоновый шум на изображении маски. С другой стороны, если мы выберем слишком низкое значение для порога, мы можем потерять некоторые фигуры слишком яркие. Вы можете поэкспериментировать с порог, повторно запустив приведенные выше строки кода с другими значениями для т . На практике это вопрос знания предметной области и опыт интерпретации пиков на гистограмме, чтобы определить соответствующий порог. Процесс часто включает судебное разбирательство и ошибка, что является недостатком простого порогового метода.Ниже мы введем автоматический порог, который использует количественный, математическое определение хорошего порога, которое позволяет нам определить значение t автоматически. Стоит отметить, что принцип простого и автоматического пороговое значение также можно использовать для изображений с другими диапазонами пикселей. чем [0,0, 1,0]. Например, мы могли бы выполнить пороговое значение для пикселя. значения интенсивности в диапазоне [0, 255], как мы уже видели в Представление изображения в skimage эпизод.

Теперь мы можем применить binary_mask к исходному цветному изображению. узнали в эпизоде ​​«Рисование и побитовые операции».Нам остается только цветные фигуры из оригинала.

  # используйте бинарную_маску, чтобы выбрать «интересную» часть изображения
выбор = np.zeros_like (изображение)
выделение[бинарная_маска] = изображение[бинарная_маска]

рис, топор = plt.subplots()
plt.imshow (выбор)
plt.show()
  

Больше практики с простым пороговым значением (15 мин)

Теперь твоя очередь тренироваться. Предположим, мы хотим использовать простую пороговую обработку чтобы выбрать только цветные фигуры из изображения data/shapes-02.jpg :

Сначала постройте гистограмму в градациях серого, как в Эпизод гистограммы и изучить распределение значений оттенков серого на изображении. Что как думаете будет хорошая стоимость порога т ?

Решение

Гистограмма для изображения data/shapes-02.jpg может быть показана с помощью

  image = skimage.io.imread("data/shapes-02.jpg", as_gray=True)
гистограмма, bin_edges = np.гистограмма (изображение, интервалы = 256, диапазон = (0,0, 1,0))

plt.plot(bin_edges[0:-1], гистограмма)
plt.title("Гистограмма уровней серого")
plt.xlabel("серое значение")
plt.ylabel("количество пикселей")
plt.xlim(0, 1.0)
plt.show()
  

Мы видим большой всплеск около 0,3 и меньший всплеск около 0,7. То пик около 0,3 представляет более темный фон, поэтому кажется, что значение близкий к t=0,5 был бы хорошим выбором.

Затем создайте маску, чтобы включить пиксели выше порога t . и пикселей ниже порога т выкл.Обратите внимание, что в отличие от изображения с белым фоном, который мы использовали выше, здесь пик для цвет фона находится на более низком уровне серого, чем формы. Поэтому измените оператор сравнения меньше < на больше > , чтобы создать соответствующую маску. Затем нанесите маску на изображение и просмотреть пороговое изображение. Если все работает как надо должен, ваш вывод должен отображать только цветные фигуры на черном задний план.

Решение

Вот команды для создания и просмотра бинарной маски

  т = 0.5
двоичная_маска = изображение  

А вот команды для применения маски и просмотра порогового изображения

  выбор = np.zeros_like (изображение)
выделение[бинарная_маска] = изображение[бинарная_маска]

рис, топор = plt.subplots()
plt.imshow (выбор)
plt.show()
  

Автоматическое определение порога

Недостаток простой техники пороговой обработки заключается в том, что мы должны сделать обоснованное предположение о пороге t , осмотрев гистограмма.Есть также автоматических пороговых методов, которые могут определить порог автоматически для нас. Одним из таких методов является Метод Оцу . Это особенно полезен в ситуациях, когда гистограмма в градациях серого изображение имеет два пика, которые соответствуют фону и объектам интерес.

Шумоподавление изображения перед пороговым значением

На практике часто бывает необходимо очистить изображение от шума перед пороговое значение, которое может быть выполнено одним из методов из Размытый эпизод.

Рассмотрим изображение data/maize-root-cluster.jpg корневой системы кукурузы. которые мы уже видели в эпизоде ​​Skimage Images.

  image = skimage.io.imread("data/maize-root-cluster.jpg")

рис, топор = plt.subplots()
plt.imshow(изображение)
plt.show()
  

Мы используем размытие по Гауссу с сигмой 1,0 для устранения шума корня изображение. Давайте посмотрим на гистограмму в градациях серого изображения без шума.

  # преобразовать изображение в оттенки серого
grey_image = изображение с изображением.color.rgb2gray(изображение)

# размыть изображение, чтобы убрать шум
blurred_image = skimage.filter.gaussian (grey_image, sigma = 1,0)

# показать гистограмму размытого изображения
гистограмма, bin_edges = np.histogram (blurred_image, интервалы = 256, диапазон = (0,0, 1,0))
plt.plot(bin_edges[0:-1], гистограмма)
plt.title("Гистограмма уровней серого")
plt.xlabel("серое значение")
plt.ylabel("количество пикселей")
plt.xlim(0, 1.0)
plt.show()
  

Гистограмма имеет значительный пик около 0,2 и второй, меньший пик очень близок к 1.0. Таким образом, это изображение является хорошим кандидатом на определение порога по методу Оцу. Математические детали того, как это работы сложные (см. скимаж документация если вам интересно), но в результате метод Оцу находит пороговое значение между двумя пиками гистограммы оттенков серого.

Функцию skimage.filters.threshold_otsu() можно использовать для определить порог автоматически по методу Оцу. Тогда numpy операторы сравнения могут использоваться, чтобы применить его, как и раньше.Вот Команда Python определяет пороговое значение t с помощью метода Оцу. ~~~ # выполнить автоматическую настройку порога t = skimage.filters.threshold_otsu(blurred_image) print("Найдено автоматическое порог t = {}..format(t)) ~~~ {: .language-python}

  Найден автоматический порог t = 0,4172454549881862.
  

Для этого корневого изображения и размытия по Гауссу с выбранным сигмой 1,0, расчетное пороговое значение равно 0,42. Нет, мы можем создать бинарную маску с оператором сравнения > .Как мы видели ранее, пиксели выше пороговое значение будет включено, те, что ниже порога, будут быть выключен.

  # создать бинарную маску с порогом найденным методом Оцу
двоичная_маска = размытое_изображение> t

рис, топор = plt.subplots()
plt.imshow (бинарная_маска, cmap = 'серый')
plt.show()
  

Наконец, мы используем маску для выбора переднего плана:

  # применяем бинарную маску для выбора переднего плана
выбор = np.zeros_like (изображение)
выделение[бинарная_маска] = изображение[бинарная_маска]

рис, топор = пл.подсюжеты()
plt.imshow (выбор)
plt.show()
  

Применение: измерение корневой массы

Теперь обратимся к приложению, в котором мы можем применить пороговое значение и другие методы, которые мы изучили к этому моменту. Рассмотрим эти четыре образы корневой системы кукурузы, которые вы можете найти в файлах data/trial-016.jpg , data/trial-020.jpg , data/trial-216.jpg , и data/trial-293.jpg .

Предположим, нас интересует количество растительного материала в каждом изображение, и, в частности, как это количество изменяется от изображения к изображение.Возможно, изображения представляют собой рост растения с течением времени, или, возможно, изображения показывают четыре разных сорта кукурузы одновременно. фазы их роста. Вопрос, на который мы хотели бы ответить, звучит так: «Как много корневой массы на каждом изображении?»

Сначала мы создадим программу Python для измерения этого значения для одно изображение. Наша стратегия будет такой:

  1. Прочитайте изображение, преобразуя его в оттенки серого по мере чтения. За это приложение нам не нужно цветное изображение.
  2. Размыть изображение.
  3. Используйте метод пороговой обработки Оцу для создания бинарного изображения, где пиксели, которые были частью растения кукурузы, белые, и все остальное черное.
  4. Сохраните бинарное изображение, чтобы его можно было просмотреть позже.
  5. Подсчитайте белые пиксели в бинарном изображении и разделите на количество пикселей в изображении. Это соотношение будет мерой корневая масса растения на изображении.
  6. Вывести название обработанного изображения и коэффициент массы корня.

Наша цель — выполнить эти шаги и получить числовой результат — мера массы корня на изображении – без человеческого вмешательство.Реализация шагов в функции Python будет позволяют нам вызывать эту функцию для разных изображений.

Вот функция Python, которая реализует это измерение корневой массы стратегия. Поскольку функция предназначена для вывода числовых значений без участия человека он не отображает ни одного из картинки. Почти все команды должны быть знакомы, и на самом деле это может показаться проще, чем код, над которым мы работали до сих пор, потому что мы не отображают ни одно изображение.

  def Measure_root_mass (имя файла, сигма = 1.0):

    # читать исходное изображение, конвертируя в оттенки серого на лету
    изображение = skimage.io.imread(fname=имя файла, as_gray=True)

    # размытие перед порогом
    blurred_image = skimage.filters.gaussian (изображение, сигма = сигма)

    # выполнить автоматическую пороговую обработку для создания бинарного изображения
    t = skimage.filters.threshold_otsu (размытое_изображение)
    двоичная_маска = размытое_изображение> t

    # определить коэффициент массы корней
    rootPixels = np.count_nonzero(binary_mask)
    w = двоичная_маска.форма[1]
    h = двоичная_маска.форма[0]
    плотность = корневые пиксели / (ш * ч)

    плотность возврата
  

Функция начинается с чтения оригинального образа из файла имя файла . Мы используем skimage.io.imread с необязательным аргументом as_gray=True для автоматического преобразования в оттенки серого. Далее, изображение в градациях серого размывается фильтром Гаусса со значением сигма , которое передается в функцию. Затем мы определяем порог t с помощью метода Оцу и создайте бинарную маску так же, как мы делал в предыдущем разделе.До этого момента все должно быть знакомый.

Заключительная часть функции определяет соотношение масс корней в изображение. Напомним, что в binary_mask каждый пиксель имеет либо значение нуля (черный/фон) или единицы (белый/передний план). Мы хотим подсчитайте количество белых пикселей, что можно сделать с помощью вызов функции numpy np.count_nonzero . Затем мы определяем ширину и высоту изображения с помощью элементов бинарная_маска.форма (то есть размеры массива numpy, который сохраняет изображение). Наконец, коэффициент плотности рассчитывается по формуле деление количества белых пикселей на общее количество пикселей ш*ч на изображении. Функция возвращает затем корневую плотность изображение.

Мы можем вызывать эту функцию с любым именем файла и указывать значение сигмы для размытия. Если значение сигмы не указано, используется значение по умолчанию 1,0. будет использовано. Например, для файла data/trial-016.jpg и сигма значение 1.5, мы бы назвали функцию так:

  Measure_root_mass("data/trial-016.jpg", sigma=1.5)
  

Теперь мы можем использовать функцию для обработки серии из четырех показанных изображений. над. В реальной научной ситуации их могут быть десятки, сотни или даже тысячи изображений для обработки. Чтобы спасти нас утомительно вызывать функцию для каждого изображения вручную, мы можем написать цикл, который обрабатывает все файлы автоматически. Следующий блок кода предполагает, что файлы находятся в одном каталоге и все имена файлов начинаются с префикса пробная- и заканчиваются .jpg суффикс.

  all_files = glob.glob("data/trial-*.jpg")
для имени файла в all_files:
    плотность = мера_корневой_массы (имя файла, сигма = 1,5)
    # вывод в формате, подходящем для .csv
    печать (имя файла, плотность, sep=",")
  
  data/trial-016.jpg,0.0482436835106383
данные/проба-020.jpg,0,06346941489361702
данные/проба-216.jpg,0.14073969414893617
данные/проба-293.jpg,0.13607895611702128
  

Игнорирование большего количества изображений – мозговой штурм (10 мин)

Давайте подробнее рассмотрим бинарные маски, созданные функцией Measure_root_mass .

Возможно, вы заметили в разделе об автоматическом пороговом значении, что изображение с пороговым значением включает в себя области изображения, кроме корень растения: пронумерованные метки и белые кружки на каждом изображении сохраняются при пороговой обработке, потому что их оттенки серого значения выше порога. Таким образом, наша расчетная масса корня коэффициенты включают белые пиксели этикетки и белый круг, который не являются частью корня растения. Эти дополнительные пиксели влияют на то, как точный расчет корневой массы!

Как мы можем удалить метки и круги перед вычислением соотношение, чтобы наши результаты были более точными? Подумайте о некоторых варианты, учитывая то, что мы узнали до сих пор.

Решение

Один из подходов, который мы могли бы использовать, — попытаться полностью замаскировать область от каждое изображение, особенно область, содержащая белый кружок и этикетка с номером. Если бы у нас были координаты прямоугольной области на изображении который содержал круг и метку, мы могли легко замаскировать область используя приемы, которые мы изучили в Рисование и побитовые операции эпизод.

Однако при более внимательном рассмотрении бинарных изображений возникают некоторые проблемы с этот подход.Поскольку корни не всегда ограничены определенной областью на изображении, и так как круги и метки находятся в разных местах каждый раз нам было бы трудно придумать один прямоугольник это будет работать для каждого изображения. Мы могли бы создать другую маскировку прямоугольник для каждого изображения, но это непрактичный подход, если у нас есть сотни или тысячи изображений для обработки.

Другой подход, который мы могли бы использовать, состоит в том, чтобы применить два пороговых шага к изображение.Посмотрите на гистограмму уровней серого файла data/trial-016.jpg . снова выше: заметили пик около 1,0? Напомним, что значение в градациях серого 1.0 соответствует белым пикселям: пик соответствует белой метке и круг. Таким образом, мы могли бы использовать простую бинарную пороговую обработку, чтобы замаскировать белый цвет. круг и метка с изображения, а затем мы могли бы использовать метод Оцу, чтобы выберите пиксели в растительной части изображения.

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

  • Использование этикеток одинакового размера и формы
  • Размещение всех этикеток в одинаковом положении относительно образца
  • Использование небелой этикетки с нечерным шрифтом

Игнорирование большего количества изображений – реализация (30 мин – необязательно, не включено во время)

Реализовать расширенную версию функции Measure_root_mass который применяет простое двоичное пороговое значение для удаления белого круга и маркируйте с изображения перед применением метода Оцу.

Решение

Мы можем применить простую бинарную пороговую обработку с порогом t=0,95 , чтобы удалить метку и кружок с изображения. Мы используем бинарная маска, чтобы обнулить пиксели в размытом изображении (чернить).

  определение расширенной_корневой_массы (имя файла, сигма):

    # читать исходное изображение, конвертируя в оттенки серого на лету
    изображение = skimage.io.imread(fname=имя файла, as_gray=True)

    # размытие перед порогом
    blurred_image = изображение.filter.gaussian(изображение, сигма=сигма)

    # выполнить обратную двоичную пороговую обработку, чтобы замаскировать белую метку и обвести
    двоичная_маска = размытое_изображение> 0,95
    # используем маску, чтобы удалить круг и метку с размытого изображения
    размытое_изображение[бинарная_маска] = 0

    # выполнить автоматическую пороговую обработку для создания бинарного изображения
    t = skimage.filters.threshold_otsu (размытое_изображение)
    двоичная_маска = размытое_изображение> t

    # определить коэффициент массы корней
    rootPixels = np.count_nonzero(binary_mask)
    w = двоичная_маска.форма[1]
    ч = двоичная_маска.форма[0]
    плотность = корневые пиксели / (ш * ч)

    плотность возврата

all_files = glob.glob("data/trial-*.jpg")
для имени файла в all_files:
    плотность = расширенная_корневая_масса (имя файла, сигма = 1,5)
    # вывод в формате, подходящем для .csv
    печать (имя файла, плотность, sep=",")
  

Выходные данные улучшенной программы показывают, что белые круги а этикетки искажали наши коэффициенты массы корней:

  data/trial-016.jpg,0.045935837765957444
данные/проба-020.jpg,0.058800033244680854
data/trial-216.jpg,0.13705003324468085
данные/проба-293.jpg,0.13164461436170213
  

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

Пороговое изображение колонии бактерий (15 мин)

В каталоге изображений data/ вы найдете изображение с именем колоний-01.тиф .

Это одно из изображений, с которым вы будете работать в морфометрический тест в конце семинара.

  1. Постройте и проверьте гистограмму изображения в градациях серого, чтобы определить хорошее пороговое значение для изображения.
  2. Создайте бинарную маску, которая оставляет пиксели в бактериях колонии «включаются» при включении остальных пикселей изображения "выключенный".

Решение

Вот код для создания гистограммы в градациях серого:

  изображение = изображение.io.imread("данные/колонии-01.tif")
gray_image = skimage.color.rgb2gray(изображение)
blurred_image = skimage.filters.gaussian (grey_image, sigma = 1,0)
гистограмма, bin_edges = np.histogram (blurred_image, интервалы = 256, диапазон = (0,0, 1,0))
plt.plot(bin_edges[0:-1], гистограмма)
plt.title("Гистограмма уровней серого")
plt.xlabel("серое значение")
plt.ylabel("количество пикселей")
plt.xlim(0, 1.0)
plt.show()
  

Пик рядом с единицей соответствует белому фону изображения, а более широкий пик около 0.5 соответствует желтому/коричневому питательная среда в чашке. Небольшой пик около нуля — это то, что мы после: темные колонии бактерий. Таким образом, разумный выбор может быть оставить пиксели ниже t=0,2 включенными.

Вот код для создания и показа бинарного изображения с помощью < оператор с порогом t=0,2 :

  т = 0,2
двоичная_маска = размытое_изображение < t

рис, топор = plt.subplots()
plt.imshow (бинарная_маска, cmap = 'серый')
пл.показывать()
  

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

Ключевые моменты

  • Пороговое значение создает бинарное изображение, в котором все пиксели с интенсивностью выше (или ниже) порогового значения включены, а все остальные пиксели выключены.

  • Двоичные изображения, созданные пороговым значением, хранятся в двумерных массивах NumPy, поскольку они имеют только один канал значения цвета. Они логические, поэтому содержат значения 0 (выключено) и 1 (включено).

  • Пороговое значение можно использовать для создания масок, которые выбирают только интересные части изображения, или в качестве первого шага перед обнаружением краев или поиском контуров.

Пороговое значение OpenCV (cv2.порог )

Доступ к коду этого руководства и всех других 500+ руководств по PyImageSearch

Введите свой адрес электронной почты ниже, чтобы узнать больше об университете PyImageSearch (включая то, как вы можете загрузить исходный код к этому сообщению):

Что входит в PyImageSearch University?

  • Легкий доступ к коду, наборам данных и предварительно обученным моделям для всех 500+ руководств в блоге PyImageSearch
  • Высококачественный, хорошо задокументированный исходный код с построчными пояснениями (чтобы вы точно знали, что делает код)
  • Ноутбуки Jupyter , предварительно настроенные для работы в Google Colab одним щелчком мыши
  • Запускайте все примеры кода в веб-браузере — настройка среды разработки не требуется!
  • Поддержка всех основных операционных систем (Windows, macOS, Linux и Raspbian)
  • Полный доступ к курсам PyImageSearch University
  • Подробные видеоуроки к каждому уроку
  • Сертификаты об окончании для всех курсов
  • Новые курсы добавляются каждый месяц! — будьте в курсе последних тенденций в области компьютерного зрения и глубокого обучения

Университет PyImageSearch — действительно лучшая степень магистра в области компьютерного зрения, которую я хотел бы получить, когда начинал. Возможность получить доступ ко всем учебным пособиям Адриана на одной проиндексированной странице и возможность начать играть с кодом, не проходя через кошмар по настройке всего, просто удивительна. 10/10 рекомендую.

Саньям БхутаниИнженер по машинному обучению и 2x Kaggle Master
Порог

: простая сегментация изображения с использованием OpenCV

Доступ к коду этого руководства и всех других 500+ руководств по PyImageSearch

Введите свой адрес электронной почты ниже, чтобы узнать больше об университете PyImageSearch (включая то, как вы можете загрузить исходный код к этому сообщению):

Что входит в PyImageSearch University?

  • Легкий доступ к коду, наборам данных и предварительно обученным моделям для всех 500+ руководств в блоге PyImageSearch
  • Высококачественный, хорошо задокументированный исходный код с построчными пояснениями (чтобы вы точно знали, что делает код)
  • Ноутбуки Jupyter , предварительно настроенные для работы в Google Colab одним щелчком мыши
  • Запускайте все примеры кода в веб-браузере — настройка среды разработки не требуется!
  • Поддержка всех основных операционных систем (Windows, macOS, Linux и Raspbian)
  • Полный доступ к курсам PyImageSearch University
  • Подробные видеоуроки к каждому уроку
  • Сертификаты об окончании для всех курсов
  • Новые курсы добавляются каждый месяц! — будьте в курсе последних тенденций в области компьютерного зрения и глубокого обучения

Университет PyImageSearch — действительно лучшая степень магистра в области компьютерного зрения, которую я хотел бы получить, когда начинал. Возможность получить доступ ко всем учебным пособиям Адриана на одной проиндексированной странице и возможность начать играть с кодом, не проходя через кошмар по настройке всего, просто удивительна. 10/10 рекомендую.

Саньям БхутаниИнженер по машинному обучению и 2x Kaggle Master

Нежное введение в изменение порога для несбалансированной классификации

Последнее обновление: 5 января 2021 г.

Прогнозное моделирование классификации обычно включает прогнозирование метки класса.

Тем не менее, многие алгоритмы машинного обучения способны предсказывать вероятность или оценку принадлежности к классу, и это необходимо интерпретировать, прежде чем его можно будет сопоставить с четкой меткой класса. Это достигается с помощью порога, например 0,5, где все значения, равные или превышающие порог, сопоставляются с одним классом, а все остальные значения сопоставляются с другим классом.

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

В некоторых случаях, например при использовании кривых ROC и кривых Precision-Recall, наилучший или оптимальный порог для классификатора можно рассчитать напрямую. В других случаях можно использовать поиск по сетке для настройки порога и определения оптимального значения.

В этом руководстве вы узнаете, как настроить оптимальный порог при преобразовании вероятностей в четкие метки классов для несбалансированной классификации.

После прохождения этого урока вы будете знать:

  • Пороговое значение по умолчанию для интерпретации вероятностей в метках классов равно 0,5, и настройка этого гиперпараметра называется изменением порога.
  • Как рассчитать оптимальное пороговое значение для кривой ROC и кривой Precision-Recall напрямую.
  • Как вручную выполнить поиск пороговых значений для выбранной модели и метрики оценки модели.

Начните свой проект с моей новой книги «Несбалансированная классификация с Python», включающей пошаговых руководств и файлов исходного кода Python для всех примеров.

Начнем.

  • Обновление, февраль 2020 г. : исправлена ​​опечатка в уравнении специфичности.
  • Обновление, январь 2021 г. : обновлены ссылки на документацию по API.

Нежное введение в смещение порога для несбалансированной классификации
Фото Bruna cs, некоторые права защищены.

Обзор учебника

Это руководство разделено на пять частей; они:

  1. Преобразование вероятностей в метки классов
  2. Изменение порога для несбалансированной классификации
  3. Оптимальный порог для кривой ROC
  4. Оптимальный порог для кривой Precision-Recall
  5. Оптимальная настройка порога

Преобразование вероятностей в метки классов

Многие алгоритмы машинного обучения способны предсказывать вероятность или оценку принадлежности к классу.

Обычно это полезно, поскольку обеспечивает меру определенности или неопределенности прогноза. Он также обеспечивает дополнительную детализацию по сравнению с простым предсказанием метки класса, которую можно интерпретировать.

Для некоторых задач классификации требуется четкое предсказание метки класса. Это означает, что даже если предсказана вероятность или оценка принадлежности к классу, она должна быть преобразована в четкую метку класса.

Решение о преобразовании прогнозируемой вероятности или оценки в метку класса определяется параметром, называемым « порог принятия решения », « порог дискриминации » или просто « порог ».” Значение порога по умолчанию равно 0,5 для нормализованных предсказанных вероятностей или оценок в диапазоне от 0 до 1.

Например, в задаче бинарной классификации с метками классов 0 и 1, нормализованными предсказанными вероятностями и порогом 0,5 значения меньше порога 0,5 присваиваются классу 0, а значения больше или равные 0,5 присваиваются классу 1.

  • Прогноз < 0,5 = класс 0
  • Прогноз >= 0,5 = класс 1

Проблема в том, что пороговое значение по умолчанию может не отражать оптимальную интерпретацию предсказанных вероятностей.

Это может происходить по ряду причин, например:

  • Прогнозируемые вероятности не откалиброваны, т.е. те, которые предсказаны SVM или деревом решений.
  • Метрика, используемая для обучения модели, отличается от метрики, используемой для оценки конечной модели.
  • Распределение по классам сильно искажено.
  • Стоимость ошибочной классификации одного типа важнее, чем ошибочная классификация другого типа.

Что еще хуже, некоторые или все эти причины могут возникать одновременно, например, использование модели нейронной сети с некалиброванными прогнозируемыми вероятностями в задаче несбалансированной классификации.

Таким образом, часто возникает необходимость изменить порог принятия решения по умолчанию при интерпретации предсказаний модели.

… почти все классификаторы генерируют положительные или отрицательные прогнозы, применяя порог к оценке. Выбор этого порога повлияет на соотношение положительных и отрицательных ошибок.

— Страница 53, Изучение несбалансированных наборов данных, 2018.

Хотите начать работу с классификацией дисбаланса?

Пройдите мой бесплатный 7-дневный экспресс-курс по электронной почте прямо сейчас (с образцом кода).

Нажмите, чтобы зарегистрироваться, а также получить бесплатную электронную версию курса в формате PDF.

Загрузите БЕСПЛАТНЫЙ мини-курс

Изменение порога для несбалансированной классификации

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

Тем не менее, пожалуй, самым простым способом справиться с серьезным дисбалансом классов является изменение порога принятия решения.Хотя этот метод прост и очень эффективен, его часто упускают из виду как практики, так и ученые-исследователи, как отметил Фостер Провост в своей статье 2000 года под названием «Машинное обучение на несбалансированных наборах данных».

Суть в том, что при изучении задач с несбалансированными данными использование классификаторов, вырабатываемых стандартными алгоритмами машинного обучения, без настройки порога вывода вполне может быть критической ошибкой.

— Машинное обучение на несбалансированных наборах данных 101, 2000.

Существует множество причин для выбора альтернативы порогу принятия решения по умолчанию.

Например, вы можете использовать кривые ROC для анализа прогнозируемых вероятностей модели и оценки ROC AUC для сравнения и выбора модели, хотя вам нужны четкие метки классов для вашей модели. Как вы выбираете порог на кривой ROC, который приводит к наилучшему балансу между истинно положительными показателями и ложноположительными показателями?

В качестве альтернативы, вы можете использовать кривые точного повторения для анализа прогнозируемых вероятностей модели, точного повторения AUC для сравнения и выбора моделей и требовать четких меток классов в качестве прогнозов.Как выбрать пороговое значение кривой точности-отзыва, обеспечивающее наилучший баланс между точностью и отзывом?

Вы можете использовать метрику, основанную на вероятности, для обучения, оценки и сравнения моделей, таких как потеря журнала (перекрестная энтропия), но для прогнозирования четких меток классов. Как выбрать оптимальный порог из прогнозируемых вероятностей в более общем плане?

Наконец, у вас могут быть различные затраты, связанные с ложноположительной и ложноотрицательной неправильной классификацией, так называемая матрица затрат, но вы хотите использовать и оценивать модели, не чувствительные к затратам, а затем оценивать их прогнозы, используя показатель, чувствительный к затратам.Как вы выбираете порог, который находит наилучший компромисс для прогнозов с использованием матрицы затрат?

Популярный способ обучения чувствительного к затратам классификатора без известной матрицы затрат состоит в том, чтобы сделать акцент на изменении результатов классификации при прогнозировании новых данных. Обычно это делается путем установки порога для положительного класса, ниже которого прогнозируется отрицательный. Значение этого порога оптимизируется с использованием проверочного набора, и, таким образом, матрица затрат может быть получена из обучающих данных.

— Страница 67, Изучение несбалансированных наборов данных, 2018.

Ответ на эти вопросы заключается в поиске диапазона пороговых значений, чтобы найти наилучшее пороговое значение. В некоторых случаях оптимальный порог можно рассчитать напрямую.

Настройка или сдвиг порога принятия решения для соответствия более широким требованиям задачи классификации обычно упоминается как « изменение порога », « настройка порога » или просто « определение порога ».

Было заявлено, что использование других методов, таких как выборка, без попытки простой установки порога может ввести в заблуждение. Метод изменения порога использует исходный обучающий набор для обучения [модели], а затем перемещает порог принятия решения таким образом, чтобы примеры классов меньшинства было легче правильно предсказать.

- Страницы 72, Несбалансированное обучение: основы, алгоритмы и приложения, 2013.

Процесс включает в себя сначала подгонку модели к обучающему набору данных и создание прогнозов для тестового набора данных.Прогнозы представлены в виде нормализованных вероятностей или оценок, которые преобразуются в нормализованные вероятности. Затем пробуются различные пороговые значения, и полученные четкие метки оцениваются с использованием выбранной метрики оценки. Порог, обеспечивающий наилучшую оценочную метрику, затем принимается для модели при прогнозировании новых данных в будущем.

Мы можем резюмировать эту процедуру ниже.

  • 1. Подгонка модели к набору обучающих данных.
  • 2.Прогнозировать вероятности в наборе тестовых данных.
  • 3. Для каждого порога в Thresholds:
    • 3а. Преобразуйте вероятности в метки класса, используя порог.
    • 3б. Оцените метки классов.
    • 3с. Если оценка лучше, чем лучшая оценка.
    • 4. Используйте принятый порог при прогнозировании класса новых данных.

Несмотря на простоту, существует несколько различных подходов к реализации порогового перемещения в зависимости от ваших обстоятельств.В следующих разделах мы рассмотрим некоторые из наиболее распространенных примеров.

Оптимальный порог для кривой ROC

ROC-кривая — это диагностический график, на котором оценивается набор вероятностных прогнозов, сделанных моделью на тестовом наборе данных.

Набор различных пороговых значений используется для интерпретации истинного положительного результата и ложного положительного результата прогнозов для положительного (меньшинства) класса, а оценки нанесены в виде линии возрастающих порогов для создания кривой.

Частота ложноположительных результатов откладывается по оси X, а доля истинно положительных результатов — по оси Y, и этот график называется кривой рабочих характеристик приемника или кривой ROC. Диагональная линия на графике из левого нижнего угла в правый верхний указывает на «кривую » для классификатора без навыков (предсказывает класс большинства во всех случаях), а точка в левом верхнем углу графика указывает на модель с совершенным мастерством.

Кривая полезна для понимания компромисса между процентом истинно положительных и ложноположительных результатов для различных пороговых значений.Область под кривой ROC, так называемая ROC AUC, представляет собой одно число для обобщения производительности модели с точки зрения ее кривой ROC со значением от 0,5 (отсутствие навыков) до 1,0 (совершенный навык).

Кривая ROC является полезным диагностическим инструментом для понимания компромисса между различными пороговыми значениями, а ROC AUC предоставляет полезное число для сравнения моделей на основе их общих возможностей.

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

К счастью, есть принципиальные способы найти эту точку.

Во-первых, давайте подгоним модель и рассчитаем кривую ROC.

Мы можем использовать функцию make_classification() для создания задачи синтетической бинарной классификации с 10 000 примеров (строк), 99 процентов из которых относятся к классу большинства, а 1 процент — к классу меньшинства.

... # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0.99], flip_y=0, random_state=4)

...

# создать набор данных

X, y = make_classification(n_samples=10000, n_features=2, n_redundant=0,

n_clusters_per_class=1, weights=[0.99], flip_y=0, random_state=4)

Затем мы можем разделить набор данных с помощью функции train_test_split() и использовать половину для тренировочного набора, а половину для тестового набора.

... # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split(X, y, test_size=0,5, random_state=2, stratify=y)

...

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X, y, test_size=0.5, random_state=2, stratify=y)

Затем мы можем подогнать модель логистической регрессии и использовать ее для прогнозирования вероятности на тестовом наборе и оставить только прогнозы вероятности для класса меньшинства.

... # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать вероятности lr_probs = модель.predict_proba(testX) # сохраняем вероятности только для положительного исхода лр_пробс = лр_пробс[:, 1]

...

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать вероятности

lr_probs = model.Predict_proba(testX)

# сохранить вероятности только для положительного исхода

lr_probs = lr_probs[:, 1]

Затем мы можем использовать функцию roc_auc_score() для расчета доли истинных положительных и ложных положительных результатов для прогнозов с использованием набора пороговых значений, которые затем можно использовать для создания графика кривой ROC.

... # рассчитать баллы lr_auc = roc_auc_score(testy, lr_probs)

...

# вычислить баллы

lr_auc = roc_auc_score(testy, lr_probs)

Мы можем связать все это вместе, определив набор данных, подогнав модель и создав график кривой ROC. Полный пример приведен ниже.

# кривая roc для модели логистической регрессии из sklearn.datasets импортировать make_classification из sklearn.linear_model импортировать LogisticRegression из sklearn.model_selection импорта train_test_split из склеарна.импорт метрик roc_curve из matplotlib импортировать pyplot # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0,99], flip_y=0, random_state=4) # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split (X, y, test_size = 0,5, random_state = 2, stratify = y) # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать вероятности йхат = модель.предсказать_вероятность (тестX) # сохраняем вероятности только для положительного исхода yхат = yхат[:, 1] # рассчитываем кривые ROC fpr, tpr, пороги = roc_curve(testy, yhat) # построить кривую ROC для модели pyplot.plot([0,1], [0,1], linestyle='--', label='Нет навыка') pyplot.plot (fpr, tpr, маркер = '.', метка = 'Логистика') # метки осей pyplot.xlabel('Ложноположительный результат') pyplot.ylabel('Истинный положительный показатель') pyplot.легенда() # показать сюжет pyplot.show ()

1

2

30002 2

3

4

5

6

7

7

8

11

10

11

12

13

14

15

14

15

16

17

18

19

20

20

21

22

23

240002 23

24

25

26

27

28

28

29

# кривая ROC для модели логистической регрессии

от sklearn.DataSets Import make_classification

из Sklearn.linear_model Импорт логистистикаРедж

от Sklearn.model_selection Import rud_test_splite

от Sklearn.Metrics Import Roc_curve

из MATPLOTLIB Import Pyplot

# Generate DataSet

x, y = make_classification (n_samples = 10000, n_features=2, n_redundant=0,

n_clusters_per_class=1, weights=[0,99], flip_y=0, random_state=4)

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X , у, размер_теста=0.5, random_state=2, stratify=y)

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать вероятности

yhat = model.predict_proba (testX)

# сохранить вероятности только для положительного исхода для модели

pyplot.plot([0,1], [0,1], linestyle='--', label='No Skill')

pyplot.plot(fpr, tpr, marker='.', label='Logistic')

# метки осей

pyplot.xlabel('False Positive Rate')

pyplot.ylabel('True Positive Rate')

pyplot .legend()

# показать сюжет

pyplot.show()

Выполнение примера соответствует модели логистической регрессии в наборе обучающих данных, а затем оценивает ее с использованием диапазона пороговых значений в наборе тестов, создавая кривую ROC

Мы видим, что рядом с левым верхним углом графика есть несколько точек или порогов.

Какой порог является оптимальным?

График кривой ROC для модели логистической регрессии для несбалансированной классификации

Есть много способов найти порог с оптимальным балансом между ложноположительными и истинноположительными показателями.

Во-первых, истинная положительная скорость называется Чувствительностью. Обратная частота ложноположительных результатов называется специфичностью.

  • Чувствительность = TruePositive / (TruePositive + FalseNegative)
  • Специфичность = TrueNegative / (FalsePositive + TrueNegative)

Где:

  • Чувствительность = частота истинного положительного результата
  • Специфичность = 1 – Частота ложных срабатываний

Среднее геометрическое или G-Mean — это показатель для несбалансированной классификации, который при оптимизации будет искать баланс между чувствительностью и специфичностью.

  • G-среднее = sqrt(чувствительность * специфичность)

Один из подходов — протестировать модель с каждым пороговым значением, возвращаемым вызовом roc_auc_score(), и выбрать пороговое значение с наибольшим значением G-Mean.

Учитывая, что мы уже рассчитали чувствительность (TPR) и дополнение к специфичности при расчете ROC-кривой, мы можем напрямую рассчитать G-Mean для каждого порога.

... # вычисляем g-mean для каждого порога gmeans = sqrt (tpr * (1-fpr))

...

# вычислить g-mean для каждого порога

gmeans = sqrt(tpr * (1-fpr))

После расчета мы можем найти индекс наибольшего среднего значения G и использовать этот индекс, чтобы определить, какое пороговое значение следует использовать.

... # найти индекс наибольшего g-среднего ix = argmax(gсредних) print('Лучший порог=%f, G-Mean=%.3f' % (thresholds[ix], gmeans[ix]))

...

# найти индекс наибольшего g-среднего

ix = argmax(gmeans)

print('Best Threshold=%f, G-Mean=%.3f' % (thresholds[ix], gmeans[ ix]))

Мы также можем перерисовать кривую ROC и выделить эту точку.

Полный пример приведен ниже.

# кривая ROC для модели логистической регрессии с оптимальным порогом из numpy импорта sqrt из numpy импортировать argmax из склеарна.импорт наборов данных make_classification из sklearn.linear_model импортировать LogisticRegression из sklearn.model_selection импорта train_test_split из sklearn.metrics импортировать roc_curve из matplotlib импортировать pyplot # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0,99], flip_y=0, random_state=4) # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split(X, y, test_size=0.5, random_state=2, стратификация=y) # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать вероятности yhat = model.predict_proba(testX) # сохраняем вероятности только для положительного исхода yхат = yхат[:, 1] # рассчитываем кривые ROC fpr, tpr, пороги = roc_curve(testy, yhat) # вычисляем g-mean для каждого порога gmeans = sqrt (tpr * (1-fpr)) # найти индекс наибольшего g-среднего ix = argmax(gсредних) print('Лучший порог=%f, G-среднее=%.3f' % (пороги[ix], gсредства[ix])) # построить кривую ROC для модели pyplot.plot([0,1], [0,1], linestyle='--', label='Нет навыка') pyplot.plot (fpr, tpr, маркер = '.', метка = 'Логистика') pyplot.scatter(fpr[ix], tpr[ix], marker='o', color='black', label='Best') # метки осей pyplot.xlabel('Ложноположительный результат') pyplot.ylabel('Истинный положительный показатель') pyplot.легенда() # показать сюжет pyplot.show ()

1

2

30002 2

3

4

5

6

7

7

8

11

10

11

12

13

14

15

14

15

16

17

18

19

20

20

21

22

23

240002 23

25

26

27

28

29

28

29

30

31

32

33

34

35

36

37

# кривая roc для модели логистической регрессии с оптимальным порогомDataSets Import make_classification

из Sklearn.linear_model Импорт логистистикаРедж

от Sklearn.model_selection Import rud_test_splite

от Sklearn.Metrics Import Roc_curve

из MATPLOTLIB Import Pyplot

# Generate DataSet

x, y = make_classification (n_samples = 10000, n_features=2, n_redundant=0,

n_clusters_per_class=1, weights=[0,99], flip_y=0, random_state=4)

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X , у, размер_теста=0.5, random_state=2, stratify=y)

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать вероятности

yhat = model.predict_proba (testX)

# сохранить вероятности только для положительного исхода среднее для каждого порога

gmeans = sqrt(tpr * (1-fpr))

# найти индекс наибольшего g-среднего

ix = argmax(gmeans)

print('Best Threshold=%f, G -Среднее=%.3f' % (thresholds[ix], gmeans[ix]))

# построить ROC-кривую для модели

pyplot.plot([0,1], [0,1], linestyle='--', label='No Skill')

pyplot.plot(fpr, tpr, marker='.', label='Logistic')

pyplot.scatter(fpr[ix], tpr[ix], marker='o' , color='black', label='Best')

# метки осей

pyplot.xlabel('False Positive Rate')

pyplot.ylabel('True Positive Rate')

pyplot.legend()

# показать сюжет

pyplot.показать()

При выполнении примера сначала определяется оптимальное пороговое значение и сообщается об этом пороговом значении и среднем значении G.

Примечание : Ваши результаты могут отличаться из-за стохастического характера алгоритма или процедуры оценки или различий в численной точности. Попробуйте запустить пример несколько раз и сравните средний результат.

В этом случае мы видим, что оптимальный порог составляет около 0,016153.

Лучший порог = 0.016153, G-среднее=0,933

Лучший порог = 0,016153, G-среднее = 0,933

Затем пороговое значение используется для определения частоты истинных и ложных срабатываний, после чего эта точка рисуется на кривой ROC.

Мы видим, что точка оптимального порога представляет собой большую черную точку, и она кажется ближайшей к верхнему левому углу графика.

График кривой ROC для модели логистической регрессии для несбалансированной классификации с оптимальным порогом

Оказывается, есть гораздо более быстрый способ получить тот же результат, который называется J-статистикой Юдена.

Статистика рассчитывается как:

  • Дж = чувствительность + специфичность – 1

Учитывая, что у нас есть чувствительность (TPR) и дополнение специфичности (FPR), мы можем рассчитать его как:

  • Дж = чувствительность + (1 – FalsePositiveRate) – 1

Который мы можем переформулировать как:

  • J = TruePositiveRate – FalsePositiveRate

Затем мы можем выбрать порог с наибольшим значением статистики J. Например:

... # рассчитываем кривые ROC fpr, tpr, пороги = roc_curve(testy, yhat) # получить лучший порог J = tпр - fпр ix = argmax(J) best_thresh = пороги[ix] print('Лучший порог=%f' % (best_thresh))

...

# рассчитать кривые ROC

fpr, tpr, thresholds = roc_curve(testy, yhat)

# получить лучший порог = thresholds[ix]

print('Лучший порог=%f' % (best_thresh))

При подключении полный пример приведен ниже.

# кривая ROC для модели логистической регрессии с оптимальным порогом из numpy импортировать argmax из sklearn.datasets импортировать make_classification из sklearn.linear_model импортировать LogisticRegression из sklearn.model_selection импорта train_test_split из sklearn.metrics импортировать roc_curve # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0,99], flip_y=0, random_state=4) # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split(X, y, test_size=0.5, random_state=2, стратификация=y) # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать вероятности yhat = model.predict_proba(testX) # сохраняем вероятности только для положительного исхода yхат = yхат[:, 1] # рассчитываем кривые ROC fpr, tpr, пороги = roc_curve(testy, yhat) # получить лучший порог J = tпр - fпр ix = argmax(J) best_thresh = пороги[ix] print('Лучший порог=%f' % (best_thresh))

1

2

30002 2

3

4

5

6

7

7

8

11

10

11

12

13

14

15

14

15

16

17

18

19

20

21

22

23

24

25

# кривая roc для модели логистической регрессии с оптимальным порогом

из numpy import argmax

из sklearn.DataSets Import make_classification

из Sklearn.linear_model Импорт Logisticregression

от Sklearn.model_selection Import Erain_test_split

от Sklearn.metrics Импорт ROC_Curve

# Generate DataSet

x, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0,

n_clusters_per_class=1, weights=[0.99], flip_y=0, random_state=4)

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X, y, test_size=0 .5, random_state=2, stratify=y)

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать вероятности

yhat = model.predict_proba (testX)

# сохранить вероятности только положительного исхода

J = tpr - fpr

ix = argmax(J)

best_thresh = thresholds[ix]

print('Лучший порог=%f' % (best_thresh))

Мы видим, что этот более простой подход вычисляет оптимальную статистику напрямую.

Оптимальный порог для кривой Precision-Recall

В отличие от кривой ROC, кривая точности-отзыва фокусируется на производительности классификатора только на положительном (класс меньшинства).

Точность — это отношение числа истинных срабатываний к сумме истинных срабатываний и ложных срабатываний. Он описывает, насколько хорошо модель предсказывает положительный класс. Отзыв рассчитывается как отношение числа истинных положительных результатов к сумме истинных положительных и ложных отрицательных результатов.Вспомнить то же самое, что и чувствительность.

Кривая точности-отзыва рассчитывается путем создания четких меток классов для прогнозов вероятности по набору пороговых значений и вычисления точности и полноты для каждого порога. Линейный график создается для порогов в порядке возрастания с полнотой по оси x и точностью по оси y.

Модель без навыков представлена ​​горизонтальной линией с точностью, равной отношению положительных примеров в наборе данных (например, TP / (TP + TN)), или 0.01 в нашем синтетическом наборе данных. совершенный классификатор навыков имеет полную точность и отзыв с точкой в ​​правом верхнем углу.

Мы можем использовать ту же модель и набор данных из предыдущего раздела и оценить прогнозы вероятности для модели логистической регрессии, используя кривую точности-отзыва. Функцию precision_recall_curve() можно использовать для расчета кривой, возвращая оценки точности и полноты для каждого порога, а также используемые пороги.

... # рассчитать pr-кривую точность, отзыв, пороги = Precision_Recall_Curve(testy, yhat)

...

# рассчитать pr-кривую

точность, отзыв, пороги = точность_отзыва_кривая(тесты, yhat)

Связывая это вместе, полный пример расчета кривой точности-отзыва для логистической регрессии в задаче несбалансированной классификации приведен ниже.

# кривая pr для модели логистической регрессии из sklearn.datasets импортировать make_classification из sklearn.linear_model импортировать LogisticRegression из sklearn.model_selection импорта train_test_split импортировать из sklearn.metrics precision_recall_curve из matplotlib импортировать pyplot # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0,99], flip_y=0, random_state=4) # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split(X, y, test_size=0.5, random_state=2, стратификация=y) # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать вероятности yhat = model.predict_proba(testX) # сохраняем вероятности только для положительного исхода yхат = yхат[:, 1] # рассчитать pr-кривую точность, отзыв, пороги = точность_отзыва_кривая (тести, да) # построить кривую ROC для модели no_skill = len (тести [тести == 1]) / len (тести) pyplot.plot([0,1], [no_skill,no_skill], linestyle='--', label='Нет навыков') сюжет.сюжет (отзыв, точность, маркер = '.', метка = 'Логистика') # метки осей pyplot.xlabel('Отзыв') pyplot.ylabel('Точность') pyplot.легенда() # показать сюжет pyplot.show ()

1

2

30002 2

3

4

5

6

7

7

8

11

10

11

12

13

14

15

14

15

16

17

18

19

19

20

21

22

22

23

24

25

26

27

27

28

29

30

# кривая pr для модели логистической регрессии

из sklearn.DataSets Import make_classification

от Sklearn.linear_model Импорт Logisticregression

от Sklearn.model_selection Import Erain_test_split

от Sklearn.Metrics

от Sklearn.Metrics

от MATPLOTLIB Импорт Pyplot

# Generate DataSet

x, y = make_classification (n_samples = 10000, n_features=2, n_redundant=0,

n_clusters_per_class=1, weights=[0,99], flip_y=0, random_state=4)

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X , у, размер_теста=0.5, random_state=2, stratify=y)

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать вероятности

yhat = model.predict_proba (testX)

# сохранить вероятности только для положительного исхода кривая для модели

no_skill = len(testy[testy==1]) / len(testy)

pyplot.plot([0,1], [no_skill,no_skill], linestyle='--', label='No Skill')

pyplot.plot(отзыв, точность, маркер='.', label='Логистика')

# метки оси

pyplot.xlabel('Recall')

pyplot.ylabel('Precision')

pyplot.legend()

# показать график

pyplot.show()

При выполнении примера вычисляются точность и полнота для каждого порогового значения, а также создается график точности и полноты, показывающий, что модель обладает некоторыми навыками в диапазоне пороговых значений в этом наборе данных.

Если бы нам потребовались четкие метки классов от этой модели, какой порог дал бы наилучший результат?

Линейный график кривой Precision-Recall для модели логистической регрессии для несбалансированной классификации

Если нас интересует пороговое значение, обеспечивающее наилучший баланс точности и полноты, то это то же самое, что оптимизация F-меры, которая суммирует среднее гармоническое обеих мер.

  • F-мера = (2 * точность * полнота) / (точность + полнота)

Как и в предыдущем разделе, наивным подходом к нахождению оптимального порога было бы вычисление F-меры для каждого порога.Мы можем добиться того же эффекта, напрямую преобразовав меры точности и полноты в F-меру; например:

... # преобразовать в f-счет fscore = (2 * точность * полнота) / (точность + полнота) # найти индекс наибольшего значения f ix = argmax(fscore) print('Лучший порог=%f, F-Score=%.3f' % (thresholds[ix], fscore[ix]))

...

# преобразовать в f-показатель

fscore = (2 * точность * полнота) / (точность + полнота)

# найти индекс наибольшего f-показателя

ix = argmax(fscore)

print('Лучший порог=%f, F-Score=%.3f' % (пороги[ix], fscore[ix]))

Затем мы можем нанести точку на кривую точности-отзыва.

Полный пример приведен ниже.

# оптимальный порог для кривой точного отзыва с моделью логистической регрессии из numpy импортировать argmax из sklearn.datasets импортировать make_classification из sklearn.linear_model импортировать LogisticRegression из sklearn.model_selection импорта train_test_split из склеарна.импорт метрик precision_recall_curve из matplotlib импортировать pyplot # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0,99], flip_y=0, random_state=4) # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split (X, y, test_size = 0,5, random_state = 2, stratify = y) # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать вероятности йхат = модель.предсказать_вероятность (тестX) # сохраняем вероятности только для положительного исхода yхат = yхат[:, 1] # рассчитываем кривые ROC точность, отзыв, пороги = точность_отзыва_кривая (тести, да) # преобразовать в f-счет fscore = (2 * точность * полнота) / (точность + полнота) # найти индекс наибольшего значения f ix = argmax(fscore) print('Лучший порог=%f, F-Score=%.3f' % (thresholds[ix], fscore[ix])) # построить кривую ROC для модели no_skill = len (тести [тести == 1]) / len (тести) сюжет.plot([0,1], [no_skill,no_skill], linestyle='--', label='Нет навыков') pyplot.plot (отзыв, точность, маркер = '.', метка = 'Логистика') pyplot.scatter (отзыв [ix], точность [ix], маркер = 'o', цвет = 'черный', метка = 'Лучший') # метки осей pyplot.xlabel('Отзыв') pyplot.ylabel('Точность') pyplot.легенда() # показать сюжет pyplot.show ()

1

2

30002 2

3

4

5

6

7

7

8

11

10

11

12

13

14

15

14

15

16

17

18

19

20

20

21

22

23

240002 23

25

26

27

28

29

28

29

30

31

32

33

34

35

36

37

# оптимальный порог для кривой точного отзыва с моделью логистической регрессии

from numpy import argmax

from sklearn.DataSets Import make_classification

от Sklearn.linear_model Импорт Logisticregression

от Sklearn.model_selection Import Erain_test_split

от Sklearn.Metrics

от Sklearn.Metrics

от MATPLOTLIB Импорт Pyplot

# Generate DataSet

x, y = make_classification (n_samples = 10000, n_features=2, n_redundant=0,

n_clusters_per_class=1, weights=[0,99], flip_y=0, random_state=4)

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X , у, размер_теста=0.5, random_state=2, stratify=y)

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать вероятности

yhat = model.predict_proba (testX)

# сохранить вероятности только для положительного исхода

fscore = (2 * точность * полнота) / (точность + полнота)

# найти индекс наибольшего значения f

ix = argmax(fscore)

print('Best Threshold=%f, F-Score знак равно3f' % (thresholds[ix], fscore[ix]))

# построить кривую ROC для модели

no_skill = len(testy[testy==1]) / len(testy)

pyplot.plot( [0,1], [no_skill,no_skill], linestyle='--', label='No Skill')

pyplot.plot(отзыв, точность, маркер='.', label='Логистика')

pyplot.scatter(recall[ix], точность[ix], marker='o', color='black', label='Best')

# метки осей

pyplot.xlabel('Recall')

pyplot .ylabel('Точность')

pyplot.legend()

# показать график

pyplot.show()

При выполнении примера сначала вычисляется F-мера для каждого порога, затем определяется оценка и порог с наибольшим значением.

Примечание : Ваши результаты могут отличаться из-за стохастического характера алгоритма или процедуры оценки или различий в численной точности. Попробуйте запустить пример несколько раз и сравните средний результат.

В этом случае мы видим, что лучшая F-мера равна 0.756 достигается с порогом около 0,25.

Лучший порог = 0,256036, F-показатель = 0,756

Лучший порог = 0,256036, F-показатель = 0,756

Кривая точности-отзыва построена, и на этот раз порог с оптимальной F-мерой отмечен черной точкой большего размера.

Затем этот порог можно использовать при прогнозировании вероятностей в будущем, которые должны быть преобразованы из вероятностей в четкие метки классов.

График кривой Precision-Recall для модели логистической регрессии с оптимальным порогом

Оптимальная настройка порога

Иногда у нас просто есть модель, и мы хотим напрямую узнать лучший порог.

В этом случае мы можем определить набор порогов, а затем оценить предсказанные вероятности для каждого из них, чтобы найти и выбрать оптимальный порог.

Мы можем продемонстрировать это на рабочем примере.

Во-первых, мы можем подогнать модель логистической регрессии к нашей проблеме синтетической классификации, затем предсказать метки классов и оценить их с помощью F-меры, которая является гармоническим средним значением точности и полноты.

Будет использоваться пороговое значение по умолчанию 0,5 при интерпретации вероятностей, предсказанных моделью логистической регрессии.

Полный пример приведен ниже.

# логистическая регрессия для несбалансированной классификации из sklearn.datasets импортировать make_classification из sklearn.linear_model импортировать LogisticRegression из sklearn.model_selection импорта train_test_split из sklearn.metrics импортировать f1_score # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0.99], flip_y=0, random_state=4) # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split (X, y, test_size = 0,5, random_state = 2, stratify = y) # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать метки yhat = model.predict (testX) # оценить модель счет = f1_score (вспыльчивый, yhat) print('F-оценка: %.5f' % оценка)

1

2

30002 2

3

4

5

6

7

7

8

11

10

11

12

13

14

15

14

15

16

17

18

# логистическая регрессия для несбалансированной классификации

от sklearn.DataSets Import make_classification

из Sklearn.linear_model Импорт Logisticregression

от Sklearn.model_selection Import reev_test_split

от Sklearn.Metrics Импорт F1_SCORE

# Generate DataSet

x, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0,

n_clusters_per_class=1, weights=[0.99], flip_y=0, random_state=4)

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X, y, test_size=0 .5, random_state=2, stratify=y)

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать метки

yhat = model.predict (testX)

# оценить модель

score = f1_score(testy, yhat)

print('F-Score: %.5f' % score)

Примечание : Ваши результаты могут отличаться из-за стохастического характера алгоритма или процедуры оценки или различий в численной точности.Попробуйте запустить пример несколько раз и сравните средний результат.

Запустив пример, мы видим, что модель достигла F-меры около 0,70 на тестовом наборе данных.

Теперь мы можем использовать ту же модель в том же наборе данных, и вместо прямого прогнозирования меток классов мы можем прогнозировать вероятности.

... # прогнозировать вероятности yhat = model.predict_proba(testX)

...

# прогнозировать вероятности

yhat = model.predict_proba(testX)

Нам нужны только вероятности для положительного класса.

... # сохраняем вероятности только для положительного исхода probs = yhat[:, 1]

...

# оставить вероятности только для положительного исхода

probs = yhat[:, 1]

Затем мы можем определить набор пороговых значений для оценки вероятностей.В этом случае мы будем тестировать все пороги между 0,0 и 1,0 с размером шага 0,001, то есть мы будем тестировать 0,0, 0,001, 0,002, 0,003 и так далее до 0,999.

... # определить пороги пороги = диапазон (0, 1, 0,001)

...

# определить пороги

пороги = arange(0, 1, 0.001)

Далее нам нужен способ использования единого порога для интерпретации предсказанных вероятностей.

Этого можно достичь путем отображения всех значений, равных или превышающих пороговое значение, в 1, а всех значений, меньших порогового значения, в 0. Для этого мы определим функцию to_labels() , которая будет принимать вероятности и пороговое значение как аргумент и возвращает массив целых чисел в {0, 1}.

# применить порог к положительным вероятностям для создания меток def to_labels (pos_probs, порог): возврат (pos_probs >= порог).astype('int')

# применить порог к положительным вероятностям для создания меток

def to_labels(pos_probs, threshold):

return (pos_probs >= threshold).astype('целое')

Затем мы можем вызвать эту функцию для каждого порога и оценить полученные метки с помощью f1_score() .

Мы можем сделать это в одной строке следующим образом:

... # оценить каждый порог scores = [f1_score(testy, to_labels(probs, t)) для t в порогах]

...

# оценка каждого порога

scores = [f1_score(testy, to_labels(probs, t)) для t в порогах]

Теперь у нас есть массив оценок, оценивающих каждое пороговое значение в нашем массиве пороговых значений.

Все, что нам нужно сделать сейчас, это найти индекс массива с наибольшим значением (лучшая F-мера), и мы получим оптимальный порог и его оценку.

... # получить лучший порог ix = argmax(баллы) print('Порог=%.3f, F-Score=%.5f' % (пороги[ix], баллы[ix]))

...

# получить лучший порог

ix = argmax(scores)

print('Threshold=%.3f, F-Score=%.5f' % (пороги[ix], баллы[ix]))

Связывая все это вместе, полный пример настройки порогового значения для модели логистической регрессии в наборе данных синтетической несбалансированной классификации приведен ниже.

# пороги поиска для несбалансированной классификации из numpy импорта из numpy импортировать argmax из sklearn.datasets импортировать make_classification из sklearn.linear_model импортировать LogisticRegression из склеарна.model_selection импорт train_test_split из sklearn.metrics импортировать f1_score # применить порог к положительным вероятностям для создания меток def to_labels (pos_probs, порог): возврат (pos_probs >= порог).astype('int') # сгенерировать набор данных X, y = make_classification (n_samples = 10000, n_features = 2, n_redundant = 0, n_clusters_per_class=1, веса=[0,99], flip_y=0, random_state=4) # разделить на обучающие/тестовые наборы trainX, testX, trainy, testy = train_test_split(X, y, test_size=0.5, random_state=2, стратификация=y) # подходит к модели модель = Логистическая регрессия (решатель = 'lbfgs') model.fit(поездX, трэйни) # прогнозировать вероятности yhat = model.predict_proba(testX) # сохраняем вероятности только для положительного исхода probs = yhat[:, 1] # определить пороги пороги = диапазон (0, 1, 0,001) # оценить каждый порог scores = [f1_score(testy, to_labels(probs, t)) для t в порогах] # получить лучший порог ix = argmax(баллы) print('Порог=%.3f, F-Score=%.5f' % (пороги[ix], баллы[ix]))

1

2

30002 2

3

4

5

6

7

7

8

11

10

11

12

13

14

15

14

15

16

17

18

19

20

20

21

21

22

23

240002 23

25

26

270002 26

27

28

29

30

30

31

# пороги поиска для несбалансированной классификации

from numpy import arange

from numpy import argmax

from sklearn.DataSets Import make_classification

из Sklearn.linear_model Импорт Logisticregression

от Sklearn.model_selection Import Erain_test_split

из Sklearn.Metrics Импорт F1_SCORE

# Применять порог до положительных вероятностей для создания этикеток

def to_labels (pos_probs, порог):

return (pos_probs >= threshold).astype('int')

 

# сгенерировать набор данных

X, y = make_classification(n_samples=10000, n_features=2, n_redundant=0,

_persclassclusters, _per_classclusters,_n_weight =[0.99], flip_y=0, random_state=4)

# разделить на обучающие/тестовые наборы

trainX, testX, trainy, testy = train_test_split(X, y, test_size=0.5, random_state=2, stratify=y)

# подобрать модель

model = LogisticRegression(solver='lbfgs')

model.fit(trainX, trainy)

# предсказать вероятности

yhat = model.predict_proba(testX)

# сохранить вероятности для положительного исхода only

probs = yhat[:, 1]

# определить пороги

пороги = arange(0, 1, 0.001)

# оценить каждый порог

scores = [f1_score(testy, to_labels(probs, t)) for t in thresholds]

# получить лучший порог

ix = argmax(scores)

print('Threshold= %.3f, F-Score=%.5f' % (пороги[ix], баллы[ix]))

При выполнении примера оптимальное пороговое значение равно 0,251 (по сравнению со значением по умолчанию 0,5), что обеспечивает F-меру около 0,75 (по сравнению с 0,70).

Примечание : Ваши результаты могут отличаться из-за стохастического характера алгоритма или процедуры оценки или различий в численной точности.Попробуйте запустить пример несколько раз и сравните средний результат.

Вы можете использовать этот пример в качестве шаблона при настройке порога для своей проблемы, что позволит вам заменить собственную модель, метрику и даже разрешение порогов, которые вы хотите оценить.

Порог = 0,251, F-показатель = 0,75556

Порог = 0,251, F-показатель = 0,75556

Дополнительное чтение

В этом разделе содержится больше ресурсов по теме, если вы хотите углубиться.

Бумаги

Книги

API

Артикул

Резюме

В этом руководстве вы узнали, как настроить оптимальный порог при преобразовании вероятностей в четкие метки классов для несбалансированной классификации.

В частности, вы узнали:

  • Пороговое значение по умолчанию для интерпретации вероятностей в метках классов равно 0,5, и настройка этого гиперпараметра называется изменением порога.
  • Как рассчитать оптимальное пороговое значение для кривой ROC и кривой Precision-Recall напрямую.
  • Как вручную выполнить поиск пороговых значений для выбранной модели и метрики оценки модели.

Есть вопросы?
Задавайте свои вопросы в комментариях ниже, и я постараюсь ответить.

Разберитесь с несбалансированной классификацией!

Разработка несбалансированных моделей обучения за считанные минуты

... всего несколькими строками кода Python

Узнайте, как в моей новой электронной книге:
Несбалансированная классификация с Python

Это обеспечивает учебных пособий по самообучению и в конце концов и ,
Метрики производительности , МЕТОДЫ UNDAMPLING , Smote , Пороговое движение , Калибровка вероятности , .
и многое другое...

Используйте несбалансированные методы классификации в своих проектах машинного обучения

Посмотреть, что внутри

5 способов интегрировать пороговые концепции в ваш класс

Попросить студентов перейти от запоминания содержания к мышлению в рамках дисциплины — главная цель университетского образования. В мире очень доступной информации просьба к учащимся потрудиться над содержанием, чтобы добиться глубокого понимания, может звучать так же, как просьба выучить сложный иностранный язык.Что происходит, когда вы не можете записать то, что выучили в курсе, на серию карточек или загрузить в память Alexa? Студенты могут быть поставлены в тупик перспективой того, что их попросят думать по дисциплине.

Исследования в области образования признают, что каждая дисциплина имеет пороговые понятия, которые «похожи на портал, открывающий новый и ранее недоступный способ мышления о чем-либо» (Meyer and Land 2003). Активно обучая пороговым понятиям и целенаправленно интегрируя пороговые понятия в структуру учебных программ, мы можем улучшить обучение учащихся на наших курсах (Fouberg, 2019).Пороговые понятия преобразующие, вероятно, необратимые, интегративные, ограниченные и вызывающие беспокойство. Они преобразуют, потому что меняют перспективу; необратимы, потому что однажды «увидев» их нельзя «не увидеть»; интегративные, потому что они помогают внести ясность в другие понятия; ограничены, потому что различают способы видения; и хлопотно, потому что истинное понимание концепции требует интеллектуальной борьбы или упорства.

Пороговые концепции — это не то же самое, что и основные концепции дисциплины, потому что они изменяют то, как учащиеся видят мир и как они понимают дисциплину.«Основная концепция — это «строительный блок», который способствует пониманию предмета; его нужно понять, но это не обязательно ведет к качественно иному взгляду на предмет» (Meyer and Land 2003).

1. Выделяйте пороговые концепции и внедряйте их в свой курс в течение семестра. Исследователи в каждой дисциплине работали над определением пороговых понятий. В одних дисциплинах их несколько, в других - десятки. При написании учебного плана выберите 5 или 10 пороговых понятий, которые вы хотите, чтобы ваши студенты применяли в течение семестра.После того, как вы представите концепцию и попросите студентов применить ее, вернитесь к ней на последующих этапах семестра. Попросите студентов применить эту концепцию еще раз. В процессе применения концепции более одного раза и в разные моменты курса учащиеся обнаружат пробелы в своем понимании, и в этот подходящий для обучения момент вы сможете помочь им снова работать над пониманием.

2. Попросите учащихся подумать над тем, какие понятия служили для них пороговыми понятиями. В конце семестра дайте учащимся контрольное эссе.Попросите их прочитать «Кузя 2006», поразмышлять над своей работой в течение семестра и выбрать одно понятие, которое служило для них пороговым понятием в течение семестра. Я прошу студентов написать двухстраничное концептуальное эссе, а затем скопировать и вставить содержание своего эссе в облако слов на wordle.net/. Затем я прошу учащихся проанализировать свои облака слов на наличие других географических понятий. Затем они выбирают как минимум два географических понятия в своем облаке слов и объясняют, как эти понятия связаны с выбранным пороговым понятием и друг с другом.Студенты получают больше возможностей как ученики, когда они размышляют о своем собственном мышлении с помощью задания на метапознание.

3. Расскажите своим ученикам о том, как важно быть неуверенным. Пороговые понятия сложны – их нелегко понять глубоко. При изучении концепции порога учащиеся часто делают два шага вперед и один шаг назад. Понимание — это повторяющийся процесс. Учащиеся пытаются использовать концепцию, терпят неудачу, пробуют снова и на основе этого строят свои глубокие знания.Когда вы преподаете особенно сложную пороговую концепцию, скажите учащимся в классе, что эта концепция вызывает затруднения — что они будут думать, что понимают ее, но поймут, что это не так, и тогда им придется повторить попытку. Осознание того, что профессор знает, что эта концепция неприятна, может дать студентам утешение, зная, что они не единственные, кто пытается понять.

(Мейер и Лэнд, 2006 г.) объяснили, что для преодоления порога учащимся может потребоваться провести время в лиминальном пространстве.Лиминальное пространство — это промежуточное пространство, пространство знания и незнания. Рост происходит в лиминальном пространстве. Именно там учащиеся могут экспериментировать с применением и соединением понятий, с видением или невидением взаимосвязей и с задаванием проницательных вопросов. Факультет должен поощрять студентов входить в лиминальное пространство и участвовать в тяжелой работе по развитию глубины своих знаний. Как объясняет Кузен, «как только учащийся входит в это лиминальное пространство, он вовлекается в проект мастерства, в отличие от учащегося, который остается в состоянии предлиминальности, в котором понимание в лучшем случае расплывчато» (Мейер и Лэнд, 2006)

4 .Напишите задания, которые объединяют пороговые концепции и закрепляют знания, используя таксономию Блума. Вопрос для эссе или подсказка для обсуждения должен быть аутентичным вопросом, который поддерживает мышление от основания таксономии Блума (запоминание) до середины (понимание и применение), а затем к вершине (анализ, оценка и создание). Начните с того, что попросите учащихся определить пороговые понятия, которые вы хотите, чтобы они усвоили. Затем попросите учащегося применить пороговое понятие, которое они только что определили, к конкретному случаю или гипотетике в своем учебнике или конспектах.Затем предложите учащемуся другой, но связанный пример или дополнительную информацию о примере из учебника или класса. Возложите на ученика ответственность за самостоятельное усвоение этого материала. Наконец, попросите своих учеников вернуться к пороговым понятиям и применить их к новому материалу гипотетическим или интегрирующим образом.

В географии, например, вы можете попросить учащихся определить пороговые понятия «идентичность» и «место», а затем применить эти два понятия к конкретному исследованию колонизации.Затем вы можете поручить учащимся прочитать отрывок из книги «Деколонизация разума» автора Нгуги ва Тионго. Я назначаю страницы, которые объясняют, как британская система образования вознаграждала только тех, кто говорил по-английски в Кении, и наказывала тех, кто плохо говорил по-английски. Наконец, я попросил студентов выдвинуть гипотезу о том, как язык, на котором люди могут говорить, меняет их идентичность (то, как они воспринимают себя), их отношения с окружающими и местом, где они живут, используя примеры из чтения.Я также прошу их представить себе, какое влияние изучение кенийской истории с британской точки зрения оказывает на кенийцев.

Каждый семестр несколько студентов, не являющихся коренными жителями, проводят параллели между британской образовательной политикой в ​​Кении и образовательной политикой США в отношении коренных американцев. В этот момент я знаю, что студенты думают географически. Они берут концепции, занимающие центральное место в нашей дисциплине, идентичности и месте, и применяют их в другом контексте. Они думают не только об определениях понятий, но и о том, как они связаны, как они проявляются в разных местах при сходных обстоятельствах и почему они важны.

5. Используйте формативное оценивание, чтобы заставить учащихся задуматься. Чтобы вовлечь учащихся в лиминальное пространство, давайте частые короткие задания. Сосредоточьте обратную связь на усилиях и прогрессе учащегося в понимании концепции, а не на письменных соглашениях и грамматике. Давая отзыв только об идеях учащегося, а не о его написании, вы обращаете внимание на то, на каком этапе мыслительного процесса находится учащийся и как он может развиваться. Объясните своим ученикам разницу между формативным и суммативным оцениванием и сделайте так, чтобы было понятно, когда вы будете использовать каждый из них.Суммарная оценка итоговых работ имеет смысл, но если вы хотите, чтобы учащиеся ввели и провели время с концепцией в лиминальном пространстве, используйте формирующую оценку в эти моменты в семестре.


Д-р Эрин Х. Фуберг — профессор географии и директор программы с отличием Северного государственного университета в Абердине, Южная Дакота. Журнал по географии в высшем образовании отметил исследования доктора Фуберг в области географии, присудив ей двухгодичную премию за преподавание и обучение в 2015 году.В 2017 году избрана в совет директоров Национального совета по географическому образованию. Она является автором многочисленных текстов, в том числе: Understanding World Regional Geography, 2nd Edition and Human Geography: People, Place, and Culture, 12th Edition.

.
Своими руками

Добавить комментарий

Ваш адрес email не будет опубликован.