Как построить двоичный классификатор / предиктор для 1-й векторной информации в Python - PullRequest
0 голосов
/ 21 ноября 2018

[Disclaimer] Это мой первый экскурс в машинное обучение.

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

Каков наилучший способ построения классификатора / предиктора с использованием этих классов в Python, чтобы различия между этими двумя классами были максимальными?

1 Ответ

0 голосов
/ 21 ноября 2018

Допустим, у вас есть 1000 векторов с 10 значениями.Ваши данные x имеют форму (1000,10), данные y (1000,1) (это либо 0, либо 1, в зависимости от класса).Вы хотите предсказать у из х.

Самая простая модель может выглядеть (используя Keras):

from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import Adam

mdl = Sequential()     // create model

mdl.add(Dense(8, input_shape=(10,), activation='sigmoid'))
mdl.add(Dense(1, activation='sigmoid')

mdl.compile(optimizer = 'adam', loss='binary_crossentropy')

mdl.fit(x, y, epochs = 30)

Обратите внимание, что я могу использовать сигмоид в последнем слое задачи классификации, только если есть 2 класса.С большим количеством классов вы должны использовать softmax.

Я рекомендую вам проверить эту страницу: https://keras.io/

Кроме того, я думаю, что keras лучше начать с тензорного потока.

...