传递迭代器来拟合/训练/预测函数-这是可能的吗?



我想知道是否有一种方法可以将迭代器传递到那些不同的sk模型中,例如:随机森林/逻辑回归等

我有一个张量流数据集,可以从那里获取numpy迭代器,但不能在这些函数中使用它。

解决方案吗?

xs = tfds.as_numpy(tf.data.Dataset.from_tensor_slices(xs))
ys = tfds.as_numpy(tf.data.Dataset.from_tensor_slices(ys))

然后拟合模型:

cls.fit(xs, ys)

导致:

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

使用存储在列表中的数据拟合和测试模型的示例如下:

# Import some libraries
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# Make some generic data
first_data, first_classes = make_classification(n_samples=100, n_features=5, random_state=1)
second_data, second_classes = make_classification(n_samples=100, n_features=5, random_state=2)
third_data, third_classes = make_classification(n_samples=100, n_features=5, random_state=3)

# Save data and classes into a list
data = [first_data, second_data, third_data]
classes = [first_classes, second_classes, third_classes]

# Declare a logistic regression instance
model = LogisticRegression()

for i in range(len(data)):
# Split data into training and test
X_train, X_test, y_train, y_test = train_test_split(data[i], classes[i], test_size=0.15)

# Fit the model
model.fit(X_train, y_train)
# Print results
print("{} Dataset | Score: {}".format(i+1, model.score(X_test, y_test)))

相关内容

  • 没有找到相关文章

最新更新