Result_of_acc_std = np.zeros([len(datasets) * 2, len(classifiers)])

for i in range(len(datasets)):
    print(datasets[i])
    new_path = os.path.join('.\data', datasets[i])
    Data_Origi, DataLabel, n_samples, n_attr, n_class = PF.Load_Data(new_path)
    #归一化处理
    scaler = MinMaxScaler()
    scaler.fit(Data_Origi)
    Data_Origi = scaler.transform(Data_Origi)
    for l in range(2):
        if l == 0:
            #度量学习
            lmnn = LMNN(k=5, learn_rate=1e-6)
            lmnn.fit(Data_Origi, DataLabel)
            Data_trans = lmnn.transform(Data_Origi)
        else:
            Data_trans = Data_Origi
        #同质化融合
        Dis_Matrix = PF.Calcu_Dis(Data_trans)
        CompareMatrix = PF.CompareNoiseLabel(Dis_Matrix, DataLabel)
        Cluster_Checked = PF.Affinity_propagatio_Modify(CompareMatrix)
        lap_ratio = PF.Count(Cluster_Checked, set_vlaue, n_samples)
        Result_of_Upper[i, l] = 1 - lap_ratio

        for j in range(len(classifiers)):
            print(classifiers[j])
            clf = classifiers[j]
            scores = cross_val_score(clf, Data_trans, DataLabel, cv=cv)
            Result_of_acc_ave[2 * i + l, j] = scores.mean()
            Result_of_acc_std[2 * i + l, j] = scores.std()
Example #2
0
# -*- coding: utf-8 -*-
# __author: CQQ
# @file: R_value.py
# @time: 2020 01 12
# @email: [email protected]

import Function as PF
import numpy as np
import os

datasets = ['L1.txt', 'L2.txt', 'L3.txt']
RV = np.zeros([len(datasets), 1])
for d in range(len(datasets)):
    print(datasets[d])
    new_path = os.path.join('.\data', datasets[d])
    Data_Origi, DataLabel, n_samples, n_attr, n_class = PF.Load_Data(new_path)
    Dis_Matrix = PF.Calcu_Dis(Data_Origi)
    Label_Index_Matrix = np.argsort(Dis_Matrix)
    Record_Matrix = PF.RecordIndexOfClass(DataLabel)
    count = 0
    for i in range(len(Record_Matrix)):
        Set_in = Record_Matrix[i]
        Set_out = set(range(n_samples)) - set(Set_in)
        for j in Set_in:
            if len(set(Label_Index_Matrix[j, :8]) & Set_out) - 3 > 0:
                count = count + 1
    R_value = 1 - count * 1.0 / n_samples
    RV[d] = R_value