![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1347784/image.png)
我在我的代码有对象的边界。我想用这些边界计算的特点这些对象在我前面的循环。请帮助解决
33视图(30天)
显示旧的评论
Chanille
2023年4月6日
=边缘(边缘imgContrast,“精明”);
se = strel (“磁盘”1);
edgesClean = imclose(边缘,se);
edgesClean = imfill (edgesClean,“黑洞”);
B = bwboundaries (edgesClean);
(X, Y) = meshgrid(1:列,1:行);
numZones areaOfEachZone = 0 (1);
profileCounts =南(1、numZones);
totalArea =南(1、numZones);
avgSize =南(1、numZones);
zoneArea =南(1、numZones);
avgCircularity =南(1、numZones);
avgFeret =南(1、numZones);
avgMinFeret =南(1、numZones);
为k = 1: numZones
%为该区域创建一个二进制的面具
zoneMask = (√(X - X) ^ 2 + (Y - Y) ^ 2) > = (k)半径)& (sqrt ((X - X) ^ 2 + (Y - Y) ^ 2) <半径(k + 1));
areaOfEachZone (k) =总和(zoneMask,“所有”)* pixelSize ^ 2;
%计算连接组件在这个区
cc = bwconncomp (zoneMask);
%计算区域属性为每个连接组件在这个区
statscc = regionprops (cc、“区域”,“重心”,“偏心”,“周长”,“MajorAxisLength”,“MinorAxisLength”,“循环”);
%计算每个对象和存储区域属性的数组
% =[]领域;
areaOfEachZone = [];
feretDiams = [];
圆=南(大小(B, 1), 1);%初始化循环数组来南
为j = 1:尺寸(B, 1)
边界= B {j};
objectMask = poly2mask(边界(:,2),边界(:1),大小(AI, 1),大小(AI, 2));
regionProps = regionProps (objectMask,“区域”,“周长”,“MaxFeretProperties”);
%计算循环
如果~ isempty (regionProps) & &大小(regionProps 1) = = 1 & & regionProps。区> 0%排除零面积的地区
圆= 4 *π* regionProps.Area / regionProps.Perimeter ^ 2;
如果循环> = 0 & &循环< = 1%循环应该在0和1之间
循环(j) =循环;
其他的
循环(j) =南;
结束
areaOfEachZone (j) = regionProps.Area;
feretDiams (j) = regionProps.MaxFeretDiameter;
其他的
areaOfEachZone (j) = 0;
循环(j) =南;
feretDiams (j) = 0;
结束
结束
%计算该区域的特性
numObjects = cc.NumObjects;
如果numObjects > 0
区域= [statscc.Area];
profileCounts (k) = numObjects;
totalArea (k) =(地区)和* pixelSize ^ 2;
% zoneArea (k) = areaOfEachZone (k);
%计算该区域的平均大小的线粒体
avgSize (k) =意味着(地区)* pixelSize ^ 2;
%圆= [statscc.Circularity];
avgCircularity (k) =意味着(循环(isfinite(循环)));
% ferets = [statscc.MajorAxisLength];
feretDiams (j) = regionProps.MaxFeretDiameter;
avgFeret (k) =意味着(feretsDiams) * pixelSize;
minFerets = [statscc.MinorAxisLength];
avgMinFeret (k) =意味着(minFerets) * pixelSize;
结束
结束
所以我新手matlab,一些团体中的其他人之前我正在离开、现在我必须解决我得到一些错误。我遇到了这堵墙,因为更大的循环应该是图像中特定区域但我有另一个回路,indixes边界发现,区域内成功但是没有结果,这些边界的特征,区域内正常索引。你有什么建议来纠正呢?
3评论
图像分析
2023年4月6日
首先,与代码格式代码如代码图标
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1347784/image.png)
下附上你的原始图像,这样我就能看看一个边缘检测就是你需要做的(很少)。然后附加程序的开始部分,你读它在最后到达imgContrast和代码的其余部分仍在继续。
如果你有任何其他问题,然后附上你的图片和代码阅读它的回形针图标后
读到这
:
是一个通用的、通用的演示如何阈值图像找到气泡,气泡,然后衡量事情和提取
某些
blob基于区域或直径。
Chanille
2023年4月6日
BI = imread (MyRGBImage, 1);% % AI通道或(MyRGBImage);其他图片
bg = imopen (BI strel (“磁盘”、25));
imgNoBg = BI - bg;
imgContrast = imadjust (imgNoBg);
我还没有完成其余的代码,因为我试图解决上述问题,但这将是这样的:
% % %显示当前图像的平均区域属性
流(的Avg面积:% f, Avg循环:% f, Avg Feret直径:% f, Num对象:% d \ n ',…
avgArea、avgCircularity avgFeretDiam numObjects);
接受的答案
图像分析
2023年4月6日
你不需要内部循环的大小(B, 1)。您可以简单地把所有的值
%计算区域属性为每个连接组件在这个区
statscc = regionprops (cc、“区域”,“重心”,“偏心”,“周长”,“MajorAxisLength”,“MinorAxisLength”,“循环”);
meanArea =意味着([statscc.Area])
xyCentroids = vertcat (statscc.Centroid);%不确定你想要做什么。
meanEccentricity =意味着([statscc.Eccentricity])
meanMajorAxisLength =意味着([statscc.MajorAxisLength])
meanMinorAxisLength =意味着([statscc.MinorAxisLength])
meanCircularity =意味着([statscc.Circularity])
%等等。
52岁的评论
图像分析
2023年4月6日
不。你有一个zoneMask面具需要乘以你的对象。然后你通过bwconncomp。
objectMask = grayImage > 50;%。
掩码= objectMask & zoneMask;
cc = bwconncomp(面具);
道具= regionprops (cc、grayImage“区域”);
面具拥有一切你需要这些形状参数。没有必要在所有的边界测量的blob。只有使用,真的,是让你画出每个团周围的彩色的轮廓。它不是用于测量任何东西。所以不需要用poyl2mask每个斑点。regionprops为你做一切。
Chanille
2023年4月7日
我zoneMask = zoneMask。* im2double (edgesClean)。* DD;
同时,我决定完成代码:
特性(m)。文件名= allFileNames{m};
特性(m)。totalArea= totalArea;
特性(m)。avgSize= avgSize;
特性(m)。zoneArea= zoneArea;
特性(m)。AvgCircularityy = avgCircularity;
特性(m)。AvgFeret= avgFeret;
特性(m)。AvgMinFeret= avgMinFeret;
特性(m)。profileCounts = profileCounts;
我有另一个看气泡代码但不是明显对我如何使用特性为基础创建的代码也措施的特性,然后可以确定(基于上述存储功能)被分析当前图像是否属于这个类的图像(股票类似的功能)。你怎么认为我这样做可以吗?谢谢你!!
图像分析
2023年4月7日
你的表述(s) /非常模糊。不知道”
使用的特性为基础创建的代码也测量功能
”的意思。我不这样做,使用特性来测量特性。我们要做的就是使用一些算法来处理图像的方式,这样你可以得到阈值感兴趣的对象,和背景。我把这个面具,这个过程称为图像分割。有时你可以马上阈值,但有时你必须做一些图像阈值之前。有时
后
你门槛的blob面具仍然需要一些处理来提取只斑点你感兴趣的,而不是别人。毕竟是做你会有我们称之为“分割图像”。然后简单地将它传递给regionprops做出你想要的尺寸。这些测量通常被称为“特性”,比如面积,周长,意味着强度等。
现在将你的对象(s)或图像,你必须把这些功能分类程序。如果你愿意,你可以手动查看测量/特性和决定什么类,例如看看该地区分类集合成大气泡和小气泡,或者看看循环分类成圆形或non-round blob。有时是这样的没有这么简单,你不确定哪些特性应该相比如何。所以在这种情况下,如果你有统计和机器学习工具箱可以投入你所有的功能表的一列称为tPredictors之类的,和你的“真正”类(提前知道,因为你有一个训练集)的“反应”和使用“分类学习者”应用程序的应用程序选项卡上带的工具。它将创建一个模型对象(变量),然后您可以传递给一个函数,连同你的未知的图像,对它进行分类。有一个领域的trainedModel会告诉你如何与你的新trainedModel分类你的形象。
你没有说什么类的所以我不能帮助到你说什么课你想要你的照片。
Chanille
2023年4月7日
@Image分析师
我做了调查。再次,我是一个新手,所以如果你能提供一些建议像分类日常工作的一个例子就好了。但这就是到目前为止我已经确定基于你的解释:
%将数据分为训练集和验证集,使用“cvpartition”功能,分区对象
%将数据分为80%的训练,20%的验证:
简历= cvpartition (numObservations,“坚持”,0.2);
trainingData = MyData (cv.training:);
使用“fitcsvm”函数来训练支持向量机(SVM)分类器在训练数据万博1manbetx
svmModel = fitcsvm (trainingData、标签);
但是,我不知道如何把这个成工作代码的上面。你会如何?
谢谢你!
图像分析
2023年4月7日
你需要分类训练一组测量——N和N列一个表你在每幅图像测量,每一行是测量图像。如果你有图片你会有一个表的行和N列。接下来你需要有一个向量的“真正的”地面实况分类。然后开始分类学习者和指定你的训练数据指定您的模型,然后单击火车按钮。然后导出模型。附上你的表在.mat文件如果你需要更多的帮助。
图像分析
2023年4月9日
我的意思fitcsvm的代码,而不是图像分析程序。无论如何这是我:
s =负载(“features.mat”)
s =结构体字段:
功能(1×3结构):
特点= s.features
特点=1×3结构体数组字段:
文件名totalArea avgSize zoneArea AvgCircularityy AvgFeret AvgMinFeret profileCounts
台= struct2table(功能)
台=3×8表
文件名
totalArea
avgSize
zoneArea
AvgCircularityy
AvgFeret
AvgMinFeret
profileCounts
____________________________________________________________________________________
___________
___________
___________
售予
___________
___________
_________________{' 1 _merge_wd_m1_12pm_dendra2_actin647_lipitox594。生活- TileScan 1 _merged-2。tif '} 1×12双1×12双1×12双1×12双1×12双1×12双1×12双{2 _8bit_merge_wd_m1_12pm_dend12_actin647_lipitox594。生活- TileScan 1 _merged-2。tif '} 1×12双1×12双1×12双1×12双1×12双1×12双1×12双{3 _merge_wd_m1_12pm_dendra2_actin647_lipitox594。生活- TileScan 1 _merged-2。tif '} 1×12双1×12双1×12双1×12双1×12双1×12双1×12双
现在,为了分类,fitcsvm或ClassificationLearner,我们需要的是“真实的”类为每个图像。然后我们需要找出为什么有12对每个图像测量,如果东组这些类或不同的类相同。
Chanille
2023年4月9日
这是代码虽然我不知道这是可行的。
垫我附加的真正的类特性是先进的非限制。我将发送另外两类测量垫。如果这就是你所谓的真正的类。
有12测量,因为我把12区所以我有12区域用不同的测量中国保监会,feret等的测量(区域可以是任何数)。只要我将区域设置为12(或10,9)将会有12个(或10,9)测量地面真实数据用于训练算法。
我怎么使用你提供工作培训计划?
最终我能够养活一个图像,程序会说这是先进的非限制等等,你做一个程序/演示呢?
Chanille
2023年4月10日
你能澄清你所说的“真正的阶级”?我认为你指的是被归类为类图像。根据我提供的特性,它是一种先进的,未限制类,包括12个区。12号被选中,因为它是我想要的数量,不是因为任何经验的原因。12个区在这门课中表示相同的特征矩阵文件。未知类图片,另一组12个区域将被测量。这些地区属于一个待定类相比,将先进的地面实况12区未限制类分类的目的。
图像分析
2023年4月10日
如果你要训练一个分类器,你必须有一些图像已知类,a类、B类,和C类等等。然后可能代表粒子的密度,有效药物,粗糙的材料,材料的稳定性,或不管它是什么。你怎么期待大量的数字预测类甚至是如果你不知道吗?所以你必须知道。既然你有12区图像,我们需要知道每个区域的类是相同的(你的地面实况图像)或如果他们可以有不同的类。必须分配,真的,地面实况类为每个区,每个区域的数据放入分类器训练的预测表的一行表,好像每个区都自己的形象。假设A =“稳定”随着时间的推移和B类=“迅速腐蚀”。所以对于每个区域在一个图像需要知道类,比如他们所有A或B或者像这样[AAABBBAAAABAB]。这就是你必须指定。
Chanille
2023年4月10日
是的我知道的类,这是其他类的特性(B类和C类)。
每个区域的类是相同的。例如类区域将有类似的类彼此,但不同区域类别B类和C类。
我的问题是我不知道该怎么做或者让它接近工作,fitvm草案我寄给你呢?它能作为一个分类器algorthm工作吗?但它不工作,当我运行它。
图像分析
2023年4月11日
编辑:图像分析
2023年4月11日
我觉得我们说不同的语言。你的featuresclassA。垫没有地面实况随堂作业。它只是测量了每个图像的集合。是垫文件中的每个文件名吗
类
吗?“1 _control像文件。tif”是“药物非常成功”,文件“2 _control。tif“类”药物工作3 _control略”,和文件”。tif”是“药物不工作”?再次测量是测量,而不是真理。你
没有类
定义,你只有一个多维空间,你相信你有集群,和你想找出集群定义,但你不知道你有多少集群?有很多方法使用kmeans找出最好的集群的数量,如果你肯定不知道。
我不明白你的类定义。你有两个类/类型的图片:
- 一个类的“高级未限制阶级”和图像
- 另一组图片可以被称为“未知类2”吗?
如果是这样,没关系,但我们需要一些图片在每个类训练分类器。你不能只有一个每种类型的形象。因为7-dimensional空间是不可能想象(虽然我们可以处理它在数学上),让我们用一个二维的类比。假设你有两个特点:var1 var2。现在如果你绘制的二维有两个点在x - y图。和一个点是class1,另一个点是在2班。但这并不意味着一个好的分类器。假设您使用模型和另一个形象进来var1和var 2被一些完全不同的比你的训练集值。现在你有三个点在你的图。新,第三点,应该分配到哪个班吗?谁能说只有两个训练点。 That's why you need lots of training points.
如果你有两个类就像我上面说的,每个类的图像看起来怎么样?有一些明显的明显的视觉差异吗?如果是,告诉我们。可能没有,没关系。7特性可能很难看到一个视觉差异。
或者,等待
@Walter罗伯森
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1351499/image.jpeg)
Chanille
2023年4月11日
”是每个文件名在垫子上文件
类
“是的。
“我不明白你的类定义。你有两个类/类型的图片:
- 一个类的“高级未限制阶级”和图像
- 另一组图片,可以叫做“未知的二班”?”我hve 3 classes/ class A, class B, and class C.
“如果是很好,但我们需要一堆图片每个类训练一个分类器”。一旦我有一堆和训练classifer什么代码可以使用的图片吗?
图像分析
2023年4月11日
你可以这样做:
s =负载(“featuresclassA.mat”)
特点= s.features
t = struct2table(特性)
%我们只有一个训练集测量为每个类的不幸的是,
%至少在这个示例数据集。现在我们需要一个向量,是“真正的”反应
%,所以我们可以通过分类学习者。
%得到预测的一个列表,这是只有数值列。
tPredictors = t(:, 2:结束);
%得到真实的反应一个列表。
trueResponses = 1:高度(t);
uiwait (helpdlg (现在,您可以运行分类学习者的))
classificationLearner (tPredictors trueResponses);
然而样本数据集是不好的。你需要为每个类有几个表中的行。我试图解释有二维的例子如果你只是每个类的一个例子,培训是几乎毫无意义。
图像分析
2023年4月11日
编辑:图像分析
2023年4月11日
好的,你现在已经从6测量图片,但你有多少课?两个?三个?每个6的图片,他们在哪个班?甚至一个功能就足够了。7是很多。但是我们只需要知道什么是“真正的”类的图片吗?类的功能是代表但不是类数本身。
例如假设你有1功能——整个图像的平均灰度。假设你有两类:“明亮的图像”和“暗图像”。现在你可能会有一组100个图像平均亮度,但这并不说什么类。也许你黑暗的定义图像的平均灰度小于100。所以知道你可以算出类。7的功能,你不知道如何分类,如果你不需要训练分类器,所以你必须有一些可信的说法哪个班每个图像。也许这只是你的视觉判断,但是不管它,你需要有类的“真正的反应”使用@doc: classificationLearner
图像分析
2023年4月11日
编辑:图像分析
2023年4月11日
@Chanille
工作簿有三个表A, B, c,我假设每一行包含测量从一个不同的文件,但我不确定。行代表什么?也似乎有10或11特性测量在每一行,但我不知道它们是什么或如何关联7特性(每个区域)。我们可以处理数据和假设有10个特性。这是代码:
%从表读取表ta“ClassA”。
ta = readtable (“CLASSES.xlsx”,“表”,“ClassA”);
%举列3的结束
ta = ta(:, 3:结束);
%从表读取表结核病“ClassB”。
结核病= readtable (“CLASSES.xlsx”,“表”,“ClassB”);
%举列3的结束
结核病=结核病(:,3:结束);
%将表
tPredictors =[助教;结核病];
%,真正的类创建一个向量。类1顶部行2 (A)和(B)较低的行
trueClasses =[(高度(ta), 1);2 * 1(高度(tb), 1))
%设置一个会话
classificationLearner (tPredictors trueClasses)
与所有模型和跑后分类学习者可以看到资讯模型是最好的:
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1352559/image.png)
支持向量机是第二个最好的:
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1352564/image.png)
我不得不删除你放入ClassA额外的列标签,以确保他们有相同的变量名和列数。新工作簿。如果你有3类,您刚刚扩展概念明显的方式。
Chanille
2023年4月11日
Chanille
2023年4月11日
我特别喜欢你的代码不是很长,我甚至不确定我做的代码会工作的:
%加载图像数据和标签
负载(“image_data.mat”);
负载(“labels.mat”);
%从图像数据中提取猪的特性
cell_size = 8;
hog_features = extractHOGFeatures (image_data,“CellSize”,(cell_size cell_size]);
%选择排名前50的主成分
num_components = 50;
[多项式系数,分数,潜伏]= pca (hog_features);
selected_features =分数(:,1:num_components);
%将选定的功能分成训练集和测试集
[train_data, test_data train_labels test_labels] =…
crossvalind (“坚持”0.3、标签);
train_features = selected_features (train_data:);
test_features = selected_features (test_data:);
% k - means分类器训练
num_clusters = 10;%的集群
kmeans_classifier = fitckmeans (train_features num_clusters);
%预测测试集的标签使用k - means分类器
predicted_labels =预测(kmeans_classifier test_features);
%计算分类器的准确性
精度= (predicted_labels = = test_labels) /元素个数之和(test_labels);
%显示分类的准确性
disp ([的分类器的准确性:num2str(精度)]);
%从新的图像中提取猪的特性
new_image = imread (“new_image.jpg”);
new_hog_features = extractHOGFeatures (new_image,“CellSize”,(cell_size cell_size]);
%的新特性投射到所选的主成分
new_selected_features = (new_hog_features *多项式系数(:1:num_components));
%预测新形象的类使用k - means训练分类器
new_label =预测(kmeans_classifier new_selected_features);
%显示预测标签的新形象
disp ([“预测新形象的标签是:“num2str (new_label)]);
Chanille
2023年4月12日
编辑:Chanille
2023年4月12日
@Image分析师
之后我从最准确的模型生成函数,我试图用新的数据,我知道属于A类或B类是否classifer corectly将分类新数据。
我上传的表代码在一个新的编译器选项卡:
T2 = readtable (“T2.xlsx”,“表”,“Sheet1”);
yfit = trainedClassifier.predictFcn (T2);
% %生成的因数
函数[trainedClassifier, validationAccuracy] = trainClassifier (trainingData responseData)中
% (trainedClassifier validationAccuracy] = trainClassifier (trainingData,
% responseData)中
%返回一个训练分类器,其准确性。这段代码再现了
%分类模型在分类学习者应用。使用训练
%生成的代码自动化培训与新数据相同的模型,或
%学习如何编程训练模型。
%
%的输入:
% trainingData:包含相同的预测列一个表
%导入到应用程序。
%
% responseData:中一个向量具有相同数据类型的向量
%导入到应用程序。responseData和的数量中的长度
%行trainingData必须相等。
%
%输出:
% trainedClassifier:包含训练分类器的结构。的
%结构包含各个领域的信息培训
%分类器。
%
% trainedClassifier。新predictFcn:一个函数进行预测
%的数据。
%
% validationAccuracy:包含精度的两倍
%百分比。应用程序中,模型窗格显示这个整体
%为每个模型准确性分数。
%
%使用代码来训练模型的新数据。再培训你
%分类器,从命令行调用该函数与原始
%数据或新的数据作为输入参数trainingData和responseData。中
%
%为例,训练一个分类器训练与原数据集T
%和响应Y,输入:
% (trainedClassifier validationAccuracy] = trainClassifier (T, Y)
%
%与返回的“trainedClassifier”作出预测新数据T2,
%使用
% yfit = trainedClassifier.predictFcn (T2)
%
% T2必须包含至少一个表列预测一样使用
%在训练。详情,请输入:
% trainedClassifier.HowToPredict
%自动生成在12 - 4月- 2023 08:32:47 MATLAB
%提取预测和响应
%这段代码处理数据为训练成正确的形状
%的模型。
inputTable = trainingData;
predictorNames = {“Var3”,“Var4”,“Var5”,“Var6”,“Var7”,“Var8”,“Var9”,“Var10”,“Var11”,“Var12”};
预测= inputTable (:, predictorNames);
响应= responseData;中
isCategoricalPredictor =[假的,假的,假的,假的,假的,假的,假的,假的,假的,假的);
%训练分类器
%这段代码指定所有的分类器的选择和训练分类器。
classificationNeuralNetwork = fitcnet (…
预测,…
的反应,…
“LayerSizes”,100,…
“激活”,“relu”,…
“λ”0,…
“IterationLimit”,1000,…
“标准化”,真的,…
“类名”,(1;2);
%创建结果结构预测函数
predictorExtractionFcn = @ t (t) (:, predictorNames);
neuralNetworkPredictFcn = @ (x)预测(classificationNeuralNetwork x);
trainedClassifier。predictFcn = @ (x) neuralNetworkPredictFcn (predictorExtractionFcn (x));
%添加额外的字段结构的结果
trainedClassifier。RequiredVariables = {“Var10”,“Var11”,“Var12”,“Var3”,“Var4”,“Var5”,“Var6”,“Var7”,“Var8”,“Var9”};
trainedClassifier。ClassificationNeuralNetwork = ClassificationNeuralNetwork;
trainedClassifier。约=这个结构是一个训练有素的模型从分类学习者R2022a出口。”;
trainedClassifier。HowToPredict = sprintf (“新表进行预测,T,用途:\ n yfit = c.predictFcn (T) \ nreplacing“c”这个结构体变量的名称,如“trainedModel”。\ n \ nThe表、T必须包含返回的变量:\ n c。RequiredVariables \ nVariable格式(如矩阵或向量,数据类型)必须匹配最初的训练数据。\ nAdditional变量将被忽略。\ n \ nFor更多信息,请参见< a href = " matlab: helpview (fullfile (docroot,“统计”,“stats.map”),“appclassification_exportmodeltoworkspace”)”>如何使用一个导出的模型预测< / >。);
%提取预测和响应
%这段代码处理数据为训练成正确的形状
%的模型。
inputTable = trainingData;
predictorNames = {“Var3”,“Var4”,“Var5”,“Var6”,“Var7”,“Var8”,“Var9”,“Var10”,“Var11”,“Var12”};
预测= inputTable (:, predictorNames);
响应= responseData;中
isCategoricalPredictor =[假的,假的,假的,假的,假的,假的,假的,假的,假的,假的);
%进行交叉验证
partitionedModel = crossval (trainedClassifier.ClassificationNeuralNetwork,“KFold”5);
%计算验证预测
[validationPredictions, validationScores] = kfoldPredict (partitionedModel);
%计算精度验证
validationAccuracy = 1 - kfoldLoss (partitionedModel“LossFun”,“ClassifError”);
图像分析
2023年4月12日
你需要调用这个函数,变量在工作区中。但是我不这样做,不会推荐它。我只是出口训练模型,从ClassificationLearner导出按钮,进入一个变量,然后调用save()(在命令窗口)到一个.mat文件保存模型变量,然后加载垫文件调用预测。毫无意义的训练模型每次你想要用它来预测新数据。
图像分析
2023年4月12日
当你回到你需要接受它加载到一个变量,等等
s =负载(“trainedModel2.mat”)
trainedModel = s.trainedModel2
predictedClasses =预测(trainedModel yourDataToBeEstimated);
Chanille
2023年4月12日
s =负载(“trainedModel2.mat”);
trainedModel = s.trainedModel2;
td = readtable (“T2.xlsx”,“表”,“Sheet1”);
%举列3的结束
td = td(:, 3:结束);
predictedClasses =预测(trainedModel, td);
Chanille
2023年4月14日
图像分析
2023年4月14日
表中有一个类列但没有类。我怎么知道什么是真正的类为每一行吗?
![](http://www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/1356443/image.png)
同样,你可能想要把标题行工作簿,所以我们知道每一个“Var”真的是什么(如面积、平均强度,等等)。
如果你已经发布的地方,然后后所有文件需要一个答复,所有垫文件,所有的m文件,和所有xlsx文件。我去过的线程可能是最长的,我不想要猎杀所有所需的文件。
图像分析
2023年4月14日
我想做我自己的训练。所以,你能给我
- 预测表的测量(训练集)
- “真正的”类的矢量数据测量的训练集
- “测试”测量的表(我们将使用预测)
- “真正”的向量类训练集所以我们可以看看预测类与“真正的/”类的值。
我敢肯定你可以测试你的测试值(那些没有参与制作模型)在分类学习者。培训中使用的“出局”(如培训价值的20%)都包含在你的训练数据和被称为“验证数据和数据中未使用培训或验证您的模型被称为“测试数据”。所以你有3个数据集,或者2。有你的“
预测
“数据的自动分裂成”
培训
”和“
验证
“集,然后是你的”
测试
“(从未见过在训练和模型构建)。
我希望这解释了术语更好。
Chanille
2023年4月15日
编辑:Chanille
2023年4月15日
这是训练集和变量标签。
这里是trainingset代码运行到分类器:
%从表读取表ta“ClassA”。
ta = readtable (“CLASSES.xlsx”,“表”,“ClassA”);
%举列3的结束
ta = ta(:, 3:结束);
%从表读取表结核病“ClassB”。
结核病= readtable (“CLASSES.xlsx”,“表”,“ClassB”);
%举列3的结束
结核病=结核病(:,3:结束);
%将表
tPredictors =[助教;结核病];
%,真正的类创建一个向量。类1顶部行2 (A)和(B)较低的行
trueClasses =[(高度(ta), 1);2 * 1(高度(tb), 1))
%设置一个会话
classificationLearner (tPredictors trueClasses)
Chanille
2023年4月15日
%创建一个列向量的零来表示观测不属于任何类
Y = 0 (n, 1);
%确定观测属于A类
class_A_idx = (X (:,“类”)= =“问”);
%分配类标签1观察属于类
Y (class_A_idx) = 1;
%确定观测属于B类
class_B_idx = (X (:,“类”)= =“WD”);
%分配类属于B类标签2的观察
Y (class_B_idx) = 2;
%确定观测属于丙类
class_C_idx = (X (:,“类”)= =“英孚”);
%分配3观察属于类C类标签
Y (class_C_idx) = 3;
假设我们有一个预测表测量
X
与
n
观察,一个相应的向量叫做真正的类标签
Y:
A =问,B类= WD和类C = EF否则特性不属于两类
更多的答案(0)
另请参阅
一个错误发生
无法完成的行动,因为页面所做的更改。重新加载页面更新状态。
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。