如何解决传递一个迭代器来拟合/训练/预测函数 - 有可能吗?
我想知道是否有办法将迭代器传递给那些 varius 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,random_state=2)
third_data,third_classes = make_classification(n_samples=100,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)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。