Knn code to compare two excel sheet
显示 更早的评论
we are working on a power system on which we have to determine whether the failure of the power system is a fault or not a fault. We have created a dataset with all possibilities of faults and not faults of the system called training set. we have created another excel sheet called the training set in which we have taken some values of faults and not faults from the dataset. We want to use knn algorithm and euclidean distance to compare/classify whether the readings in the training set are the values of faults or not faults when compared with the original dataset. As we are putting four five values in the training set, how do we make matlab read and classify all the values one after the other without manually entering the values
P.S- 1 represents 'fault' and 2 represents 'not a fault' (in the AE column of the excel sheet)in the dataset excel sheet. After running knn algorithm we want 1 or 2 displayed on command line and written on training set.
1 个评论
Rik
2017-3-23
You mean you need to read the Excel files into Matlab? That can be done with xlsread. It sounds like after that it is only a few matrix multiplications. (potentially useful function: repmat, also keep in mind that Matlab trims the result from xlsread, removing empty rows and columns)
回答(1 个)
sam CP
2017-3-26
编辑:per isakson
2017-4-2
%The following code will helps you.
clc
clear all
training0 = xlsread('training set.xls');
training1 = xlsread('dataset.xlsx');
zero = zeros(10,1);
one = ones(10,1);
group = [zero;one];
test = TestFeatinputMRI;
training = [training0;training1];
KNN = fitcknn(training,group)
Class = knnclassify(test,training,group)
8 个评论
Nana Fernandes
2017-3-28
Rik
2017-3-28
What is your exact code for xlsread?
Nana Fernandes
2017-3-29
Rik
2017-3-29
The strange thing is that the line training=[training0;training1]; is called before KNN=fitcknn(training,group). This should mean that either that first line should error, or the variable training should exist.
Nana Fernandes
2017-3-29
Rik
2017-3-29
Then training0 and training1 don't have the correct sizes to be put together. The training matrix should contain first the data for group zero (fault) and then for group one (not fault). This is then encoded in the variable group. I can't give you more details than this, because I am not familiar with this topic specifically.
Nana Fernandes
2017-3-30
Nana Fernandes
2017-4-2
类别
在 帮助中心 和 File Exchange 中查找有关 Classification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!