model = Sequential()
model.add(Convolution1D(input_shape = (101, 1),
nb_filter=16,
filter_length=4,
border_mode='same'))
model.add(BatchNormalization())
model.add(LeakyReLU())
model.add(Dropout(0.5))
model.add(Convolution1D(nb_filter=8,
filter_length=4,
border_mode='same'))
model.add(BatchNormalization())
model.add(LeakyReLU())
model.add(Dropout(0.5))
model.add(Flatten())
model.add(Dense(64))
model.add(BatchNormalization())
model.add(LeakyReLU())
model.add(Dense(2))
model.add(Activation('softmax'))
Тут все как положено — сверточная нейросеть, модная функция активации ReLU, широкой рукой накиданные Dropoutы и BatchNormalization, несколько слоев чтобы похвастаться не просто об обучении, а о глубоком обучении. Обучал на 100, 500 и 1500 эпохах. При увеличении числа эпох росла accuracy на train и на test, далеко превосходя заложенную accuracy ряда. При попытках использовать обученную нейросетку для прогноз получался один большой пфук.
По табличке:
| Названия строк | Колич | target |
| 1 | 5480 | 0,56 |
| -1 | 3280 | 0,45 |
| Общий итог | 8760 | 0,52 |
кажется что нейросеть не безнадежна, то где она указывала в прогнозе на событие 1, это событие происходило в 56% случаях, там где предсказала что событие 1 не произойдет, точность составила 55%. Кажется ничего так. Но как мы помним единственная осмысленная фича это Week, и весь юмор ситуации в том что нейросеть строили прогноз на основе махинация с рандомными рядами.
| Названия строк | Колич | target |
| 1 | 26579 | 0,54 |
| 1 | 4548 | 0,51 |
| 2 | 4944 | 0,51 |
| 3 | 5189 | 0,52 |
| 4 | 5803 | 0,52 |
| 5 | 6095 | 0,61 |
| Общий итог | 26579 | 0,54 |
Вот прогноз события 1 с разбивой по Week. Если бы нейросеть сообразила что все дело в этой фиче а остальные просто мусор, то число прогнозов события 1 для week=5 значительно превосходила бы то же самое для остальных значений week, но как мы видим это не так, да их побольше но разве что на чуть чуть. Использование порога в 55% принципиально ничего не поменяло:
| Названия строк | Колич | target |
| 1 | 16326 | 0,55 |
| 1 | 2517 | 0,52 |
| 2 | 2917 | 0,52 |
| 3 | 3067 | 0,53 |
| 4 | 3703 | 0,53 |
| 5 | 4122 | 0,62 |
| Общий итог | 16326 | 0,55 |