如何为 Python 中的一维矢量数据构建二进制 classifier/predictor
How to build a binary classifier/predictor for 1-d vector data in Python
[免责声明]这是我第一次接触机器学习。
我有一个一维 numpy 实数向量列表,这些向量表示已知与两个互斥 classes 相关联的实验条件。可以为每个向量指定 1 或 0 作为 class 标签。
使用 Python 中的这些 class 构建 classifier/predictor 以使两个 class 之间的差异最大化的最佳方法是什么?
假设您有 1000 个具有 10 个值的向量。您的 x 数据形状为 (1000,10),y 数据形状为 (1000,1)(根据 class,它为 0 或 1)。你想根据 x 预测 y。
最简单的模型可能如下所示(使用 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 个 classes 时,我才能在最后一层 classification 问题中使用 sigmoid。如果 classes 你应该使用 softmax。
我建议您查看此页面:https://keras.io/
此外,我认为 keras 比 tensorflow 更好。
[免责声明]这是我第一次接触机器学习。
我有一个一维 numpy 实数向量列表,这些向量表示已知与两个互斥 classes 相关联的实验条件。可以为每个向量指定 1 或 0 作为 class 标签。
使用 Python 中的这些 class 构建 classifier/predictor 以使两个 class 之间的差异最大化的最佳方法是什么?
假设您有 1000 个具有 10 个值的向量。您的 x 数据形状为 (1000,10),y 数据形状为 (1000,1)(根据 class,它为 0 或 1)。你想根据 x 预测 y。
最简单的模型可能如下所示(使用 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 个 classes 时,我才能在最后一层 classification 问题中使用 sigmoid。如果 classes 你应该使用 softmax。
我建议您查看此页面:https://keras.io/
此外,我认为 keras 比 tensorflow 更好。