Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
Solved

# pseudo-code formula

Posted on 2011-02-11
Medium Priority
553 Views
there is a formula in the following article:Article link
page 503: Levine and Nazif

where simply it does the following:

ListOfClasses = [c1,c2,c3,...,cn], and where ci = [value1,value2,...,valuen]
so it does the intra-region uniformity, the closer to 1 the better the result.

Well what is really disturbing is that i cannot fix it while working with vectors instead of values:

ListOfClasses = [c1,c2,c3,...,cn], and where ci = [v1,v2,...,vn] where v = VECTOR
and where vi = [value1,value2,value3,...valuen]

Can you pls give me the pseudo-code for that algorithm with vectors!!

I am getting opposite results.
0
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 2
• 2

LVL 37

Expert Comment

ID: 34875193
What does the vector represent? What is the current algorithm you are using? Since the uniformity should just be the inverse of the variance, it shouldn't give you the opposite unless you are actually calculating the variance. Then you would just need to flip it (realAnswer = 1/oldAnswer or something).
0

Author Comment

ID: 34878064
What does the vector represent?
u can think of each vector as f(x,y) the value of each element in a class.
instead of f(x,y) = x (value), f(x,y) = [e1,e2,...,en]
What is the current algorithm you are using?
``````def M_intraClasses(self,classList):

somme1 = 0.0
#for each class in the classlist
for i in range(0,len(classList)):
#take a cluster
cluster = classList[i].getListOfGraphems()
s1 = []
#now for each element in the cluster ( s1 is f(x,y) which contains values, so s1 will contain vectors instead of values)
for sommet in range(0,len(cluster)):
s1.append(self.sub[sommet,:])
#take fmax and fmin
fmax = amax(s1)
fmin = amin(s1)
#compute the standard deviation divided by fmax - fmin
somme1 += std(s1)**2/(((fmax - fmin)**2 + self.epsilon)/2.0)

#since the intra-region uniformity should be low i maximize it but taking 1 out of it.
uniforme = 1.0-(somme1/float(len(classList)))
return uniforme
``````
0

LVL 37

Accepted Solution

TommySzalapski earned 2000 total points
ID: 34879467
So why don't you just do a nested for loop and add all the elements of all the vectors into s1? Is that what you tried already? Why didn't it work? It should have.

Or should you be computing multiple values? Should you be getting a different uniformity for each place in the vector or are all the values in the vector related to the same thing?
0

Author Closing Comment

ID: 34881745
Hello,
yes it did work now when i have only 1 class the uniformity criteria is high, but when many classes the uniformity is low.

the more i have the classes the lower the uniformity criteria. So i think yes it's working perfectly.

Thank you for your help as usual!
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The greatest common divisor (gcd) of two positive integers is their largest common divisor. Let's consider two numbers 12 and 20. The divisors of 12 are 1, 2, 3, 4, 6, 12 The divisors of 20 are 1, 2, 4, 5, 10 20 The highest number among the c…
When there is a disconnect between the intentions of their creator and the recipient, when algorithms go awry, they can have disastrous consequences.
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…
###### Suggested Courses
Course of the Month5 days, 2 hours left to enroll