0%
3.1k 字 15 分钟

综述

  • 代码:python/fate_flow/fate_flow_server.py
  • web框架:Flask

流程为:

  1. 执行 python fate_flow_server.py ,这部分会在容器中打出相应日志。
  2. fate_flow_server 执行启动过程。这里可以看下logs目录

    1
    2
    3
    4
    5
    6
    (app-root) bash-4.2# pwd
    /data/projects/fate/logs
    (app-root) bash-4.2# ls
    fate_flow
    (app-root) bash-4.2# ls fate_flow/
    DEBUG.log fate_flow_detect.log fate_flow_schedule.log fate_flow_stat.log INFO.log peewee.log

    可以看到,由于没有提交任何任务,当前只有一个fate_flow的目录,这里记录的是fate_flow_server启动的日志。具体而言

    • peewee.log:fate中操作db,使用了peewee,这里记录所有通过peewee操作数据库的日志
    • fate_flow_detect.log:探测器日志
    • fate_flow_schedule.log:调度器日志
    • fate_flow_stat.log:除以上3部分外的其余状态日志
    • DEBUG.log、INFO.log、WARNING.log、ERROR.log:各级别日志,会将以上各部分(除了fate_flow_detect.log,这个后续单独说明逻辑)中对应级别的日志收集。
      因fate_flow_server 启动的日志,均输出在fate_flow 目录中,故本文所述的日志,均为fate_flow目录中的对应日志。

执行 fate_flow_server.py

Read more »
2.1k 字 7 分钟

ERROR:本文要素过多,包含开车、粗鄙之语、魔法、表情包等。但不包含联邦学习的具体说明,相关内容,文末给出传送门,请自行参阅。

先吐槽

人呐就都不知道,自己不可以预料,一个人的职业发展啊,当然要靠自我奋斗,但是也要考虑技术的演进。我绝对不知道,我作为一个搞大数据的,怎么开始搞联邦学习了?

所以当领导给我安排任务,说“公司都决定了,你来调研联邦学习吧”。

Read more »
4k 字 18 分钟

综述

  • 线性回归介绍
  • 线性回归pmml 介绍
  • 线性回归模型结构
  • 如何手动写一个java类表述线性回归

很多时候,我们在看机器学习的算法的时候,看到的都是一些列的公式推导。那么这些公式推导出来的结果是什么?最后又是如何组织的?作为一个码农,更关心的是,这些公式最后又是如何变为代码的?
本系列将借助PMML这一工具,可以用来解析模型的结构,了解各种模型中都有那些元素?这些元素又是通过何种组合方式,计算公式得到最后的结果的?
本文针对偏工程人员,不涉及具体的模型优化求解问题,我们关注的是模型实质的结构,以及根据这些信息,如何实现跨平台的使用模型。至于模型的求解过程,前人已经总结完备,不过多赘述,在文中会给出地址,如有兴趣,可以自行查阅推导。

先从简单的线性回归开始

什么是线性回归

Read more »
7.9k 字 32 分钟

十四、 中心极限定律

原文:prob140/textbook/notebooks/ch_14

译者:喵十八

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

本章依赖的python

1
2
3
4
5
6
7
8
# HIDDEN
from datascience import *
from prob140 import *
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
%matplotlib inline
from scipy import stats
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# HIDDEN
def dist_sum(n, probs_0_through_N):
"""Return the distribution of S_n,
the sum of n i.i.d. copies
of a random variable with distribution probs_0_through_N
on the integers 0, 1, 2, ..., N"""

# Find the possible values of S_n
N = len(probs_0_through_N) - 1
values_Sn = np.arange(n*N + 1)

# Find the probailities of those values
coeffs_X1 = np.flipud(probs_0_through_N)
pgf_X1 = np.poly1d(coeffs_X1)
pgf_Sn = pgf_X1**n
coeffs_Sn = pgf_Sn.c
probs_Sn = np.flipud(coeffs_Sn)

