- 博客(375)
- 资源 (3)
- 收藏
- 关注
原创 Doris Java UDF 最佳实践
Java UDF 为用户提供 UDF 编写的 Java 接口,以方便用户使用 Java 语言进行自定义函数的执行。
2024-10-09 14:25:35
1309
原创 centos7 安装 superset4.0.2 最新教程
指定python版本为3.10 解决,具体原因不明,可能为: python 3.12 时,由于自带的 pip (22.3.1) 版本较低,使用了在 python 3.12 中删除的废弃 API pkgutil.ImpImporter,其在 python 3.3 中标记为 deprecated。但是升级了pip为34.0 也没有解决。在初始化之前,需要设置环境变量,flask是一个python web框架,Superset使用的就是flask。首先创建一个 mysql 数据库。
2024-10-09 14:24:20
1514
1
原创 【Flume Kafaka实战】Using Kafka with Flume
在现实的生产中,如果需要把一个文本数据通过kakfa写入到hdfs中,更合理的做法是使用一个agent,把kafka作为channel来使用。默认情况下,所有的Agent都处于一个叫Agent Default Group的角色组中,处于同一角色组中的Agent共享相同的配置。比如我的配置中,数据是写到/flume这个目录下的,这个目录我是用root用户去创建的,但flume运行是使用一个叫flume的用户名来运行的,所以用hdfs dfs -chmod 777 /flume把这个目录的读写权限放开了。
2024-09-29 08:32:38
741
原创 Spark2.x 入门:协同过滤算法
一、方法简介协同过滤是一种基于一组兴趣相同的用户或项目进行的推荐,它根据邻居用户(与目标用户兴趣相似的用户)的偏好信息产生对目标用户的推荐列表。关于协同过滤的一个经典的例子就是看电影。如果你不知道哪一部电影是自己喜欢的或者评分比较高的,那么通常的做法就是问问周围的朋友,看看最近有什么好的电影推荐。而在问的时候,肯定都习惯于问跟自己口味差不多的朋友,这就是协同过滤的核心思想。因此,协同过滤是
2024-09-27 09:25:56
1124
1
原创 一文看尽Flume原理和最佳实践
Flume NG是Cloudera提供的一个分布式、可靠、可用的系统,它能够将不同数据源的海量日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中。由原来的Flume OG到现在的Flume NG,进行了架构重构,并且现在NG版本完全不兼容原来的OG版本。经过架构重构后,Flume NG更像是一个轻量的小工具,非常简单,容易适应各种方式日志收集,并支持failover和负载均衡。Flume 使用 java 编写,其需要运行在 Java1.6 或更高版本之上。
2024-09-27 09:24:05
199
原创 解锁数据的秘密武器:PCA带你走进降维新世界
PCA 算法是一种无监督学习方法,只需要对数据集本身的特征属性进行运算,消除相关性达到压缩数据去噪降维的目的。PCA 算法的主要优点有:仅仅需要以方差衡量信息量,不受数据集以外的因素影响。各主成分之间正交,可消除原始数据成分间的相互影响的因素。计算方法简单,易于实现。主成分各个特征维度的含义不在具有实际的物理意义,所以不如原始样本特征的解释性强。方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。
2024-09-12 08:37:28
535
原创 使用肘部法则确定K-Means中的k值
现在,为了确定最佳的聚类数(k),我们绘制了k与它们的WCSS值的关系图。为了确定聚类的最佳数量,我们必须选择“弯头”处的k值,即distortion/inertia开始以线性方式减小的点。在这种方法中,为了确定k值,我们连续迭代k=1到k=n(这里n是我们根据要求选择的超参数)。下面我们将分4步实现肘部法则。首先,我们将创建随机数据集点,然后我们将在此数据集上应用k均值,并计算1到4之间的k的wcss值。我们将k的值从1迭代到n,并计算每个k值的Distortion,给定范围内每个k值的Inertia。
2024-09-11 08:48:24
3104
原创 K-Means算法详解与实战应用.
在数据分析的众多工具中,K-Means聚类算法以其简单、直观和高效的特点,成为了探索数据集结构的常用方法。本文将带你深入了解K-Means算法的原理,并展示如何在实际项目中运用这一强大的聚类工具。
2024-09-11 08:47:50
999
原创 Spark 集群进行 ETL 的架构介绍
什么是ETLETL(extract提取、transform转换、load加载)。ETL负责将分散的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后,进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘提供决策支持的数据。使用Spark开发ETL系统的优势由于海量的日志记录、交易记录,单机进行ETL变得越来越困难。搭建一套具备大规模数据处
2024-09-10 08:34:23
1227
1
原创 机器学习中的聚类艺术:探索数据的隐秘之美
聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类则是试图将数据集的样本划分为若干个互不相交的类簇,从而每个簇对应一个潜在的类别。聚类直观上来说是将相似的样本聚在一起,从而形成一个类簇(cluster)。那首先的问题是如何来度量相似性(similarity measure)呢?这便是距离度量。
2024-09-10 08:32:47
1222
原创 Spark2.x 入门:高斯混合模型(GMM)聚类算法
模型的训练与分析Spark的ML库提供的高斯混合模型都在org.apache.spark.ml.clustering包下,和其他的聚类方法类似,其具体实现分为两个类:用于抽象GMM的超参数并进行训练的GaussianMixture类(Estimator)和训练后的模型GaussianMixtureModel类(Transformer),在使用前,引入需要的包:import org.ap
2024-09-09 10:08:08
486
1
原创 【机器学习实战】用sklearn玩转随机森林,分类准确率提升秘籍!
随机森林是一种集成学习方法,通过构建多个决策树并综合它们的预测结果来提高预测准确性。每个决策树都是在训练数据的一个随机子集上构建的,这种方法减少了模型间的相关性,从而增强了整体模型的泛化能力。揭秘Bagging与随机森林:构建更强大预测模型的秘密定义一个超参数网格,用于进行搜索。# 定义超参数网格'n_estimators': [50, 100, 200], # 树的数量'max_depth': [None, 10, 20, 30], # 树的最大深度。
2024-09-09 10:03:40
1923
7
原创 GitHub 上 fork 的代码,如何保持与原作者同步更新
github上fork别人的代码之后,如何保持和原作者同步的更新一、命令行的方式首先要先确定一下是否建立了主repo的远程源:# git remote -v如果里面只能看到你自己的两个源(fetch 和 push),那就需要添加主repo的源1、配置上游项目地址。即将你 fork 的项目的地址给配置到自己的项目上。比如我 fork 了一个项目,原项目是 wabish/f
2024-09-08 09:48:45
2126
1
原创 XGBoost实战精粹:从原理到应用
XGBoost(eXtreme Gradient Boosting)是一种集成学习算法,它基于梯度提升决策树(GBDT)并引入多项优化。高效性:通过并行化处理和优化的算法实现,XGBoost在处理大规模数据集时表现出色。灵活性:支持自定义损失函数和评估标准,使其能够应对多种预测问题。正则化:通过在目标函数中加入正则项,有效控制模型复杂度,防止过拟合。缺失值处理:XGBoost能够自动处理数据中的缺失值,找到最优的分裂方向。
2024-09-08 09:42:28
915
原创 Spark2.x 入门: KMeans 聚类算法
KMeans 是一个迭代求解的聚类算法,其属于 划分(Partitioning) 型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。ML包下的KMeans方法位于org.apache.spark.ml.clustering包下,其过程大致如下:1.根据给定的k值,选取k个样本点作为初始划分中心;2.计算所有样本点到每一个划分中心的距离,
2024-09-07 10:22:30
1163
1
原创 机器学习中的聚类艺术:探索数据的隐秘之美
聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类则是试图将数据集的样本划分为若干个互不相交的类簇,从而每个簇对应一个潜在的类别。聚类直观上来说是将相似的样本聚在一起,从而形成一个类簇(cluster)。那首先的问题是如何来度量相似性(similarity measure)呢?这便是距离度量。
2024-09-07 10:20:11
1232
1
原创 Spark2.x 入门:决策树分类器
一、方法简介 决策树(decision tree)是一种基本的分类与回归方法,这里主要介绍用于分类的决策树。决策树模式呈树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。学习时利用训练数据,根据损失函数最小化的原则建立决策树模型;预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的剪枝。
2024-09-06 14:18:07
557
1
原创 【揭秘】GBDT:机器学习界的超级英雄
介绍GBDT之前,让我们先介绍下提升树(Boosting Tree)提升树是以 分类树 或 回归树 为基本分类器的提升方法。提升树被认为是统计学习中性能最好的方法之一。提升方法实际采用加法模型( 即基函数的线性组合)与前向分步算法。以决策树为基函数的提升方法称为提升树( boosting tree)。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。提升树利用加法模型与前向分歩算法实现学习的优化过程。当损失函数是平方损失和指数损失函数时, 每一 步 优化是很简单的。
2024-09-06 13:55:57
1288
原创 Spark2.x 入门:逻辑回归分类器
方法简介逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法,属于对数线性模型。logistic回归的因变量可以是二分类的,也可以是多分类的。示例代码我们以iris数据集(iris)为例进行分析。iris以鸢尾花的特征作为数据来源,数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。
2024-09-05 09:07:36
684
1
原创 【揭秘】AdaBoost:那些年,我们一起追过的算法
最后对AdaBoost算法进行一下总结。AdaBoost主要有如下特性:简单易用,需要进行调节的参数很少;原始的AdaBoost算法只适用于二分类任务;对于噪声数据较为敏感,这是因为AdaBoost算法倾向于对噪声数据进行拟合,容易造成过拟合;弱学习器可以使用任何算法进行构建,例如可使用逻辑回归、决策树、线性回归等;
2024-09-05 09:06:05
696
原创 libsvm 数据格式简介
libsvm文件数据格式:label> index1>:value1> index2>:value2> ...其中, 是训练数据集的目标值,对于分类,它是标识某类的整数(支持多个类);对于回归,是任意实数。 是以1开始的整数,可以是不连续的;为实数,也就是我们常说的自变量。即:lable 数据集的标签,index为特征,value为特征值。例如:+1 1:0.
2024-09-04 09:16:03
427
原创 揭秘Bagging与随机森林:构建更强大预测模型的秘密
随机森林(Random Forest)是Bagging的一个拓展体,它的基学习器固定为决策树,多棵树也就组成了森林,而“随机”则在于选择划分属性的随机,随机森林在训练基学习器时,也采用有放回采样的方式添加样本扰动,同时它还引入了一种属性扰动,即在基决策树的训练过程中,在选择划分属性时,RF先从候选属性集中随机挑选出一个包含K个属性的子集,再从这个子集中选择最优划分属性,一般推荐K=log2(d)。这样随机森林中基学习器的多样性不仅来自样本扰动,还来自属性扰动,从而进一步提升了基学习器之间的差异度。
2024-09-04 09:14:10
1313
原创 机器学习进阶之路:集成学习带你走向巅峰
集成学习是机器学习中的一个重要分支,集成学习即ensemble learning,它是一种利用样本数据训练多个不同的弱分类器,然后将这些弱分类器整合成一个强大分类器的机器学习方法。集成学习的基本结构为:先产生一组个体学习器,再使用某种策略将它们结合在一起。集成模型如下图所示:在上图的集成模型中,若个体学习器都属于同一类别,例如都是决策树或都是神经网络,则称该集成为同质的(homogeneous);
2024-09-03 09:01:20
589
原创 【实战攻略】scikit-learn支持向量机:从小白到高手只需五步
在机器学习的广阔天地里,有一种算法像武侠小说中的绝世高手一样,既神秘又强大——那就是(SVM)。今天,我们将一起踏上一段旅程,用Python中的库实现支持向量机,并通过一个简单的实战案例来体验它的魅力!
2024-09-03 08:50:25
741
原创 【机器学习入门】一文读懂非线性支持向量机SVM
由于上述的超平面只能解决线性可分的问题,对于线性不可分的问题,例如:异或问题,我们需要使用核函数将其进行推广。一般地,解决线性不可分问题时,常常采用映射的方式,将低维原始空间映射到高维特征空间,使得数据集在高维空间中变得线性可分,从而再使用线性学习器分类。如果原始空间为有限维,即属性数有限,那么总是存在一个高维特征空间使得样本线性可分。若∅代表一个映射,则在特征空间中的划分函数变为:按照同样的方法,先写出新目标函数的拉格朗日函数,接着写出其对偶问题,求L关于w和b的极大,最后运用SOM求解α。
2024-09-02 09:56:22
1588
原创 【机器学习入门】一文读懂线性支持向量机SVM
本身就偏离了正常位置,但是在前面的SVM模型中,我们要求所有的样本数据都必须满足约束,如果不要这些噪声数据还好,当加入这些outlier后导致划分超平面被挤歪了,如下图所示,对支持向量机的泛化性能造成很大的影响。为了解决这一问题,我们需要允许某一些数据点不满足约束,即可以在一定程度上偏移超平面,同时使得不满足约束的数据点尽可能少,这便引出了**“软间隔”支持向量机**的概念。综上所述,对于有噪音的线性不可分数据,我们选择放松其约束,相对于基于严格约束的硬间隔最大化来说,这种做法称为。
2024-09-02 09:35:16
716
原创 【机器学习入门】一文读懂线性可分支持向量机(一)
本文总结了在数据集线性可分情况下,使用支持向量机算法进行分类的思想——硬间隔最大化。然而,在多数应用中,数据集并非线性可分,如果只是在分类边界附近少数点造成线性不可分,这种情况下需要在硬间隔最大化目标函数基础上,引入松弛变量和惩罚因子,然后通过拉格朗日对偶性求解,这种方法称为软间隔最大化。如果大量样本线性不可分,则需要引入核技巧,往高维空间映射,转化为线性可分。对于这两部分内容,在后续博客中在总结了。
2024-09-02 09:26:45
1529
原创 数据驱动未来:全球热门大数据平台精选
大数据基础服务平台是一种用于管理、存储、处理和分析大量数据的平台。它提供了一系列的大数据处理和分析工具,包括 Hadoop、Hive、HBase、Spark、Flink、Zookeeper、Kafka 等,使得企业和组织能够更好地理解和利用他们的数据。随着 Cloudera 和 Hortonworks 合并后,逐步将 CDH 和 HDP 停止免费使用后,市场上便掀起了对大数据基础服务平台的替代浪潮。尤其是国内外众多厂商纷纷推出了自己的大数据平台产品。
2024-08-30 08:34:16
2017
原创 使用 scikit-learn 实战感知机算法
感知机(Perceptron)是最早的人工神经网络模型之一,由 Frank Rosenblatt 在 1957 年提出。实现一个基本的感知机模型,并通过一个简单的二分类问题来评估和可视化其性能。尽管感知机在处理复杂的非线性数据时可能不是最佳选择,但对于线性可分的数据集来说,它是一个快速而有效的解决方案。为了让读者更好地理解感知机的工作方式,我们将可视化训练数据及其决策边界。库来实现感知机,并通过一个简单的数据集来展示其实战效果。我们将创建一个简单的二分类数据集,数据是线性可分的。类来训练我们的模型。
2024-08-30 08:33:07
734
原创 Spark2.x:通过 JDBC 连接数据库(DataFrame)
这里以关系数据库MySQL(MarinDB)为例。下面我们要新建一个测试Spark程序的数据库,数据库名称是“spark”,表的名称是“student”。请执行下面命令在Linux中启动MySQL数据库,并完成数据库和表的创建,以及样例数据的录入:MariaDB [(none)]> create database spark;Query OK, 1 row affected (0.0
2024-08-29 08:45:24
480
1
原创 【技术干货】一文搞懂感知机算法:从理论到Python实战
对于给定训练样本数据集Dxiyii1mD{(xiyii1mxi∈X⊆Rnxi∈X⊆Rn表示训练样本的特征向量,${y_i} \in Y = { + 1, - 1}表示样本类别。表示样本类别。表示样本类别。x与与与yfxsignw⋅xbyfxsignw⋅xb称为感知机。其中,w∈Rnw∈Rn称为感知机的权值系数或者权值向量weightb∈Rb \in R。
2024-08-29 08:44:31
1288
原创 Spark2.x 入门:连接 Hive 读取数据(DataFrame)
一、在Hive中创建数据库和表下面我们进入Hive,新建一个数据库sparktest,并在这个数据库下面创建一个表student,并录入两条数据。 下面操作请在Hive命令提示符下操作:hive> create database if not exists sparktest;//创建数据库sparktesthive> show databases; //显示一下是否创建出了spa
2024-08-28 08:37:01
305
1
原创 从零开始:scikit-learn决策树分类实战
鸢尾花数据集(Iris dataset)是机器学习领域中最著名的数据集之一,由英国统计学家和生物学家Ronald Fisher于1936年整理发布。该数据集包含了150个样本,每个样本有四个特征:萼片长度、萼片宽度、花瓣长度和花瓣宽度,以及一个标签,指示该样本属于三种鸢尾花中的哪一种(Setosa、Versicolor、Virginica)。决策树是一种监督学习算法,可用于分类和回归任务。它通过递归地将数据集划分成多个子集,直到每个子集中的样本都属于同一类别为止。
2024-08-28 08:36:30
594
原创 Spark2.x 入门: 读写 Parquet(DataFrame)
Spark SQL可以支持Parquet、JSON、Hive等数据源,并且可以通过JDBC连接外部数据源。前面的介绍中,我们已经涉及到了JSON、文本格式的加载,这里不再赘述。这里介绍Parquet,下一节会介绍JDBC数据库连接。Parquet是一种流行的列式存储格式,可以高效地存储具有嵌套字段的记录。Parquet是语言无关的,而且不与任何一种数据处理框架绑定在一起,适配多种语言和组件,能
2024-08-26 14:27:28
495
1
原创 CART算法:决策树的双面剑
对3种决策树算法做一个简单对比总结:决策树的思路简单易懂,浅层的树可解释性很好,并且易于可视化,这种特点使得其颇受一些传统行业的青睐;同时,决策树对数据分布没有假设,且可以处理离散型数据和连续型数据,而之前那几种分类器显然对连续型数据更友善;决策树可以直接实现多分类;对批量数据预测速度比较快,因为CART二叉树的结果,其预测的时间复杂度为Olog2NO(log_2N)Olog2N,其中NNN为数据量。
2024-08-26 14:26:25
1408
原创 Spark2.x 入门:从 RDD 转换到 DataFrame
Spark官网提供了两种方法来实现从RDD转换得到DataFrame,第一种方法是,利用反射来推断包含特定类型对象的RDD的schema,适用对已知数据结构的RDD转换;第二种方法是,使用编程接口,构造一个schema并将其应用在已知的RDD上。利用反射机制推断RDD模式在利用反射机制推断RDD模式时,需要首先定义一个case class,因为,只有case class才能被Spark
2024-08-25 08:27:26
903
1
原创 决策树算法:ID3与C4.5的对比分析
我们每天都做着各种形形色色的决策——周末怎么嗨、是否买下衣服、出差选哪种交通工具等等,这些决策的过程我们用图形的形式表现出来就是一种类似树形的结构,将这种决策思想应用到机器学习算法领域,那就是我们本文要说的决策树算法。决策树算法属于有监督学习算法的一员,在决策前需要先根据先验数据进行学习,构建并训练出一个决策树模型。决策树模型中每一个非叶子结点代表着一个特征属性,其下每一个分支都代表对该特征属性值域的不同取值划分,每一个叶子结点代表一个输出分类。
2024-08-25 08:23:17
1374
原创 Spark 之 map 与 flatMap 的区别
map 函数它将某个函数应用到集合中的每个元素,并产生一个结果集合。我们可以这样对列表的元素进行平方:scala> list1res3: List[Int] = List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)scala> list1.map(x=>x*x)res4: List[Int] = List(0, 1, 4, 9, 16, 25, 36
2024-08-24 16:08:02
456
1
原创 【实践指南】scikit-learn与朴素贝叶斯:快速上手
在机器学习的世界里,分类问题是十分常见的任务之一。今天我们将会使用Python中的库来演示如何使用朴素贝叶斯分类器对著名的鸢尾花(Iris)数据集进行分类。
2024-08-24 08:46:53
313
mybatis 全xml配置
2018-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人