1

данные, такие как, что:Есть ли способ использования Machine Learning классифицировать дискретные и бесконечные данные масштаба?

x y 
7773 0 
9805 4 
7145 0 
7645 1 
2529 1 
4814 2 
6027 2 
7499 2 
3367 1 
8861 5 
9776 2 
8009 5 
3844 2 
1218 2 
1120 1 
4553 0 
3017 1 
2582 2 
1691 2 
5342 0 
... 

Реальная функция F (X) является: (Возврат отсчет круга десятичное целое)

#   0 1 2 3 4 5 6 7 8 9 
_f_map = [1, 0, 0, 0, 0, 0, 1, 0, 2, 1] 

def f(x): 
    x = int(x) 
    assert x >= 0 
    if x == 0: 
     return 1 
    r = 0 
    while x: 
     r += _f_map[x % 10] 
     x /= 10 
    return r 

обучающих данных и тестовые данные могут быть получены путем random:

data = [] 
target = [] 
for i in xrange(3000): 
    x = random.randint(0, 999999) #hardcode a scale 
    data.append([x]) 
    target.append(f(x)) 

Реальная функция является дискретной и бесконечной шкалой.

Есть способ или модель может классифицировать эти данные?

Я попробовал SVM (поддержка векторной машины) и приобрел коэффициент точности 20%.

ответ

1

Похож на типичный вариант использования последовательных моделей. Вы можете легко изучить LSTM/другую рекуррентную нейронную сеть, чтобы сделать это, рассматривая ваши числа как последовательности целых чисел, поданных в сеть. На этом этапе нужно просто изучить операцию суммирования и простое сопоставление (ваш f_map).