图片数据集三分类python代码
时间: 2023-10-28 09:04:53 浏览: 41
以下是一个基本的三分类图像数据集的Python代码示例:
```python
import os
import numpy as np
from PIL import Image
# 设置数据集路径
dataset_path = 'path/to/dataset'
# 定义类别标签
classes = ['class1', 'class2', 'class3']
# 读取图像数据
data = []
labels = []
for i, cls in enumerate(classes):
class_path = os.path.join(dataset_path, cls)
for img_file in os.listdir(class_path):
img_path = os.path.join(class_path, img_file)
img = Image.open(img_path)
img = img.resize((224, 224)) # 调整图像大小
img = np.array(img)
data.append(img)
labels.append(i)
# 转换为NumPy数组
data = np.array(data)
labels = np.array(labels)
# 打乱数据
indices = np.random.permutation(len(data))
data = data[indices]
labels = labels[indices]
# 划分训练集和测试集
train_size = int(0.8 * len(data))
x_train, y_train = data[:train_size], labels[:train_size]
x_test, y_test = data[train_size:], labels[train_size:]
```
上述代码首先设置了数据集路径和类别标签。然后,它读取每个类别文件夹中的所有图像,并将它们转换为NumPy数组。接下来,它打乱数据并将其划分为训练集和测试集。请注意,此示例中使用了简单的80-20拆分。在实际情况下,可能需要进行更复杂的拆分和数据增强。