自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的博客

Life is short, I use Python、Scala、Spark、Hadoop、ML and DL

  • 博客(294)
  • 收藏
  • 关注

原创 各种距离、相似度

n维样本空间里的点xx1​x2​...xn​和点yy1​y2​...yn​之间的各种距离。

2023-11-24 08:16:35 97

原创 机器学习通用流程

通用流程:问题建模解决一个机器学习问题都是从问题建模开始:首先需要收集问题的资料,深入理解问题然后将问题抽象成机器可预测的问题(在这个过程中要明确业务指标和模型预测目标,根据预测目标选择适当的评估指标)接着从原始数据中选择最相关的样本子集用于模型训练对样本子集划分训练计和测试集,应用交叉验证的方法对模型进行选择和评估特征工程完成问题建模、对数据进行筛选和清洗之后,就是抽取数据特征,即特征工程。模型选择当我们经过特征工程得到一份高质量的特征之后,还需要考虑哪个模型能够更准确的

2023-03-06 17:02:20 153 1

原创 Flink Word Count Stream Demo

Flink流处理Word Count示例代码。

2022-11-03 09:32:39 455

原创 Redis数据类型

redis 五种数据类型:string、list、hash、set、zset

2022-11-02 11:18:19 156

原创 Redis环境配置(Win11)

Redis环境配置

2022-11-02 11:10:44 523

原创 Flink Word Count Batch Demo

Flink 批处理模式 wordcount

2022-11-02 08:41:08 433

原创 Python操作MySQL

Python操作MySQL数据库

2022-11-01 22:20:27 135

原创 Python内置IO

Python内置IO

2022-11-01 22:09:28 89

原创 Python运算符优先级

Python运算符优先级

2022-11-01 22:03:15 112

原创 Python开发环境搭建

Python开发环境搭建

2022-11-01 22:01:46 368

原创 多版本环境管理工具sdkman

什么是sdkman一个管理多个sdk版本的工具,支持Java、Scala、Flink、Spark、Hadoop、Maven、Sbt等怎么安装sdkman可用于Mac, Linux, WSL, Cygwin, Solaris 和FreeBSDLinux安装sdkman终端运行以下命令curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk version出现如上结果,即代表安装成功

2022-02-25 17:34:41 11427 2

原创 Pytorch笔记——3、Pytorch实现线性回归

在了解了线性回归的背景知识之后,现在我们可以动手实现它了。尽管强大的深度学习框架可以减少大量重复性工作,但若过于依赖它提供的便利,会导致我们很难深入理解深度学习是如何工作的。因此,本节将介绍如何只利用Tensor和autograd来实现一个线性回归的训练。import torchfrom IPython import displayfrom matplotlib import pyplot as pltimport numpy as npimport random生成数据集n_samples

2021-05-26 07:08:12 227 2

原创 Pytorch笔记——2、Pytorch自动求梯度

在深度学习中,我们经常需要对函数求梯度(gradient)。PyTorch提供的autograd包能够根据输入和前向传播过程自动构建计算图,并执行反向传播。本节将介绍如何使用autograd包来进行自动求梯度的有关操作使用方法将 tensor的属性.requires_grad设置为True,它将开始追踪在其上的所有操作(这样就可以利用链式法则进行梯度传播了)完成计算后,可以调用.backward()来完成所有梯度计算。此Tensor的梯度将累积到.grad属性中如果不想要被继续追踪,可以调用.de

2021-05-26 07:06:48 354

原创 Pytorch笔记——1、张量的基本操作

文章目录张量的简要介绍如何创建一个张量创建一个空的张量创建一个0张量创建一个随机张量根据现有数据创建`Tensor`根据现有`Tensor` 创建`Tensor`更多创建Tensor的方法张量的属性tensor.dtypetensor.devicetensor.layouttensor.shape张量的算术操作加法其他算术操作张量的索引改变张量的形状 & 拷贝张量张量的线性代数运算张量的广播机制节省张量计算时的内存开销张量、numpy和list张量 on GPU张量的简要介绍在Pytorch中,

2021-05-26 06:55:31 976

原创 Spark中rdd的reduce操作的具体过程

rdd的reduce过程利用二元函数(如lambda x, y: x + y)对数据进行规约,首先将rdd的前两个元素应用于该二元函数,得到结果a,然后再将a和rdd的第三个元素应用于该二元函数,得到结果b,以此类推直到用完所有元素。rdd = sc.parallelize(range(10), 3)diff = rdd.reduce(lambda x, y: x - y)print('diff: %s' % diff)运行结果:diff: 21# 解释下为什么结果为21:>&gt