t = Table().with_columns(
'Value', values_Sn,
'Probability', probs_Sn
)
return t
Read more »
9.2k 字 36 分钟

原文:prob140/textbook/notebooks/ch_11

译者:喵十八

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

本章所需python包

1
2
3
4
5
6
7
8
9
10
# HIDDEN
from datascience import *
from prob140 import *
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
%matplotlib inline
import math
from scipy import stats
from scipy import misc
1
2
3
4
5
6
7
8
9
10
11
# HIDDEN
from datascience import *
from prob140 import *
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('fivethirtyeight')
%matplotlib inline
import math
from scipy import stats
from scipy import misc
from itertools import permutations
1
2
3
# HIDDEN
# The alphabet
alph = make_array('a', 'd', 't')
Read more »
8.2k 字 34 分钟

原文:prob140/textbook/notebooks/ch_10

译者:喵十八

协议:CC BY-NC-SA 4.0

自豪地采用谷歌翻译

术语说明

条件概率分布(Conditional Probability Distribution,或者条件分布,Conditional Distribution)是现代概率论中的概念:已知两个相关的随机变量X和Y,随机变量Y在条件{X=x}下的条件概率分布是指当已知X的取值为某个特定值x之时,Y的概率分布。 如果Y在条件{X=x}下的条件概率分布是连续分布,那么其密度函数称作Y在条件{X=x}下的条件概率密度函数(条件分布密度、条件密度函数)。与条件分布有关的概念,常常以“条件”作为前缀,如条件期望、条件方差等等。

转移转移概率:从状态1变为状态2,称之为状态转移,其对应的概率称之为转移概率。

可数无穷:是指集合中的元素可以与自然数一一对应,也就是说可以用自然数来”数”它的数量,从而其数量为可数无穷.

Read more »
975 字 4 分钟

综述

自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了。scikit-learn简称sklearn,支持包括分类、回归、降维和聚类四大机器学习算法。还包含了特征提取、数据处理和模型评估三大模块。
sklearn拥有着完善的文档,上手容易,具有着丰富的API,在学术界颇受欢迎。sklearn已经封装了大量的机器学习算法,包括LIBSVM和LIBINEAR。同时sklearn内置了大量数据集,节省了获取和整理数据集的时间。
本文介绍了如何将sklearn中的模型导出为PMML文件,方便后续的工程上线操作,内容包括涉及环境的搭建和中间遇到的坑。

前置知识

  • Python 基本操作,会使用pip 或者Anaconda进行依赖库管理
  • Maven 基本操作
  • Java 命令基本操作

sklearn2pmml 相关组件安装

Read more »
925 字 3 分钟

综述

R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
许多数据工程师或者数据分析师都习惯使用R进行数据挖掘和建模分析。
本文介绍了如何将R中的模型导出为PMML文件,方便后续的工程上线操作,内容包括涉及环境的搭建和中间遇到的坑。
本文介绍的三种方式,各自支持的机器学习模型种类不完全一致,文中附有官方文档链接,模型支持程度请查阅官方文档。

前置知识

  • R 基本操作
  • Maven 基本操作
  • Java 命令基本操作

R2PMML

Read more »
4.8k 字 22 分钟

说明

  • 基于PMML Version4.3
  • 基本可以视为官方文档的一个翻译
  • 如有疏漏,请联系yao544303963@gmail.com

基本结构

PMML使用XML来表示数据挖掘模型。模型的结构用一个XML Schema来描述。一个PMML文档中可以包含多个数据挖掘模型。一个PMML文档本质就是一个XML文档,其根元素是一个PMML类型的元素。其基本结构如下:

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0"?>
<PMML version="4.3"
xmlns="http://www.dmg.org/PMML-4_3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Header copyright="Example.com"/>
<DataDictionary> ... </DataDictionary>

... a model ...

</PMML>
Read more »