В новом выпуске «Черной археологии датамайнинга» мы немного поиграемся в шпионов. Увидим, что может узнать обычный Data Specialist на основе открытых в сети данных.
Всё началось со статьи на хабре, о том, что некий анонимный хакер делился слитыми в сеть данными агентов ФБР. Я получил эти данные, и стал смотреть, что с ними можно сделать? В данных есть только фамилия, имя, и служебные мейлы и телефон – немного информации.
Получив эти данные, я увидел, что они заканчиваются буквой J. То есть, датасет не полон. Интресено, каков его полный размер? Чтобы узнать его, надо построить статистику частоты встречаемости фамилий.
Для этого я начал искать наборы американских фамилий, и тут меня ждало открытие – в Америке можно найти открытые данные по, скажем, избирателям штата – как я понял, совершенно легально. Например, я за полчаса без проблем получаю данные всех избирателей штата Юта.
Это уже намного интереснее! Если в первом датасете у нас были лишь фамилия, имя и одна буква «отчества» (здесь я называю middle name отчеством, хотя это немного не так), то теперь мы можем найти гораздо больше информации по агенту ФБР – например, почтовый адрес, полное имя, возраст, политические предпочтения. Итак, приступим.
Для начала, оценим полноту датасета (с чего и начались мои изыскания). Строим статистику встречаемости фамилий в штате Юта, затем суммируем, и смотрим – какую долю составляют фамилии до букву J. Оказывается, у нас примерно половина всех данных, точнее 43%. Полный список агентов составил бы 50 тысяч записей. Да, если кому-то надо, вот частотное распределение американских фамилий:
Далее, найдём агентов в списке избирателей. Сначала мы попробуем найти пересечения по фамилии, имени, и первой букве отчества (это вся информация, которая у нас есть по агентам). Датасет избирателей очень большой, и этим действием мы его значительно уменьшим, чтобы он хотя бы помещался в памяти моего очень древнего компьютера.
Нахожу пересечения – и тут меня ожидает первый сюрприз. Их очень много – почти 15 тысяч из 22 тысяч по файлу агентов. Вряд ли всё ФБР живёт в одном штате, просто в Америке встречаются очень популярные фамилии, и совпадений Фамилия-Имя-Первая буква отчества слишком много. Что же, будем фильтровать дальше.
Находим фамилии, встречающиеся лишь один раз. Это редкие фамилии, и скорее всего совпадения Фамилия-Имя будет вполне достаточно, чтобы идентифицировать человека. Вряд ли нам встретится ещё одна Serine Hovhannisyan. Выполнив фильтрацию, получаем датасет из 193 уникальных записей. Есть!
С большой вероятностью, это и есть наши агенты, с полными данными – почтовый адрес, полное имя, дата рождения, политические предпочтения (у нас ведь список избирателей, и в нём есть данные о том, как голосовал этот человек, начиная с 2002 года). На всякий случай, результат публиковать не буду, вдруг у Агентства действительно длинные руки :)
Лучше подсчитаем статистику по этим данным. Например, гистограмма возраста:
Минимальный возраст: 21 год (с этого возраста можно голосовать)
Максимальный: 90 лет
Политические предпочтения. Принадлежность к партии я определял либо по заявленной принадлежности (такая информация есть в датасете, либо если человек постоянно голосует за одну из партий.
Из 193 людей 43 республиканца и 32 демократа.
Интересная информация, я думал республиканцев будет заметно больше.
Насколько правдивы эти данные? В указанной выше ссылке на reddit в комментариях есть ссылки на датасеты большинства штатов. Можно было бы также собрать информацию из соцсетей, и…. нет, спасибо. Мне совсем не хочется провести остаток жизни в посольстве Эквадора.
О, кто-то звонит в дверь — одну секунду, гляну кто там. А потом напишу про то, как сохра
Всё началось со статьи на хабре, о том, что некий анонимный хакер делился слитыми в сеть данными агентов ФБР. Я получил эти данные, и стал смотреть, что с ними можно сделать? В данных есть только фамилия, имя, и служебные мейлы и телефон – немного информации.
Получив эти данные, я увидел, что они заканчиваются буквой J. То есть, датасет не полон. Интресено, каков его полный размер? Чтобы узнать его, надо построить статистику частоты встречаемости фамилий.
Для этого я начал искать наборы американских фамилий, и тут меня ждало открытие – в Америке можно найти открытые данные по, скажем, избирателям штата – как я понял, совершенно легально. Например, я за полчаса без проблем получаю данные всех избирателей штата Юта.
Это уже намного интереснее! Если в первом датасете у нас были лишь фамилия, имя и одна буква «отчества» (здесь я называю middle name отчеством, хотя это немного не так), то теперь мы можем найти гораздо больше информации по агенту ФБР – например, почтовый адрес, полное имя, возраст, политические предпочтения. Итак, приступим.
Для начала, оценим полноту датасета (с чего и начались мои изыскания). Строим статистику встречаемости фамилий в штате Юта, затем суммируем, и смотрим – какую долю составляют фамилии до букву J. Оказывается, у нас примерно половина всех данных, точнее 43%. Полный список агентов составил бы 50 тысяч записей. Да, если кому-то надо, вот частотное распределение американских фамилий:
Заголовок спойлера
Буква | Всего записей | Частота |
A | 128934 | 0.030 |
B | 401048 | 0.093 |
C | 298668 | 0.069 |
D | 197078 | 0.046 |
E | 80467 | 0.019 |
F | 152500 | 0.035 |
G | 200349 | 0.046 |
H | 325591 | 0.075 |
I | 17765 | 0.004 |
J | 121452 | 0.028 |
K | 184007 | 0.043 |
L | 183266 | 0.042 |
M | 399768 | 0.093 |
N | 73607 | 0.017 |
O | 53166 | 0.012 |
P | 199195 | 0.046 |
Q | 5802 | 0.001 |
R | 224124 | 0.052 |
S | 456642 | 0.106 |
T | 147229 | 0.034 |
U | 10559 | 0.002 |
V | 52085 | 0.012 |
W | 272087 | 0.063 |
X | 371 | 0.000 |
Y | 28468 | 0.007 |
Z | 27642 | 0.006 |
Далее, найдём агентов в списке избирателей. Сначала мы попробуем найти пересечения по фамилии, имени, и первой букве отчества (это вся информация, которая у нас есть по агентам). Датасет избирателей очень большой, и этим действием мы его значительно уменьшим, чтобы он хотя бы помещался в памяти моего очень древнего компьютера.
Нахожу пересечения – и тут меня ожидает первый сюрприз. Их очень много – почти 15 тысяч из 22 тысяч по файлу агентов. Вряд ли всё ФБР живёт в одном штате, просто в Америке встречаются очень популярные фамилии, и совпадений Фамилия-Имя-Первая буква отчества слишком много. Что же, будем фильтровать дальше.
Находим фамилии, встречающиеся лишь один раз. Это редкие фамилии, и скорее всего совпадения Фамилия-Имя будет вполне достаточно, чтобы идентифицировать человека. Вряд ли нам встретится ещё одна Serine Hovhannisyan. Выполнив фильтрацию, получаем датасет из 193 уникальных записей. Есть!
С большой вероятностью, это и есть наши агенты, с полными данными – почтовый адрес, полное имя, дата рождения, политические предпочтения (у нас ведь список избирателей, и в нём есть данные о том, как голосовал этот человек, начиная с 2002 года). На всякий случай, результат публиковать не буду, вдруг у Агентства действительно длинные руки :)
Лучше подсчитаем статистику по этим данным. Например, гистограмма возраста:
Минимальный возраст: 21 год (с этого возраста можно голосовать)
Максимальный: 90 лет
Политические предпочтения. Принадлежность к партии я определял либо по заявленной принадлежности (такая информация есть в датасете, либо если человек постоянно голосует за одну из партий.
Из 193 людей 43 республиканца и 32 демократа.
Интересная информация, я думал республиканцев будет заметно больше.
Насколько правдивы эти данные? В указанной выше ссылке на reddit в комментариях есть ссылки на датасеты большинства штатов. Можно было бы также собрать информацию из соцсетей, и…. нет, спасибо. Мне совсем не хочется провести остаток жизни в посольстве Эквадора.
О, кто-то звонит в дверь — одну секунду, гляну кто там. А потом напишу про то, как сохра
ctapnep
В Шататах можно голосовать с 18-и лет.