2021-03-28 11:58:21 3250 3

原创 Numpy数据类型

NumPy支持比Python更多种类的数字类型(点此查看Python支持的数字类型)。Numpy 的类型C 的类型描述np.boolbool存储为字节的布尔值(True或False)np.bytesigned char平台定义np.ubyteunsigned char平台定义np.shortshort平台定义np.ushortunsigned short平台定义np.intcint平台定义np.uintcunsigned

2021-01-17 21:08:07 294

原创 Sklearn实现主成分分析

from time import timeimport loggingimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.model_selection import GridSearchCVfrom sklearn.datasets import fetch_lfw_peoplefrom sklearn.metrics import classifica

2021-01-15 14:25:04 313

原创 Sklearn数据预处理

sklearn.preprocessing 包提供了几个常见的实用功能和变换器类型,用来将原始特征向量更改为更适合机器学习模型的形式。一般来说,机器学习算法受益于数据集的标准化。如果数据集中存在一些离群值,那么稳定的缩放或转换更合适。不同缩放、转换以及归一在一个包含边缘离群值的数据集中的表现在 Compare the effect of different scalers on data with outliers 中有着重说明。5.3.1 标准化,也称去均值和方差按比例缩放数据集的 标准化 对sci

2021-01-14 14:20:30 148

原创 Sklearn特征提取

