请问怎么把自己的数据集导入支持向量机分类模型,请提供完整算法代码,并在代码中注释怎么导入自己的数据集
功能已实现。
import os
import cv2
import numpy as np
from sklearn.svm import SVC
import pickle
# 设定统一大小
SHAPE = (1500, 1500)
# 传入图片文件路径,输出处理后的图像数组
def extractFeaturesFromImage(image_file):
# img = cv2.imread(image_file)
# 文件名有中文,用该方法读取
img = cv2.imdecode(np.fromfile(image_file), cv2.IMREAD_UNCHANGED)
img = cv2.resize(img, SHAPE, interpolation=cv2.INTER_CUBIC)
img = img.flatten()
img = img / np.mean(img)
return img
# 读取特征数据
feature_list = list()
label_list = list()
# 病水稻
file_path1 = 'train/expanddata/'
# 健康水稻
file_path2 = 'train/Healexpand/'
for img in os.listdir(file_path1):
feature_list.append(extractFeaturesFromImage(file_path1 + img))
label_list.append('ill')
for img in os.listdir(file_path2):
feature_list.append(extractFeaturesFromImage(file_path2 + img))
label_list.append('hea')
# 得到特征数据 与 标签数据
feature_array = np.asarray(feature_list)
label_array = np.asarray(label_list)
# 模型训练
model = SVC(C=2, kernel='linear')
model.fit(feature_array, label_array)
# 输出模型文件
# pickle.dump(model, open("svm_model.pkl", "wb"))
# 用训练集数据,看看评分是多少
# test_score = model.score(feature_array, label_array)
# print(test_score)
# 测试一下训练集中的第 三、四 个数据,并输出预测结果
# pred = model.predict(feature_array[2:4])
# print(pred)
https://blog.51cto.com/u_15671528/5649282
可以呀 嗯,你在实操的过程中有什么问题