Скачиваний:
1
Добавлен:
07.06.2026
Размер:
1.9 Mб
Скачать

X_train — это признаки (например, Средний_балл).

y_train — это целевая переменная (например, Стипендия).

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

Создание файла для сохранения модели model_file = "scholarship_model.pkl" — задаем имя файла, в который будет сохранена модель. В данном случае это scholarship_model.pkl. Расширение .pkl обычно используется для файлов, сохраненных с помощью библиотеки pickle.

Открытие файла для записи with open(model_file, "wb") as f: — открываем файл в режиме записи ("wb" означает "write binary" — запись в бинарном режиме). Контекстный менеджер with гарантирует, что файл будет корректно закрыт после завершения операции.

Сохранение модели pickle.dump(model, f) — сериализует (сохраняет) объект модели (model) в файл (f). Библиотека pickle преобразует объект Python в поток байтов, который можно сохранить на диск (Рисунок 6).

Рисунок 6 – Разделение данных на обучающую и тестовую выборки и сохранение обученной модели в файл

with open(model_file, "rb") as f: — открываем файл в режиме чтения ("rb" означает "read binary" — чтение в бинарном режиме).

model = pickle.load(f) — загружаем модель из файла. Библиотека pickle преобразует поток байтов обратно в объект Python.

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

input_data = pd.DataFrame([[student_data]], columns=['Средний_балл']) — создаем DataFrame с данными студента, например student_data = 4.3

Модель ожидает данные в том же формате, что и при обучении, поэтому важно указать правильные имена столбцов (Рисунок 7).

Рисунок 7 – Функция предсказания и функция вывода результата

Результат работы программы (Рисунок 8).

Рисунок 8 – Результат работы модели определения наличия стипендии

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

Практическая часть III

Загрузка данных из CSV-файла

Для построения обучаемой модели были использованы данные из файла students_data.csv, содержащего сведения о 500 студентах. В таблице представлены следующие признаки: средний балл, участие в научной деятельности, участие в кружках, наличие собственных проектов и факт получения стипендии (Рисунок 9).

Рисунок 9 – Загрузка данных о студентах из CSV-файла

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

Рисунок 10 – Формирование признаков и целевой переменной

Для проверки качества модели данные были разделены на обучающую и тестовую выборки. 80% записей использовались для обучения, а 20% — для тестирования модели (Рисунок 11).

Рисунок 11 – Разделение данных на обучающую и тестовую выборки

Для решения задачи классификации была использована модель дерева решений DecisionTreeClassifier. После инициализации модель была обучена на обучающей выборке. После обучения была вычислена точность модели на тестовой выборке (Рисунок 12).

Рисунок 12 – Обучение модели дерева решений

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

Далее была реализована функция output(), позволяющая проверить модель на новых тестовых данных (Рисунок 13).

Рисунок 13 – Результаты прогнозирования наличия стипендии для новых студентов

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

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

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