Кластеризации данных в области прикладной информатики и программной инженерии на примере зарубежного опыта и зарубежных публикаций



бет9/17
Дата15.12.2022
өлшемі177,5 Kb.
#57493
1   ...   5   6   7   8   9   10   11   12   ...   17
Почему именно кластеризация?
Методы обучения без надзора, такие как кластеризация, являются естественным выбором для анализа качества программного обеспечения в отсутствие меток неисправности. Алгоритмы кластеризации могут группировать программные модули в соответствии со значениями их программных метрик. Основное предположение, лежащее в основе программной инженерии, заключается в том, что программные модули, подверженные сбоям, будут иметь схожие программные показатели и поэтому, скорее всего, образуют кластеры. Аналогично, модули, не подверженные сбоям, скорее всего, будут группироваться вместе. Когда анализ кластеризации завершен, эксперт по программной инженерии осматривает каждый кластер и помечает его как подверженный или не подверженный сбоям.
Подход кластеризации дает практические преимущества эксперту, который должен принимать решение о маркировке. Вместо того чтобы проверять и маркировать программные модули по одному, эксперт может проверить и маркировать данный кластер в целом; он или она может присвоить всем модулям в кластере одинаковый знак качества. Такая стратегия облегчает утомительную задачу маркировки, которая усложняется при большом количестве модулей. Для каждого кластера алгоритм кластеризации может предоставить репрезентативный программный модуль, который эксперт может проверить для маркировки всех модулей в этом кластере (при помощи других описательных статистических данных). Более того, когда доступны фактические метки для программных модулей, анализ кластеризации может предоставить эксперту ценную обратную связь для улучшения маркировки на основе экспертных данных в будущих выпусках данного программного проекта или других программных проектов.
Подход кластеризации также привлекателен для решения проблемы обнаружения и удаления шума при классификации качества программного обеспечения. Он может быть шагом предварительной обработки при анализе качества обучающих данных перед построением классификатора. Например, в данном кластере, если большинство модулей программного обеспечения не подвержены сбоям, а несколько модулей подвержены сбоям, эксперт может сделать обоснованную оценку того, что несколько подверженных сбоям модулей в кластере, вероятно, являются шумом и могут быть исключены из данных измерений программного обеспечения.


Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   17




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет