我是整个机器学习主题的新手,我想得到一些建议,起点:
我有一个包含多达100个条目的数组。一个条目是3双双打:
e.g。
x: 0.01
y: 0.02
z: 0.03
数组示例:
[(0.01, 0.02, 0.03), (0.01, 0.02, 0.03)]
我想根据这些3元组的数组训练一个输出真或假的模型。
[(0.01, 0.02, 0.03), (0.01, 0.02, 0.03), ...] => true
[(0.02, 0.021, 0.03), (0.041, 0.022, 0.035), ...] => false
你建议我从哪里开始?你会用像Caffe或Keras这样的东西。
希望这个问题不是太广泛......
答案 0 :(得分:2)
我建议从scikit-learn
开始,它已经填充了很多功能。
如何完成这样的事情的一个非常基本的例子可能如下所示:
import numpy as np
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
np.random.seed(42)
# Generate some random data
X_train = np.random.rand(1000, 3)
y_train = np.random.randint(0, 2, len(X_train))
X_test = np.random.rand(2000, 3)
y_test = np.random.randint(0, 2, len(X_test))
# Train a classifier
clf = GaussianNB()
clf.fit(X_train, y_train)
# Test the classifier and print performance measure (here: accuracy)
y_pred = clf.predict(X_test)
y_random = np.random.randint(0, 2, len(X_test))
print('Accuracy (pred): {:.4f}'.format(accuracy_score(y_test, y_pred)))
print('Accureary (random): {:.4f}'.format(accuracy_score(y_test, y_random)))
将输出:
Accuracy (pred): 0.5030
Accureary (random): 0.5210
由于这是所有随机数据,因此该示例没有任何意义。但是,如果您的x
,y
,z
元组确实对您的目标值有任何预测能力,那么您应该看到比随机更高的准确度。