没有合适的资源?快使用搜索试试~ 我知道了~
机器学习 代海波 物联网学院物联网工程系 南京邮电大学
需积分: 13 11 下载量 71 浏览量
2022-12-06
19:04:22
上传
评论 17
收藏 361KB DOC 举报
温馨提示
试读
12页
Task 1: Matlab程序实现iris数据集分类 - 工具包:libsvm。 - 4维特征空间,随机取100样本训练,50样本测试。 - 训练数据trainData,测试数据testData,训练样本真实标签 trainLabel,测试样本真实标签testLabel,测试样本预测标 签pred。 - 测试样本集accuracy-acc,混淆矩阵-C。 - 提高要求:分类结果与真实结果的可视化对比,编程实现计 算不同的分类结果评价指标。 实验一 1212 Task 2: Python程序实现iris数据集分类 - 工具包/库:sklearn.svm。 - 2维特征空间(前两维),取所有150个样本为训练 样本,取[x_min,x_max]×[y_min,y_max]所有网格 点为测试样本,查看使用不同svm时样本划分。 - 训练数据X,测试数据xx×yy,训练样本真实标签Y, 测试样本真实标签无,测试样本预测标签Z。
资源推荐
资源详情
资源评论
南京邮电大学通达学院
实 验 报 告
(2022 / 2023 学年 第 一 学期)
课程名称
机器学习
实验名称
Matlab 和 Python 在传统机器学习方法中
的使用
实验时间
2022
年
12
月
12
日
指导单位
物联网学院
指导教师
代海波
学生姓名
班级学号
学院(系)
计算机
专 业
网络工程
实 验 报 告
实验名称
Matlab 和 Python 在传统机器学习方
法中的使用
指导教师
代海波
实验类型
上机
实验学时
2
实验时间
2022 年 12 月 12
日
一、 实验目的和要求
实验要求:学习使用 MATLAB 和 Python 工具进行传统机器学习方法仿真。
实验目的:
1)了解 MATLAB 和 Python 软件工具的基本使用;
2)理解 SVM 和 k-Means 算法的相关理论;
3)了解如何使用机器学习方法处理小样本数据集。
二、实验环境
机器硬件配置:处理器 Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz,2400
Mhz,4 个内核,8 个逻辑处理器
软件安装:MATLAB2022 python3.8
2
三、实验原理及内容
- 4 维特征空间,随机取 100 样本训练,50 样本测试。 - 训练数据 trainData,测试数
据 testData,训练样本真实标签 trainLabel,测试样本真实标签 testLabel,测试样本
预测标 签 pred。 - 测试样本集 accuracy-acc,混淆矩阵-C。
clear;
addpath(genpath('.\libsvm-3.18'));
%# Fisher Iris dataset
load fisheriris
[~,~,labels] = unique(species); %# labels: 1/2/3
% data = zscore(meas); %# scale features
data = meas;
numInst = size(data,1);
numLabels = max(labels);
%# split training/testing
idx = randperm(numInst);
numTrain = 100; numTest = numInst - numTrain;
trainData = data(idx(1:numTrain),:); testData = data(idx(numTrain+1:end),:);
mean_train=mean(trainData);
std_train=std(trainData);
trainData=(trainData-ones(size(trainData,1),1)*mean_train)./(ones(size(trainData,1
),1)*std_train);
testData=(testData-ones(size(testData,1),1)*mean_train)./(ones(size(testData,1),1)
*std_train);
trainLabel = labels(idx(1:numTrain)); testLabel = labels(idx(numTrain+1:end));
%# train one-against-all models
model = cell(numLabels,1);
for k=1:numLabels
model{k} = svmtrain(double(trainLabel==k), trainData, '-c 1 -g 0.2 -b 1');
end
%# get probability estimates of test instances using each model
prob = zeros(numTest,numLabels);
for k=1:numLabels
[~,~,p] = svmpredict(double(testLabel==k), testData, model{k}, '-b 1');
prob(:,k) = p(:,model{k}.Label==1); %# probability of class==k
end
%# predict the class with the highest probability
[~,pred] = max(prob,[],2);
剩余11页未读,继续阅读
资源评论
nycSerendipity
- 粉丝: 88
- 资源: 144
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功