% 加载原始数据
dataset = csvread('test_1.csv', 1, 0);
% 加载train_1.csv数据集
trainData = csvread('train_1.csv', 1, 0);
% 合并数据集
dataset = [dataset; trainData];
% 缺失值处理
means = mean(dataset, 'omitnan');
dataset(isnan(dataset)) = means(1);
% 去除重复数据
dataset = unique(dataset, 'rows');
% 划分训练集和测试集
idx = crossvalind('HoldOut', size(dataset,1), 0.3);
dataTrain = dataset(idx,:);
dataTest = dataset(~idx,:);
% 分离特征和标签
featuresTrain = dataTrain(:,1:4);
labelsTrain = dataTrain(:,5);
featuresTest = dataTest(:,1:4);
labelsTest = dataTest(:,5);
% 归一化处理
featuresTrainNorm = zscore(featuresTrain);
featuresTestNorm = zscore(featuresTest);
% 训练模型
model = fitcecoc(featuresTrainNorm, labelsTrain, 'Coding', 'onevsall', 'Learners', 'svm');
% 预测并评估模型
predictions = predict(model, featuresTestNorm);
accuracy = sum(predictions == labelsTest) / numel(labelsTest);
disp(['Accuracy:', num2str(accuracy)]);