💖作者简介:大家好,我是车神哥,府学路18号的车神🥇
⚡About—>车神:从寝室到实验室最快3分钟,最慢3分半(那半分钟其实是等红绿灯)
📝个人主页:车手只需要车和手,压力来自论文_府学路18号车神_CSDN博客
🥇 官方认证:人工智能领域优质创作者
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋⚡希望大家多多支持🤗~一起加油 😁
专栏
课题快接近尾声了,近期研究ELM极限学习机还比较多,15年 Augusto Almeida. 做过一个ELM的Python开源库,下面介绍一下吧~
Python Extreme Learning Machine (ELM)
关于极限学习机这里就不多介绍了,之前也介绍过其他的库如:hpelm。
- Python 极限学习机 (ELM) 是一种用于分类/回归任务的机器学习技术。
elm库的特征:
- ELM Kernel
- ELM 随机神经元
- 机器学习工具
安装【elm库】
如果你用的PyCharm,那么直接在Terminal下安装即可:
pip install elm
这是最简单的安装方法了~
当然,或者,如果你安装了 virtualenv:
$ virtualenv venv
$ source venv/bin/activate
$ pip install elm
用法说明
下面给出在项目中elm库的使用实例方法,用到了鸢尾花数据集,在下面的链接可以下载哦
- https://github.com/acba/elm/tree/develop/tests/data
# -- coding: utf-8 --
# @Time : 2022/5/18 16:13
# @Author : 府学路18号车神
# @File : demo_elm.py
# @Software: PyCharm
import elm
# download an example dataset from 在下面链接下载数据集
# https://github.com/acba/elm/tree/develop/tests/data
# load dataset 加载数据集
data = elm.read("./data/iris.data")
# create a classifier 创建基于核ELM的一个分类器
elmk = elm.ELMKernel()
# search for best parameter for this dataset 搜索此数据集的最佳参数
# define "kfold" cross-validation method, "accuracy" as a objective function 定义“kfold”交叉验证方法,“准确性”作为目标函数
# to be optimized and perform 10 searching steps. 待优化,执行10个搜索步骤
# best parameters will be saved inside 'elmk' object 最佳参数将保存在'elmk'对象中
elmk.search_param(data, cv="kfold", of="accuracy", eval=10)
# split data in training and testing sets 分离训练集和测试集的数据
# use 80% of dataset to training and shuffle data before splitting 在拆分前使用80%的数据集进行训练和洗牌
tr_set, te_set = elm.split_sets(data, training_percent=.8, perm=True)
# train and test 训练和测试
# results are Error objects 结果是Error对象
tr_result = elmk.train(tr_set)
te_result = elmk.test(te_set)
print(te_result.get_accuracy)
Package
classelm.elmk.ELMKernel(params=[])[source]
基础:elm.mltools.MLTools
Huang[1] 定义的 ELM 内核的 Python 实现。
ELM 是 Huang 在 2006 年提出的单隐藏层前馈网络(SLFN),2012 年作者在他之前的工作中修改并引入了使用核函数的新概念。
该实现目前接受 2012 年提出的两种方法,随机神经元和核函数来估计分类器/回归函数。
让问题的维度“d”是“t”大小(每个模式的目标数)和“f”大小(每个模式的特征数)的总和。所以,d = t + f
数据将设置为 Pattern = (Target | Features)。
如果数据库有N个模式,它的大小遵循Nxd。
Variables:
-
output_weight
(numpy.ndarray) – a column vector (Nx1) calculated after training, represent :math:beta. -
training_patterns
(numpy.ndarray) –
a matrix (Nxd) containing all patterns used for training.
Need to save all training patterns to perform kernel calculation at testing and prediction phase. -
param_kernel_function (str)
– kernel function that will be used for training. -
param_c
(float) – regularization coefficient © used for training. -
param_kernel_params
(list of float) – kernel function parameters that will be used for training.
Other Parameters:
regressor_name
(str) – The name of classifier/regressor.available_kernel_functions
(list of str) – List with all available kernel functions.default_param_kernel_function
(str) – Default kernel function if not set at class constructor.default_param_c
(float) – Default parameter c value if not set at class constructor.default_param_kernel_params
(list of float) – Default kernel function parameters if not set at class constructor.
其他的具体解释在elm的包源码内都有解释,直接安装好就可以查看啦
❤坚持读Paper,坚持做笔记,坚持学习,坚持刷力扣LeetCode❤!!!
坚持刷题!!!
⚡To Be No.1⚡⚡哈哈哈哈
⚡创作不易⚡,过路能❤关注、收藏、点个赞❤三连就最好不过了
ღ( ´・ᴗ・` )
❤