如何使用tensorflow数据集训练sklearn模型?



我想知道我是否可以使用Tensorflow数据集来训练scikit-learn和其他ML框架。

所以,例如,我可以采取tf.data.dataset训练xgboost, logisticregg,随机森林分类器等?即是否可以将tf.data.dataset对象传递到这些模型的.fit()方法中进行训练?

I tried out:

xs=np.asarray([i for i in range(10000)]).reshape(-1, 1)
ys=np.asarray([int(i%2==0)for i in range(10000)])

xs = tf.data.Dataset.from_tensor_slices(xs)
ys = tf.data.Dataset.from_tensor_slices(ys)
cls.fit(xs, ys)

我得到以下错误:

TypeError: float() argument must be a string or a number, not 'TensorSliceDataset'

您可以使用as_numpy_iterator()方法;来自文档:

返回一个迭代器,将数据集的所有元素转换为numpy。

跟随你的例子:

from sklearn.svm import SVC
x = list(xs.as_numpy_iterator())
y = list(ys.as_numpy_iterator())
clf = SVC(gamma='auto')
clf.fit(x, y)

相关内容

  • 没有找到相关文章

最新更新