模块 sklearn.feature_extraction 可用于提取符合机器学习算法支持的特征,比如文本和图片。注意 特征特征提取与特征选择有很大的不同:前者包括将任意数据(如文本或图像)转换为可用于机器学习的数值特征。后者是将这些特征应用到机器学习中。>>> measurements = [... {'city': 'Dubai', 'temperature': 33.},... {'city': 'London', 'temperature': 12.},.

2021-01-14 14:19:35 424

原创 Sklearn的pipeline

Pipeline 可以把多个评估器链接成一个。这个是很有用的,因为处理数据的步骤一般都是固定的,例如特征选择、标准化和分类。Pipeline 在这里有多种用途:便捷性和封装性 你只要对数据调用 fit和 predict 一次来适配所有的一系列评估器。联合的参数选择 你可以一次grid search管道中所有评估器的参数。安全性 训练转换器和预测器使用的是相同样本,管道有助于防止来自测试数据的统计数据泄露到交叉验证的训练模型中。管道中的所有评估器,除了最后一个评估器,管道的所有评估器必须是转换器。 (

2021-01-14 10:08:21 149 1

原创 Sklearn部分依赖图

部分依赖图(以下简称PDP)显示了目标响应[1]和一组“目标”特征之间的依赖关系,并边缘化所有其他特征(特征补集,是目标特征集关于全部特征集合的补集)的值。直观地,我们可以将部分依赖关系解释为预期目标响应作为“目标”特征的函数。由于人类感知的限制,目标特征集的大小必须很小(通常是一个或两个),因此目标特征通常需要从最重要的特征中选择。下图展示了使用GradientBoostingRegressor实现的,加利福尼亚州住房数据集的四个单向和一个双向PDP:单向PDP告诉我们目标响应和目标特征(如线性、非

2021-01-14 10:06:46 2475

原创 Sklearn验证曲线

每种估计器都有其优势和缺陷。它的泛化误差可以用偏差、方差和噪声来分解。估计值的 偏差 是不同训练集的平均误差。估计值的 方差 用来表示它对训练集的变化有多敏感。噪声是数据的一个属性。在下面的图中,我们可以看到一个函数 f(x) = \cos (\frac{3}{2} \pi x) 和这个函数的一些噪声样本。 我们用三个不同的估计来拟合函数: 多项式特征为1,4和15的线性回归。我们看到,第一个估计最多只能为样本和真正的函数提供一个很差的拟合 ,因为它太简单了(高偏差),第二个估计几乎完全近似,最后一个估计

2021-01-14 10:05:08 180

原创 Sklearn模型持久化

在训练完 scikit-learn 模型之后,最好有一种方法来将模型持久化以备将来使用,而无需重新训练。 以下部分为您提供了有关如何使用 pickle 来持久化模型的示例。 在使用 pickle 序列化时,我们还将回顾一些安全性和可维护性方面的问题。pickle的另一种方法是使用相关项目中列出的模型导出工具之一将模型导出为另一种格式。与pickle不同,一旦导出,就不能恢复完整的Scikit-learn estimator对象,但是可以部署模型进行预测,通常可以使用支持开放模型交换格式的工具,如“ONNX

2021-01-14 10:04:22 549

原创 Sklearn模型评估

有 3 种不同的 API 用于评估模型预测的质量:Estimator score method(估计器得分的方法): Estimators(估计器)有一个 score(得分) 方法,为其解决的问题提供了默认的 evaluation criterion (评估标准)。 在这个页面上没有相关讨论,但是在每个 estimator (估计器)的文档中会有相关的讨论。Scoring parameter(评分参数): Model-evaluation tools (模型评估工具)使用 cross-validati

2021-01-14 10:02:18 725

原创 Sklearn调整超参数

超参数,即不直接在估计器内学习的参数。在 scikit-learn 包中,它们作为估计器类中构造函数的参数进行传递。典型的示例有:用于支持向量分类器的 C 、kernel 和 gamma ,用于Lasso的 alpha 等。搜索超参数空间以便获得最好 交叉验证 分数的方法是可能的而且是值得提倡的。通过这种方式,构造估计器时被提供的任何参数或许都能被优化。具体来说,要获取到给定估计器的所有参数的名称和当前值,使用:estimator.get_params()搜索包括:估计器(回归器或分类器,例如

2021-01-14 10:01:10 613

原创 Sklearn实现交叉验证

学习预测函数的参数,并在相同数据集上进行测试是一种错误的做法: 一个仅给出测试用例标签的模型将会获得极高的分数,但对于尚未出现过的数据它则无法预测出任何有用的信息。 这种情况称为 overfitting(过拟合). 为了避免这种情况,在进行(监督)机器学习实验时,通常取出部分可利用数据作为 test set(测试数据集) X_test, y_test。需要强调的是这里说的 “experiment(实验)” 并不仅限于学术(academic),因为即使是在商业场景下机器学习也往往是从实验开始的。下面是模型训练

2021-01-14 09:58:33 443

原创 Sklearn实现Brich聚类

The Birch 为给定数据构建一棵 Characteristic Feature Tree (CFT,聚类特征树)。 数据实质上是被有损压缩成一组 Characteristic Feature nodes (CF Nodes,聚类特征节点)。 CF Nodes 有许多称为 Characteristic Feature subclusters (CF Subclusters) 的子簇,并且这些位于非终结位置的CF Subclusters 可以拥有 CF Nodes 作为子节点。CF Subcluster

2021-01-14 09:57:16 263

原创 Sklearn实现OPTICS聚类

OPTICS算法与DBSCAN算法有许多相似之处,可以认为是DBSCAN算法将eps要求从一个值放宽到一个值范围的推广。OPTICS与DBSCAN的关键区别在于OPTICS算法建立了一个可达性图,它为每个样本分配了一个reachability_(可达性距离)和一个簇ordering_属性内的点(spot);这两个属性是在模型拟合时分配的,用于确定簇的成员关系。如果运行OPTICS时max_eps设置为默认值inf,则可以使用cluster_optics_dbscan方法对任意给定的eps值在线性时间内重复执

2021-01-13 19:17:53 1372 1

原创 Sklearn实现DBSCAN聚类

The DBSCAN 算法将簇视为被低密度区域分隔的高密度区域。由于这个相当普遍的观点, DBSCAN发现的簇可以是任何形状的,与假设簇是凸的 K-means 相反。 DBSCAN 的核心概念是 core samples, 是指位于高密度区域的样本。 因此一个簇是一组核心样本,每个核心样本彼此靠近(通过某个距离度量测量) 和一组接近核心样本的非核心样本(但本身不是核心样本)。算法中的两个参数, min_samples 和 eps,正式的定义了我们所说的 稠密(dense)。较高的 min_samples 或

2021-01-13 19:16:50 1456

原创 Sklearn实现层次聚类

层次聚类(Hierarchical clustering)代表着一类的聚类算法,这种类别的算法通过不断的合并或者分割内置聚类来构建最终聚类。 聚类的层次可以被表示成树(或者树形图(dendrogram))。树根是拥有所有样本的唯一聚类,叶子是仅有一个样本的聚类。 请参照 Wikipedia page 查看更多细节。The AgglomerativeClustering 使用自下而上的方法进行层次聚类:开始是每一个对象是一个聚类, 并且聚类别相继合并在一起。 连接标准(linkage criteria 译注

2021-01-13 17:52:29 2579

原创 Sklearn实现谱聚类

SpectralClustering(谱聚类) 是在样本之间进行关联矩阵的低维度嵌入,然后在低维空间中使用 KMeans 算法。 如果关联矩阵稀疏并且 pyamg 模块已经被安装,则这是非常有效的。 谱聚类 需要指定簇的数量。这个算法适用于簇数量少时,在簇数量多时是不建议使用。对于两个簇,它解决了相似图形上的 归一化切割(normalised cuts)的凸松弛问题: 将图形切割成两个,使得切割的边缘的权重比每个簇内的边缘的权重小。在图像处理时,这个标准是特别有趣的: 图像的顶点是像素,相似图形的边缘是图

2021-01-13 17:51:46 1354

原创 Sklearn实现MeanShift聚类

MeanShift 算法旨在于发现一个样本密度平滑的 blobs 。均值漂移(Mean Shift)算法是基于质心的算法,通过更新质心的候选位置,这些侯选位置通常是所选定区域内点的均值。然后,这些候选位置在后处理阶段被过滤以消除近似重复,从而形成最终质心集合。...

2021-01-13 17:51:17 642

原创 Sklearn实现AP聚类

AffinityPropagation AP聚类是通过在样本对之间发送消息直到收敛的方式来创建聚类。然后使用少量模范样本作为聚类中心来描述数据集,而这些模范样本可以被认为是最能代表数据集中其它数据的样本。在样本对之间发送的消息表示一个样本作为另一个样本的模范样本的 适合程度,适合程度值在根据通信的反馈不断更新。更新迭代直到收敛,完成聚类中心的选取,因此也给出了最终聚类。...

2021-01-13 17:50:43 575

原创 Sklearn实现小批量KMeans聚类

MiniBatchKMeans 是 KMeans 算法的一个变种,它使用小批量(mini-batches)来减少计算时间,而这多个批次仍然尝试优化相同的目标函数。小批量是输入数据的子集,在每次训练迭代中随机抽样。这些小批量大大减少了收敛到局部解所需的计算量。 与其他降低 k-means 收敛时间的算法不同,小批量 k-means 产生的结果通常只比标准算法略差。该算法在两个步骤之间进行迭代,类似于 vanilla k-means 。在第一步, b 样本是从数据集中随机抽取的,形成一个小批量。然后将它们分配

2021-01-13 17:50:10 663

原创 Sklearn实现KMeans聚类

内平方和(within-cluster sum-of-squares)的标准(criterion)。该算法需要指定簇的数量。它可以很好地扩展到大量样本(large number of samples),并已经被广泛应用于许多不同领域的应用领域。k-means 算法将一组 N 样本 X 划分成 K 不相交的簇 C, 每个都用该簇中的样本的均值 \mu_j 描述。 这个均值(means)通常被称为簇的 “质心(centroids)”; 注意,它们一般不是从 X 中挑选出的点,虽然它们是处在同一个空间。..

2021-01-13 17:48:40 669

原创 Sklearn实现流形学习

高维数据集通常难以可视化。虽然,可以通过绘制两维或三维的数据来显示高维数据的固有结构,但与之等效的高维图不太直观。为了促进高维数据集结构的可视化,必须以某种方式降低维度。通过对数据的随机投影来实现降维是最简单的方法。虽然这样做能实现数据结构一定程度的可视化,但这种随机选择方式仍有许多有待改进之处。在随机投影过程中,数据中更有趣的结构很可能会丢失。...

2021-01-13 17:46:17 285

原创 Sklearn实现高斯混合模型

>>> import numpy as np>>> from sklearn.mixture import GaussianMixture>>> X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])>>> gm = GaussianMixture(n_components=2, random_state=0).fit(X)>>> gm

2021-01-13 07:50:59 617

原创 Sklearn实现高斯混合模型

import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.colors import LogNormfrom sklearn import mixturen_samples = 300# generate random sample, two componentsnp.random.seed(0)# generate spherical data centered on (20, 20)shifted_gaussi

2021-01-12 07:46:48 722 3

原创 Sklearn实现等式回归

>>> from sklearn.datasets import make_regression>>> from sklearn.isotonic import IsotonicRegression>>> X, y = make_regression(n_samples=10, n_features=1, random_state=41)>>> iso_reg = IsotonicRegression().fit(X, y)&g

2021-01-12 07:45:29 133

原创 Sklearn实现随机森林

>>> from sklearn.model_selection import cross_val_score>>> from sklearn.datasets import make_blobs>>> from sklearn.ensemble import RandomForestClassifier>>> from sklearn.ensemble import ExtraTreesClassifier>>&g

2021-01-12 07:44:20 308

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除