Добрый день, уважаемые слушатели. Сегодня мы кратко посмотрим основы работы в RapidMiner, ну и заодно пройдемся по основным его функциям и процессам, как они действительно работают с точки зрения анализа данных — Data mining. Итак, сначала разберемся с основным экраном. По меню файл щелкаем, открываем новый процесс и видим какие здесь есть варианты. По меню файл щелкаем, открываем новый процесс и видим какие здесь есть варианты. Во-первых, можно создать пустой процесс, открываем новый процесс и видим какие здесь есть варианты. Во-первых, можно создать пустой процесс, можно создать специально процесс Во-первых, можно создать пустой процесс, можно создать специально процесс с интерактивной подготовкой данных, можно создать процесс, можно создать специально процесс с интерактивной подготовкой данных, можно создать процесс, который будет воплощать в себе жизнь, так называемый Out TML, с интерактивной подготовкой данных, можно создать процесс, который будет воплощать в себе жизнь, так называемый Out TML, то есть автоматическое моделирование, который будет воплощать в себе жизнь, так называемый Out TML, то есть автоматическое моделирование, автоматическое машинное обучение, когда то есть автоматическое моделирование, автоматическое машинное обучение, когда некий механизм подбирает вам автоматическое машинное обучение, когда некий механизм подбирает вам оптимальную модель под вашу задачу обобщенную. некий механизм подбирает вам оптимальную модель под вашу задачу обобщенную. Скажем, хочу получить предсказание, чего там. оптимальную модель под вашу задачу обобщенную. Скажем, хочу получить предсказание, чего там. Я не знаю алгоритмы, но вот у меня есть такие-то данные, Скажем, хочу получить предсказание, чего там. Я не знаю алгоритмы, но вот у меня есть такие-то данные, подберите мне какой-то алгоритм, Я не знаю алгоритмы, но вот у меня есть такие-то данные, подберите мне какой-то алгоритм, который с заданной точностью предскажет эту цифру. подберите мне какой-то алгоритм, который с заданной точностью предскажет эту цифру. Дальше, внизу есть шаблоны для основных задач, которые вообще имеются в Data mining. Дальше, внизу есть шаблоны для основных задач, которые вообще имеются в Data mining. Например, предсказание оттока или моделирование оттока. которые вообще имеются в Data mining. Например, предсказание оттока или моделирование оттока. Дальше задача, которую мы уже упоминали,, — это задача анализа маркетинговой корзины, Дальше задача, которую мы уже упоминали,, — это задача анализа маркетинговой корзины, то есть ассоциативные правила извлечения и так далее. это задача анализа маркетинговой корзины, то есть ассоциативные правила извлечения и так далее. Дальше можно построить всевозможные графики, то есть ассоциативные правила извлечения и так далее. Дальше можно построить всевозможные графики, связанные именно с оценкой качества вашей модели. Дальше можно построить всевозможные графики, связанные именно с оценкой качества вашей модели. Есть, соответственно, данные географические. Это тоже довольно интересная тема. Есть, соответственно, данные географические. Это тоже довольно интересная тема. То есть, гео-данные сейчас накапливаются, есть сервисы, Это тоже довольно интересная тема. То есть, гео-данные сейчас накапливаются, есть сервисы, где кодирование, развитые, у Гугла, у Яндекса, То есть, гео-данные сейчас накапливаются, есть сервисы, где кодирование, развитые, у Гугла, у Яндекса, которые позволяют и по карте определять какие-то координаты — где кодирование, развитые, у Гугла, у Яндекса, которые позволяют и по карте определять какие-то координаты — широту и долготу, мерить расстояния между ними, которые позволяют и по карте определять какие-то координаты — широту и долготу, мерить расстояния между ними, решать транспортные задачи, визуализировать и так далее. широту и долготу, мерить расстояния между ними, решать транспортные задачи, визуализировать и так далее. Вот здесь все это тоже можно сделать. решать транспортные задачи, визуализировать и так далее. Вот здесь все это тоже можно сделать. Значит, дальше, есть у нас задачи в маркетинге многочисленные, провели рекламную компанию, Значит, дальше, есть у нас задачи в маркетинге многочисленные, провели рекламную компанию, хочется проверить качество этой компании, провели рекламную компанию, хочется проверить качество этой компании, то есть, насколько люди отреагировали на разные наши решения. хочется проверить качество этой компании, то есть, насколько люди отреагировали на разные наши решения. Дальше есть prediction maintenance — это, соответственно, предсказание поломок или, собственно, предиктивный анализ Дальше есть prediction maintenance — это, соответственно, предсказание поломок или, собственно, предиктивный анализ для различных приборов и оборудования. предсказание поломок или, собственно, предиктивный анализ для различных приборов и оборудования. Можно предсказывать срок жизни каких-то устройств, можно предсказывать именно вероятность поломки Можно предсказывать срок жизни каких-то устройств, можно предсказывать именно вероятность поломки через какое-то время. можно предсказывать именно вероятность поломки через какое-то время. Дальше. через какое-то время. Дальше. Можно с помощью специальных шаблонов внедрять Дальше. Можно с помощью специальных шаблонов внедрять разработанные раннее модели в бизнес, Можно с помощью специальных шаблонов внедрять разработанные раннее модели в бизнес, то есть по сути, наши предсказания, нашу классификацию, разработанные раннее модели в бизнес, то есть по сути, наши предсказания, нашу классификацию, еще что-то внедрять в реальный бизнес-процесс то есть по сути, наши предсказания, нашу классификацию, еще что-то внедрять в реальный бизнес-процесс и смотреть результаты выполнения этих задач. еще что-то внедрять в реальный бизнес-процесс и смотреть результаты выполнения этих задач. Дальше, можно анализировать медицинскую информацию, медицинские — и смотреть результаты выполнения этих задач. Дальше, можно анализировать медицинскую информацию, медицинские — вот fraud это соответственно, фактически ложное срабатывание, Дальше, можно анализировать медицинскую информацию, медицинские — вот fraud это соответственно, фактически ложное срабатывание, пытаться детектировать по медицинским данным. вот fraud это соответственно, фактически ложное срабатывание, пытаться детектировать по медицинским данным. Соответственно также важная задача, это скоринговые модели — моделирование рисков, моделирование по цене и риску, Соответственно также важная задача, это скоринговые модели — моделирование рисков, моделирование по цене и риску, то есть фактически поиск оптимального портфеля, моделирование рисков, моделирование по цене и риску, то есть фактически поиск оптимального портфеля, поиск аномалий — outlier detection, ну и наконец, аналитика путей пользователя, которые тоже здесь есть. Те шаблоны мы сейчас рассматривать не будем, просто рассмотрим пустой новый процесс и посмотрим, как здесь все работает. Те шаблоны мы сейчас рассматривать не будем, просто рассмотрим пустой новый процесс и посмотрим, как здесь все работает. И так создаем новый процесс. Получаем вот такой экранчик. пустой новый процесс и посмотрим, как здесь все работает. И так создаем новый процесс. Получаем вот такой экранчик. Слева, внизу — это основные операторы, И так создаем новый процесс. Получаем вот такой экранчик. Слева, внизу — это основные операторы, которые здесь можно использовать. Слева, внизу — это основные операторы, которые здесь можно использовать. Они примерно соответствуют стандарту Krisp DM, которые здесь можно использовать. Они примерно соответствуют стандарту Krisp DM, который мы рассматривали. Они примерно соответствуют стандарту Krisp DM, который мы рассматривали. Вот, например, есть три элемента связанных с обработкой данных, который мы рассматривали. Вот, например, есть три элемента связанных с обработкой данных, есть элемент моделирования, есть соответственно Вот, например, есть три элемента связанных с обработкой данных, есть элемент моделирования, есть соответственно оценка качества модели, — это тоже, вот два элемента, и отдельно есть визуализация, которая находится оценка качества модели, — это тоже, вот два элемента, и отдельно есть визуализация, которая находится не в этом операторе, а в отдельном окошке. и отдельно есть визуализация, которая находится не в этом операторе, а в отдельном окошке. Вверху — репозиторий данных находится, не в этом операторе, а в отдельном окошке. Вверху — репозиторий данных находится, который можно использовать, справа — основное окошко, Вверху — репозиторий данных находится, который можно использовать, справа — основное окошко, которое показывает параметры разных наших элементов. который можно использовать, справа — основное окошко, которое показывает параметры разных наших элементов. Сейчас открыт просмотр — дизайн, именно здесь осуществляется визуальное проектирование того что у нас есть, нашего процесса — Сейчас открыт просмотр — дизайн, именно здесь осуществляется визуальное проектирование того что у нас есть, нашего процесса — извлечение данных. визуальное проектирование того что у нас есть, нашего процесса — извлечение данных. И здесь обращаю внимание на два не очень заметных элемента, слева и справа, справа — это результат, слева — вход. И здесь обращаю внимание на два не очень заметных элемента, слева и справа, справа — это результат, слева — вход. Справа — результат, это основной элемент, слева и справа, справа — это результат, слева — вход. Справа — результат, это основной элемент, который требуется соединять с тем, Справа — результат, это основной элемент, который требуется соединять с тем, что у нас будет слева, с разными элементами процессов, который требуется соединять с тем, что у нас будет слева, с разными элементами процессов, для того чтобы результат был посчитан и выведен вот сюда, что у нас будет слева, с разными элементами процессов, для того чтобы результат был посчитан и выведен вот сюда, во вкладку результатов. для того чтобы результат был посчитан и выведен вот сюда, во вкладку результатов. Процесс, который будет настроен вот в этом окошке, основном, запускается по синей кнопочке. Процесс, который будет настроен вот в этом окошке, основном, запускается по синей кнопочке. Дальше, все что здесь происходит обрабатывается, если был какой-то основном, запускается по синей кнопочке. Дальше, все что здесь происходит обрабатывается, если был какой-то результирующий элемент соединен вот с этим элементиком, Дальше, все что здесь происходит обрабатывается, если был какой-то результирующий элемент соединен вот с этим элементиком, то все что надо было посчитать, визуализировать, вывести — будет вот здесь, в виде вкладочки показано. то все что надо было посчитать, визуализировать, вывести — будет вот здесь, в виде вкладочки показано. Давайте попробуем что-нибудь сделать. вывести — будет вот здесь, в виде вкладочки показано. Давайте попробуем что-нибудь сделать. Во-первых, слева давайте возьмем какой-то пример, Давайте попробуем что-нибудь сделать. Во-первых, слева давайте возьмем какой-то пример, открываем меню samples, и дальше ищем, например, «ирисы» — «ирисы Фишера», это классический набор, 150 измерений по трем классам ирисов и измерены там «ирисы» — «ирисы Фишера», это классический набор, 150 измерений по трем классам ирисов и измерены там различные геометрические характеристики — ширина, 150 измерений по трем классам ирисов и измерены там различные геометрические характеристики — ширина, длинна и так далее, высота чашелистиков, стебелька и так далее. различные геометрические характеристики — ширина, длинна и так далее, высота чашелистиков, стебелька и так далее. Значит, задача сама, которая здесь представлена, длинна и так далее, высота чашелистиков, стебелька и так далее. Значит, задача сама, которая здесь представлена, по сути это задача классификации. То есть в основном на этих данных можно потренироваться, по сути это задача классификации. То есть в основном на этих данных можно потренироваться, для того чтобы какую-то свою модель классификатора настроить так, То есть в основном на этих данных можно потренироваться, для того чтобы какую-то свою модель классификатора настроить так, чтобы верно определять конкретный экземпляр «ириса», для того чтобы какую-то свою модель классификатора настроить так, чтобы верно определять конкретный экземпляр «ириса», к какому виду он относится. чтобы верно определять конкретный экземпляр «ириса», к какому виду он относится. Или, например, можно попытаться сегментировать то, что есть и понять на сколько действительно эти «ирисы» Или, например, можно попытаться сегментировать то, что есть и понять на сколько действительно эти «ирисы» отличаются друг от друга по своим параметрам. что есть и понять на сколько действительно эти «ирисы» отличаются друг от друга по своим параметрам. И так, вот мы здесь перетащили этот элементик сюда, это наш основной источник данных сейчас, И так, вот мы здесь перетащили этот элементик сюда, это наш основной источник данных сейчас, если мы его соединим с результатом, запустим это наш основной источник данных сейчас, если мы его соединим с результатом, запустим вот мы получим просмотр всего, в строке результаты, DataSet нашего, это измерение наше, 4 штуки, метка — лейбл, вот мы получим просмотр всего, в строке результаты, DataSet нашего, это измерение наше, 4 штуки, метка — лейбл, в которой указа сам тип «ириса» - setosa, virginica или versicolor. Соответственно, есть номер строчки и идентификатор каждого отдельного ириса. Соответственно, есть номер строчки и идентификатор каждого отдельного ириса. Тут внизу так же указан интегральный вариант описания того, что у нас есть — 150 кейсов, 150 наших ирисов. 4 обычных атрибута, Тут внизу так же указан интегральный вариант описания того, что у нас есть — 150 кейсов, 150 наших ирисов. 4 обычных атрибута, 2 специальных. Обычные атрибуты или регулярные — это атрибуты, что у нас есть — 150 кейсов, 150 наших ирисов. 4 обычных атрибута, 2 специальных. Обычные атрибуты или регулярные — это атрибуты, которые могут использоваться в вычислениях наших моделей, 2 специальных. Обычные атрибуты или регулярные — это атрибуты, которые могут использоваться в вычислениях наших моделей, а специальные атрибуты за пределами модели обычно используются. Можно посмотреть статистику. Вот открываем вкладочку статистика и видим, по каждому параметру Можно посмотреть статистику. Вот открываем вкладочку статистика и видим, по каждому параметру указана гистограмма как он распределен, Вот открываем вкладочку статистика и видим, по каждому параметру указана гистограмма как он распределен, указаны основные параметры: минимум, максимум, среднее указана гистограмма как он распределен, указаны основные параметры: минимум, максимум, среднее и отклонения стандартные. указаны основные параметры: минимум, максимум, среднее и отклонения стандартные. Вот видим, например, у параметра А1 основная часть смещена влево. Значит, внизу у нас сами значения в сантиметрах указаны, Вот видим, например, у параметра А1 основная часть смещена влево. Значит, внизу у нас сами значения в сантиметрах указаны, а вверху частота. У А2 такая же примерно картина, а вот ниже — у А3 и у А4 — видно, что есть, по сути, а вверху частота. У А2 такая же примерно картина, а вот ниже — у А3 и у А4 — видно, что есть, по сути, два таких сегмента значений, есть довольно много значений, а вот ниже — у А3 и у А4 — видно, что есть, по сути, два таких сегмента значений, есть довольно много значений, у которых маленькое значение в сантиметрах, два таких сегмента значений, есть довольно много значений, у которых маленькое значение в сантиметрах, вот здесь слева этих два участка, и основная часть, которая больше. Вот, фактически, распределение имеет такую чашевидную форму вот здесь слева этих два участка, и основная часть, которая больше. Вот, фактически, распределение имеет такую чашевидную форму с двумя пиками, он называется бимодальным, потому что у нас есть фактически два пика, здесь и здесь. с двумя пиками, он называется бимодальным, потому что у нас есть фактически два пика, здесь и здесь. А здесь унимодальное распределение у А2 и А1, потому что, фактически, наиболее частые значения А здесь унимодальное распределение у А2 и А1, потому что, фактически, наиболее частые значения они вот сконцентрированы в одном месте. потому что, фактически, наиболее частые значения они вот сконцентрированы в одном месте. Для того чтобы также посмотреть статистику, желательно обратить внимание на параметры выше. Для того чтобы также посмотреть статистику, желательно обратить внимание на параметры выше. Здесь видно, что пропущенных значений нет, нолик, обратить внимание на параметры выше. Здесь видно, что пропущенных значений нет, нолик, значит их обрабатывать не нужно. Здесь видно, что пропущенных значений нет, нолик, значит их обрабатывать не нужно. И тип сами аргументов — real, понятно, что у нас есть разные атрибуты, какие-то могут быть номинальными, И тип сами аргументов — real, понятно, что у нас есть разные атрибуты, какие-то могут быть номинальными, здесь бы мы тоже увидели их тип. Для разных моделей, какие-то могут быть номинальными, здесь бы мы тоже увидели их тип. Для разных моделей, для разных типов задач требуется разные типы атрибутов. здесь бы мы тоже увидели их тип. Для разных моделей, для разных типов задач требуется разные типы атрибутов. В данном случае, это все численные атрибуты. для разных типов задач требуется разные типы атрибутов. В данном случае, это все численные атрибуты. Можем использовать их для задачи визуализации, расчета статистик, В данном случае, это все численные атрибуты. Можем использовать их для задачи визуализации, расчета статистик, классификаций, сегментаций, и почти всех задач, которые только есть. Теперь давайте вернемся, собственно, классификаций, сегментаций, и почти всех задач, которые только есть. Теперь давайте вернемся, собственно, к самим задачам перед визуализацией. Теперь давайте вернемся, собственно, к самим задачам перед визуализацией. Итак, наши данные мы использовали, теперь давайте попробуем к самим задачам перед визуализацией. Итак, наши данные мы использовали, теперь давайте попробуем что-нибудь сделать с ними. Итак, наши данные мы использовали, теперь давайте попробуем что-нибудь сделать с ними. Например, вот у нас есть здесь моделирование что-нибудь сделать с ними. Например, вот у нас есть здесь моделирование и в моделировании есть у нас метод сегментации Например, вот у нас есть здесь моделирование и в моделировании есть у нас метод сегментации под названием k-means, перетаскиваем его на основной экран, и в моделировании есть у нас метод сегментации под названием k-means, перетаскиваем его на основной экран, соединяем этот результат с данными, через элемент ехa, под названием k-means, перетаскиваем его на основной экран, соединяем этот результат с данными, через элемент ехa, то есть example. То есть фактически ехф, соединяем этот результат с данными, через элемент ехa, то есть example. То есть фактически ехф, это и есть метка, по которой соединяются элементы по данным. то есть example. То есть фактически ехф, это и есть метка, по которой соединяются элементы по данным. Дальше, два выхода есть у этого алгоритма. Во-первых, верхний — это сама модель, и внизу, уже размеченный набор данных, с нашими кластерами. Давайте выведем оба этих результата вот сюда. уже размеченный набор данных, с нашими кластерами. Давайте выведем оба этих результата вот сюда. Теперь, смотрим какие настройки есть у этого k-means. Во-первых, в результате кластеризации можно добавить, Теперь, смотрим какие настройки есть у этого k-means. Во-первых, в результате кластеризации можно добавить, а можно не добавлять атрибут — номер кластера. Во-первых, в результате кластеризации можно добавить, а можно не добавлять атрибут — номер кластера. Естественно имеет смысл добавлять, потому что именно благодаря этому атрибуту Естественно имеет смысл добавлять, потому что именно благодаря этому атрибуту мы можем какие-то вычисления свои дальше делать по тому, потому что именно благодаря этому атрибуту мы можем какие-то вычисления свои дальше делать по тому, что у нас они есть. мы можем какие-то вычисления свои дальше делать по тому, что у нас они есть. Дальше, можно добавить его именно, как метку. что у нас они есть. Дальше, можно добавить его именно, как метку. То есть переменная будет иметь роль «метку», «роль метка» точнее, и эта метка не позволит этому атрибуту по умолчанию участвовать То есть переменная будет иметь роль «метку», «роль метка» точнее, и эта метка не позволит этому атрибуту по умолчанию участвовать в каких—то вычислениях. Если мы вот так этого не сделаем, то метка будет считаться обычным регулярным атрибутом численным, в данном случае по умолчанию то метка будет считаться обычным регулярным атрибутом численным, в данном случае по умолчанию там были бы значения от 1 до 5, которые обозначают номер кластера, и с этими параметрами можно было бы делать там были бы значения от 1 до 5, которые обозначают номер кластера, и с этими параметрами можно было бы делать абсолютно бессмысленные вычисления, и с этими параметрами можно было бы делать абсолютно бессмысленные вычисления, типа среднего номера кластера, который есть в системе и так далее. абсолютно бессмысленные вычисления, типа среднего номера кластера, который есть в системе и так далее. Конечно делать этого нет смысла. типа среднего номера кластера, который есть в системе и так далее. Конечно делать этого нет смысла. Итак, число кластеров выбираем три, потому что мы знаем, что у нас именно три класса всего в этих данных, Итак, число кластеров выбираем три, потому что мы знаем, что у нас именно три класса всего в этих данных, можем посмотреть, насколько кластеризация действительно будет что у нас именно три класса всего в этих данных, можем посмотреть, насколько кластеризация действительно будет соответствовать по зашумленности тому, можем посмотреть, насколько кластеризация действительно будет соответствовать по зашумленности тому, что есть в действительности. Сколько прогонов, число итераций? соответствовать по зашумленности тому, что есть в действительности. Сколько прогонов, число итераций? Как уже говорилось, в принципе, число итераций позволяет нам что есть в действительности. Сколько прогонов, число итераций? Как уже говорилось, в принципе, число итераций позволяет нам оборвать бесконечно возможный процесс подбора оптимальных значений в том же k-means, оборвать бесконечно возможный процесс подбора оптимальных значений в том же k-means, потому что поиск глобального оптимума, скорее всего, может затянуться, если вообще чем-то закончится. потому что поиск глобального оптимума, скорее всего, может затянуться, если вообще чем-то закончится. Поэтому имеет смысл поставить итераций может затянуться, если вообще чем-то закончится. Поэтому имеет смысл поставить итераций какое-то ограниченное число, в любом случае получим Поэтому имеет смысл поставить итераций какое-то ограниченное число, в любом случае получим некое приближенное решение, приближенные кластеры, какие-то. какое-то ограниченное число, в любом случае получим некое приближенное решение, приближенные кластеры, какие-то. В данном случае за 10 прогонов нашей модели. Дальше, есть галочка — определить хороший старт. В k-means, как я уже говорил, начало заключается в том, что мы должны подобрать некоторые эталоны, В k-means, как я уже говорил, начало заключается в том, что мы должны подобрать некоторые эталоны, чаще всего в качестве эталонов случайных сегментов берутся просто-напросто точки или объекты из исходных данных. чаще всего в качестве эталонов случайных сегментов берутся просто-напросто точки или объекты из исходных данных. Вот с помощью этой галочки можно, фактически, сделать просто-напросто точки или объекты из исходных данных. Вот с помощью этой галочки можно, фактически, сделать такую предобработку, которая сразу определит, Вот с помощью этой галочки можно, фактически, сделать такую предобработку, которая сразу определит, какие из этих трех точек имеет смысл брать в качестве эталона. такую предобработку, которая сразу определит, какие из этих трех точек имеет смысл брать в качестве эталона. Теперь по поводу того, какие параметры какие из этих трех точек имеет смысл брать в качестве эталона. Теперь по поводу того, какие параметры мы будем использовать дальше. Наиболее важный параметр, следующий — это, собственно, расстояние, с помощью которого будем мерить Наиболее важный параметр, следующий — это, собственно, расстояние, с помощью которого будем мерить сходство между нашими ирисами по 4 атрибутам. В данном случае по умолчанию выбрана Дивергенция Брегмана, сходство между нашими ирисами по 4 атрибутам. В данном случае по умолчанию выбрана Дивергенция Брегмана, это фактически расстояние, скорее, В данном случае по умолчанию выбрана Дивергенция Брегмана, это фактически расстояние, скорее, не метрикой является геометрической, а мерой сходства, оно наиболее общее. не метрикой является геометрической, а мерой сходства, оно наиболее общее. Давайте выберем в данном случае самый простой вариант пока что, численные меры и расстояние Евклидово. Это, фактически, самая-самая основа, которую легко интерпретировать, и в данном случае она точно также может подойти, потому что наши ирисы которую легко интерпретировать, и в данном случае она точно также может подойти, потому что наши ирисы имеют вполне себе геометрические измерения и расстояние она точно также может подойти, потому что наши ирисы имеют вполне себе геометрические измерения и расстояние между ними вполне имеет физический смысл, чем оно ближе, имеют вполне себе геометрические измерения и расстояние между ними вполне имеет физический смысл, чем оно ближе, тем больше сходство в этих измерениях. между ними вполне имеет физический смысл, чем оно ближе, тем больше сходство в этих измерениях. И оптимизация — число шагов — точно так же здесь указано, это фактически для вычисления точного расстояния И оптимизация — число шагов — точно так же здесь указано, это фактически для вычисления точного расстояния мы можем использовать итервционный подход, который тоже это фактически для вычисления точного расстояния мы можем использовать итервционный подход, который тоже не обязательно ждать, пока он закончит свое схождение. мы можем использовать итервционный подход, который тоже не обязательно ждать, пока он закончит свое схождение. Можно ограничиться для подсчета расстояния, не обязательно ждать, пока он закончит свое схождение. Можно ограничиться для подсчета расстояния, тоже каким-то числом вычислений. Можно ограничиться для подсчета расстояния, тоже каким-то числом вычислений. Итак, запускаем, если все хорошо, видите появляется галочка здесь, тоже каким-то числом вычислений. Итак, запускаем, если все хорошо, видите появляется галочка здесь, на этапе дизайн. Означает, что алгоритм отработал, Итак, запускаем, если все хорошо, видите появляется галочка здесь, на этапе дизайн. Означает, что алгоритм отработал, никаких ошибок не возникло, и получаем результат. на этапе дизайн. Означает, что алгоритм отработал, никаких ошибок не возникло, и получаем результат. Итак, вот у нас верхний результат, вкладочка вот, — это модель. Что она описывает? Итак, вот у нас верхний результат, вкладочка вот, — это модель. Что она описывает? Она описывает, что у нас было три кластера, в каждом кластере, Что она описывает? Она описывает, что у нас было три кластера, в каждом кластере, соответственно, 50 объектов, 38, 62. То есть все наши исходные ирисы были разбиты на сегменты. В исходном варианте все ирисы, все три класса представлены равномерно 50 на 50 на 50. Как видите, уже отсюда следует, что какой-то класс, все три класса представлены равномерно 50 на 50 на 50. Как видите, уже отсюда следует, что какой-то класс, как минимум один, разделился между двумя и поэтому число в первом кластере оказалось меньше, чем 50. как минимум один, разделился между двумя и поэтому число в первом кластере оказалось меньше, чем 50. Более того в верхнем кластере 50 не означает, и поэтому число в первом кластере оказалось меньше, чем 50. Более того в верхнем кластере 50 не означает, что все 50 объектов были идентифицированы правильно, Более того в верхнем кластере 50 не означает, что все 50 объектов были идентифицированы правильно, но это мы сейчас посмотрим. Вот дальше смотрим. что все 50 объектов были идентифицированы правильно, но это мы сейчас посмотрим. Вот дальше смотрим. Можно в виде папочки посмотреть, что куда попало. По умолчанию идентификатор используется именно для того чтобы, именно в таком анализе показывать результат. По умолчанию идентификатор используется именно для того чтобы, именно в таком анализе показывать результат. Но вот мы, если бы имели кроме ID что-то еще, именно в таком анализе показывать результат. Но вот мы, если бы имели кроме ID что-то еще, то прямо бы в метке видели бы результат. Так мы должны щелкнуть на значение и посмотреть, к чему оно именно относится. Есть граф, то прямо бы в метке видели бы результат. Так мы должны щелкнуть на значение и посмотреть, к чему оно именно относится. Есть граф, вот он показывает наши сегменты, которые были выделены. Можно представить по-разному, можно пощелкать на этот график и увидеть, какие именно ирисы попали куда. Можно представить по-разному, можно пощелкать на этот график и увидеть, какие именно ирисы попали куда. Опять-таки, эти идентификаторы у нас смысла не несут в данном случае, поэтому естественно, Опять-таки, эти идентификаторы у нас смысла не несут в данном случае, поэтому естественно, это для визуализации сейчас не очень подойдет. в данном случае, поэтому естественно, это для визуализации сейчас не очень подойдет. Есть, наконец, таблица центроидов, это важная таблица, это для визуализации сейчас не очень подойдет. Есть, наконец, таблица центроидов, это важная таблица, она позволяет сделать начальный анализ наших сегментов. Есть, наконец, таблица центроидов, это важная таблица, она позволяет сделать начальный анализ наших сегментов. В чем она заключается? она позволяет сделать начальный анализ наших сегментов. В чем она заключается? Мы видим, в кластер первый попали в среднем ирисы, у которых вот такие измерения: Мы видим, в кластер первый попали в среднем ирисы, у которых вот такие измерения: А1 составляет 5 см, А2 — 3,5, А3 — 1,5, ну и А4 — 0,25 примерно. у которых вот такие измерения: А1 составляет 5 см, А2 — 3,5, А3 — 1,5, ну и А4 — 0,25 примерно. Кластер первый, как видите, чем отличается? Тем, что у него А3 и А4 довольно сильно отличаются от первого кластера. Кластер первый, как видите, чем отличается? Тем, что у него А3 и А4 довольно сильно отличаются от первого кластера. Наконец, в кластере 2, довольно сильно отличаются от первого кластера. Наконец, в кластере 2, ну в целом А2 — отличается от первых двух, А3 и А4. Наконец, в кластере 2, ну в целом А2 — отличается от первых двух, А3 и А4. То есть, вот кластер 2 довольно непохож в целом на остальные. ну в целом А2 — отличается от первых двух, А3 и А4. То есть, вот кластер 2 довольно непохож в целом на остальные. Кластер 1 в чем-то похож на первый и на третий, То есть, вот кластер 2 довольно непохож в целом на остальные. Кластер 1 в чем-то похож на первый и на третий, он такой смешанный. То же самое можно увидеть на данном графике, Кластер 1 в чем-то похож на первый и на третий, он такой смешанный. То же самое можно увидеть на данном графике, по каждому измерению мы видим эти значения. он такой смешанный. То же самое можно увидеть на данном графике, по каждому измерению мы видим эти значения. Ну и видно, что у нас два кластера в какой-то степени похожи, по каждому измерению мы видим эти значения. Ну и видно, что у нас два кластера в какой-то степени похожи, только смещены относительно друг друга. Ну и наконец, есть еще один третий кластер, только смещены относительно друг друга. Ну и наконец, есть еще один третий кластер, у которого довольно сильно отличаются характеристики. Ну и наконец, есть еще один третий кластер, у которого довольно сильно отличаются характеристики. То есть, два кластера похожих у которого довольно сильно отличаются характеристики. То есть, два кластера похожих и один довольно сильно отличающийся. Вот синий, нулевой наш, это как раз он. Ну вот эти два кластера, чем-то пересекаются, и действительно, Вот синий, нулевой наш, это как раз он. Ну вот эти два кластера, чем-то пересекаются, и действительно, если мы еще раз посмотрим на описание, Ну вот эти два кластера, чем-то пересекаются, и действительно, если мы еще раз посмотрим на описание, у нас в первом кластере 50 и они, похоже, действительно, если мы еще раз посмотрим на описание, у нас в первом кластере 50 и они, похоже, действительно, по большей части состоят из ирисов одного вида, у нас в первом кластере 50 и они, похоже, действительно, по большей части состоят из ирисов одного вида, а вот два кластера оставшихся, они как раз перераспределились по большей части состоят из ирисов одного вида, а вот два кластера оставшихся, они как раз перераспределились не совсем так, как обстоит дело в реальности. С чем это связано? а вот два кластера оставшихся, они как раз перераспределились не совсем так, как обстоит дело в реальности. С чем это связано? С тем, что на самом деле по факту эти ирисы содержат в себе два типа не совсем так, как обстоит дело в реальности. С чем это связано? С тем, что на самом деле по факту эти ирисы содержат в себе два типа отличных и один мутантный тип, С тем, что на самом деле по факту эти ирисы содержат в себе два типа отличных и один мутантный тип, который чем-то похож на оба сегмента. отличных и один мутантный тип, который чем-то похож на оба сегмента. Вот этот мутантный тип, в данном конкретном нашем методом который чем-то похож на оба сегмента. Вот этот мутантный тип, в данном конкретном нашем методом оказалось, разделился не очень качественно на сегменты. Вот этот мутантный тип, в данном конкретном нашем методом оказалось, разделился не очень качественно на сегменты. Давайте посмотрим еще раз в исходник. оказалось, разделился не очень качественно на сегменты. Давайте посмотрим еще раз в исходник. Вот видите, наша метка заменилась, раньше была метка с исходными данными, теперь она заменилась на кластер. Метка может быть только одна, если мы не указали иного, вот с таким названием, лейбл. Поэтому, фактически, мы своей меткой перезаписали исходные данные. вот с таким названием, лейбл. Поэтому, фактически, мы своей меткой перезаписали исходные данные. Это не очень удобно, поэтому давайте от этого избавимся. мы своей меткой перезаписали исходные данные. Это не очень удобно, поэтому давайте от этого избавимся. Значит, что мы делаем, мы снимаем галочку «добавить как метку» Это не очень удобно, поэтому давайте от этого избавимся. Значит, что мы делаем, мы снимаем галочку «добавить как метку» в наш кластер и еще раз запускаем все, что получилось, и видим. Значит, что мы делаем, мы снимаем галочку «добавить как метку» в наш кластер и еще раз запускаем все, что получилось, и видим. Итак, кластер нулевой, как видите, полностью состоит в наш кластер и еще раз запускаем все, что получилось, и видим. Итак, кластер нулевой, как видите, полностью состоит из ирис-setosa, типа ириса. Дальше кластер два. Кластер два, вот он, содержит ирис-versicolor, потом в данном случае кластер один попала в следующий кейс, Кластер два, вот он, содержит ирис-versicolor, потом в данном случае кластер один попала в следующий кейс, хотя он относится к исходному типу ириса, потом в данном случае кластер один попала в следующий кейс, хотя он относится к исходному типу ириса, то есть, видно, что уже, что-то пошло не так. хотя он относится к исходному типу ириса, то есть, видно, что уже, что-то пошло не так. Вот здесь снова еще один кейс должен был относиться тоже к versicolor, то есть по сути кластер два, Вот здесь снова еще один кейс должен был относиться тоже к versicolor, то есть по сути кластер два, но относится к кластеру один. тоже к versicolor, то есть по сути кластер два, но относится к кластеру один. Дальше видно загрязнение, есть и в оставшемся кластере — первом. То есть по сути наш метод позволил довольно чисто выделить Дальше видно загрязнение, есть и в оставшемся кластере — первом. То есть по сути наш метод позволил довольно чисто выделить ирис-setosa тип, а остальные два типа смешались. То есть по сути наш метод позволил довольно чисто выделить ирис-setosa тип, а остальные два типа смешались. Вот отсюда уже видно, что сама кластеризация, это дело, фактически, не такое простое. Вот отсюда уже видно, что сама кластеризация, это дело, фактически, не такое простое. Как можно попытаться улучшить результат? это дело, фактически, не такое простое. Как можно попытаться улучшить результат? Давайте попробуем просто-напросто изменить расстояние. Как можно попытаться улучшить результат? Давайте попробуем просто-напросто изменить расстояние. Возможно, Евклидово расстояние не достаточно подходит для этого. Давайте попробуем просто-напросто изменить расстояние. Возможно, Евклидово расстояние не достаточно подходит для этого. Почему? Потому что, судя по всему, у нас какие-то параметры Почему? Потому что, судя по всему, у нас какие-то параметры лучше разделяют наши кластеры, какие-то хуже. Потому что, судя по всему, у нас какие-то параметры лучше разделяют наши кластеры, какие-то хуже. В частности, какие лучше, какие хуже? лучше разделяют наши кластеры, какие-то хуже. В частности, какие лучше, какие хуже? Вот, если поглядеть на исходные данные в статистике, то видно, В частности, какие лучше, какие хуже? Вот, если поглядеть на исходные данные в статистике, то видно, что у нас А3 и А4, действительно имеют два диапазона, Вот, если поглядеть на исходные данные в статистике, то видно, что у нас А3 и А4, действительно имеют два диапазона, каких-то, которые хорошо разделяются, скорее всего это связано именно с классами. А вот А1 и А2 содержат более-менее все наши классы смешанно. скорее всего это связано именно с классами. А вот А1 и А2 содержат более-менее все наши классы смешанно. Все наши три класса ирисов размазаны по этим значениям. Поэтому для того чтобы разница была более четкой Все наши три класса ирисов размазаны по этим значениям. Поэтому для того чтобы разница была более четкой при расчете расстояний, можно попытаться использовать квадратичное евклидово расстояние, тогда все при расчете расстояний, можно попытаться использовать квадратичное евклидово расстояние, тогда все различия, которые есть будут более выпукло за счет квадрат выпячиваться. различия, которые есть будут более выпукло за счет квадрат выпячиваться. И давайте посмотрим, насколько это сильно помогло. за счет квадрат выпячиваться. И давайте посмотрим, насколько это сильно помогло. Начнем со статистики. Открываем модель. Помогло не слишком сильно. Кластер первый и второй чуть-чуть перераспределились, то есть из второго ушел один объект попал первый. Кластер первый и второй чуть-чуть перераспределились, то есть из второго ушел один объект попал первый. То есть, чуть-чуть вроде бы стало получше. то есть из второго ушел один объект попал первый. То есть, чуть-чуть вроде бы стало получше. Давайте посмотрим опять результат. То есть, чуть-чуть вроде бы стало получше. Давайте посмотрим опять результат. Он фактически раньше у нас первые кейсы попадали во второй кластер, потом следующий попадал в кластер первый кейс. Он фактически раньше у нас первые кейсы попадали во второй кластер, потом следующий попадал в кластер первый кейс. Сейчас уже немного по-другому они распределились, во второй кластер, потом следующий попадал в кластер первый кейс. Сейчас уже немного по-другому они распределились, поэтому на самом деле нельзя напрямую сказать, Сейчас уже немного по-другому они распределились, поэтому на самом деле нельзя напрямую сказать, что улучшение произошло в одну строну, но численно, поэтому на самом деле нельзя напрямую сказать, что улучшение произошло в одну строну, но численно, тем не менее, один кластер уменьшился, второй вырос. что улучшение произошло в одну строну, но численно, тем не менее, один кластер уменьшился, второй вырос. То есть в целом мы скорее всего на правильном пути, тем не менее, один кластер уменьшился, второй вырос. То есть в целом мы скорее всего на правильном пути, но требуется сделать что-то еще. Скорее всего дело в том, что сами по себе эти ирисы, но требуется сделать что-то еще. Скорее всего дело в том, что сами по себе эти ирисы, они разделены не очень хорошо, разделяются в пространстве, поэтому именно геометрическая форма — сфера, они разделены не очень хорошо, разделяются в пространстве, поэтому именно геометрическая форма — сфера, здесь не очень подходит. поэтому именно геометрическая форма — сфера, здесь не очень подходит. Давайте, тем не менее, поглядим на наши данные здесь не очень подходит. Давайте, тем не менее, поглядим на наши данные с точки зрения визуально и убедимся в этом. Ну, во-первых, для того чтобы построить визуализацию, с точки зрения визуально и убедимся в этом. Ну, во-первых, для того чтобы построить визуализацию, открываем вкладку results и если мы выводили наши данные сюда, Ну, во-первых, для того чтобы построить визуализацию, открываем вкладку results и если мы выводили наши данные сюда, то можно увидеть их во вкладке визуализация с помощью разных графиков. то можно увидеть их во вкладке визуализация с помощью разных графиков. Если же мы сюда ничего не выводили, то в результатах мы ни чего бы не увидели, никаких данных. Если же мы сюда ничего не выводили, то в результатах мы ни чего бы не увидели, никаких данных. Итак, во-первых, на одном графике изброжены все значения то в результатах мы ни чего бы не увидели, никаких данных. Итак, во-первых, на одном графике изброжены все значения наших измерений, по кейсам. По оси х, соответственно, все наши ирисы, наших измерений, по кейсам. По оси х, соответственно, все наши ирисы, по оси у — все 4 атрибута отображены. Вот видно, как они изменяются, что есть как раз оранжевый атрибут, по оси у — все 4 атрибута отображены. Вот видно, как они изменяются, что есть как раз оранжевый атрибут, который пересекается довольно сильно, Вот видно, как они изменяются, что есть как раз оранжевый атрибут, который пересекается довольно сильно, но и если мы обратим внимание, то видим довольно четко, который пересекается довольно сильно, но и если мы обратим внимание, то видим довольно четко, что есть атрибуты, которые лежат в одном ключе, но и если мы обратим внимание, то видим довольно четко, что есть атрибуты, которые лежат в одном ключе, во втором ключе и в третьем. что есть атрибуты, которые лежат в одном ключе, во втором ключе и в третьем. То есть если мы посмотрим вниз, во втором ключе и в третьем. То есть если мы посмотрим вниз, то увидим все кейсы с 1 по 150 То есть если мы посмотрим вниз, то увидим все кейсы с 1 по 150 именно в порядке возрастания изложены, то увидим все кейсы с 1 по 150 именно в порядке возрастания изложены, а так как у нас мы видели в данных именно в порядке возрастания изложены, а так как у нас мы видели в данных именно так наши классы и отсортированы, а так как у нас мы видели в данных именно так наши классы и отсортированы, то есть сначала 50 кейсов — это соответственно и ирис-setosa идет, именно так наши классы и отсортированы, то есть сначала 50 кейсов — это соответственно и ирис-setosa идет, потом versicolor, а потом virginica, то setosa имеет параметры все 4 чуть-чуть поменьше, чем ирис-versicolor и versicolor, потом versicolor, а потом virginica, то setosa имеет параметры все 4 чуть-чуть поменьше, чем ирис-versicolor и versicolor, чем virginica тоже, но тем не менее у virginica и versicolor, как видите два параметра, довольно близкие значения имеют. чем virginica тоже, но тем не менее у virginica и versicolor, как видите два параметра, довольно близкие значения имеют. То есть, первый класс отличится довольно сильно от остальных двух, а остальные два смешаны, именно поэтому мы видим, То есть, первый класс отличится довольно сильно от остальных двух, а остальные два смешаны, именно поэтому мы видим, что классификация наша, ну или точнее кластеризация а остальные два смешаны, именно поэтому мы видим, что классификация наша, ну или точнее кластеризация и не дает такого успеха. То есть, нам требовалось бы по-хорошему что классификация наша, ну или точнее кластеризация и не дает такого успеха. То есть, нам требовалось бы по-хорошему вот эти кейсы разделить побольше, или выбрать переменные, которые разделяют все три класса наилучшим способом. вот эти кейсы разделить побольше, или выбрать переменные, которые разделяют все три класса наилучшим способом. Давайте посмотрим. Четвертая это А4, она разделяет классы хорошо, А2 вот видите примерно для всех классов выглядит одинаково более-менее или, по крайней мере, вот эти классы разделяет плохо и, А2 вот видите примерно для всех классов выглядит одинаково более-менее или, по крайней мере, вот эти классы разделяет плохо и, соответственно, А3 разделяет все три класса хорошо, более-менее или, по крайней мере, вот эти классы разделяет плохо и, соответственно, А3 разделяет все три класса хорошо, ну и А1 разделяет классы не самым лучшим образом. То есть, по-хорошему у нас есть А3 и А4 — две переменные, ну и А1 разделяет классы не самым лучшим образом. То есть, по-хорошему у нас есть А3 и А4 — две переменные, которые вроде бы имеют довольно сильные перепады То есть, по-хорошему у нас есть А3 и А4 — две переменные, которые вроде бы имеют довольно сильные перепады и возможно, если мы оставим только их, которые вроде бы имеют довольно сильные перепады и возможно, если мы оставим только их, то остальные две переменные не будут нам шумом мешать для нашей кластеризации. то остальные две переменные не будут нам шумом мешать для нашей кластеризации. Давайте попробуем это сделать. нам шумом мешать для нашей кластеризации. Давайте попробуем это сделать. Возвращаемся в наш дизайн и, что мы тут видим? По-хорошему, мы могли бы по-разному решить задачу Возвращаемся в наш дизайн и, что мы тут видим? По-хорошему, мы могли бы по-разному решить задачу отбора переменных, еще на этапе вот здесь, По-хорошему, мы могли бы по-разному решить задачу отбора переменных, еще на этапе вот здесь, извлечение этих данных, но лучше поступим правильно и используем, соответственно, элемент blending, извлечение этих данных, но лучше поступим правильно и используем, соответственно, элемент blending, дальше, selection и перетаскиваем элемент выбрать атрибуты на основную нашу доску, где мы визуально процесс выстраиваем. дальше, selection и перетаскиваем элемент выбрать атрибуты на основную нашу доску, где мы визуально процесс выстраиваем. Итак, select attributs позволяет нам набрать атрибуты, которые здесь имеются, с помощью разного абсолютно вида. Итак, select attributs позволяет нам набрать атрибуты, которые здесь имеются, с помощью разного абсолютно вида. Можно использовать регулярное выражение, которые здесь имеются, с помощью разного абсолютно вида. Можно использовать регулярное выражение, зачем оно нужно если наши все атрибуты, Можно использовать регулярное выражение, зачем оно нужно если наши все атрибуты, их может быть много, имеют какой-то шаблон в имени? зачем оно нужно если наши все атрибуты, их может быть много, имеют какой-то шаблон в имени? Можно это имя отобрать нужное нам, с помощью регулярки. их может быть много, имеют какой-то шаблон в имени? Можно это имя отобрать нужное нам, с помощью регулярки. Можно по типам значения использовать. Можно это имя отобрать нужное нам, с помощью регулярки. Можно по типам значения использовать. Допустим, отобрать только real значения, либо только номинальные. Можно по типам значения использовать. Допустим, отобрать только real значения, либо только номинальные. Можно отобрать только те переменные, Допустим, отобрать только real значения, либо только номинальные. Можно отобрать только те переменные, в которых нет пропущенных значений. Можно отобрать только те переменные, в которых нет пропущенных значений. Можно отобрать переменные, которые содержат какое-то конкретное значение, Можно отобрать переменные, которые содержат какое-то конкретное значение, можно отобрать один какой-то атрибут, ну и наконец, можно выбрать подмножество, чем мы сейчас и займемся. можно отобрать один какой-то атрибут, ну и наконец, можно выбрать подмножество, чем мы сейчас и займемся. Итак, на интересует переменная А3, А4, нас интересует лейбл и ID. Лейбл и ID будут использованы для идентификации наших кейсов, Итак, на интересует переменная А3, А4, нас интересует лейбл и ID. Лейбл и ID будут использованы для идентификации наших кейсов, наших ирисов, ну А1 и А2 мы поняли, Лейбл и ID будут использованы для идентификации наших кейсов, наших ирисов, ну А1 и А2 мы поняли, что разделяют наши данные не очень хорошо. наших ирисов, ну А1 и А2 мы поняли, что разделяют наши данные не очень хорошо. Так, перезапускаем все, что есть, что разделяют наши данные не очень хорошо. Так, перезапускаем все, что есть, вот у нас видите остались только А3 и А4 переменные. Сейчас давайте проверим. Ну вот действительно, судя по графику в этих двух переменных Сейчас давайте проверим. Ну вот действительно, судя по графику в этих двух переменных все три класса отличаются неплохо, и возможно это повлияло Ну вот действительно, судя по графику в этих двух переменных все три класса отличаются неплохо, и возможно это повлияло на нашу модель кластеризации. все три класса отличаются неплохо, и возможно это повлияло на нашу модель кластеризации. Вот смотрим, видите, уже получилось 50, 46 и 54 элемента. Что это означает? Вот смотрим, видите, уже получилось 50, 46 и 54 элемента. Что это означает? Мы приблизились к действительно истинному распределению Что это означает? Мы приблизились к действительно истинному распределению всех наших ирисов по классам. Вот строим график. Мы приблизились к действительно истинному распределению всех наших ирисов по классам. Вот строим график. Видим, что все три класса теперь разделились получше всех наших ирисов по классам. Вот строим график. Видим, что все три класса теперь разделились получше и можно открыть, ну давайте вот данные посмотрим и посмотрим наши самые такие подозрительные два класса, а именно versicolor и virginica, и посмотрим наши самые такие подозрительные два класса, а именно versicolor и virginica, насколько они вот уже хоть бы в начале хорошо кластеризовались. а именно versicolor и virginica, насколько они вот уже хоть бы в начале хорошо кластеризовались. Ну вот мы видим, versicolor раньше метался между первым насколько они вот уже хоть бы в начале хорошо кластеризовались. Ну вот мы видим, versicolor раньше метался между первым и вторым классом, вот этот кейс — 51, 53 точно так же сейчас они все Ну вот мы видим, versicolor раньше метался между первым и вторым классом, вот этот кейс — 51, 53 точно так же сейчас они все попадают во второй класс. и вторым классом, вот этот кейс — 51, 53 точно так же сейчас они все попадают во второй класс. Вот кое-какие кейсы, естественно, мы все помним, что все еще не очень четко разделились, Вот кое-какие кейсы, естественно, мы все помним, что все еще не очень четко разделились, тем не менее уже результат на лицо. мы все помним, что все еще не очень четко разделились, тем не менее уже результат на лицо. Это что касается просмотра нашей кластеризации, фактически, с точки зрения здравого смысла и графиков, но мы еще не оценили нашу кластеризацию с помощью фактически, с точки зрения здравого смысла и графиков, но мы еще не оценили нашу кластеризацию с помощью каких-то численных критериев. но мы еще не оценили нашу кластеризацию с помощью каких-то численных критериев. Давайте тоже это сделаем. каких-то численных критериев. Давайте тоже это сделаем. Для этого у нас есть элемент, фактически под названием Для этого у нас есть элемент, фактически под названием validation и вот в сегментации, в перфоманс есть критерии качества различные. validation и вот в сегментации, в перфоманс есть критерии качества различные. Давайте мы их построим. Итак, первое, что мы сделали, это использовали специальный элемент, который занимается тем, Итак, первое, что мы сделали, это использовали специальный элемент, который занимается тем, что сравнивает, фактически, лейбл — нашу метку или переменную это использовали специальный элемент, который занимается тем, что сравнивает, фактически, лейбл — нашу метку или переменную с ролью лейбл и переменную кластер, которую мы получили что сравнивает, фактически, лейбл — нашу метку или переменную с ролью лейбл и переменную кластер, которую мы получили с помощью уже нашего алгоритма. с ролью лейбл и переменную кластер, которую мы получили с помощью уже нашего алгоритма. Вот мы видим, для нашей переменной лейбл уверенность алгоритма в отнесении к конкретному классу, Вот мы видим, для нашей переменной лейбл уверенность алгоритма в отнесении к конкретному классу, к setosa или versicolor или virginica. уверенность алгоритма в отнесении к конкретному классу, к setosa или versicolor или virginica. Фактически, вот эту уверенность можно отдельно посчитать и сравнить с настоящим распределением, которое у нас имеется и оценить с помощью матрицы запутанности или confusion matrix, результат. Посчитать, скажем, Ф-меру какую-нибудь или confusion matrix, результат. Посчитать, скажем, Ф-меру какую-нибудь или еще что-то в таком духе, Посчитать, скажем, Ф-меру какую-нибудь или еще что-то в таком духе, чтобы понять именно загрязненность с каждого класса, или еще что-то в таком духе, чтобы понять именно загрязненность с каждого класса, который у нас есть, реального, нашей неправильной классификации. чтобы понять именно загрязненность с каждого класса, который у нас есть, реального, нашей неправильной классификации. Давайте посмотрим еще что-нибудь. который у нас есть, реального, нашей неправильной классификации. Давайте посмотрим еще что-нибудь. Например, как раз, расстояние посчитаем. Давайте посмотрим еще что-нибудь. Например, как раз, расстояние посчитаем. Итак, перетаскиваем модель, видите KLU или кластер точнее, Например, как раз, расстояние посчитаем. Итак, перетаскиваем модель, видите KLU или кластер точнее, эта модель перетаскивается сюда. Дальше, ЕХА— требует самих данных. Вот перфоманс, фактически, это то самое, что Дальше, ЕХА— требует самих данных. Вот перфоманс, фактически, это то самое, что и вычисляет наши результаты, среднее межкластерное расстояние Вот перфоманс, фактически, это то самое, что и вычисляет наши результаты, среднее межкластерное расстояние точнее внутри кластерное расстояние и вычисляет наши результаты, среднее межкластерное расстояние точнее внутри кластерное расстояние по всем сегментам здесь посчитано, по всем сегментам, внутри первого сегмента, второго, третьего. по всем сегментам здесь посчитано, по всем сегментам, внутри первого сегмента, второго, третьего. Дальше расстояние Дэвиса Болдина, можно все это увидеть на одном описании, показывает все это, фактически, метрику которую, естественно, имеет смысл можно все это увидеть на одном описании, показывает все это, фактически, метрику которую, естественно, имеет смысл сравнивать с какими-то несколькими вариантами. фактически, метрику которую, естественно, имеет смысл сравнивать с какими-то несколькими вариантами. Допустим, если мы этот результат запомним, - 0.210 сравнивать с какими-то несколькими вариантами. Допустим, если мы этот результат запомним, - 0.210 и поменяем число кластеров, ну скажем на 5, Допустим, если мы этот результат запомним, - 0.210 и поменяем число кластеров, ну скажем на 5, то мы увидим, что вот эта метрика изменилась и метрика Дэвиса Болдина, то мы увидим, что вот эта метрика изменилась и метрика Дэвиса Болдина, которая сравнивает меж и внутри кластерное расстояние тоже. и метрика Дэвиса Болдина, которая сравнивает меж и внутри кластерное расстояние тоже. Смысл такой, что мы можем для разных вариантов кластеризации посчитать этот перфоманс Смысл такой, что мы можем для разных вариантов кластеризации посчитать этот перфоманс и выбрать наилучший вариант. Вот в данном случае мы пока что не воспользовались и выбрать наилучший вариант. Вот в данном случае мы пока что не воспользовались основным преимуществом RapidMiner, Вот в данном случае мы пока что не воспользовались основным преимуществом RapidMiner, тем что процессом можно не только воспроизводить, основным преимуществом RapidMiner, тем что процессом можно не только воспроизводить, как здесь, разными параметрами, но еще и делить. тем что процессом можно не только воспроизводить, как здесь, разными параметрами, но еще и делить. Вот для этого у нас есть возможность процессы делить на части, а можем просто-напросто данные размножить возможность процессы делить на части, а можем просто-напросто данные размножить и, давайте вот, наверное, сделаем это через другой, пожалуй, элемент вот он — multiply. Значит multiply, что делает? Мы можем поступить по-разному. То есть можем, во-первых, вот такую ветку целиком скопировать Значит multiply, что делает? Мы можем поступить по-разному. То есть можем, во-первых, вот такую ветку целиком скопировать для разного числа кластеров. Для этого мы берем и То есть можем, во-первых, вот такую ветку целиком скопировать для разного числа кластеров. Для этого мы берем и подставляем multiply вот сюда, то есть извлекли ирисы наши, для разного числа кластеров. Для этого мы берем и подставляем multiply вот сюда, то есть извлекли ирисы наши, отобрали два атрибута, добавили сюда и теперь можно именно подставляем multiply вот сюда, то есть извлекли ирисы наши, отобрали два атрибута, добавили сюда и теперь можно именно эти данные в таком виде уже для другой модели использовать. отобрали два атрибута, добавили сюда и теперь можно именно эти данные в таком виде уже для другой модели использовать. Обычно Ctrl C, Ctrl V позволяет нам, как и в каком-нибудь Excel или Office в виде Word, Обычно Ctrl C, Ctrl V позволяет нам, как и в каком-нибудь Excel или Office в виде Word, скопировать целиком два элемента, и вот уже результат перфоманса от них вместить сюда. Значит здесь у нас оставим три кластера, и вот уже результат перфоманса от них вместить сюда. Значит здесь у нас оставим три кластера, здесь поставим, например, четыре. Значит здесь у нас оставим три кластера, здесь поставим, например, четыре. Для того чтобы было понятно, что к чему относится, здесь поставим, например, четыре. Для того чтобы было понятно, что к чему относится, можем переименовать результат. Для того чтобы было понятно, что к чему относится, можем переименовать результат. Давайте напишем кластер 3, а здесь — кластер 4. можем переименовать результат. Давайте напишем кластер 3, а здесь — кластер 4. Перезапускаем все это и вот, как видите, у нас наверху эти два названия, которые мы привели, Перезапускаем все это и вот, как видите, у нас наверху эти два названия, которые мы привели, в виде вкладок уже зафиксировались. у нас наверху эти два названия, которые мы привели, в виде вкладок уже зафиксировались. Мы точно понимаем, к чему относится каждый из этих результатов. в виде вкладок уже зафиксировались. Мы точно понимаем, к чему относится каждый из этих результатов. Вот фактически значение, когда кластера стало 4 — увеличивается и индекс Дэвиса Болдина он при увеличении числа сегментов, Вот фактически значение, когда кластера стало 4 — увеличивается и индекс Дэвиса Болдина он при увеличении числа сегментов, наоборот, возрастает. Так как он, фактически, содержит отношение и индекс Дэвиса Болдина он при увеличении числа сегментов, наоборот, возрастает. Так как он, фактически, содержит отношение внутри меж кластерное расстояние, наоборот, возрастает. Так как он, фактически, содержит отношение то это, естественно, имеет объяснение. внутри меж кластерное расстояние,
наоборот, возрастает. Так как он, фактически, содержит отношение наоборот, возрастает. Так как он, фактически, содержит отношение то это, естественно, имеет объяснение. то это, естественно, имеет объяснение. Когда вот этот параметр падает, этот естественно будет расти. то это, естественно, имеет объяснение. Когда вот этот параметр падает, этот естественно будет расти. Чем больше кластеров, тем, на самом деле, они выделяются точнее и внутри каждого сегмента, внутри сегмент расстояние, естественно, будет падать. они выделяются точнее и внутри каждого сегмента, внутри сегмент расстояние, естественно, будет падать. Поэтому, фактически, если кластеров будет совсем много, внутри сегмент расстояние, естественно, будет падать. Поэтому, фактически, если кластеров будет совсем много, допустим, здесь мы поставим 10 штук, Поэтому, фактически, если кластеров будет совсем много, допустим, здесь мы поставим 10 штук, здесь не забываем изменить название, чтобы не забыть потом, что мы анализируем, то мы этот эффект тоже увидим. Видите, совсем становится расстояние все меньше и меньше по модулю, Дэвис Болдин еще сильнее возрастает. Видите, совсем становится расстояние все меньше и меньше по модулю, Дэвис Болдин еще сильнее возрастает. То есть чем больше кластеров, и меньше по модулю, Дэвис Болдин еще сильнее возрастает. То есть чем больше кластеров, тем меньше внутри кластерное расстояние и, казалось бы, тем лучше. То есть чем больше кластеров, тем меньше внутри кластерное расстояние и, казалось бы, тем лучше. То есть, формально наши кластеры становятся внутри себя тем меньше внутри кластерное расстояние и, казалось бы, тем лучше. То есть, формально наши кластеры становятся внутри себя похожими больше, подбирают больше похожие объекты. То есть, формально наши кластеры становятся внутри себя похожими больше, подбирают больше похожие объекты. Но по факту, если мы не учитываем межкластерное расстояние, похожими больше, подбирают больше похожие объекты. Но по факту, если мы не учитываем межкластерное расстояние, мы можем получить тот факт, что делим Но по факту, если мы не учитываем межкластерное расстояние, мы можем получить тот факт, что делим на слишком большое число сегментов, которое, на самом деле, мы можем получить тот факт, что делим на слишком большое число сегментов, которое, на самом деле, пересекаются и они самим по себе сближаются. на слишком большое число сегментов, которое, на самом деле, пересекаются и они самим по себе сближаются. недостаточно, чтобы что-то считать. Конечно, поэтому только одной метрики для этого качества
пересекаются и они самим по себе сближаются. Конечно, поэтому только одной метрики для этого качества недостаточно, чтобы что-то считать. недостаточно, чтобы что-то считать. Вот таким образом с помощью элемента размножить недостаточно, чтобы что-то считать. Вот таким образом с помощью элемента размножить мы получаем несколько веток, Вот таким образом с помощью элемента размножить мы получаем несколько веток, для того чтобы отобрать наилучшее решение. мы получаем несколько веток, для того чтобы отобрать наилучшее решение. Можно, скажем, в этой кластеризации для того чтобы отобрать наилучшее решение. Можно, скажем, в этой кластеризации оставить одинаковое число сегментов, но изменить число итераций, либо изменить расстояние. Вот можем сравнить расстояние наше обычное евклидово и квадратичное. Соответственно здесь я напишу, что расстояние для трех кластеров квадратичное. Соответственно здесь я напишу, что расстояние для трех кластеров квадратичное. Проверяем, да, так оно и есть. Вот видим, что разница фактически здесь незначительная внутри меж кластерного расстояния Вот видим, что разница фактически здесь незначительная внутри меж кластерного расстояния и здесь тоже отличается буквально на одну тысячную. незначительная внутри меж кластерного расстояния и здесь тоже отличается буквально на одну тысячную. То есть, по-хорошему при одинаковом числе кластеров, как видите, здесь разница незначительная. То есть, по-хорошему при одинаковом числе кластеров, как видите, здесь разница незначительная. Ну и как вы помните, у нас действительно при разном расстоянии, для трех кластеров, просто-напросто один и тот же объект Ну и как вы помните, у нас действительно при разном расстоянии, для трех кластеров, просто-напросто один и тот же объект перемещался из одного сегмента в другой, то есть изменения были косметические перемещался из одного сегмента в другой, то есть изменения были косметические и влияние наибольшее оказывали именно разные переменные. Ну вот для того, чтобы разные переменные посмотреть, какие на кластеризацию влияют лучше или хуже, Ну вот для того, чтобы разные переменные посмотреть, какие на кластеризацию влияют лучше или хуже, можем, соответственно, multiply поставить уже в другом месте. какие на кластеризацию влияют лучше или хуже, можем, соответственно, multiply поставить уже в другом месте. Давайте вот здесь сделаем одинаковые расстояния тогда, обычное евклидово раз оно не влияет и элемент multiply перетащим вот сюда. обычное евклидово раз оно не влияет и элемент multiply перетащим вот сюда. И именно исходные данные, в одном случае, будут чистыми, без отбора, а во втором случае в виде только двух переменных. И именно исходные данные, в одном случае, будут чистыми, без отбора, а во втором случае в виде только двух переменных. Вот видите уже довольно сильно отличается расстояние, там, где было 4 переменных расстояние побольше по модулю. Вот видите уже довольно сильно отличается расстояние, там, где было 4 переменных расстояние побольше по модулю. Там,где их две — расстояние становится меньше. где было 4 переменных расстояние побольше по модулю. Там,где их две — расстояние становится меньше. То есть, фактически, это означает, что для 4 переменных наш метод работал менее точно, То есть, фактически, это означает, что для 4 переменных наш метод работал менее точно, чем вот в этом случае, когда мы оставили только что для 4 переменных наш метод работал менее точно, чем вот в этом случае, когда мы оставили только две разделяющие переменные, то что у нас в данных имеется. чем вот в этом случае, когда мы оставили только две разделяющие переменные, то что у нас в данных имеется. То есть, как видите, влияние разных параметров, две разделяющие переменные, то что у нас в данных имеется. То есть, как видите, влияние разных параметров, здесь довольно четко прослеживается на наши данные исходные, То есть, как видите, влияние разных параметров, здесь довольно четко прослеживается на наши данные исходные, на результат и, таким образом, здесь довольно четко прослеживается на наши данные исходные, на результат и, таким образом, когда вы в реальной жизни, в реальном процессе на результат и, таким образом, когда вы в реальной жизни, в реальном процессе пытаетесь поисковым методом что-то обнаружить, когда вы в реальной жизни, в реальном процессе пытаетесь поисковым методом что-то обнаружить, какие-то закономерности, вы можете, в принципе, пытаетесь поисковым методом что-то обнаружить, какие-то закономерности, вы можете, в принципе, один и тот же алгоритм сюда вот так размножить, какие-то закономерности, вы можете, в принципе, один и тот же алгоритм сюда вот так размножить, разными абсолютно данными манипулировать. один и тот же алгоритм сюда вот так размножить, разными абсолютно данными манипулировать. То есть отобрать те данные, эти данные, преобразовать их как-то и уже на качественную метрику какую-то смотреть, для того чтобы отобрать лучшую ветку. и уже на качественную метрику какую-то смотреть, для того чтобы отобрать лучшую ветку. Все вот это можно поместить в один подпроцесс, то есть необязательно на окошке исходном все это держать, Все вот это можно поместить в один подпроцесс, то есть необязательно на окошке исходном все это держать, можно все наши элементы, которые здесь есть поместить внутрь. то есть необязательно на окошке исходном все это держать, можно все наши элементы, которые здесь есть поместить внутрь. Давайте, наверное, так и сделаем для примера, Ctrl и щелчок позволяют нам все это выделить, Ctrl V — позволяет нам скопировать все что есть и таким образом мы, все что у нас вверху поместили в отдельное окошко. и таким образом мы, все что у нас вверху поместили в отдельное окошко. Оно будет работать точно также, абсолютно, как и раньше, просто для удобства мы его помести вот сюда. Оно будет работать точно также, абсолютно, как и раньше, просто для удобства мы его помести вот сюда. Ну и как видите здесь можно комментарии поставить какие-то, как и раньше, просто для удобства мы его помести вот сюда. Ну и как видите здесь можно комментарии поставить какие-то, для того чтобы себе же сделать пометку, Ну и как видите здесь можно комментарии поставить какие-то, для того чтобы себе же сделать пометку, ну или для уже не вас, а какого-то бизнес заказчика, для того чтобы себе же сделать пометку, ну или для уже не вас, а какого-то бизнес заказчика, что именно в этом подпроцессе находится. ну или для уже не вас, а какого-то бизнес заказчика, что именно в этом подпроцессе находится. Можно писать по-русски, можно по-английски, как хотите, можно цвет поменять. Можно писать по-русски, можно по-английски, как хотите, можно цвет поменять. В принципе если вы откроете примеры RapidMiner, там как раз комментариями и вот этими цветовыми метками пользуются очень активно, для того чтобы подчеркнуть там как раз комментариями и вот этими цветовыми метками пользуются очень активно, для того чтобы подчеркнуть те или иные элементы процесса. пользуются очень активно, для того чтобы подчеркнуть те или иные элементы процесса. Таким образом вы можете выстраивать процесс, можете его сохранить и довольно удобным способом воспроизводить при поступлении новых данных. можете его сохранить и довольно удобным способом воспроизводить при поступлении новых данных. Скажем, вы занимается маркетинговым каким-то анализом, воспроизводить при поступлении новых данных. Скажем, вы занимается маркетинговым каким-то анализом, каждый раз, каждый год там или раз в несколько месяцев Скажем, вы занимается маркетинговым каким-то анализом, каждый раз, каждый год там или раз в несколько месяцев вы проводите примерно одинаковые исследования описательные, собираете, по одним и тем же вопросам данные от разных категорий людей, чтобы отследить динамику собираете, по одним и тем же вопросам данные от разных категорий людей, чтобы отследить динамику каких-то метрик рыночных. Вот вы эти данные собрали — первый раз, второй, третий — на этапе получения данных заменили, вот в этом процессе их, а все остальное оставили, как есть. Можете увидеть, как раз, как этот процесс одинаково настроенный на эту анкету, на эти вопросы будет отрабатывать Можете увидеть, как раз, как этот процесс одинаково настроенный на эту анкету, на эти вопросы будет отрабатывать в новой уже итерации опрошенных. на эту анкету, на эти вопросы будет отрабатывать в новой уже итерации опрошенных. Можно вот здесь, например, все ваши данные выносить, как отдельные источники и, фактически, эти источники сохранять Можно вот здесь, например, все ваши данные выносить, как отдельные источники и, фактически, эти источники сохранять вот тут, и в таком стиле просто подставлять их для вашего процесса как отдельные источники и, фактически, эти источники сохранять вот тут, и в таком стиле просто подставлять их для вашего процесса для того чтобы сравнить ваши результаты, за этот год, вот тут, и в таком стиле просто подставлять их для вашего процесса для того чтобы сравнить ваши результаты, за этот год, за предыдущий год, что довольно удобно. для того чтобы сравнить ваши результаты, за этот год, за предыдущий год, что довольно удобно. Итак, это что касается в целом принципов работы с RapidMiner. Итак, вот здесь у нас, слева внизу — основные операторы, Итак, это что касается в целом принципов работы с RapidMiner. Итак, вот здесь у нас, слева внизу — основные операторы, вы можете искать их по названию, можете их искать, просто кликая. Итак, вот здесь у нас, слева внизу — основные операторы, вы можете искать их по названию, можете их искать, просто кликая. Допустим хочу найти k-means. вы можете искать их по названию, можете их искать, просто кликая. Допустим хочу найти k-means. вот я его уже нахожу. Хочу найти дерево решений — design tree, вот я его нахожу. Хочу найти ассоциативные правила. вот я его уже нахожу. Хочу найти дерево решений — design tree, вот я его нахожу. Хочу найти ассоциативные правила. Вот здесь тоже мы все находим, что довольно удобно. Процессы можно ветвить, можно замыкать. Вот здесь тоже мы все находим, что довольно удобно. Процессы можно ветвить, можно замыкать. В принципе вы можете вашу последовательность команд абсолютно разным способом, абсолютно любым, организовать так, В принципе вы можете вашу последовательность команд абсолютно разным способом, абсолютно любым, организовать так, чтобы ваш процесс был воспроизводим, удобен, интеративен, абсолютно разным способом, абсолютно любым, организовать так, чтобы ваш процесс был воспроизводим, удобен, интеративен, настроен на разные варианты данных, повторялся до тех пор, чтобы ваш процесс был воспроизводим, удобен, интеративен, настроен на разные варианты данных, повторялся до тех пор, пока вы не достигли какого-то значения критерия настроен на разные варианты данных, повторялся до тех пор, пока вы не достигли какого-то значения критерия при подборе параметров ваших значений. В принципе, что-то вроде grid search в Питоне, при подборе параметров ваших значений. В принципе, что-то вроде grid search в Питоне, когда вы подбираете по сетке оптимально значение параметров В принципе, что-то вроде grid search в Питоне, когда вы подбираете по сетке оптимально значение параметров для какого-то метода, здесь тоже можно организовать. когда вы подбираете по сетке оптимально значение параметров для какого-то метода, здесь тоже можно организовать. Ну и говоря о эра питония, кратенько пока скажу, вот здесь есть меню Extensions, соответственно, в маркетплейс RapidMiner Ну и говоря о эра питония, кратенько пока скажу, вот здесь есть меню Extensions, соответственно, в маркетплейс RapidMiner можно найти разные абсолютно пакеты, включая пакеты, вот здесь есть меню Extensions, соответственно, в маркетплейс RapidMiner можно найти разные абсолютно пакеты, включая пакеты, связанные с интеграцией с Питоном. можно найти разные абсолютно пакеты, включая пакеты, связанные с интеграцией с Питоном. Вот здесь, видите? связанные с интеграцией с Питоном. Вот здесь, видите? Питон скриптинг — I с R. Вот здесь, видите? Питон скриптинг — I с R. Сами эти элементы довольно простые, вы, фактически, после скачивания пакетов получаете еще один оператор. вы, фактически, после скачивания пакетов получаете еще один оператор. Оператор, который можно вот также выносить здесь, в таком виде, но в качестве параметров вы вносите не сами параметры, а просто скрипт, как если бы вы писали скрипт на R напрямую в его среде вы вносите не сами параметры, а просто скрипт, как если бы вы писали скрипт на R напрямую в его среде или на питоне. Этот скрипт вызывает интерпретатор R как если бы вы писали скрипт на R напрямую в его среде или на питоне. Этот скрипт вызывает интерпретатор R или Питона, который вы должны отдельно установить, или на питоне. Этот скрипт вызывает интерпретатор R или Питона, который вы должны отдельно установить, выполняется именно там и результат передает обратно в RapidMiner. или Питона, который вы должны отдельно установить, выполняется именно там и результат передает обратно в RapidMiner. То есть, если каких-то методов вам тут не хватает, выполняется именно там и результат передает обратно в RapidMiner. То есть, если каких-то методов вам тут не хватает, но вы хотите пользоваться визуальным проектированием То есть, если каких-то методов вам тут не хватает, но вы хотите пользоваться визуальным проектированием и интеграциями с каким-то данными, которые здесь есть, вы можете использовать именно такой подход. В целом в RapidMiner, конечно, в каждой версии функций становится все больше, и визуализация становится все более качественной, В целом в RapidMiner, конечно, в каждой версии функций становится все больше, и визуализация становится все более качественной, поэтому в какой-то момент может быть вам такая интеграция все больше, и визуализация становится все более качественной, поэтому в какой-то момент может быть вам такая интеграция не понадобиться. Ну вот в настоящее время это дает вам поэтому в какой-то момент может быть вам такая интеграция не понадобиться. Ну вот в настоящее время это дает вам какую-то гибкость, если какие-то методы у вас уже настроены, не понадобиться. Ну вот в настоящее время это дает вам какую-то гибкость, если какие-то методы у вас уже настроены, и вы переходите на RapidMiner для большей автоматизации, гибкости и удобства ваших процессов, и вы переходите на RapidMiner для большей автоматизации, гибкости и удобства ваших процессов, скажем для внедрения всего этого для бизнес-пользователей, гибкости и удобства ваших процессов, скажем для внедрения всего этого для бизнес-пользователей, то можете ваши наработанные скрипты так же здесь использовать. скажем для внедрения всего этого для бизнес-пользователей, то можете ваши наработанные скрипты так же здесь использовать. Спасибо за внимание, уважаемые слушатели. Вкратце мы рассмотрели основные функции RapidMiner и принцип работы с ним, надеюсь это вам поможет Вкратце мы рассмотрели основные функции RapidMiner и принцип работы с ним, надеюсь это вам поможет сделать свои эксперименты, как на данных, и принцип работы с ним, надеюсь это вам поможет сделать свои эксперименты, как на данных, которые здесь имеются в примерах, так и на своих данных. сделать свои эксперименты, как на данных, которые здесь имеются в примерах, так и на своих данных. Спасибо за внимание. которые здесь имеются в примерах, так и на своих данных. Спасибо за внимание.