In [4]:
# 1. Calc the averaged probabilities of the samples
# 2. Obtain the mode label
In [2]:
import os
import pandas as pd
In [3]:
import numpy as np
In [5]:
fold_lrg = "./result-LRG-171110/"
fold_unlrg = "./result-unLRG-171110/"
In [8]:
# load the data
num_lrg = 1515
num_sub = 9
label_lrg = np.zeros((num_lrg, num_sub))
label_lrg_bt = np.zeros((num_lrg, num_sub))
prob_lrg = np.zeros((num_lrg, num_sub))
for i in range(num_sub):
fname = "code_LRG_%d.xlsx" % i
data = pd.read_excel(os.path.join(fold_lrg, fname))
label_lrg[:,i] = data["types"]
label_lrg_bt[:,i] = data["types_BT"]
prob_lrg[:,i] = data["Possibility"]
In [9]:
num_unlrg = 15300
num_sub = 9
label_unlrg = np.zeros((num_unlrg, num_sub))
label_unlrg_bt = np.zeros((num_unlrg, num_sub))
prob_unlrg = np.zeros((num_unlrg, num_sub))
for i in range(num_sub):
fname = "code_unLRG_%d.xlsx" % i
data = pd.read_excel(os.path.join(fold_unlrg, fname))
label_unlrg[:,i] = data["types"]
label_unlrg_bt[:,i] = data["types_BT"]
prob_unlrg[:,i] = data["Possibility"]
In [10]:
# Calc average or mode and save
In [12]:
from scipy.stats import mode
In [40]:
label_lrg_mode = np.array(mode(label_lrg,axis=1))[0,:,0].astype("int")
label_lrg_bt_mode = np.array(mode(label_lrg_bt,axis=1))[0,:,0].astype("int")
prob_lrg_avg = np.mean(prob_lrg, axis=1)
In [28]:
label_unlrg_mode = np.array(mode(label_unlrg,axis=1))[0,:,0].astype("int")
label_unlrg_bt_mode = np.array(mode(label_unlrg_bt,axis=1))[0,:,0].astype("int")
prob_unlrg_avg = np.mean(prob_unlrg, axis=1)
In [41]:
# Recheck BT of 0
id_lrg = (label_lrg_bt_mode==0) * (label_lrg_mode == 4)
for i in np.where(id_lrg==1)[0]:
line_dezero = label_lrg_bt[i,:][label_lrg_bt[i,:]>0]
label_lrg_bt_mode[i] = int(mode(line_dezero)[0][0])
In [43]:
id_unlrg = (label_unlrg_bt_mode==0) * (label_unlrg_mode == 4)
for i in np.where(id_unlrg==1)[0]:
line_dezero = label_unlrg_bt[i,:][label_unlrg_bt[i,:]>0]
label_unlrg_bt_mode[i] = int(mode(line_dezero)[0][0])
In [44]:
# save
result_lrg = {"Type": label_lrg_mode,
"Type_BT": label_lrg_bt_mode,
"Probability": prob_lrg_avg}
dFrame = pd.DataFrame(result_lrg)
dFrame.to_excel("./est_LRG_171110.xlsx")
In [45]:
result_unlrg = {"Type": label_unlrg_mode,
"Type_BT": label_unlrg_bt_mode,
"Probability": prob_unlrg_avg}
dFrame = pd.DataFrame(result_unlrg)
dFrame.to_excel("./est_unLRG_171110.xlsx")
In [ ]: