{"id":14285,"url":"\/distributions\/14285\/click?bit=1&hash=346f3dd5dee2d88930b559bfe049bf63f032c3f6597a81b363a99361cc92d37d","title":"\u0421\u0442\u0438\u043f\u0435\u043d\u0434\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0430 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u043f\u0443\u0442\u0435\u0448\u0435\u0441\u0442\u0432\u0438\u044f","buttonText":"","imageUuid":""}

Как решать задачи Data Mining с помощью Excel?

Что приходит Вам в голову при упоминании «Data Mining»? Наверняка высокая, почти космическая, сложность алгоритмов, непонятные манипуляции с огромными массивами данных, нереальные объемы программного кода с применением множества разнообразных framework-ов с пугающими названиями – одним словом что-то недоступное обыкновенному человеку. Но все ли задачи представляют из себя нечто подобное? Попробуем разобраться на примере простой задачи классификации и простого метода k-ближайших соседей(kNN), применяемого для ее решения.

Есть таблица со значениями 2-ух параметров, по которым некоторые объекты разделяется на типы: «хорошо», «плохо», «средне». Есть объект, у которого известно значение параметров (5.2;3.1), но не известно какого он типа.

Для понимания создадим на том же листе в excel точечную диаграмму, в качестве значений по оси X зададим данные из второго столбца, а качестве оси Y – из первого.

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

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

Для того, чтобы вычислить это расстояние, воспользуемся формулой для расчета расстояния в многомерном пространстве (Евклидово расстояние):

В excel это будет выглядеть так:

«Протянем» формулу на все строки, где есть значения параметров. В соседнем столбце слева можно ранжировать значение каждого расстояния среди остальных значений расстояний с помощью функции «=РАНГ(), а в правый просто копируем значение типа. Должно получиться так:

Теперь для того, чтобы определить тип нашего объекта достаточно выбрать k-первых значений из получившегося массива (по возрастанию). В качестве числа k возьмем максимальное целое число, которое меньше корня квадратного из числа заданных значений. Для нас это будет число 3.

Можно заметить, что наибольшее количество (в данном случае все) k-ближайших соседей относятся к «плохо». Следовательно, наш объект тоже относится к «плохо».

Для того, чтобы сделать «куличик» в песочнице, не следует подгонять экскаватор. Есть ситуации, например, когда вы строите дом, где без спецтехники не обойтись. Но в случае с куличиком результат будет похож на ковш и весьма вероятно накроет собой всю песочницу.

Иными словами, некоторые задачи Data mining не требуют ни «космической сложности алгоритмов», ни глубоких познаний в высшей математике, не предполагают также использования «разнообразных framework-ов с пугающими названиями» и доступны любому, кто умеет пользоваться важнейшим из инструментов «уверенного пользователя ПК» — excel.

0
1 комментарий
Синди Катсс

некоторые задачи Data mining не требуют ни «космической сложности алгоритмов
а потом откедова салмолёты падают антибитотики не лечат и телефонов нету вообще
да потмоу шо всё в хекселе турбируют 2 хмерными формами для 3 мерной среды
но тема то богатая эхсельные нервосети

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда