How to select the values greater than the mean in an array?

136 次查看(过去 30 天)
I want to apply feature selection on a dataset (lung.mat)
After loading the data, I computed the mean of distances between each feature with others by jaccard measure. Then I sorted the distances descendingy in B1. And then I selected forexample 25 number of all the features and saved the matrix in databs1.
I want to select the features that have distances values greater than the mean of the array (B1).
close all;
clc
load lung.mat
data=lung;
[n,m]=size(data);
for i=1:m-1
for j=i+1:m
t1(i,j)=fjaccard(data(:,i),data(:,j));
b1=sum(t1)/(m-1);
end
end
[B1,indB1]=sort(b1,'descend');
databs1=data(:,indB1(1:25));
databs1=[databs1,data(:,m)]; %jaccard
save('databs1.mat');
I’ll be gatefull to have your opinions about how to define this in B1, selecting values of B1 which are greater than the mean of the array B1, It means cutting the rest of smaller values than the mean of B1.
Thank you very much.

采纳的回答

madhan ravi
madhan ravi 2019-9-15
B1(B1>mean(B1(:)))
  2 个评论
phdcomputer Eng
phdcomputer Eng 2019-9-15
Thank you very much
I used this line, after running, B1 still has the full number of features(column) equal to full dataset, for example lung.mat has 57 features and B1 by this line still has 57 columns,
I considered that by this line B1 will be cut to the number of features that are greater than the mean of B1.
I'll be very gratefull to have your valuable opinion.
madhan ravi
madhan ravi 2019-9-16
编辑:madhan ravi 2019-9-16
As I understand the solution should give you the values above mean. If that’s what you’re not after then I have difficulty in understanding what you want or what you’re after.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by