1.机器学习的特征重要性究竟是怎么算的
2.Apple M1的AI环境搭建
3.Ray使用教程(一):基本用法
4.数据挖掘需要哪些技能?
5.Win10 环境下,LightGBM GPU 版本的安装
6.å¦ä½å¨Mac OSXä¸å®è£
xgboost
机器学习的特征重要性究竟是怎么算的
了解主流机器学习模型计算特征重要性的过程。常用算法包括xgboost、gbdt、randomforest、tree等,网易有道源码它们都能输出特征的重要性评分。本文将重点阐述xgboost和gbdt特征重要性计算方法。
xgboost计算特征重要性涉及到复杂的过程。在xgboost R API文档中能找到部分解释。在Python代码中,通过get_dump获取树规则,规则描述了特征在决策树中的使用情况。然而,原始的get_score方法输出的仅为统计值,包含权重、增益和覆盖度,未转换为百分比形式,这还不是真正的特征重要性得分。在xgboost的sklearn API中,feature_importance_方法对重要性统计量进行归一化处理,将之转换为百分比形式,计算分母为所有特征的重要性统计量之和。默认情况下,xgboost sklearn API计算重要性时使用importance_type="gain",可视化mssql源码而原始get_score方法使用importance_type="weight"。
对于gbdt,首先查找BaseGradientBoosting类,得到feature_importances_方法的源码。进一步追踪至tree模块,发现特征重要性来源于tree_.compute_feature_importances()方法。关于gbdt评估特征重要性的标准,存在疑问:它是依据分裂前后节点的impurity减少量进行评估。impurity的计算标准取决于节点的分裂标准,如MSE或MAE,具体在_criterion.pyx脚本中有所说明。gbdt中的树都是回归树,因此计算impurity的标准适用于该类问题。
Apple M1的AI环境搭建
首先,搭建Apple M1的AI环境,Python3.9作为基础,考虑到M1的ARM架构,Anaconda不再适用,转而选择Miniforge3。必需的库有Tensorflow、xgboost、Lightgbm、Numpy、Pandas、在线外链发布源码Matplotlib和NGBoost等。由于是Python3.9,部分库可能无法正常使用。
Homebrew,作为Mac的包管理工具,对于ARM架构的支持已经到位。如果有X版本的Homebrew,需先卸载,然后通过Homebrew的ARM版本进行安装。安装后,Homebrew会提示设置环境变量,推荐执行相应操作以确保环境配置。
在bash shell下,记得source ~/.zprofile。对于X版本的Homebrew,虽然安装后未提示添加环境变量,但同样需要手动管理。
为了优化软件源,可以考虑设置中科大源或清华大学源,如果需要更多选择,可以查看Homebrew的其他设置。对于cask,由于GitHub API访问限制,可能需要申请Api Token。神武端游源码论坛
接下来,下载并安装Miniforge3的arm版本,安装过程中会询问是否添加conda init到~/.zshrc。安装完成后,可以创建一个专为Tensorflow学习的虚拟环境。
Tensorflow的安装方式有两种,一是默认安装,Apple已优化支持;二是通过environment.yml预先配置。在tf环境内,可以测试安装是否成功。
对于Lightgbm,编译安装是较为可靠的方法,通过brew安装并设置编译环境。至于Numpy,通常会在Tensorflow安装时自动安装,其他库如Pandas、Matplotlib和NGBoost,可以通过conda或pip进行安装。
注意,可能遇到的库问题,如OpenCV、Dlib等,需自行下载源码编译。在整个过程中,峰谷线主图源码遇到问题时,Google搜索和官方文档是不可或缺的参考资源。
最后,值得注意的是相关教程和指南,如TensorFlow-macos、Run xgboost on Mac、加速Mac上的TensorFlow性能等,这些都能提供具体步骤和帮助,确保在M1芯片Mac上顺利搭建AI环境。
Ray使用教程(一):基本用法
Ray是一个高效且功能丰富的分布式机器学习框架,旨在降低大规模机器学习的门槛。它拥有一系列模块,包括Ray Core、Ray Data、Ray Train、Ray Tune、Ray Serve、Ray RLlib和Ray AIR,为人工智能领域的科研人员和工程师提供支持。
Ray的生态位高于TensorFlow和PyTorch等深度学习框架,用于神经网络训练。通过pip命令轻松安装Ray,不同命令可安装不同库,确保安装覆盖所有功能需执行“pip install -U "ray[all]"”。Ray兼容多种操作系统和Python版本,支持从源码到Docker的安装方式。
本教程将详细介绍Ray的安装和每个模块的基本用法,以版本2.4.0为例。首先了解Ray Core的基本分布式能力,初始化Ray后,通过装饰器控制函数或类的并行/分布式执行。
接下来是Ray AIR(AI Runtime),它提供一个集成的API,简化了数据处理和模型训练的过程。使用xgboost时,注意配置环境以兼容Windows系统。该模块通过读取数据、预处理、定义模型和训练等步骤实现高效学习。
Ray Train模块提供与PyTorch类似的API接口,简化了分布式训练的实现。输出结果展示了训练过程的可视化和性能指标。
Ray Tune模块用于超参数搜索,通过定义搜索空间和目标函数,实现自动化优化。结果输出展示了搜索过程和最佳参数设置。
Ray RLlib专注于强化学习领域,通过定义配置文件和训练算法,实现智能决策系统的构建。输出结果反映了算法的训练效果和性能指标。
为了便于学习和实践,所有示例代码已整合至开源仓库:github.com/OpenRL-Lab/R...
此教程仅为Ray的入门指南,后续将深入探索Ray Core、Ray RLlib、Ray AIR等模块的高级用法,并持续更新到GitHub仓库中。
数据挖掘需要哪些技能?
需要学习工程能力和算法能力。
工程能力:
( 1 )编程基础:需要掌握一大一小两门语言,大的指 C++ 或者 Java ,小的指Python 或者 shell 脚本;需要掌握基本的数据库语言。
( 2 )开发平台: Linux ;建议:掌握常见的命令,掌握 Linux 下的源码编译原理。
( 3 )数据结构与算法分析基础:掌握常见的数据结构以及操作。
算法能力:
( 1 )数学基础:概率论,数理统计,线性代数,随机过程,最优化理论。
( 2 )机器学习 / 深度学习:掌握 常见的机器学习模型(线性回归,逻辑回归, SVM ,感知机;决策树,随机森林, GBDT , XGBoost ;贝叶斯, KNN , K-means , EM 等)。
关于数据挖掘的相关学习,推荐CDA数据师的相关课程,课程以项目调动学员数据挖掘实用能力的场景式教学为主,在讲师设计的业务场景下由讲师不断提出业务问题,再由学员循序渐进思考并操作解决问题的过程中,帮助学员掌握真正过硬的解决业务问题的数据挖掘能力
Win 环境下,LightGBM GPU 版本的安装
在Win环境下,想要利用GPU提升LightGBM的训练速度,安装过程并非易事。LightGBM,微软开发的高效梯度提升框架,可与XGBoost比肩,尤其适用于大规模数据。由于其GPU版本的教程相对较少,本文基于官方指南和Stack Overflow上的解答,总结了安装步骤和注意事项。安装步骤
1. 对于CPU版本,LightGBM的安装方法有三种,与Python包安装类似。但使用GPU版本需要从源代码编译安装。GPU版本安装
主要流程包括下载LightGBM源代码,使用CMake进行构建,然后通过`python setup.py install --gpu`安装。对于Windows用户,有两种编译方式:VS Build Tools:推荐用于Win平台,可以简化步骤,避免MinGW可能遇到的问题。
MinGW:虽然速度可能较快,但可能会产生更多问题,且不推荐。
对于VS Build Tools,需要安装Git、CMake、VS Build Tools,以及对应的OpenCL和Boost Binaries。具体步骤涉及下载、安装、设置环境变量,然后编译源文件。 MinGW编译步骤类似,但需要下载MinGW或MinGW-w,然后按照类似流程操作。参数设置与性能测试
安装成功后,通过设置`device='gpu'`和相关GPU参数,可以启用GPU计算。测试性能时,如能顺利运行,表明安装成功。不过,与其他框架相比,LightGBM在GPU调用上稍显不便,但其支持更多类型的显卡,对Intel集成显卡友好。 性能提升方面,实际测试显示使用GPU计算有明显加速,但具体提升程度取决于硬件配置,如Intel集显和Nvidia独显的性能差异。å¦ä½å¨Mac OSXä¸å®è£ xgboost
1. Mac OSXç³»ç»ä¸è¬èªå¸¦pythonï¼æå¼ç»ç«¯è¾å ¥pythonå³å¯åpython代ç ï¼æ以pythonç¯å¢å·²ç»å ·å¤äºã
2.å®è£ Homebrew , 类似äºubuntuä¸çapt-getåcentosä¸çyumï¼æ¯OSXéé¢çä¸ä¸ªé常æç¨è½¯ä»¶å®è£ å·¥å ·ã
/usr/bin/ruby -e "$ï¼curl -fsSL /Homebrew/install/master/installï¼"
ç´æ¥å°ä¸è¿°ä»£ç ç²è´´è³ç»ç«¯å³å¯å®è£ ãï¼å®è£ è¿ä¸ªè½¯ä»¶çç®çå¨äºæ´æ°gccçæ¬ï¼å 为å®æ¹ææ¡£ä¸è¯´åªæææ°çgccçæ¬æè½ä½¿xgboostæ¯æå¤çº¿ç¨ï¼
3.å®è£ ææ°çæ¬çgcc ï¼gcc-6ï¼
brew install gcc --without-multilib
è¿æ¥æ¯è¾èæ¶ï¼ç¨äºå°è¿1å°æ¶ã
4.ä»gitä¸ä¸è½½æºç
cdè¿å ¥ä½ æ³è¦å®è£ çç®å½ï¼ç¶åè¾å ¥ä¸é¢ç代ç ãï¼ææ¯ç´æ¥å¨æå¼ç»ç«¯çç®å½ï¼
git clone --recursive /dmlc/xgboost
å¦ä½å¨Macä¸å®è£ xgboost
1. Mac OSXç³»ç»è¬èªå¸¦pythonæç»ç«¯è¾å ¥pythonå³åpython代ç æpythonç¯å¢å·²ç»å ·å¤
2.å®è£ Homebrew , 类似äºubuntuapt-getcentosyumOSXé¢éç¨è½¯ä»¶å®è£ å·¥å ·
/usr/bin/ruby -e "$ï¼curl -fsSL ï¼"
ç´æ¥è¿°ä»£ç ç²è´´è³ç»ç«¯å³å®è£ ï¼å®è£ 软件ç®äºæ´æ°gccçæ¬å®æ档说æ°gccçæ¬æè½ä½¿xgboostæ¯æ线ç¨ï¼
3.å®è£ æ°çæ¬gcc ï¼gcc-6ï¼
brew install gcc --without-multilib
æ¥æ¯è¾èç¨è¿1
4.gitè½½æºç
cdè¿å ¥æ³è¦å®è£ ç®å½è¾å ¥é¢ä»£ç ï¼æç´æ¥æç»ç«¯ç®å½ï¼
git clone --recursive