31 neighborsIndex.
resize(1,1,1,K);
38 __dataLabel=dataLabel;
53 maximumIndex=findMaxIndex(maxDist);
55 for (
size_t i=K;
i<
YSIZE(__dataset);
i++)
57 distance=euclideanDistance(sample,
i,maximum);
64 maximumIndex=findMaxIndex(maxDist);
79 for (
size_t j=0;
j<
XSIZE(__labelSet);++
j)
83 index=findMaxIndex(voteArray);
87 index=findMinIndex(maxDist);
97 for (
size_t i=1;
i<
XSIZE(inputArray);
i++)
112 for (
size_t i=1;
i<
XSIZE(inputArray);
i++)
128 if (maximumDist>0 &&
sqrt(dist)>maximumDist)
134 #ifdef UNUSED // detected as unused 29.6.2018 142 if (maximumDist>0 && dist>maximumDist)
148 void KNN::saveModel(
const FileName &fn)
152 fh<<
XSIZE(__labelSet)<<std::endl;
156 fh<<
YSIZE(__dataset)<<
" "<<
XSIZE(__dataset)<<std::endl;
157 for (
size_t i=0;
i<
YSIZE(__dataset);++
i)
160 for (
size_t j=0;
j<
XSIZE(__dataset);++
j)
169 void KNN::loadModel(
const FileName &fn)
175 __labelSet.
resize(1,1,1,x);
179 __dataset.
resize(1,1,y,x);
180 __dataLabel.
resize(1,1,1,y);
181 for (
size_t i=0;
i<
YSIZE(__dataset);++
i)
184 for (
size_t j=0;
j<
XSIZE(__dataset);++
j)
void resize(size_t Ndim, size_t Zdim, size_t Ydim, size_t Xdim, bool copy=true)
void sqrt(Image< double > &op)
#define DIRECT_A2D_ELEM(v, i, j)
void train(MultidimArray< double > &dataset, MultidimArray< double > &dataLabel, MultidimArray< double > &labelset)
#define FOR_ALL_DIRECT_ELEMENTS_IN_ARRAY1D(v)
ql0001_ & k(htemp+1),(cvec+1),(atemp+1),(bj+1),(bl+1),(bu+1),(x+1),(clamda+1), &iout, infoqp, &zero,(w+1), &lenw,(iw+1), &leniw, &glob_grd.epsmac
#define DIRECT_A1D_ELEM(v, i)
void setK(int k)
Method for setting the K.
void KNearestNeighbors(MultidimArray< double > &sample)
Compute the K nearest neighbors to the sample.
TYPE distance(struct Point_T *p, struct Point_T *q)
void initZeros(const MultidimArray< T1 > &op)
int predict(MultidimArray< double > &sample, double &score)