
Scala
象在舞
谁说大象不能跳舞!
展开
-
Spark ML K-Means聚类算法
声明:代码主要以Scala为主,希望广大读者注意。本博客以代码为主,代码中会有详细的注释。相关文章将会发布在我的个人博客专栏《Spark 2.0机器学习》,欢迎大家关注。 在我的专栏《Python从入门到深度学习》中,已经介绍了两篇关于K-Means聚类的文章,分别是:《Python实现K-Means聚类算法》和《Python实现K-Means++聚类算法》。在此...原创 2019-05-13 15:32:11 · 4868 阅读 · 2 评论 -
Spark ML特征的提取、转换和选择
声明:代码主要以Scala为主,希望广大读者注意。本博客以代码为主,代码中会有详细的注释。相关文章将会发布在我的个人博客专栏《Spark 2.0机器学习》,欢迎大家关注。一、特征的提取1、TF-IDF(词频-逆向文档频率) TF(词频):HashingTF与CountVectorizer用于生成词频TF向量。HashingTF是一个特征词集的转换器(Tra...原创 2019-04-28 11:20:50 · 3924 阅读 · 5 评论 -
Spark ML数学基础
声明:代码主要以Scala为主,希望广大读者注意。本博客以代码为主,代码中会有详细的注释。相关文章将会发布在我的个人博客专栏《Spark 2.0机器学习》,欢迎大家关注。一、矩阵向量计算 Spark MLlib底层的向量、矩阵运算使用了Breeze库,Breeze库提供了Vector/Matrix的实现以及相应计算的接口(Linalg)。但是在MLlib里面同...原创 2019-04-26 10:07:02 · 737 阅读 · 0 评论 -
Spark ML Pipelines(ML管道)
声明:代码主要以Scala为主,希望广大读者注意。本博客以代码为主,代码中会有详细的注释。相关文章将会发布在我的个人博客专栏《Spark 2.0机器学习》,欢迎大家关注。一、Pipelines的主要概念 ML可以应用于各种各样的数据类型,比如向量、文本、图形和结构化数据、API采用Spark SQL的DataFrame就是为了支持各种各样的数据类型。1、T...原创 2019-04-25 20:12:05 · 2061 阅读 · 0 评论 -
Spark DataSet介绍
声明:代码主要以Scala为主,希望广大读者注意。本博客以代码为主,代码中会有详细的注释。相关文章将会发布在我的个人博客专栏《Spark 2.0机器学习》,欢迎大家关注。 Spark的发展史可以简单概括为三个阶段,分别为:RDD、DataFrame和DataSet。在Spark 2.0之前,使用Spark必须先创建SparkConf和SparkContext,不过...原创 2019-04-25 14:45:39 · 8009 阅读 · 2 评论 -
Scala之模式匹配
模式匹配是Scala中非常有特色,非常强大的一种功能。模式匹配,其实类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理。但是Scala的模式匹配的功能比Java的swich case语法的功能要强大地多,Java的swich case语法只能对值进行匹配。但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array和L原创 2017-09-03 19:19:22 · 575 阅读 · 0 评论 -
Scala中的类型参数
类型参数是什么?类型参数其实就类似于Java中的泛型。先说说Java中的泛型是什么,比如我们有List a = new ArrayList(),接着a.add(1),没问题,a.add("2"),然后我们a.get(1) == 2,对不对?肯定不对了,a.get(1)获取的其实是个String——"2",String——"2"怎么可能与一个Integer类型的2相等呢?所以Java中提出了泛型原创 2017-09-03 18:54:47 · 1665 阅读 · 0 评论 -
Scala中的Actor
Scala的Actor类似于Java中的多线程编程。但是不同的是,Scala的Actor提供的模型与多线程有所不同。Scala的Actor尽可能地避免锁和共享状态,从而避免多线程并发时出现资源争用的情况,进而提升多线程编程的性能。此外,Scala Actor的这种模型还可以避免死锁等一系列传统多线程编程的问题。Scala提供了Actor trait来让我们更方便地进行actor多线程编程,就A原创 2017-09-03 18:45:53 · 606 阅读 · 0 评论 -
Scala中的隐式转换
Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象。通过这些功能,可以实现非常强大,而且特殊的功能。Scala的隐式转换,其实最核心的就是定义隐式转换函数,即implicit conversion function。定义的隐式转换函数,只要在编写的程序内引入,就会被Scala自动使用。Scal原创 2017-09-03 17:02:13 · 542 阅读 · 0 评论