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()
# -*- 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