Alink漫谈(十) :线性回归实现 之 数据预处理 目录 Alink漫谈(十) :线性回归实现 之 数据预处理 0x00 摘要 0x01 概念 1.1 线性回归 1.2 优化模型 1.3 损失函数&目标函数 1.4 最小二乘法 0x02 示例代码 0x03 整体概述 0x04 基础功能 4.1 损失函数 4.1.1 导数和偏导数 4.1.2 方向导数 4.1.3 Hessian矩阵 4.1.4 平方损失函数 in Alink 4.2 目标函数 4.2.1 梯度 4.2.2 梯度下降法 4.2.…
Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 目录 Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 0x00 摘要 0x01概念 1.1 逻辑回归 1.1.1 推导过程 1.1.2 求解 1.1.3 随机梯度下降 1.2 LR的并行计算 1.3 传统机器学习 1.4 在线学习 1.5 FTRL 1.5.1 regret & sparsity 1.5.2 FTRL的伪代码 1.5.3 简要理解 0x02 示例代码 0x03 问题 0x04 总体逻辑 0xFF 参考 0…
Alink漫谈(十) :特征工程之特征哈希/标准化缩放 目录 Alink漫谈(十) :特征工程之特征哈希/标准化缩放 0x00 摘要 0x01 相关概念 1.1 特征工程 1.2 特征缩放(Scaling) 1.3 特征哈希(Hashing Trick) 0x02 数据集 0x03 示例代码 0x04 标准化缩放 StandardScaler 4.1 StandardScalerTrainBatchOp 4.2 StatisticsHelper.summary 4.3 BuildStandard…
Alink漫谈(十四) :多层感知机 之 总体架构 目录 Alink漫谈(十四) :多层感知机 之 总体架构 0x00 摘要 0x01 背景概念 1.1 前馈神经网络 1.2 反向传播 1.3 代价函数 1.4 优化过程 1.4.1 迭代法 1.4.2 梯度下降 1.5 相关公式 1.5.1 加权求和 h 1.5.2 神经元输出值 a 1.5.3 输出层的输出值 y 1.5.4 激活函数g(h) 1.5.5 损失函数E 1.5.6 误差反向传播--更新权重 1.5.7 输出层增量项 δo 1.5…
Alink漫谈(十五) :多层感知机 之 迭代优化 目录 Alink漫谈(十五) :多层感知机 之 迭代优化 0x00 摘要 0x01 前文回顾 1.1 基本概念 1.2 误差反向传播算法 1.3 总体逻辑 0x02 训练神经网络 2.1 初始化模型 2.2 压缩数据 2.3 生成优化目标函数 2.4 生成目标函数中的拓扑模型 2.4.1 AffineLayerModel 2.4.2 FuntionalLayerModel 2.4.3 SoftmaxLayerModelWithCrossEntr…
Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 目录 Alink漫谈(十六) :Word2Vec源码分析 之 建立霍夫曼树 0x00 摘要 0x01 背景概念 1.1 词向量基础 1.1.1 独热编码 1.1.2 分布式表示 1.2 CBOW & Skip-Gram 1.2.1 CBOW 1.2.2 Skip-gram 1.3 Word2vec 1.3.1 Word2vec基本思想 1.3.2 Hierarchical Softmax基本思路 1.3.3 Hierarchi…
Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer 目录 Alink漫谈(十八) :源码解析 之 多列字符串编码MultiStringIndexer 0x00 摘要 0x01 概念 0x02 示例代码 0x03 总体逻辑 0x04 Add Index to Token 4.1 合并计算单词个数 4.1.1 打散输入数据 4.1.2 分组计算个数 4.2 合并计算单词个数 0x05 输出模型 0x06 预测 6.1 加载模型 6.2 预测 0xFF 参考 0…
Alink漫谈(十九) :源码解析 之 分位点离散化Quantile 目录 Alink漫谈(十九) :源码解析 之 分位点离散化Quantile 0x00 摘要 0x01 背景概念 1.1 离散化 1.2 分位数 1.3 四分位数 0x02 示例代码 0x03 总体逻辑 0x04 训练 4.1 quantile 4.2 countElementsPerPartition 4.3 MultiQuantile 4.4 QIndex 0x05 输出模型 0x06 预测 6.1 加载模型 6.2 预测…
Alink漫谈(七) : 如何划分训练数据集和测试数据集 目录 Alink漫谈(七) : 如何划分训练数据集和测试数据集 0x00 摘要 0x01 训练数据集和测试数据集 0x02 Alink示例代码 0x03 批处理 3.1 得到记录数 3.2 随机选取记录 3.2.1 得到总记录数 3.2.2 决定每个task选择记录数 3.2.3 每个task选择记录 3.3 设置训练数据集和测试数据集 0x04 流处理 0x05 参考 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink…
Alink漫谈(十一) :线性回归 之 L-BFGS优化 目录 Alink漫谈(十一) :线性回归 之 L-BFGS优化 0x00 摘要 0x01 回顾 1.1 优化基本思路 1.2 各类优化方法 0x02 基本概念 2.1 泰勒展开 如何通俗推理? 2.2 牛顿法 2.2.1 泰勒一阶展开 2.2.2 泰勒二阶展开 2.2.3 高维空间 2.2.4 牛顿法基本流程 2.2.5 问题点及解决 2.3 拟牛顿法 2.4 L-BFGS算法 0x03 优化模型 -- L-BFGS算法 3.1 如何分布…
Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 目录 Alink漫谈(十三) :在线学习算法FTRL 之 具体实现 0x00 摘要 0x01 回顾 0x02 在线训练 2.1 预置模型 2.1.1 训练模型 2.1.2 加载模型 2.2 分割高维向量 2.3 迭代训练 2.3.1 Flink Stream迭代功能 2.3.2 迭代构建 2.3.2.1 迭代的输入 2.3.2.2 迭代的反馈 2.3.3 迭代体 CalcTask / ReduceTask 2.3.3.1 迭代初始化…
Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 目录 Alink漫谈(十七) :Word2Vec源码分析 之 迭代训练 0x00 摘要 0x01 前文回顾 1.1 上文总体流程图 1.2 回顾霍夫曼树 1.2.1 变量定义 1.2.2 为何要引入霍夫曼树 0x02 训练 2.1 训练流程 2.2 生成训练模型 2.3 初始化词典&缓冲 2.4 更新模型UpdateModel 2.5 计算更新 2.5.1 sigmoid函数值近似计算 2.5.2 窗口及上下文 2.5.3 训练…
Alink漫谈(二十二) :源码分析之聚类评估 目录 Alink漫谈(二十二) :源码分析之聚类评估 0x00 摘要 0x01 背景概念 1.1 什么是聚类 1.2 聚类分析的方法 1.3 聚类评估 0x02 Alink支持的评估指标 2.1 轮廓系数(silhouette coefficient): 2.2 Calinski-Harabaz(CH) 2.3 Davies-Bouldin指数(Dbi) 2.4 Rand index(兰德指数)(RI) .Adjusted Rand index(调…
Alink漫谈(二十) :卡方检验源码解析 目录 Alink漫谈(二十) :卡方检验源码解析 0x00 摘要 0x01 背景概念 1.1 假设检验 1.2 H0和H1是什么? 1.3 P值 (P-value) 1.4 交叉表 1.5 卡方 1.5.1 公式 1.5.2 基本思想 1.5.3 实现过程 1.6 自由度 0x02 示例代码 0x03 总体逻辑 0x04 训练 4.1 ChiSquareTest 4.2 Crosstab 4.3 构建卡方检验 0xFF 参考 0x00 摘要 Alink…
补充:https://bmcbioinformatics.biomedcentral.com/articles/10.1186/1471-2105-15-276 如果用arima的话,还不如使用随机森林... 原文地址:https://medium.com/open-machine-learning-course/open-machine-learning-course-topic-9-time-series-analysis-in-python-a270cb05e0b3 数据集样子: y ti…
缺失值 机器学习和数据挖掘中所使用的数据,永远不可能是完美的.很多特征,对于分析和建模来说意义非凡,但对于实际收集数据的人却不是如此,因此数据挖掘之中,常常会有重要的字段缺失值很多,但又不能舍弃字段的情况.因此,数据预处理中非常重要的一项就是处理缺失值. import pandas as pd data = pd.read_csv(r"C:\work\learnbetter\micro-class\ week 3 Preprocessing\Narrativedata.csv",ind…
在拿到一份数据准备做挖掘建模之前,首先需要进行初步的数据探索性分析(你愿意花十分钟系统了解数据分析方法吗?),对数据探索性分析之后要先进行一系列的数据预处理步骤.因为拿到的原始数据存在不完整.不一致.有异常的数据,而这些“错误”数据会严重影响到数据挖掘建模的执行效率甚至导致挖掘结果出现偏差,因此首先要数据清洗.数据清洗完成之后接着进行或者同时进行数据集成.转换.归一化等一系列处理,该过程就是数据预处理.一方面是提高数据的质量,另一方面可以让数据更好的适应特定的挖掘模型,在实际工作中该部分的内容可…
Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 目录 Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 0x00 摘要 0x01 Alink设计原则 0x02 Alink实例代码 算法调用 算法主函数 算法模块举例 0x03 顶层 -- 流水线 1. 机器学习重要概念 2. Alink中概念实现 3. 结合实例看流水线 0x04 中间层 -- 算法组件 1. Algorithm operators 2. Mapper(提前说明) 3. 系统内置算法组件 Mo…
Alink漫谈(六) : TF-IDF算法的实现 目录 Alink漫谈(六) : TF-IDF算法的实现 0x00 摘要 0x01 TF-IDF 1.1 原理 1.2 计算方法 0x02 Alink示例代码 2.1 示例代码 2.2 TF-IDF模型 2.3 TF-IDF预测 0x03 分词 Segment 3.1 结巴分词 3.2 分词过程 0x04 训练 4.1 计算IDF 4.2 排序 4.2.1 SortUtils.pSort 采样SampleSplitPoint 归并 SplitPoi…
这篇文章主要讲解使用Sklearn进行数据预处理,我们使用Kaggle中泰坦尼克号事件的数据作为样本. 读取数据并创建数据表格,查看数据相关信息 import pandas as pd import numpy as np from pandas import Series,DataFrame data = pd.read_csv('tanic_train.csv')#导入进来的是dataframe格式 #data 可以打开data的具体信息,是dataframe的格式 #data.info()…
数据预处理是机器学习中最基础也最麻烦的一部分内容 在我们把精力扑倒各种算法的推导之前,最应该做的就是把数据预处理先搞定 在之后的每个算法实现和案例练手过程中,这一步都必不可少 同学们也不要嫌麻烦,动起手来吧 基础比较好的同学也可以温故知新,再练习一下哈 闲言少叙,下面我们六步完成数据预处理 其实我感觉这里少了一步:观察数据 [此处输入图片的描述][1] 这是十组国籍.年龄.收入.是否已购买的数据 有分类数据,有数值型数据,还有一些缺失值 看起来是一个分类预测问题 根据国籍.年龄.收入来预测是够会…
Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想 目录 Alink漫谈(一) : 从KMeans算法实现不同看Alink设计思想 0x00 摘要 0x01 Flink 是什么 0x02 Alink 是什么 0x03 Alink设计思路 1. 白手起家 2. 替代品如何造成威胁 3. 用户角度看设计 底层逻辑Flink 开发工具 4. 竞争对手角度看设计 5. 企业角度看设计 6. 设计原则总结 0x04 KMeans算法实现看设计 1. KMeans算法 2. Flink…
[Alink漫谈之三] AllReduce通信模型 目录 [Alink漫谈之三] AllReduce通信模型 0x00 摘要 0x01 MPI是什么 0x02 Alink 实现MPI的思想 0x03 如何实现共享 1. Task相关概念 2. TaskManager 3. 状态共享 3.1 概念剖析 算法角度:ComContext 框架角度:IterativeComQueue Session角度:SessionSharedObjs Subtask角度:IterTaskObjKeeper 3.2…
Alink漫谈(四) : 模型的来龙去脉 目录 Alink漫谈(四) : 模型的来龙去脉 0x00 摘要 0x01 模型 1.1 模型包含内容 1.2 Alink的模型文件 0x02 流程图 0x03 生成模型 3.1 生成模型 3.2 转换DataSet 3.3 存储为Table 0x04 存储模型 4.1 存储代码 0x05 读取模型 0x06 预测 6.1 生成runtime rapper 6.2 加载模型 6.3 预测 0x07 流式预测 0x08 总结 0x00 摘要 Alink 是阿…
Alink漫谈(五) : 迭代计算和Superstep 目录 Alink漫谈(五) : 迭代计算和Superstep 0x00 摘要 0x01 缘由 0x02 背景概念 2.1 四层执行图 2.2 Task和SubTask 2.3 如何划分 Task 的依据 2.4 JobGraph 2.5 BSP模型和Superstep BSP模型 BSP模型的实现 Flink-Gelly 0x03 Flink的迭代算法(superstep-based) 3.1 Bulk Iterate 3.2 迭代机制 0…
Alink漫谈(八) : 二分类评估 AUC.K-S.PRC.Precision.Recall.LiftChart 如何实现 目录 Alink漫谈(八) : 二分类评估 AUC.K-S.PRC.Precision.Recall.LiftChart 如何实现 0x00 摘要 0x01 相关概念 0x02 示例代码 2.1 主要思路 0x03 批处理 3.1 EvalBinaryClassBatchOp 3.2 BaseEvalClassBatchOp 3.2.0 调用关系综述 3.2.1 calL…
原文链接 简介 为发挥 SIMD1 的最大作用,除了对其进行矢量化处理2外,我们还需作出其他努力.可以尝试为循环添加 #pragma omp simd3,查看编译器是否成功进行矢量化,如果性能有所提升,则达到满意状态. 然而,可能性能根本不会提升,甚至还会降低. 无论处于何种情况,为了最大限度发挥 SIMD 执行的优势并实现性能提升,通常需要重新设计算法和数据布局,以便生成的 SIMD 代码尽可能高效. 另外还可收到额外的效果,即标量(非矢量化)版代码会表现得更好. 本文将通过一个 3D 动画算…
R语言进行数据预处理wranging li_volleyball 2016年3月22日 data wrangling with R packages:tidyr dplyr Ground rules library(tidyr) library(dplyr) ## ## Attaching package: 'dplyr' ## The following objects are masked from 'package:stats': ## ## filter, lag ## The foll…
preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, axis=0, with_mean=True, with_std=True, copy=True): 将数据转化为标准正态分布(均值为0,方差为1) preprocessing.minmax_scale(X, feature_range=(0, 1), axis=0, copy=True): 将数据…
理论知识:UFLDL数据预处理和http://www.cnblogs.com/tornadomeet/archive/2013/04/20/3033149.html 数据预处理是深度学习中非常重要的一步!如果说原始数据的获得,是深度学习中最重要的一步,那么获得原始数据之后对它的预处理更是重要的一部分. 1.数据预处理的方法: ①数据归一化: 简单缩放:对数据的每一个维度的值进行重新调节,使其在 [0,1]或[ − 1,1] 的区间内 逐样本均值消减:在每个样本上减去数据的统计平均值,用于平稳的数…