Обновить
7
0

Indie game developer

Отправить сообщение
Спасибо, весьма интересная статья (а предыдущая — вообще блеск!). В своей диссертации я использовал деревья решений как основную модель для классификации. Тоже писал на javascript построение деревьев, вижу в представленной в статье библиотеке частично свой же по сути код, только лучше оформленный :) Приятно, что деревья решений удерживают определенный интерес. И, на мой взгляд, очень заслуженно.
Для работы с непрерывными значениями Куинлан (создатель ID3) предложил алгоритм C4.5. Дальше другие авторы еще развивали эту тему.
Вообще, ID3 — это алгоритм построения дерева классификации. Для регресии, как сказали выше, лучше смотреть другие вещи.
Разумеется. Инженер является частным случаем специалиста.
Кстати, поздравляю вас :)
Инженер — это квалификация, а не звание.
Да, я его и выбрал, разумеется. Решил несколько разнообразить комментарии :)
Жаль, что автор не заинтересован в том, чтобы комментировать свою статью.
К чему тогда было постить ее на Хабр?
Здравствуйте, я хотел бы задать несколько вопросов.

1. Картинки красивые, но если это ваше научное исследование, тогда вы должны были ответить на вопрос, почему для решения задачи генерации используется дерево? Почему не взять, скажем, массив объектов и пройти его, на каждом элементе выбирая одно из значений?

2. Как выбирается конкретное значение очередного узла? Случайным образом?
Если нет, тогда интересно было бы узнать, как? И надо учитывать, что значения разных узлов могут противоречить друг другу и их надо дополнительно контролировать (пример: купила билет на месяц и за 5 недель сделала столько-то поездок).
Если да, то что делать с таким вариантом: «Аня купила билет на месяц и сделала в течение недели 20 поездок. Сколько она переплатила, если билет стоит 300 рублей, а одна поездка — 25 рублей.»?

И у вас везде должно быть «в течение», конечно же.
Спасибо за пост, интересная штука, стоит глянуть на досуге.
Известная конструкция #! по сути не лучше чем Prerender, так что последний имеет право на жизнь. Причем если используя #!, мы отдаем индексацию на откуп поисковику и потом задаем вопросы типа «а вдруг гугл обработает как-то не так?», то prerender на первый взгляд позволяет решить вопрос самостоятельно и для любого поисковика.
Роскомнадзор только разжигает интерес, я про этот сайт и не знал раньше.

Даешь еженедельную подборку «Лучшие сайты недели по версии Роскомнадзора»!
Эта книга Крокфорда — однозначный must read для всех, кто интересуется JavaScript. После нее становится особенно интересно читать и обсуждать хаб по яваскрипту, например недавние статьи «Нужны ли в JavaScript классы?»

А вот работой издательства Питер я недоволен. Заказал у них бумажную книжку «HTML5 и CSS3», которую они рекламировали неделю назад, с доставкой курьером в Москву. Неделя прошла, а мой заказ №2834 все еще висит в обработке, и никто не звонил.
Должен согласиться с вашим замечанием. Расчет площади по сетке выходит существенно быстрее.

Расчет площади фигуры разными способами

Код расчета через сетку
// Генерация сетки с общим количеством ячеек = p
          p_positive = 0;
          var gridRow = Math.ceil(Math.sqrt(p));
          // Разбить описывающий квадрат на gridRow ячеек по горизонтали и столько же по вертикали
          var cellWidth = (x2_ - x1_)/gridRow;
          var cellHeight = (y2_ - y1_)/gridRow;
          // точку будем ставить в центр каждой ячейки
          for (var y_counter=0; y_counter<gridRow; y_counter++) {

            var yCur = y1_ + y_counter * cellHeight + cellHeight/2;

            for (var x_counter=0; x_counter<gridRow; x_counter++) {

                var xCur = x1_ + x_counter * cellWidth + cellWidth/2;                

                var yes = false;
                for(var j=0; j<circles.length; j++) {
                    if(!yes && (
                          (circles[j].x-circles[j].r) <= xCur &&
                          (circles[j].x+circles[j].r) >= xCur &&
                          (circles[j].y-circles[j].r) <= yCur &&
                          (circles[j].y+circles[j].r) >= yCur )
                      ){
                       yes = true;
                       p_positive++;
                    }
                }

            }
          }



Код расчета через генерацию рандомных точек
// Генерация точек методом Монте-Карло
          var p_positive = 0;
          // генерируем p точек для определения площади фигуры
          for(var i=0; i<p; i++){
              var x_rand = Math.random()*(x2_-x1_)+x1_;
              var y_rand = Math.random()*(y2_-y1_)+y1_;

              var yes = false;
              for(var j=0; j<circles.length; j++) {
                  if(!yes && (
                        (circles[j].x-circles[j].r) <= x_rand &&
                        (circles[j].x+circles[j].r) >= x_rand &&
                        (circles[j].y-circles[j].r) <= y_rand &&
                        (circles[j].y+circles[j].r) >= y_rand )
                    ){
                     yes = true;
                     p_positive++;
                  }
              }
          }



Спасибо, возьму на заметку.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность