МИНИСТЕРСТВО ВЫСШЕГО ОБРАЗОВАНИЯ НАУКИ И ИННОВАЦИЙ
РЕСПУБЛИКИ УЗБЕКИСТАН
САМАРКАНДСКИЙ ФИЛИАЛ ТАШКЕНТСКОГО УНИВЕСИТЕТА
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ ИМЕНИ МУХАММАДА АЛ-
ХОРАЗМИ
Факультет «Компьютерный инжиниринг»
Кафедра «Компьютерные системы»
САМОСТОЯТЕЛЬНАЯ РАБОТА №2
по «Интеллектуального анализа данных»
Тема: Классификатор, основанный на правилах.
Выпольнил: KI-S22-03, Фатихов Б.
Балл______________Саттаров М.А.
Самарканд – 2025
Введение
Объяснение важности классификаторов, основанных на правилах, в
машинном обучении.
Обоснование выбора темы и цели работы — исследование
особенностей применения классификаторов, основанных на правилах.
Основная часть
Принципы классификаторов, основанных на правилах
o Создание правил на основе статистики или экспертных данных.
o Применение правил для классификации данных.
o Оптимизация правил для повышения точности.
o Пример простого правила.
Особенности классификаторов, основанных на правилах
o Прозрачность и интерпретируемость модели.
o Модифицируемость: возможность вручную добавлять и изменять
правила.
o Ограничения: сложности при работе с большими и
высокоразмерными данными.
Таблица характеристик классификаторов, основанных на
правилах
o Прозрачность, гибкость, обучение и ограничения
классификаторов.
Диаграмма структуры работы классификатора
o Построение блок-схемы с использованием библиотеки
graphviz.
o Визуализация процесса классификации с помощью правил.
Реализация простого классификатора, основанного на правилах
o Пример Python-кода для классификации с использованием
правил.
o Создание простого классификатора с условиями на основе
данных о температуре, влажности и скорости ветра.
Заключение
Обсуждение важности классификаторов, основанных на правилах, их
преимуществ и ограничений.
Упоминание о возможности сочетания правил с методами машинного
обучения в сложных задачах.
Список литературы
Упоминание ключевых источников, таких как книги по машинному
обучению и искусственному интеллекту.
Введение
Классификаторы, основанные на правилах, являются важным направлением
в машинном обучении. Они используют заранее определённые или
автоматически извлечённые правила для классификации данных. Такой
подход хорошо подходит для задач, где необходимо обеспечить
интерпретируемость и прозрачность модели.
Цель данной работы — изучить особенности классификаторов, основанных
на правилах, и их применение в задачах анализа данных.
Основная часть
1. Принципы классификаторов, основанных на правилах
Классификаторы, основанные на правилах, работают с наборами условий,
которые определяют принадлежность объекта к определённому классу.
Основные этапы:
1. Создание правил: на основе статистики или экспертных данных.
2. Применение правил: последовательная проверка условий для
определения класса.
3. Оптимизация правил: корректировка условий для повышения
точности.
Пример правила:
Если температура > 30°C и влажность > 70%, то класс = "Жарко".
2. Особенности классификаторов, основанных на правилах
Прозрачность: каждый шаг принятия решения легко
интерпретируется.
Модифицируемость: правила можно добавлять или изменять без
переобучения модели.
Ограничения: плохо работают с большими и высокоразмерными
данными.
3. Таблица характеристик
Характеристика Описание
Прозрачность Простая интерпретация решений модели
Гибкость Возможность изменения правил вручную
Обучение Правила извлекаются из данных или задаются экспертами
Ограничения Низкая точность при сложных задачах
4. Диаграмма структуры работы классификатора
Код для построения блок-схемы работы:
python
Copy code
from graphviz import Digraph
# Создание графа
dot = Digraph(comment='Rule-Based Classifier')
dot.node('A', 'Входные данные')
dot.node('B', 'Проверка правила 1')
dot.node('C', 'Проверка правила 2')
dot.node('D', 'Класс A')
dot.node('E', 'Класс B')
# Добавление связей
dot.edges(['AB', 'BC'])
dot.edge('B', 'D', label='Да')
dot.edge('B', 'C', label='Нет')
dot.edge('C', 'E', label='Да')
dot.edge('C', 'D', label='Нет')
# Отображение графа
dot.render('rule_based_classifier', format='png', cleanup=True)
import pandas as pd
# Пример данных
data = {
'temperature': [32, 25, 28, 40, 15],
'humidity': [75, 60, 50, 80, 45],
'wind_speed': [10, 20, 5, 5, 30],
'class': ['Жарко', 'Ветрено', 'Норма', 'Жарко', 'Норма']
}
# Создание DataFrame
df = pd.DataFrame(data)
# Извлечение правил
rules = []
for _, row in df.iterrows():
rule = f"Если температура > {row['temperature'] - 5} и влажность >
{row['humidity'] - 10}, то класс = {row['class']}"
rules.append(rule)
# Вывод правил
print("Сгенерированные правила:")
for i, rule in enumerate(rules, 1):
print(f"{i}. {rule}")
5. Реализация простого классификатора, основанного на правилах
python
Copy code
def rule_based_classifier(data):
"""
Простая реализация классификатора на правилах.
data: словарь с характеристиками объекта.
"""
if data['temperature'] > 30 and data['humidity'] > 70:
return 'Жарко'
elif data['temperature'] <= 30 and data['wind_speed'] > 15:
return 'Ветрено'
else:
return 'Норма'
# Пример данных
samples = [
{'temperature': 32, 'humidity': 75, 'wind_speed': 10},
{'temperature': 25, 'humidity': 60, 'wind_speed': 20},
{'temperature': 28, 'humidity': 50, 'wind_speed': 5}
]
# Классификация
for sample in samples:
result = rule_based_classifier(sample)
print(f"Данные: {sample} -> Класс: {result}")
Заключение
Классификаторы, основанные на правилах, являются важным инструментом
анализа данных благодаря своей прозрачности и простоте. Однако их
эффективность ограничена сложностью данных, и в современных задачах
часто используются гибридные подходы, сочетающие правила с методами
машинного обучения.
Список литературы
1. Mitchell T. Machine Learning. McGraw-Hill, 1997.
2. Tan P.-N., Steinbach M., Kumar V. Introduction to Data Mining. Pearson,
2013.
3. Файгенбаум Э., Буханан Б. Искусственный интеллект: подходы к
созданию экспертных систем. М., 1986.