Skip to content
Snippets Groups Projects
Commit 1fba6652 authored by Céline Robardet's avatar Céline Robardet
Browse files

doa

parent a1c63a16
No related branches found
No related tags found
No related merge requests found
import os
import pandas as pd
import numpy as np
import argparse
import numpy as np
import sys
sys.path.append('../')
sys.path.insert(0, os.path.abspath('../portrait/'))
sys.path.insert(0, os.path.abspath('../../portrait/'))
from Utility import DatasetProcessor
def compute_kc_user(name):
fileName = name + "_responses.csv"
f = open(fileName, "r")
......@@ -21,15 +20,12 @@ def compute_kc_user(name):
num_kc = 0
for line in lines:
r = line.split(',')
# print(r)
if (int(r[0]) != old_k):
num_kc = num_kc + 1
# print("k", int(r[0]))
if (old_k != -1):
kc_user.append(new_kc_user)
kc_user_val.append(new_kc_user_val)
dico_u.append(dico_uk)
# print(new_kc_user_val)
new_kc_user = []
new_kc_user_val = []
dico_uk = {}
......@@ -65,7 +61,6 @@ def parse_it(it):
r = int(float(r))
return q, r
def dao_creuse(F, kc_user, kc_user_val, dico_u):
doa = []
user_embed = F
......@@ -74,15 +69,11 @@ def dao_creuse(F, kc_user, kc_user_val, dico_u):
v = 0.0
users = list(dico_u[k])
for a in range(len(kc_user[k])):
# print("dico",a, dico_u[a])
for b in range(len(kc_user[k])): # dico_u[k]:
for b in range(len(kc_user[k])):
Z2 = 0.0
Z0 = 0.0
ua = users[a]
ub = users[b]
# print(a,b,dico_u[k][0])
# print("hh", a,b,k,dico_u)#dico_u[k][a], dico_u[k][b], kc_user[k][a], kc_user[k][b], user_embed[dico_u[k][a]][k] , user_embed[dico_u[k][b]][k] )
# if((a in dico_u[k]) and (b in dico_u[k]) and (user_embed[dico_u[k][a]][k] > user_embed[dico_u[k][b]][k])):
try:
user_embed[ua][k] > user_embed[ub][k]
except:
......@@ -90,11 +81,10 @@ def dao_creuse(F, kc_user, kc_user_val, dico_u):
print((ub))
print((k))
if (user_embed[ua][k] > user_embed[ub][k]):
ia = a # dico_u[k][a]
ib = b # dico_u[k][b]
ia = a
ib = b
ma = 0
mb = 0
# print("a,b",ia,ib)
while (ma < len(kc_user[k][ia])) and (mb < len(kc_user[k][ib])):
if (kc_user[k][ia][ma] < kc_user[k][ib][mb]):
ma = ma + 1
......@@ -102,9 +92,7 @@ def dao_creuse(F, kc_user, kc_user_val, dico_u):
if (kc_user[k][ia][ma] > kc_user[k][ib][mb]):
mb = mb + 1
else:
# meme item
# print("meme item", ma, mb, Q[kc_user[k][a][ma]][k], kc_user_val[k][a][ma], kc_user_val[k][b][mb])
# print("ici",Q[kc_user[k][a][ma]][k])
# same item
if (kc_user_val[k][ia][ma] > kc_user_val[k][ib][mb]):
Z2 = Z2 + 1
Z0 = Z0 + 1
......@@ -113,19 +101,15 @@ def dao_creuse(F, kc_user, kc_user_val, dico_u):
Z0 = Z0 + 1
ma = ma + 1
mb = mb + 1
# print("Z0 Z2", A, b, Z0, Z2)
if (Z0 > 0):
Z1 = Z1 + 1
v = v + Z2 / Z0
# print("Z2, Z0",dico_u[k][a],dico_u[k][b],Z2, Z0)
if (Z1 > 0):
v = v / Z1
# print("Z1", k, Z1)
# print("dao k : ", k, v)
doa.append(v)
return doa
def fromDFtoArray(name, vector, type_value):
# Read dataframe and generate a matrix or
# a vector of appropriate type
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment