⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 equalsze.m

📁 细胞生长结构可视化工具箱-MATLAB Toolbox1999.zip
💻 M
字号:
% Equalise number of samples per class
%
% Gives equal priors while avoiding random selection of each new sample
% and so prevents over and under representation of samples.

function GcsProject = EqualSze(GcsProject)

 % Find largest number of samples of any class
maxSamples = 0;
for cindex =1:GcsProject.Gcs.NoClasses
	eval(['No = size(GcsProject.data' int2str(cindex) ',1);']);	% Count samples
	if No>maxSamples 
		maxSamples  = No
	end	
end

 % Replicate samples for smaller classes
% For each class
for cindex =1:GcsProject.Gcs.NoClasses
	eval(['No = size(GcsProject.data' int2str(cindex) ',1);']);	
	eval(['tempset = GcsProject.data' int2str(cindex) ';']);	% Augmented set to be constructed
  	% while extra samples needed > number of actual samples
	while maxSamples -size(tempset,1) > No
  		% replicate entire set
		eval(['tempset = [tempset; GcsProject.data' int2str(cindex) '];']);
	end
  	% Pick remaining samples (<number in original set) randomly without replacement from original set
	while maxSamples -size(tempset,1) > 0
		eval(['index = ceil(size(GcsProject.data' int2str(cindex) ',1)*rand(1));']);
		eval(['tempset = [tempset; GcsProject.data' int2str(cindex) '(index,:)];']);
		eval(['GcsProject.data' int2str(cindex) '(index,:) = [];']);
	end
	eval(['GcsProject.data' int2str(cindex) ' = tempset;']);
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -