zoukankan      html  css  js  c++  java
  • Python实现自组织映射神经网络

    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中的不同特征名称,我的数据集是这样,如果你没有特征名称,最好对其进行标记,这样会更加有效。

  • 相关阅读:
    WinForm换行
    aspx获取页面间传送的值
    Response.BinaryWrite()方法输出二进制图像
    Jquery删除table的行和列
    WinForm DataGridView控件隔行变色
    IE中table的innerHTML无法赋值
    C#为IE添加可信任站点
    静态代码检查
    第三方开源小工具
    查看sql server 服务器内存使用情况
  • 原文地址:https://www.cnblogs.com/lyck/p/15240089.html
Copyright © 2011-2022 走看看