Talk:Изучение дерева решений

Без названия

Я очень благодарен за работу, проделанную в этой статье, но я думаю, что в ней не хватает нескольких ключевых моментов, которые были бы полезны читателям. Во-первых, в ней не обсуждается обрезка — что ее обусловливает и какие алгоритмы используются для ее проведения? Во-вторых, хотя загрязнение Джини и прирост информации обсуждаются в своем собственном разделе, в ней не обсуждается их применение в построении деревьев решений (т. е. в качестве критериев выбора значений, по которым следует разбить узел).

Надеюсь, эти замечания не будут неуместными; это мой первый вклад в Википедию, и я полагаю, что мне следует пойти поиграть в песочнице, а затем самостоятельно дополнить статью, а?

Yoy riblet 04:41, 18 июля 2007 (UTC) [ ответить ]

Также отсутствует раздел о _недостатках_ деревьев решений. Например, ISTM, что дерево решений может разделить область ввода только линиями, параллельными осям (нейронные сети не имеют этого ограничения). - Thenickdude ( обсуждение ) 02:20, 3 ноября 2008 (UTC) [ ответить ]

Я обеспокоен тем, что пример на этой странице без необходимости скопирован без указания источника из статьи Куинлана "Индукция деревьев решений" - в частности, содержимое и организация таблицы напрямую скопированы из Таблицы 1. Это вряд ли можно считать добросовестным использованием, поскольку конкретный пример не нужен для комментария к методу, не говоря уже о деревьях решений в целом. Я предлагаю создать новый пример для этой статьи (я не думаю, что Wikipedia:No original research является здесь проблемой, поскольку мы описываем деревья решений в целом, а не какой-либо конкретный алгоритм). Dcoetzee 00:10, 1 марта 2009 (UTC) [ ответить ]
Согласен — пример, похоже, взят из Квинлана с некоторыми изменениями. Что еще важнее с педагогической точки зрения, пример не о деревьях решений в машинном обучении, а о деревьях решений в анализе решений, так что он не на той странице. Я удаляю этот раздел, так как не вижу никакой пользы от его включения в эту статью. -- mcld ( talk ) 11:49, 3 ноября 2009 (UTC) [ ответить ]
По теме: пример странный. Целевая переменная — это своего рода мнимая категориальная переменная со значениями «Играть» или «Не играть», когда на самом деле измеряется количество людей, которые приходят в определенный день. В примере говорится о решениях так, как будто они описывают группы людей, что является натяжкой по сравнению с данными. Если нет возражений, я придумаю совершенно другой пример, используя данные Википедии. riedl 12 июня 2009 г.

Ссылки

При всем уважении к работе докторов Тана и Доу -- я сомневаюсь, что многочисленные ссылки на их публикации имеют первостепенное значение для обзорной статьи по теме "Изучение дерева решений". Это можно пересмотреть. BM 128.31.35.198 (обсуждение) 13:37, 24 апреля 2009 (UTC) [ ответить ]

Согласен - куча лишних цитат совершенно не нужна. Удалено. -- mcld ( обсуждение ) 12:03, 3 ноября 2009 (UTC) [ ответ ]

Плохое объяснение.

Я прочитал общее описание несколько раз и запутался. Во-первых, что такое целевая переменная в графике? Под каждым листом есть два числа (предположу, что это вероятность выживания). Что такое исходный набор? Набор пассажиров? Как вы назначаете вероятность выживания данному пассажиру? Что означает "... когда подмножество в узле имеет одинаковое значение целевой переменной"? Пассажиры с одинаковой вероятностью выживания? График будет иметь смысл только как иллюстрация, если отображение между ним и общим описанием будет сделано явным на каждом шаге. Bartosz ( talk ) 19:46, 10 июня 2011 (UTC) [ ответить ]

Включение «QuickDT» в список реализаций

Два дня назад в список реализаций была добавлена ​​новая реализация обучения на основе дерева решений под названием QuickDT. Это произошло после того, как QuickDT был опубликован на reddit/r/MachineLearning, получив благоприятный отклик, а также на mloss.org. Он уже используется в коммерческих целях, и его автор хорошо известен.

Вскоре после этого сообщение было удалено пользователем User:X7q с пояснением: «Википедия — не место для продвижения ваших любимых проектов».

