分类目录归档:语言

Seaborn-Python 数据可视化库


Seaborn 是一个基于 Matplotlib 构建的 Python 数据可视化库,旨在使统计图表的创建更加简便、美观。它提供了更高层次的接口来创建各种类型的图表,特别适用于处理复杂的数据集和进行数据探索性分析(EDA)。Seaborn 集成了 Pandas 数据框架,使得在使用 DataFrame 数据时非常方便。

Seaborn的特点:

  1. 高级接口: Seaborn 提供了比 Matplotlib 更高级的接口,使得创建复杂的统计图表变得更简单。例如,直接支持分组和颜色编码,能够处理类别数据和数值数据之间的关系。

  2. 漂亮的默认样式: Seaborn 提供了一些默认的...

Read more

全局解释锁-Python


Python中的全局解释锁(Global Interpreter Lock,简称GIL)是Python解释器用于同步线程执行的一种机制,以下是对它的详细介绍:

基本概念

  • 定义:GIL是Python解释器设计时引入的一个互斥锁,它确保在同一时刻只有一个线程在执行Python字节码。这意味着,即使在多线程编程的情况下,同一时间也只有一个线程能够访问Python对象和执行Python代码。
  • 作用:主要是为了方便对Python对象的管理和内存的安全访问。由于Python中的对象是引用计数来进行内存管理的,在多线程环境下,如果多个线程同时对对象进行操作,可能会导致引用计数的错误,进而引发内存管理...

Read more

psutil-资源监控库-Python


psutil 是一个跨平台的库,用于获取系统和进程相关的各种信息。它可以帮助你监控系统资源(如CPU、内存、磁盘和网络)和进程。你可以使用 psutil 来获取以下信息:

  • CPU 信息:包括 CPU 使用率、核心数、频率等。
  • 内存信息:包括物理内存、虚拟内存的使用情况等。
  • 磁盘信息:磁盘的使用情况,包括分区、文件系统、磁盘IO等。
  • 网络信息:包括网络接口、IP 地址、网络流量等。
  • 进程信息:列出系统中的所有进程,获取进程的CPU、内存使用情况以及其他信息。

安装

要安装 psutil,你可以使用 pip

pip install psutil

示例用法

import psutil...

Read more

multiprocessing-并发编程-Python


multiprocessing 是 Python 标准库中的一个模块,用于支持并行计算。它能够通过创建多个进程来实现任务的并行执行,从而充分利用多核处理器的优势,提高程序的执行效率。

这里是一些 multiprocessing 常见用法:

1. 创建并启动多个进程

import multiprocessing

def worker(num):
    print(f"Worker {num} is working")

if __name__ == "__main__":
    processes = []
    for i in range...

Read more

XGBoost


XGBoost是一个经过优化的分布式梯度提升库,具备高效、灵活且可移植的特点。它在梯度提升框架下实现了机器学习算法。

高效性

  • 实现方式:XGBoost通过精心设计的算法实现,能够高效地处理数据和训练模型。它采用了一系列优化技术,例如在计算梯度和二阶导数时进行了高效处理,使得模型训练过程能够快速收敛,减少了训练所需的时间和计算资源。
  • 数据处理能力:对于大规模数据,它能凭借其分布式特性,充分利用集群计算资源,快速完成数据的读取、处理和模型训练等操作,确保在面对海量数据时依然能保持较高的运行效率。

灵活性

  • 算法灵活性:在梯度提升框架下,它可以根据不同的应用场景和数据特点,灵活调整各种算法...

Read more

LightGBM-


LightGBM是一个使用基于树的学习算法的梯度提升框架,具有分布式和高效的特点,以下是对其优点的详细介绍:

更快的训练速度和更高的效率

  • 基于直方图的算法:LightGBM采用直方图算法来构建决策树,它将连续的浮点特征值离散化成整数,并构造相应的直方图。在遍历数据时,根据离散化后的值在直方图中累积统计量,然后根据这些统计量来寻找最优的分割点。相比传统的预排序算法,直方图算法大大减少了计算量和内存消耗,从而提高了训练速度.
  • 单边梯度采样(GOSS):GOSS根据信息增益的定义,认为具有较大梯度的数据样本对信息增益的贡献更大。因此,在对数据样本进行下采样时,会保留梯度大的样本,并随机丢弃梯...

Read more

scikit-learn


scikit-learn(通常简称为 sklearn)是一个用于机器学习的Python开源库,它功能强大、应用广泛,以下是关于它的详细介绍:

概述

  • sklearn 提供了丰富的机器学习算法、工具和实用程序,旨在简化机器学习任务的实现过程,无论是分类、回归、聚类还是降维等不同类型的任务,都能借助该库高效完成,并且其设计注重代码的简洁性、易用性以及高效性,被大量数据科学家、分析师以及机器学习爱好者广泛使用。

功能模块

  • 分类算法
    • 支持向量机(SVM):通过寻找一个最优的超平面,将不同类别的数据点尽可能地分开,有线性可分和非线性可分(通过核技巧,如高斯核等将数据映射到高维空间使其线性可分...

Read more

qstock


pypi

github

qstock 是一个用于股票数据获取和分析的 Python 库,它提供了一些方便的接口来获取股票行情、财务数据、新闻等信息。qstock 通常与其他数据处理和可视化库(如 Pandas、Matplotlib)结合使用,以便进行更深入的数据分析和可视化。

安装

首先,你需要安装 qstock。可以通过 pip 安装:

pip install qstock

主要功能

  1. 股票行情数据:获取股票的历史行情数据。
  2. 财务数据:获取公司的财务报表数据。
  3. 新闻和公告:获取与股票相关的新闻和公告。
  4. 股票池管理:管理自选股池,方便跟踪关注的股票。

示例代码

以下是一些常用的 q...

Read more

pyportfolioopt-投资组合


文档

pyportfolioopt 是一个用于投资组合优化的 Python 库,它提供了多种优化方法和工具,帮助投资者构建和优化投资组合。这个库基于现代投资组合理论,支持多种资产配置策略,包括均值-方差优化、风险平价、最小方差组合等。

主要功能

  1. 数据获取:从 Yahoo Finance 等数据源获取股票历史数据。
  2. 预期收益和协方差矩阵估计:计算资产的预期收益和协方差矩阵。
  3. 投资组合优化:实现多种优化方法,如均值-方差优化、最小方差组合、最大夏普比率组合等。
  4. 风险模型:支持多种风险模型,如单因素模型、多因素模型等。
  5. 绩效评估:提供绩效评估工具,如夏普比率、信息比率等。

安装

你可以使用...

Read more

findpeaks-查找峰值


scipy.signal.find_peaks 是 SciPy 信号处理库中的一个函数,用于在数据序列中查找峰值(即局部最大值)。这个函数非常有用,特别是在处理时间序列数据、频谱分析和其他需要识别数据中显著特征的场景中。

函数签名

scipy.signal.find_peaks(x, height=None, threshold=None, distance=None, prominence=None, width=None, wlen=None, rel_height=0.5, plateau_size=None)

参数说明

  • x (array_like): 输入数据序列。
  • hei...

Read more