相关文章推荐

数据预处理

DataFrames

作用与地位相当于Numpy之于Python,是许多Julia库的基础依赖
http://juliadata.github.io/DataFrames.jl/stable/

与CSV文件的数据交互
https://juliadata.github.io/CSV.jl/stable/

与JSON文件的数据交互
https://github.com/JuliaIO/JSON.jl

Random

  • rand(n) 产生n个标准均匀分布U(0,1)伪随机数,n缺省为1.
  • randn(n) 产生n个服从标准正态分布的随机数,n缺省为1.
  • seed(num) 随机数种子,用于复现或重复生成特定的随机数,num相同,生成随机数相同

与Excle文件(xls,xlsx)的数据交互
https://felipenoris.github.io/XLSX.jl/stable/

DifferentialEquations

  1. 求解微分方程的数值解
  2. 求解速度优于标准的C/Fortran方法
  3. 包含常用的C/Fortran方法,如Sundials和Hairer的radau
  4. 内置分析功能:
  • 前向和伴随局部灵敏度分析
  • 贝叶斯参数估计
  • 全局灵敏度分析
  • ···

https://docs.sciml.ai/stable/

LinearAlgebra

为线性代数提供基本支持,Julia的标准库。

IterativeSolvers

求解线性系统,本征系统和奇异值问题的迭代算法
https://juliamath.github.io/IterativeSolvers.jl/dev/

统计建模与分析

Turing

贝叶斯推理与概率编程
https://github.com/TuringLang/Turing.jl

StatsBase

为统计提供基本支持
https://github.com/JuliaStats/StatsBase.jl

Distributions

用于概率分布和相关函数的Julia包。

  • Binomial(n, p) 二项分布
  • Multinomial(n, p) 多项分布
  • Normal(μ, σ) 正态分布
  • Wishart(nu, S) Wishart分布
  • mean() 期望值
  • var() 方差
  • std() 标准差
  • median() 中位数
  • modes() 众数(可有多个)
  • mode() 第一个众数
  • skewness() 偏度系数
  • kurtosis() 峰度系数,正态为0

https://github.com/JuliaStats/Distributions.jl

Regression

回归分析
https://github.com/lindahua/Regression.jl

MixedModels

拟合(统计)混合效果模型
https://github.com/JuliaStats/MixedModels.jl

CurveFit

最小二乘曲线拟合
https://github.com/pjabardo/CurveFit.jl

Interpolations

对离散数据集进行快速连续插值
https://github.com/JuliaMath/Interpolations.jl

MultivariateAnalysis

多变量统计和数据分析(例如降维)
https://github.com/JuliaStats/MultivariateStats.jl

HypothesisTests

置信区间与假设检验
https://github.com/JuliaStats/HypothesisTests.jl

POMDPs

马尔可夫决策过程模拟
https://github.com/JuliaPOMDP/POMDPs.jl

HMMBase

隐马尔可夫模型
https://github.com/maxmouchet/HMMBase.jl

TimeSeries

时间序列
https://github.com/JuliaStats/TimeSeries.jl

优化建模与求解

Convex

凸优化
https://github.com/JuliaOpt/Convex.jl

最优化问题建模与求解
https://github.com/JuliaOpt/JuMP.jl

GeneticAlgorithms

遗传算法,可用于求解各类优化问题
https://github.com/WestleyArgentum/GeneticAlgorithms.jl

Gadfly

Julia科学绘图软件包
http://gadflyjl.org/stable/

Plots

可视化和数据分析利器
http://docs.juliaplots.org/latest/

LightGraphs

图与网络优化
https://juliagraphs.org/LightGraphs.jl/latest/

DynamicalSystems

非线性动力学与混沌软件库
https://juliadynamics.github.io/DynamicalSystems.jl/latest/

Julia最著名的机器学习库,没有之一
https://fluxml.ai/

Koç(科威特)大学开发的深度学习框架。
https://github.com/denizyuret/Knet.jl

Latexify

一个用于从julia对象生成LaTeX数学公式的软件包,论文写作利器。
https://github.com/korsbo/Latexify.jl

“授人予鱼,不如授人予渔”,以上包和Julia目前所有包均可在 https://juliapackages.com/ 上找到,你可以根据需要查找自己想要的包。

