예제 #1
0
    fig.show()


def plot_mae_increase(x, maes):
    increase = []
    for m in maes:
        increase.append(((m[0] - m[1]) / m[0]) * 100)
    fig = plt.figure()
    plt.plot(x, increase, label='算法提升率')
    plt.grid(axis="y")
    plt.xlabel('用户度范围')
    plt.ylabel('算法提升率')
    plt.title('不同用户度范围下多准则算法相较于单准则算法mae提升率')
    fig.legend()
    # fig.savefig(filepath)
    fig.show()


dirs = './yahoodata(interval-2)/'
readpath = os.listdir(dirs)
readpath.sort(key=lambda x: int(x.split('-')[0]))
maes = []
ks = [i for i in range(1, 22)]
for i in range(len(readpath)):
    test = Experiment(no_of_criteria=5, combin_func='total_reg')
    test.readDatas(dirs + readpath[i] + '/all.txt')
    s_mae, m_mae = test.SVD()
    maes.append((s_mae, m_mae))
plot_mae(readpath, maes)
plot_mae_increase(readpath, maes)
예제 #2
0
    fig.legend()
    fig.savefig(path)
    fig.show()


dirs = './yahoodata(step)/'
readpath = os.listdir(dirs)
readpath.sort(key=lambda x: int(x.split('-')[0]))
min_maes, max_maes = [], []
ks = [i for i in range(1, 22)]
for i in range(len(readpath)):
    mins = Experiment(no_of_criteria=5, combin_func='total_reg')
    mins.readDatas(dirs + readpath[i] + '/min/all.txt')
    maxs = Experiment(no_of_criteria=5, combin_func='total_reg')
    maxs.readDatas(dirs + readpath[i] + '/more/all.txt')
    min_s_mae, min_m_mae = mins.SVD()
    max_s_mae, max_m_mae = maxs.SVD()
    min_maes.append((min_s_mae, min_m_mae))
    max_maes.append((max_s_mae, max_m_mae))
plot_mae(readpath, min_maes)
plot_mae(readpath, max_maes)
mae_increase = []
for i in range(len(min_maes)):
    min_increase = round(
        100 * (min_maes[i][0] - min_maes[i][1]) / min_maes[i][0], 4)
    max_increase = round(
        100 * (max_maes[i][0] - max_maes[i][1]) / max_maes[i][0], 4)
    mae_increase.append((min_increase, max_increase))
names = ['./(SVD)mae具体值.txt', './(SVD)mae提升率.txt', './(SVD)mae提升率对比图.png']

for n in names: