极限学习机Python开源库——elm【内附案例源码】

本文由车神哥分享,介绍了ELM极限学习机在Python中的实现库elmPythonExtremeLearningMachine。通过案例展示了如何安装、使用该库进行分类任务,并提供了数据集下载链接。文章强调了坚持学习和实践的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

💖作者简介:大家好,我是车神哥,府学路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

⚡⚡


创作不易⚡,过路能❤关注收藏点个赞三连就最好不过了

ღ( ´・ᴗ・` )

ELM极限学习机是一种通过随机选择输入权重和分析以确定网络的输出权重的学习算法,最初是对单隐层前馈神经网络提出的一种新型的学习算法。在Python中,可以使用numpy库来实现ELM极限学习机算法。 在使用ELM极限学习机进行训练时,需要准备一个包含所有训练模式的矩阵training_patterns。这个矩阵的大小是Nxd,其中N表示训练模式的数量,d表示每个训练模式的维度。需要保存所有训练模式,以便在测试和预测阶段进行核计算。 训练完成后,可以计算输出权重output_weight,它是一个大小为Nx1的列向量,表示Β(beta)。这个向量可以用于在测试和预测阶段进行结果的计算。 在Python中,可以使用numpy库来进行矩阵运算和计算Β(beta)。可以通过调用相应的函数来实现ELM极限学习机算法,并传入训练模式矩阵和其他必要的参数。最后,可以使用得到的输出权重进行测试和预测。 总结来说,ELM极限学习机是一种通过随机选择输入权重和分析以确定网络的输出权重的学习算法,可以使用Python中的numpy库来实现。训练模式矩阵包含所有训练模式,输出权重是计算出来的列向量,可以用于测试和预测阶段的结果计算。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Python实现极限学习机ELM【hpelm库】(内涵源代码)](https://blog.csdn.net/weixin_44333889/article/details/122171575)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [极限学习机Python开源库——elm【内案例源码】](https://blog.csdn.net/weixin_44333889/article/details/124844604)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

府学路18号车神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值