然而包库众多,质量参差不齐,在选择时应至少考虑以下三点:

  1. 更新频次与最后更新时间。
  2. Star(收藏数)。
  3. 是否支持自己使用的Julia版本。
  1. 以上包可直接通过在julia REPL中输入 Pkg.add("PackageName") 安装。
  2. 安装过程出现问题,无特殊情况一般为 网络问题 ,建议挑网络状况稍微好点的时间段安装,例如清晨。
  3. 包库、方法、函数、功能众多,无法一一列举,有需求请访问给出的网址自取开发者文档。
  4. 绝大部分文档还没有中文版,有困难,借助翻译软件或者浏览器插件食用更佳。
  5. 虽然收藏从未停止,学习从未开始,但还是有必要收藏一下的,万一哪天又看到了鸡汤,突然热血沸腾,想搞一下,还有个资料可以参看,还是很不错的。

如果想了解更多关于julia的信息,你可以微信搜索 JuliaAICom 来关注我们,我们将不定期更新精彩内容。

数据预处理DataFrames作用与地位相当于Numpy之于Python,是许多Julia库的基础依赖http://juliadata.github.io/DataFrames.jl/stable/CSV与CSV文件的数据交互https://juliadata.github.io/CSV.jl/stable/JSON与JSON文件的数据交互https://github.com/JuliaIO/JSON.jlRandomrand(n)产生n个标准均匀分布U(0,1)伪随机数,n缺省为1 要访问练习,请遵循以下概述的步骤: 在系统上安装 julia 编程语言 。 选择当前的稳定发行版(> v1.5)和特定于您的平台的安装程序 。 将此文件夹下载为* .zip或通过git clone(如果您熟悉后者)下载 提取此文件夹的内容 打开交互式 Julia -REPL(控制台),然后将工作目录更改为提取文件的位置: cd ( " path/to/intro-to-modelling " ) :warning: 如果发现很难找到路径,则可以在 julia REPL中使用命令pwd()来显示当前工作目录作为起点。 使用命令readdir()仔细检查您是否在正确的目录中。 -它应显示以下内容: julia > readdir() 7-element Array{String,1}: ".git" "Manifest.toml" This experiment uses three dense layers to approximate the Q value. The testing environment is CartPoleEnv. Agent and statistic info will be saved to: `/ho 在src和build文件夹中包含 Julia Dynamics网站的源代码。 通过GitHub-pages和Jekyll托管网站。 在tutorials文件夹中包含 Julia Dynamics所有软件包的tutorials 。 在videos文件夹中包含 Julia Dynamics所有软件包的视频资源。 该网站以网站为蓝本,并且大多数网站构建代码已从QuantumOptics.jl资源库中重新使用(已获得许可)。 要在本地构建,请按照此处的说明进行操作: : (安装Jekyll,然后执行bundle exec jekyll serve ,默认情况下该服务提供给 ) 一个实现一些曲线拟合功能的程序包。 线性最小二乘法 线性最小二乘是找到离散数据集近似值的常用技术。 给定点x[i]和y[i]的集合以及函数f_i(x)的列表,最小二乘法找到系数a[i]使得 a[1]*f_1(x) + a[2]*f_2(x) + ... + a[n]*f_n(x) 最小化与y[i]有关的误差的平方。 基本功能通过QR分解实现: A \ y : coefs = A \ y 其中A[:,i] = f_i(x) 。 尽管通常x是单个变量,但通常来说,如果需要多个独立变量,则可以使用相同的过程,类似于: A[:,i] = f_i(x1, x2, ..., xn) 。 几种典型的情况是可能的: linear_fit(x, y)求出y[i] = a + b*x[i]系数a和b power_fit(x, y)发现coeficients a和b为y[i] = a
使用 Julia 编写规划模型的一种方法是使用 JuMP 包。 JuMP 是一个用于构建和解决数学规划模型的库,能够轻松地与各种规划求解器集成。 下面是一个简单的线性规划模型的例子: ``` julia using JuMP, Clp # 创建模型 m = Model(solver=ClpSolver()) # 定义变量 @variable(m, x >= 0) @variable(m, y >= 0) # 定义目标 @objective(m, Max, 3x + 4y) # 定义约束 @constraint(m, x + y <= 1) # 求解模型 solve(m) # 输出结果 println("Objective value: ", objective_value(m)) println("x = ", value(x)) println("y = ", value(y)) 首先,我们引入了 JuMP 和 Clp 包,其中 Clp 是一种开源的线性规划求解器。然后,我们创建了一个模型 `m`,并使用 `@variable` 宏定义了两个变量 `x` 和 `y`。然后,我们使用 `@objective` 宏定义目标,即最大化 3x+4y。最后,我们使用 `@constraint` 宏定义了一个约束,即 x+y≤1。最后,我们调用 `solve` 函数求解模型,并使用 `objective_value` 和 `value` 函数输出结果。 这只是简单的线性规划模型的例子,JuMP 还能用于构建复杂的数学规划模型,例如线性规划、线