How to fix my code to detect and remove properly outliers
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am trying to detect and remove outliers from a dataset (1372 rows, 4 columns).
I wrote some code about finding them but I am not sure if this is the best way. Although I tried to remove them but instead of being removed the number 32 is replacing them. I can not understand why.
% Find outliers
meanValue = mean(data_banknote_authentication(:,1:4));
absoluteDeviation = abs(data_banknote_authentication(:,1:4) - meanValue);
mad = median(absoluteDeviation);
sensitivityFactor = 3 % I am not sure if this is correct
thresholdValue = sensitivityFactor * mad;
outlierIndexes = abs(absoluteDeviation) > thresholdValue
outliers = data_banknote_authentication(:,1:4)(outlierIndexes);
nonOutliers = data_banknote_authentication(:,1:4)(~outlierIndexes);
% Remove outliers
for i=1:1372
for k=1:4
if (outlierIndexes(i,k) == 1)
data_banknote_authentication(i,k) = ' ';
%data_banknote_authentication(i,k) = " ";
endif
endfor
endfor
I want to delete the outliers but the actual result is that in their position there is now the number 32. How can I remove them from the dataset?
octave outliers pattern-recognition
add a comment |
I am trying to detect and remove outliers from a dataset (1372 rows, 4 columns).
I wrote some code about finding them but I am not sure if this is the best way. Although I tried to remove them but instead of being removed the number 32 is replacing them. I can not understand why.
% Find outliers
meanValue = mean(data_banknote_authentication(:,1:4));
absoluteDeviation = abs(data_banknote_authentication(:,1:4) - meanValue);
mad = median(absoluteDeviation);
sensitivityFactor = 3 % I am not sure if this is correct
thresholdValue = sensitivityFactor * mad;
outlierIndexes = abs(absoluteDeviation) > thresholdValue
outliers = data_banknote_authentication(:,1:4)(outlierIndexes);
nonOutliers = data_banknote_authentication(:,1:4)(~outlierIndexes);
% Remove outliers
for i=1:1372
for k=1:4
if (outlierIndexes(i,k) == 1)
data_banknote_authentication(i,k) = ' ';
%data_banknote_authentication(i,k) = " ";
endif
endfor
endfor
I want to delete the outliers but the actual result is that in their position there is now the number 32. How can I remove them from the dataset?
octave outliers pattern-recognition
you are putting a space so ASCII=32 . Try with=as null , but remember that will resize thedata_banknote_authenticationdimensions
– matzeri
Jan 3 at 14:02
I tried this data_banknote_authentication(i,k) = ; but it gives me this error: a null assignment can only have one non-colon index
– Jane
Jan 3 at 15:48
do you need to cancel all the 4 data of a row or not ?
– matzeri
Jan 4 at 10:06
add a comment |
I am trying to detect and remove outliers from a dataset (1372 rows, 4 columns).
I wrote some code about finding them but I am not sure if this is the best way. Although I tried to remove them but instead of being removed the number 32 is replacing them. I can not understand why.
% Find outliers
meanValue = mean(data_banknote_authentication(:,1:4));
absoluteDeviation = abs(data_banknote_authentication(:,1:4) - meanValue);
mad = median(absoluteDeviation);
sensitivityFactor = 3 % I am not sure if this is correct
thresholdValue = sensitivityFactor * mad;
outlierIndexes = abs(absoluteDeviation) > thresholdValue
outliers = data_banknote_authentication(:,1:4)(outlierIndexes);
nonOutliers = data_banknote_authentication(:,1:4)(~outlierIndexes);
% Remove outliers
for i=1:1372
for k=1:4
if (outlierIndexes(i,k) == 1)
data_banknote_authentication(i,k) = ' ';
%data_banknote_authentication(i,k) = " ";
endif
endfor
endfor
I want to delete the outliers but the actual result is that in their position there is now the number 32. How can I remove them from the dataset?
octave outliers pattern-recognition
I am trying to detect and remove outliers from a dataset (1372 rows, 4 columns).
I wrote some code about finding them but I am not sure if this is the best way. Although I tried to remove them but instead of being removed the number 32 is replacing them. I can not understand why.
% Find outliers
meanValue = mean(data_banknote_authentication(:,1:4));
absoluteDeviation = abs(data_banknote_authentication(:,1:4) - meanValue);
mad = median(absoluteDeviation);
sensitivityFactor = 3 % I am not sure if this is correct
thresholdValue = sensitivityFactor * mad;
outlierIndexes = abs(absoluteDeviation) > thresholdValue
outliers = data_banknote_authentication(:,1:4)(outlierIndexes);
nonOutliers = data_banknote_authentication(:,1:4)(~outlierIndexes);
% Remove outliers
for i=1:1372
for k=1:4
if (outlierIndexes(i,k) == 1)
data_banknote_authentication(i,k) = ' ';
%data_banknote_authentication(i,k) = " ";
endif
endfor
endfor
I want to delete the outliers but the actual result is that in their position there is now the number 32. How can I remove them from the dataset?
octave outliers pattern-recognition
octave outliers pattern-recognition
asked Jan 3 at 12:12
JaneJane
256
256
you are putting a space so ASCII=32 . Try with=as null , but remember that will resize thedata_banknote_authenticationdimensions
– matzeri
Jan 3 at 14:02
I tried this data_banknote_authentication(i,k) = ; but it gives me this error: a null assignment can only have one non-colon index
– Jane
Jan 3 at 15:48
do you need to cancel all the 4 data of a row or not ?
– matzeri
Jan 4 at 10:06
add a comment |
you are putting a space so ASCII=32 . Try with=as null , but remember that will resize thedata_banknote_authenticationdimensions
– matzeri
Jan 3 at 14:02
I tried this data_banknote_authentication(i,k) = ; but it gives me this error: a null assignment can only have one non-colon index
– Jane
Jan 3 at 15:48
do you need to cancel all the 4 data of a row or not ?
– matzeri
Jan 4 at 10:06
you are putting a space so ASCII=32 . Try with
= as null , but remember that will resize the data_banknote_authentication dimensions– matzeri
Jan 3 at 14:02
you are putting a space so ASCII=32 . Try with
= as null , but remember that will resize the data_banknote_authentication dimensions– matzeri
Jan 3 at 14:02
I tried this data_banknote_authentication(i,k) = ; but it gives me this error: a null assignment can only have one non-colon index
– Jane
Jan 3 at 15:48
I tried this data_banknote_authentication(i,k) = ; but it gives me this error: a null assignment can only have one non-colon index
– Jane
Jan 3 at 15:48
do you need to cancel all the 4 data of a row or not ?
– matzeri
Jan 4 at 10:06
do you need to cancel all the 4 data of a row or not ?
– matzeri
Jan 4 at 10:06
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54022063%2fhow-to-fix-my-code-to-detect-and-remove-properly-outliers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54022063%2fhow-to-fix-my-code-to-detect-and-remove-properly-outliers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown

you are putting a space so ASCII=32 . Try with
=as null , but remember that will resize thedata_banknote_authenticationdimensions– matzeri
Jan 3 at 14:02
I tried this data_banknote_authentication(i,k) = ; but it gives me this error: a null assignment can only have one non-colon index
– Jane
Jan 3 at 15:48
do you need to cancel all the 4 data of a row or not ?
– matzeri
Jan 4 at 10:06