• SVM: как правильно обучить машину? Какие входные данные должны быть?

    @azatyar Автор вопроса
    Как оказалось, набор результатов можно подать с нужными значениями, не только -1 и 1.
    Решил попробовать на синтетическом тесте, с 2 и 3 параметрами (в виде матрицы и куба соответственно) со значениями от 0.01 до 0.99.
    В качестве ключей выбрал номер параметра, а значение - дробное число, которое соответствует нужному идентификатору параметра.
    Получилось подобное (www-db.deis.unibo.it/webapps/SVMFB/svm_learn/libsv...):
    LABEL (ответ)	ATTR1 (город)	ATTR2 (время)	ATTR3 (температура)
        -----	-----	-----	-----
          1	  0	  0.1	  0.2
          2	  0	  0.1	  0.3
          1	  0.4	  0	  0
          2	  0	  0.1	  0
          3	 0.1    0.3	  0.1

    Обучил данным:
    $train[] = [1...3, 1 => 0.01 ... 0.99, 2 => 0.01 ... 0.99, 3 => 0.01 ... 0.99]; // многоточием показал диапазон значений

    Прогнал тест на 10тыс входных вариантов, ответы получились разными, от 1 до 3 (в некоторых моделях всё равнялось одному числу, видать обучение так прошло).
    В теории, всё верно заработало.
    Также, изменил тип ядра на SVM::KERNEL_RBF.
    Разбираюсь дальше...