- •Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
- •«Московский технический университет связи и информатики» (мтуси)
- •1 Цель работы
- •Задание
- •3 Краткая теория
- •4 Выполнение лабораторной работы
- •Описание алгоритма определения класса
- •Листинг 1. Программа для классификации объектов
- •5 Выводы
- •Контрольные вопросы
4 Выполнение лабораторной работы
Выбранная таблица «Водители» представлена на рисунке 1.
Рисунок 1 – Исходная таблица
Далее необходимо выбрать переменные, которые непосредственно будут влиять на принадлежность записи к определенному классу. В нашем случае данными значениями будут являться следующие поля:
d_experiens – водительский стаж;
d_age – возраст водителя;
d_rating – рейтинг водителя.
Диапазон выбранных ячеек является следующим:
Стаж: [0; 15]
Возраст: [18; 55]
Рейтинг: [1; 5]
Значения необходимо нормировать: стаж поделить на 1.5, из возраста вычесть 18 и поделить результат на 3.7, из рейтинга вычесть 1, умножить на 2.5.
Определим нечеткое множество значений каждой входной переменной:
Стаж: малый, средний, большой
Возраст: молодой, средний, старший
Рейтинг: низкий, средний, высокий
Для простоты используем одно нечеткое множество для каждой входной переменной. Данное множество является совокупностью Гауссовских функций принадлежности и представлена на рисунке 2.
Рисунок 2 – Нечеткое множество для входной переменной
Для нашей таблицы определим конкретную базу правил. Сначала представлена база правил в строковом формате, каждый элемент нечеткого множества обозначен цифрой. База правил изображена на рисунке 3.
Рисунок 3 – База правил
Первые три цифры обозначают элемент каждого нечеткого множества, четвертая цифра обозначает элемент выходного множества.
Таким образом, получена следующая база правил:
ПРАВИЛО №1: ЕСЛИ experience=(Малый) И age=(Молодой) И rating=(Низкий) ТОГДА class=(Новичок)
ПРАВИЛО №2: ЕСЛИ experience=(Малый) И age=(Молодой) И rating=(Средний) ТОГДА class=(Опытный)
ПРАВИЛО №3: ЕСЛИ experience=(Малый) И age=(Молодой) И rating=(Высокий) ТОГДА class=(Опытный)
ПРАВИЛО №4: ЕСЛИ experience=(Малый) И age=(Средний) И rating=(Низкий) ТОГДА class=(Новичок)
ПРАВИЛО №5: ЕСЛИ experience=(Малый) И age=(Средний) И rating=(Средний) ТОГДА class=(Опытный)
ПРАВИЛО №6: ЕСЛИ experience=(Малый) И age=(Средний) И rating=(Высокий) ТОГДА class=(Профессионал)
ПРАВИЛО №7: ЕСЛИ experience=(Малый) И age=(Старший) И rating=(Низкий) ТОГДА class=(Новичок)
ПРАВИЛО №8: ЕСЛИ experience=(Малый) И age=(Старший) И rating=(Средний) ТОГДА class=(Опытный)
ПРАВИЛО №9: ЕСЛИ experience=(Малый) И age=(Старший) И rating=(Высокий) ТОГДА class=(Опытный)
ПРАВИЛО №10: ЕСЛИ experience=(Средний) И age=(Молодой) И rating=(Низкий) ТОГДА class=(Опытный)
ПРАВИЛО №11: ЕСЛИ experience=(Средний) И age=(Молодой) И rating=(Средний) ТОГДА class=(Опытный)
ПРАВИЛО №12: ЕСЛИ experience=(Средний) И age=(Молодой) И rating=(Высокий) ТОГДА class=(Профессионал)
ПРАВИЛО №13: ЕСЛИ experience=(Средний) И age=(Средний) И rating=(Низкий) ТОГДА class=(Опытный)
ПРАВИЛО №14: ЕСЛИ experience=(Средний) И age=(Средний) И rating=(Средний) ТОГДА class=(Профессионал)
ПРАВИЛО №15: ЕСЛИ experience=(Средний) И age=(Средний) И rating=(Высокий) ТОГДА class=(Профессионал)
ПРАВИЛО №16: ЕСЛИ experience=(Средний) И age=(Старший) И rating=(Низкий) ТОГДА class=(Опытный)
ПРАВИЛО №17: ЕСЛИ experience=(Средний) И age=(Старший) И rating=(Средний) ТОГДА class=(Профессионал)
ПРАВИЛО №18: ЕСЛИ experience=(Средний) И age=(Старший) И rating=(Высокий) ТОГДА class=(Эксперт)
ПРАВИЛО №19: ЕСЛИ experience=(Большой) И age=(Молодой) И rating=(Низкий) ТОГДА class=(Профессионал)
ПРАВИЛО №20: ЕСЛИ experience=(Большой) И age=(Молодой) И rating=(Средний) ТОГДА class=(Профессионал)
ПРАВИЛО №21: ЕСЛИ experience=(Большой) И age=(Молодой) И rating=(Высокий) ТОГДА class=(Эксперт)
ПРАВИЛО №22: ЕСЛИ experience=(Большой) И age=(Средний) И rating=(Низкий) ТОГДА class=(Профессионал)
ПРАВИЛО №23: ЕСЛИ experience=(Большой) И age=(Средний) И rating=(Средний) ТОГДА class=(Эксперт)
ПРАВИЛО №24: ЕСЛИ experience=(Большой) И age=(Средний) И rating=(Высокий) ТОГДА class=(Эксперт)
ПРАВИЛО №25: ЕСЛИ experience=(Большой) И age=(Старший) И rating=(Низкий) ТОГДА class=(Профессионал)
ПРАВИЛО №26: ЕСЛИ experience=(Большой) И age=(Старший) И rating=(Средний) ТОГДА class=(Эксперт)
ПРАВИЛО №27: ЕСЛИ experience=(Большой) И age=(Старший) И rating=(Высокий) ТОГДА class=(Эксперт)
