Выделение групп участников из Больших Данных Блог стайного советника / 12.07.2015 У нас есть школа, внутри которой учителя совместно работают над документами Google. Вся информация о действиях участников сохраняется и может быть использована для анализа. Мы имеем общий формат записи:Субъект деятельности | Объект деятельности | Тип действия (создать, загрузить, отредактировать, посмотреть) | Тип объекте (документ, таблица, презентация). Вопрос - что мы можем увидеть и понять об участниках совместной деятельности на основании имеющихся Больших Данных?Больших Данных всегда много - в этом их прелесть и основная проблема. За полгода совместной деятельности 447 участников создали более 2 тысяч объектов. Если просто попросить черепах NetLogo отобразить всех участников и все страницы, то мы получим на экран дремучий лес, который надо будет как-то прореживать.Выделение групп участниковМы можем по каким-то основаниям выделять группы участников, а потом смотреть, как будет устроен мир, если такой группы не будет. Т.е. мы не просто хотим какую-то группу выделить, но и посмотреть, как будет устроен мир, если на доске вообще не будет таких фигур. Как был бы устроен мир в отсутствии группы с такими характеристиками. Ну, и дальше начинается интересная игра - а как жить без тех или иных - как узнать их имена и как посмотреть на мир в отсутствии этих агентов.Рассмотрим основные параметры, по которым отличаются участники. Участники отличаются по действиям, которые они совершили - создавали страницы, редактировали страницы, смотрели на страницы. Все эти действия записаны в свойствах участников:pages_list - список страниц, которые создал агентedit_list - список страниц, которые редактировалview_list - список страниц, которые просматривал.На основании этих данных мы можем выделить группы.Группа редакторов - редакторы. Это те, кто не создавал страницы, но редактировал. ask users [set color 5] ask turtle-set users with [(empty? pages_list) and (not empty? edit_list) ] [set color 65]Посчитаем редакторов show count users with [(empty? pages_list) and (not empty? edit_list) ] = 140И получим их имена через процедуру - show [agentname] of users with [(empty? pages_list) and (not empty? edit_list) ] Группа наблюдателей Наблюдатели - это те, кто только смотрит, но не редактирует и не создает.show count users with [(empty? pages_list) and (empty? edit_list) ] Это у нас наблюдатели - их 39, у нас есть их имена и мы можем посмотреть на то, как бы развивался мир совместной деятельности, если бы в нем не было наблюдателей.Группа невнимательных создателей - А есть ли у нас участники, которые только создают, но ничего не смотрят и не редактируют? ask turtles [set color 5] ask turtle-set users with [(not empty? pages_list) and (empty? edit_list) and (empty? view_list) ] [set color 125] Удивительно, но у таких участников у нас 28.Созданные, но сразу же брошенные страницыА теперь обратимся к страницам - мы же из них тоже можем извлечь кучу всего интересного. Например, интересно узнать есть ли у нас страницы, которые были созданы, а потом на них никто не смотрел и не редактировал. ask users [set color 5] ask pages [set color 4] ask pages with [ (empty? viewers_list) and (empty? editors_list) ] [set color 35] И у нас таких страниц 1539 - на рисунке они показаны оранжевым цветом.И мы тоже можем получить их список show [pagename] of pages with [ (empty? viewers_list) and (empty? editors_list) ] и посмотреть на мир, в котором бы не было создано ни одной брошенной страницы. Это мы только присматриваемся к лесу Больших Данных и пытаемся его проредить, чтобы вытащить и увидеть полезную информацию. И я буду признателен за предложение новых фильтров для прорежывания. NetLogo большие данные учебная аналитика