По моему мнению, включение QuickDT в этот список имеет столько же оснований, как и любая из уже перечисленных реализаций, поэтому я восстановил ссылку.

Если Пользователь:X7q захочет подробнее объяснить, почему он считает, что данная реализация обучения на основе дерева решений не должна быть включена в этот список реализаций обучения на основе дерева решений, я с радостью это обсужу.

--Javalangstring ( обсуждение ) 15:59, 22 сентября 2011 г. (UTC) [ ответ ]

Прежде всего, вам не следует добавлять ссылки на свой собственный сайт ( WP:EL#ADV , WP:COI ). В комментарии вы написали: "Это список реализаций обучения на основе дерева решений (которых не так уж много)". Оба ваших пункта неверны. Википедия — это не набор ссылок . Деревья решений — очень популярный инструмент для добычи данных, и, как следствие, существует множество алгоритмов деревьев решений и их реализаций, как с открытым, так и с закрытым исходным кодом. И их не так уж сложно реализовать, поэтому я полагаю, что многие студенты, изучающие эту тему (включая меня давным-давно), реализовали их — я не вижу, чем это отличается от того, что сделали вы. -- X7q ( обсуждение ) 21:35, 22 сентября 2011 (UTC) [ ответить ]
Если вы не можете найти достойную реализацию дерева решений в Google, то вы, вероятно, гуглите не те ключевые слова. Не гуглите "ID3", "CART", "C4.5" и т. д. - ими больше никто не пользуется. Ансамбли - это начало искусства сегодня. Гуглите AdaBoost, случайный лес или, если привести более свежий пример, аддитивные рощи - все эти алгоритмы используют деревья решений в качестве строительных блоков. -- X7q ( talk ) 21:47, 22 сентября 2011 (UTC) [ ответить ]
Я понимаю вашу точку зрения, что добавление ссылки на проект, с которым я связан, может быть нарушением буквы правил. Однако я не считаю, что это «конфликт» интересов, поскольку у меня нет коммерческого интереса в этом проекте. Моя единственная мотивация — удовлетворить потребность в простой в использовании библиотеке дерева решений Java. В этом отношении мои интересы совпадают, а не противоречат целям Википедии.
Хотя мы и придерживаемся правил Википедии, я считаю, что они также утверждают, что вы должны предполагать добросовестность WP:AGF , чего вы не сделали, когда подвергли сомнению мои мотивы в своей первоначальной редакции: "Википедия - не место для продвижения ваших любимых проектов". Если бы моей целью была самореклама, я бы мог придумать лучшие способы сделать это, чем ссылка из малоизвестной статьи Википедии на страницу GitHub, где мое имя едва упоминается.
Я очень усердно искал библиотеку Java для обучения на основе дерева решений до внедрения QuickDT, и могу вас заверить, что я опытный пользователь Google. Я нашел две: jaDTi, у которой ужасный API, и она бездействует с 2004 года, и Weka, у которой тоже ужасный API, совсем не идиоматическая Java (они используют Vectors и необобщенные коллекции, черт возьми), и она пожирает ресурсы. Я потратил несколько недель, пытаясь сделать так, чтобы каждая из них соответствовала моим потребностям, но они не смогли этого сделать. Обучающиеся на основе дерева решений, возможно, несложно реализовать, но для написания хорошей библиотеки нужно больше, чем просто реализовать алгоритм, вам также понадобится хорошо спроектированный API.
Короче говоря, хороших вариантов Java нет.
Я знаком с ансамблями, они не всем подходят. В моей конкретной ситуации мне требовалась 100% точность припоминания на обучающем наборе, и в этом случае ансамбли вырождаются в простых обучающихся на основе дерева решений. Ансамбли также менее подходят, если ваша цель — получить некоторое представление о данных, а не просто хорошее предсказательное поведение.
Вот почему я изначально пришел на эту страницу об обучении на основе дерева решений, а не на страницу об ансамблях. Даже если вы считаете алгоритмы обучения на основе дерева решений устаревшими, они являются предметом этой статьи, и вы не должны предполагать, что посетители этой статьи на самом деле ищут что-то другое, когда приходят сюда.
Из-за WP:COI я не буду вносить никаких дальнейших правок по этому вопросу, однако прошу вас пересмотреть свое удаление ссылки в свете моих аргументов выше. Если вы решите против этого, я могу запросить арбитраж третьей стороны. Javalangstring ( talk ) 22:32, 22 сентября 2011 (UTC) [ ответить ]
"На основании этого исследования, есть только два дерева решений Java". Только среди известных библиотек. Вероятно, есть тонны менее известного кода, реализующего деревья решений, вероятно, как часть чего-то большего, например, ансамблевых методов. Например, случайные леса в Apache Mahout. Там есть код DT, просто его, возможно, немного сложнее использовать повторно. И почему Java? Мы не Javapedia, давайте избегать предвзятости к определенным языкам. -- X7q ( обсуждение ) 23:08, 22 сентября 2011 (UTC) [ ответить ]
"требуется 100% точность припоминания на обучающем наборе": Какое странное требование. Однако его очень легко выполнить — просто запомните обучающий набор (1-NN). -- X7q ( обсуждение ) 23:08, 22 сентября 2011 (UTC) [ ответить ]
"Weka, у которой также ужасный API", что поскольку она разработана как очень универсальная, в ней есть все и кухонная раковина. Если бы я был вами, я бы написал обертку вокруг нее, вместо того чтобы тратить время на повторную реализацию и отладку. -- X7q ( talk ) 23:08, 22 сентября 2011 (UTC) [ ответить ]
Может быть "менее известный код", но тип человека, который найдет эту страницу и, возможно, захочет поэкспериментировать с деревьями решений, не захочет расшифровывать уродливый API Weka, и не захочет извлекать соответствующие части кодовой базы Mahout. Им нужна отдельная библиотека с хорошо спроектированным API, и сейчас единственный вариант, если они используют Java, — это QuickDT.
Есть отличная недавняя книга по машинному обучению - http://www-ist.massey.ac.nz/smarsland/MLbook.html - которая содержит простые для понимания реализации базовых алгоритмов, включая деревья решений. Полезно для новичков, пытающихся понять алгоритмы: она предлагает как объяснения, так и код для их демонстрации. Она написана на Python, который, однако, является довольно популярным языком в сообществе машинного обучения. Доступны только исходные тексты из книги. Я думаю, было бы лучше указать читателям на эту книгу, чем на новую неизвестную библиотеку. -- X7q ( обсуждение ) 00:58, 23 сентября 2011 (UTC) [ ответ ]
Вы путаете две отдельные потребности. Одна из них — желание понять алгоритмы, другая — желание их использовать. QuickDT предназначен для последнего. Ваше определение «неизвестного» субъективно, библиотека привлекла внимание на ряде веб-сайтов, посвященных машинному обучению. Людям нужны разнообразные возможности на разных языках — Javalangstring ( обсуждение ) 01:19, 23 сентября 2011 (UTC) [ ответить ]
"Им нужна отдельная библиотека с хорошо спроектированным API", - когда я ищу библиотеку для использования в реальном проекте, лично меня больше волнует ее проверенная стабильность, отсутствие ошибок и количество пользователей, чем API. Сейчас Weka - явный победитель. -- X7q ( talk ) 01:04, 23 сентября 2011 (UTC) [ ответить ]
Почему должен быть один "победитель", и почему вы должны быть судьей? Вы должны отложить в сторону свои личные мнения, когда выступаете в роли редактора Википедии. Позвольте читателям решать, как им расставить приоритеты в этих вещах -- Javalangstring ( обсуждение ) 01:19, 23 сентября 2011 (UTC) [ ответить ]
Почему Java? Потому что согласно широко используемым показателям это самый популярный в мире язык программирования и он особенно хорошо подходит для задач с интенсивной загрузкой процессора, таких как машинное обучение. Вероятно, что больше читателей этой страницы будут знакомы с Java, чем с большинством или всеми другими языками, поэтому я не думаю, что это "предвзятость" для обеспечения его хорошей представленности.
Полный отзыв на самом деле не является странным требованием для реального использования машинного обучения. Он позволяет гарантировать, что алгоритм обучения будет демонстрировать правильное поведение на известных данных, что очень полезно во многих сценариях. И да, этого легко достичь с помощью алгоритма дерева решений, но, как я уже сказал, это приводит к тому, что ансамблевые алгоритмы вырождаются в простые алгоритмы дерева решений, не принося никакой выгоды.
За счет гораздо худшей производительности на неизвестных данных из-за слабого алгоритма! Вы вообще делаете перекрестную проверку? Это стандартный способ проверить, что алгоритм хорошо работает на известных данных. -- X7q ( talk ) 00:58, 23 сентября 2011 (UTC) [ ответить ]
Вы не знаете, что алгоритм слаб, и вам не следует принимать редакционные решения, основанные на таких предположениях. На самом деле нет причин быть покровительственным, я работаю в области машинного обучения более 15 лет, я точно знаю, что такое перекрестная проверка, я ем, пью и сплю с ней -- Javalangstring ( обсуждение ) 01:19, 23 сентября 2011 (UTC) [ ответить ]
API Weka ужасен не потому, что он разработан, чтобы быть универсальным, он ужасен потому, что его API был разработан до современных возможностей языка Java и соглашений о проектировании API, и он никогда не обновлялся, чтобы воспользоваться ими. Например, он интенсивно использует класс "Vector", который был фактически устарел в 1998 году с выпуском Java 1.2 из-за его неэффективности. Затем Weka заменила его своим собственным специально созданным классом FastVector, чтобы устранить его неэффективность, но он не реализует ни один из интерфейсов коллекций Java. Если вы знаете каких-либо разработчиков Java, заставьте их взглянуть на API Weka, они отшатнутся в ужасе.
Написание оболочки для Weka было бы похоже на накладывание помады на губы свиньи и могло бы устранить лишь некоторые из его недостатков, но не его высокое потребление ресурсов и тот факт, что он требует предварительной обработки набора данных для перечисления всех значений в номинальных полях.
Я думаю, совершенно ясно, что мы не придем к согласию, я запросю третье мнение, и если они согласятся с вами, я откажусь от этого --Javalangstring ( обсуждение ) 00:21, 23 сентября 2011 (UTC) [ ответ ]

Я мог бы подойти к этому с другой стороны: известность и надежные источники . Обсуждался ли этот проект в научных работах? Упоминался ли он в новостях? Осветили ли QuickDT надежные источники, так что мы можем с пользой осветить и обсудить его в энциклопедическом смысле, в идеале даже написать статью о нем? Если да, то я бы сказал, что он определенно заслуживает упоминания. Если нет, то я более сомнителен в отношении его включения. Я не имею в виду ничего плохого в отношении самого проекта (на самом деле, я думаю, что он довольно крут!), но в конечном счете каждый год запускается бесчисленное множество программных проектов, и трудно решить, какие из них следует упомянуть здесь. (Как бы то ни было, я бы сказал, что это также касается другой внешней ссылки, "Sipina"). – Luna Santin ( обсуждение ) 05:18, 26 сентября 2011 (UTC) [ ответить ]

Байесовский CART

Я удивлен, что нет информации о Bayesian CART. Он сейчас активно используется во многих моделях. Кто-нибудь должен добавить информацию об этом на страницу.


Поиск модели Байесовского CART. Хью Чипман, Эдвард И. Джордж и Роберт Э. Маккалок

Это статья, в которой говорится о байесовском методе создания деревьев. Эта статья была процитирована 298 раз. Многие современные модели деревьев используют ее в качестве основы для создания деревьев. 74.56.25.108 (обсуждение) 23:37, 25 сентября 2011 (UTC) [ ответить ]

Плохой пример дерева

Вместо того, чтобы создавать насыщенный контекст, использование выживания на Титанике в качестве примера вызывает ненужные (здесь) политические и социальные отвлечения, и его следует заменить менее сложным примером. Существующий пример отвлекает читателя вопросами о роли женщин в начале 20-го века и о том, почему богатство (класс размещения) было опущено автором примера. Кроме того, решения, основанные на значениях 0,5 целых чисел (возраст; количество братьев и сестер + супругов), излишне запутывают. Я не эксперт в деревьях решений, поэтому обращаюсь к тем, кто более знаком с темой, чтобы предложить лучший пример дерева решений. Knowthhill (обсуждение) 17:04, 14 апреля 2013 (UTC) [ ответить ]

Согласен, нет ссылок на указанные значения. Другой цитируемый пример был бы хорош. -- Salix ( обсуждение ): 19:09, 14 апреля 2013 (UTC) [ ответить ]

Еще один комментарий относительно примера выживания на Титанике: символы вводят в заблуждение и неверны. Если одна ветвь — «возраст<3», другая должна быть «возраст>=3», а не «возраст<=3» и т. д. — Предыдущий неподписанный комментарий добавлен 2A02:8108:50BF:FCC4:295E:1EAE:3A4C:A987 (обсуждение) 10:58, 9 декабря 2022 (UTC) [ ответить ]

Хотя и коэффициент Джини (на связанной странице в разделе «Примеси Джини»), и мера примеси Джини (используемая здесь) были созданы одним и тем же человеком (Джини), они не связаны друг с другом. Я считаю, что ссылка здесь в том виде, в котором она написана, может заставить кого-то поверить, что это одно и то же. Возможно, вместо «Основная статья: Коэффициент Джини» было бы лучше написать «Не путать с: Коэффициент Джини». Лучшая цитата, которую я нашел для этого, это (страница 8) 38.99.52.154 (обсуждение) 20:58, 12 марта 2014 (UTC)Натан [ ответить ]

Действуй!
Если вам интересно, в Template:Distinguish#Usage есть документация о том, как сделать так, чтобы было написано «не путать с».
Yaris678 ( обсуждение ) 07:58, 13 марта 2014 (UTC) [ ответить ]
Круто. Yaris678 ( обсуждение ) 08:25, 14 марта 2014 (UTC) [ ответить ]

Раздел «Использование»

Должен быть раздел, рассказывающий о том, для чего деревья решений используются в реальной жизни. Richard☺Decal ( обсуждение ) 20:08, 24 марта 2017 (UTC) [ ответить ]

Сомнительное утверждение в первой строке «Ограничений»: «Деревья, как правило, не столь точны, как другие подходы».

Это, по-видимому, очень осуждающее, но и очень спорное заявление, поэтому его следует либо подкрепить дополнительными обоснованиями и пояснениями, либо переписать, либо удалить.

Ссылка на один учебник, к которому у меня нет доступа. С другой стороны, я мог бы сослаться на несколько сотен научных статей, свидетельствующих об обратном, включая такие известные, как работа Бреймана*** (и справедливости ради, я мог бы также добавить несколько ссылок из статей, которые могут предоставить дополнительную поддержку исходному утверждению).

Я не хочу начинать войну редакторов, но будет ли справедливо смягчить это заявление?

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

      • Вот несколько примеров, которые я быстро взял себе в качестве примеров:

Брейман, Л. Машинное обучение (2001) 45: 5. doi:10.1023/A:1010933404324

Брейман. Л. (1998b). Рандомизация выходов для повышения точности прогнозирования. Технический отчет 518, 1 мая 1998 г., Департамент статистики, UCB (в печати, Machine Learning).

96.244.43.227 (обсуждение) 12:50, 27 мая 2017 (UTC) [ ответить ]

Редакционная кампания «Decision Stream»

Эта статья стала целью (очевидной) кампании по вставке «Decision Stream» на различные страницы Википедии о машинном обучении. «Decision Stream» относится к недавно опубликованной статье, которая в настоящее время не имеет ни одного академического цитирования. [1] Количество статей, которые были специально отредактированы для включения «Decision Stream» в течение последних нескольких месяцев, предполагает редактирование с целью конфликта интересов кем-то, кто хочет рекламировать эту статью. Они отслеживают эти страницы и быстро отменяют любые правки, чтобы удалить этот контент.

Известные целевые статьи:

BustYourMyth ( обсуждение ) 19:15, 26 июля 2018 (UTC) [ ответить ]

Дорогой BustYourMyth,

 Ваша деятельность весьма подозрительна: регистрация пользователя только для того, чтобы удалить упоминание одной популярной статьи. Люди из разных стран с положительной историей развития Википедии принимают участие в удалении ваших коммитов, а также в предоставлении информации о "Decision Stream".

С наилучшими пожеланиями, Дэйв — Предыдущий неподписанный комментарий добавлен 62.119.167.36 ( обсуждение ) 13:37, 27 июля 2018 (UTC) [ ответить ]

«Поток решений» — известный метод, который можно разместить в Википедии. — Предыдущий неподписанный комментарий добавлен 185.176.76.220 (обсуждение) 14:13, 27 июля 2018 (UTC) [ ответить ]

Ссылки

  1. ^ Игнатов, Д.Ю.; Игнатов А.Д. (2017). «Поток решений: создание глубоких деревьев решений». IEEE ICTAI : 905–912 . arXiv : 1704.07657 . дои : 10.1109/ICTAI.2017.00140.

Агрессивный [нужна ссылка/цитата]

Я понимаю необходимость [нужна ссылка], когда утверждения делаются без ссылки, но это предложение:

Дерево можно «изучить» [требуется пояснение], разделив исходный набор [требуется пояснение] на подмножества на основе проверки значений атрибутов [требуется пояснение][требуется ссылка].

Почти нечитаемо. Разве не было бы достаточно одной нотации? — Предыдущий неподписанный комментарий добавлен 198.244.99.210 (обсуждение) 06:48, 23 ноября 2018 (UTC) [ ответить ]

Критерии разделения для деревьев регрессии

Разделение должно быть минимизацией общей суммы квадратов, а не уменьшением дисперсии (ср. Hastie, Tibshirani & Friedman, Elements of Statistical Learning). В частности, критерии должны быть

i j S ( x i x j ) 2 ( i j S l ( x i x j ) 2 + i j S r ( x i x j ) 2 ) {\displaystyle \sum _{i\neq j\in S}(x_{i}-x_{j})^{2}-(\sum _{i\neq j\in S_{l}}(x_{i}-x_{j})^{2}+\sum _{i\neq j\in S_{r}}(x_{i}-x_{j})^{2})}

где представляет собой набор точек в узле, левый и правый конечные узлы. — Предыдущий беззнаковый комментарий добавлен 115.110.204.60 ( обсуждение ) 06:19, 25 февраля 2019 (UTC) [ ответить ] S , S l and S r {\displaystyle S,S_{l}{\text{and}}S_{r}}

Да! Это было исправлено. Bennetto ( обсуждение ) 22:31, 10 марта 2021 (UTC) [ ответить ]

Порядок исчисления в примере получения информации

Пример получения информации гласит: «Чтобы найти получение информации о разделении с помощью Windy, мы должны сначала вычислить информацию в данных до разделения». Но предложение находится ближе к концу примера. Поэтому я предлагаю поместить его в начало, что будет больше соответствовать уравнению перед примером. — Предыдущий неподписанный комментарий добавлен Vl8r (обсуждение • вклад ) 14:21, 13 октября 2020 (UTC) [ ответить ]

Необходимо указать набор данных в разделе «Метрики» > «Прирост информации»

В разделе Метрики > Прирост информации прилагается пример:

«Рассмотрим пример набора данных с четырьмя атрибутами: прогноз (солнечно, пасмурно, дождливо), температура (жарко, умеренно, прохладно), влажность (высокая, нормальная) и ветрено (истина, ложь) с двоичной (да или нет) целевой переменной, play и 14 точками данных. Чтобы построить дерево решений на основе этих данных, нам нужно сравнить прирост информации каждого из четырех деревьев, каждое из которых разделено по одному из четырех признаков. Разделение с наибольшим приростом информации будет принято в качестве первого разделения, и процесс будет продолжаться до тех пор, пока все дочерние узлы не будут иметь согласованные данные или пока прирост информации не станет равным 0.

Чтобы найти информационный прирост разделения с использованием windy , мы должны сначала вычислить информацию в данных до разделения. Исходные данные содержали девять "да" и пять "нет".

В конце подраздела «Получение информации» в статье приводится цитата: «Этот пример адаптирован из примера, приведенного в работе Виттена и др.».

Однако разговор о наборе данных (и выполнение математических вычислений с этим набором данных) без приведения примеров набора данных (т. е. того, как выглядит набор данных, из чего он состоит) дает мало наглядной информации.

Автору этой статьи необходимо прикрепить набор данных перед примером. 2402:800:61B1:7C49:B1AD:31EB:F1EC:29CF (обсуждение) 04:29, 3 февраля 2023 (UTC) [ ответить ]

Retrieved from "https://en.wikipedia.org/w/index.php?title=Talk:Decision_tree_learning&oldid=1201415832"