Защита персональных данных клиентов
В проекте необходимо защитить данные клиентов страховой компании. Планируется разработать такой метод преобразования данных, чтобы по ним было сложно восстановить персональную информацию. Требуется обосновать корректность его работы.
Нужно защитить данные, чтобы при преобразовании качество моделей машинного обучения не ухудшилось. Подбирать наилучшую модель не требуется.
Набор данных находится в файле insurance.csv.
• Признаки: пол, возраст и зарплата застрахованного, количество членов его семьи.
• Целевой признак: количество страховых выплат клиенту за последние 5 лет.
Содержание проекта
- 1 Загрузка данных
- 2 Умножение матриц
- 3 Алгоритм преобразования
- 4 Проверка алгоритма
- 5 Декодирование данных
- 6 Вывод
Шифрование данных методами линейной алгебры
В данном проекте в качестве алгоритма шифрования предлагается умножение матрицы признаков на обратимую квадратную матрицу. Приведено теоретическое обоснование данного алгоритма. В основе описанного алгоритма лежит доказанное утверждение что при Z = X @ P, прогнозы будут равны 𝑎=𝑎1
В качестве алгоритма преобразования предлагается умножение матрицы признаков на обратимую квадратную матрицу размерами по числу полей матрицы признаков. В проекте доказано, что предсказания а равны предсказаниям а1.
Запрограммируем этот алгоритм, применив матричные операции. Проверим, что качество линейной регрессии не отличается до и после преобразования. Применим метрику R2.
На практике подтверждено, что шифрование данных не повлияло на качество прогноза линейной регрессии. Для оценки применялась метрика качества R2.
В предложенных вариантах алгоритма подробно расписан метод линейной регрессии с вычислением вектора коэффициентов, и получением прогноза на основе скалярного произведения матрицы признаков с данным вектором.
Показатели r2 модели матрицы признаков и модели на зашифрованных данных совпали. Это подтверждает наше утверждение, что умножение на матрицы признаков на случайную квадратную матрицу зашифровывает данные, и не влияет на качество оценки модели машинного обучения. Также удалось успешно расшифровать матрицу признаков. Данные после расшифровки совпали с оригиналом.
Декодирование данных
Ссылка на код в моём github.