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

Основная информация о наборе данных:

Аннотация: Данные производственного процесса полупроводников

  • Характеристики набора данных: многомерный
  • Количество экземпляров: 1567
  • Район: Компьютер
  • Характеристики атрибутов: реальные
  • Количество атрибутов: 591
  • Дата передачи: 2008–11–19 гг.
  • Связанные задачи: классификация, выявление причин
  • Отсутствующие значения? да

Приступим

Скачать данные можно здесь.

Давайте импортируем данные в среду R, используя read.csv().

Теперь давайте посмотрим на данные.

Набор данных содержит 592 функции, т. е. измерения датчиков/процессов и 1567 наблюдений. В этих данных отсутствуют некоторые значения. Отсутствующие данные можно визуализировать с помощью функции missmap() в пакете «Amelia».

Теперь давайте посмотрим на случайный столбец с пропущенным значением.

Столбец X7 имеет 7 пропущенных значений. Посмотрев на сводку значений в этом столбце, я решил заменить отсутствующие значения средним значением датчика/измерения процесса X7. Я использовал функцию «na.aggregate» из пакета «zoo», чтобы заменить отсутствующее значение средним значением соответствующего столбца.

Теперь давайте разделим данные на набор данных для обучения и тестирования. Я всегда использую для этого библиотеку «caTools».

Теперь давайте смоделируем классификатор случайного леса для прогнозирования теста урожайности с использованием библиотеки randomForest. Для этой модели мы будем рассматривать все 590 измерений датчика/процесса как функцию. После обучения модели мы предскажем тест доходности на тестовых данных, используя функцию предсказания (). Я также создал матрицу путаницы, используя пакет «caret», чтобы посмотреть на точность модели.

Теперь давайте посмотрим на матрицу путаницы. Мы также можем визуализировать матрицу путаницы в виде четырехкратного графика, используя fourfoldplot().

Из матрицы путаницы мы видим, что обученная нами модель достаточно точно (93,31%) предсказывает тест доходности. Однако эта модель не способна предсказать класс 1 из-за всего шума и неважных данных.

Выбор признаков с помощью алгоритма Боруты

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

  1. Методы фильтрации
  2. Методы оболочки
  3. Встроенные методы

Мы собираемся использовать методы-оболочки алгоритма Борута, которые легко доступны в R через пакет под названием «Борута». Давайте применим алгоритм Боруты к нашему набору данных.

Теперь давайте посмотрим на сводку boruta.out.

Итак, алгоритм Боруты определил 18 важных признаков, 2 предварительных признака и 570 неважных признаков. Теперь давайте смоделируем классификатор случайного леса, используя только важную функцию. Мы можем получить формулу для модели случайного леса с помощью getConfirmedFormula().

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

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