def main(): Result = [] FeatureList = [] TheData = data.ReadData() TSNEResult = tsne.GetTsneResult(TheData) print("please input the type you want") print("1:K means") print("2:K means implemented by myself(slow)") print("3:Hierarchical") num = -1 while True: try: num = int(input()) except: continue if num == 1: RunKmeansTrain(TheData, TSNEResult) break elif num == 2: RunSelfTrain(TheData, TSNEResult) break elif num == 3: RunHierTrain(TheData, TSNEResult) break tsne.PlotTsneGroundTruth(TheData, TSNEResult, num)
def PaintCorrelation(): TheData = data.CleanData(data.ReadData()).astype(float) TheData = TheData[[ "MFCCs_ 4", "MFCCs_ 6", "MFCCs_11", "MFCCs_13", "MFCCs_15", "MFCCs_17", "MFCCs_19", "MFCCs_20", "MFCCs_22", "Family" ]] a = TheData.corr() print(a) plt.subplots(figsize=(17, 17)) plt.rcParams['axes.unicode_minus'] = False sns.heatmap(a, annot=True, vmax=1, square=True, cmap="Blues") plt.show()
def RunSVMTrain(): ''' 用SVM库训练6个feature ''' TheData = data.ReadData() for i in range(len(AllFeatureChoices)): FeatureList = AllFeatureChoices[i] Result = svm.SVMTrain(TheData, FeatureList) Accuracy = (Result["TP"] + Result["TN"]) \ / (Result["TP"] + Result["FP"] + Result["TN"] + Result["FN"]) Precision = (Result["TP"]) \ / (Result["TP"] + Result["FP"]) Recall = (Result["TP"]) \ / (Result["TP"] + Result["FN"]) F1 = (2 * Precision * Recall) \ / (Precision + Recall) print("Accuracy: {:.2f}".format(100 * Accuracy)) print("Precision: {:.2f}".format(100 * Precision)) print("Recall: {:.2f}".format(100 * Recall)) print("F1: {:.2f}".format(100 * F1)) print("*" * 100)
import matplotlib.pyplot as plt import seaborn as sns import data import pandas TheData = data.ReadData() a = TheData.corr() print(a) plt.subplots(figsize=(17, 17)) plt.rcParams['axes.unicode_minus'] = False sns.heatmap(a, annot=True, vmax=1, square=True, cmap="Blues") plt.show()