Minisom
之前做过一个对minisom的第三方开源库的介绍。
对相应的代码添加了注释:
导入各种库吧
# 导入库 from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Patch import pandas as pd from minisom import MiniSom import math import xlrd from icecream import ic from tqdm import tqdm from openpyxl import load_workbook import openpyxl from time import time
第一步是导入数据的Function,这很简单就不解释了
# 传入数据成DataFrame的矩阵格式 def loaddata(datafile, num_name): df = pd.read_excel(datafile, sheet_name=num_name, index_col=0) # 导入数据 return df # 返回值
由于代码不是很长,就没有按照模块来写了
然后是导入源文件及其标签。
说实话,在现实项目中,想要找到不同特征的标签是真的真的真的太难了!!!
不要问为什么,当你实践你就知道了~
# 导入原始数据 # 1.导入训练和测试数据集 datafile = "*********.xls" # 原始数据文件名 # 2.导入标签数据 y = pd.DataFrame(pd.read_csv('label****.csv')) # 读取你的标签数据或者原有的标签是最好的 yy = [] # 设置空矩阵 # 循环将标签导入yy矩阵中 for iy in range(y.shape[0]): Uy = y.iloc[iy, 0] yy.append(int(Uy)) y = yy # 赋值给y
再读取每个sheet中的不同特征名称,我的数据集是这样,如果你没有特征名称,最好对其进行标记,这样会更加有效。