- 博客(36)
- 资源 (9)
- 问答 (2)
- 收藏
- 关注
原创 Spark机器学习库(ML)之分类模型-bayes和svm
今天我们要学习的是Spark中的分类算法中的贝叶斯模型以及SVC模型,这里还是通过一个小实例来实现。就是垃圾邮件识别。首先我们还是先来简单的介绍一下算法吧。朴素贝叶斯模型首先我们先假设各个向量之间是相互独立的。朴素贝叶斯(简称NB)就是在这个假设条件下的。朴素贝叶斯属于生成式模型,它的收敛速度将快于判别式模型比如逻辑回归,所以你只需要较少的训练数据即可。即使贝叶斯条件独立假设不成立,NB分类器在实践中任然表现很出色。但是它的主要缺点是它不能学习特...
2021-06-20 17:31:27
841
原创 Spark机器学习库(ML)之one-vs-All
相信大家一定了解多分类问题了,这里就不过多阐述了。前面说到的垃圾邮件识别是一个二分类问题,多分类就是多个类别。这次呢,我们使用20news-group来简单介绍如何实现这个多分类问题。 我们先来介绍一下20news-group吧,它其实就是一个20个类别得新闻组,比如说体育、娱乐、国事...。下面给出下载地址,官网上解释很清楚。目录结构和上篇文章中得垃圾邮件是一样得,这里就不上图了。下载地址:http://qwone.com/~jason/20Newsgroups/...
2021-06-20 17:29:22
1484
原创 5G核心网KPI异常检测方案开源
【赛题背景】核心网在整个移动运营商网络中占据着举足轻重的地位,一旦故障,会对全网的服务质量影响很大。需要及时快速发现核心网的风险,在影响范围扩大之前及时消除故障。关键性能指标(KPI),反应了网络性能和质量。对KPI进行检测,能够及时发现网络质量劣化风险。主办方将在比赛中提供某运营商的KPI真实数据,采样间隔为5分钟。参赛选手需要根据历史一个月异常标签数据(训练数据集),训练模型并检测后续一周内各KPI(测试数据集)中的异常。【赛题要求】参赛选手通过训练数据集中...
2021-06-20 17:26:40
988
2
原创 自动化运维小工具-Ansible简单介绍
这个小工具是我之前工作中搭建大数据平台使用到的。在多服务器场景下挺方便的。挺好用。一、介绍ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,可以在集群多机器之间进行交互。比如执行相同的shell命令、拷贝文件到各个服务器、ping测试、服务器相关主机信息(包括主机名,内存,cpu,磁盘等)、定时执行模块等。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansibl
2021-06-20 17:23:57
334
原创 水电站入库流量预测冠军方案
1.前言该文档主要是介绍通过机器学习模型LightGBM进行水电站流量入库预测。对于水电站来说,发电是主要经济效益来源,而水就是生产的原料。对进入水电站水库的入库流量进行精准预测,能够帮助水电站对防洪、发电计划调度工作进行合理安排,实现避免洪涝灾害和提升发电经济效益的目的。2.目标基于历史数据和当前观测信息,对电站未来7日入库流量进行预测(每3小时一个预测值,共56个待预测值)。3.数据解析竞赛主办方共提供了4类数据,包括历史入库流量数据、环境数据、降雨预报数据以及...
2021-06-20 17:20:29
1164
1
原创 开始数仓前的一些准备工作
如何开始数仓前的一些准备工作,避免在后期更轻松和更少的踩坑。做了几个关于数仓的项目,其中几个有完整需求管理,数据模型文档管理,数据管理,血缘关系管理以及自主研发的ETL平台。也做过需求不明确以及没有任何的数据模型文档,在最终核对数据时发现是数据质量问题的导致。谈点自己的看法,项目开始应当和项目组核心的组员一起做好完整的项目计划(项目人员还未完全进入项目,团队组建中),识别项目中出现的各种风险,做好风险应对策略,比如需求频繁更改、核心人员离职以及一些不确定因素等。了解项目的具体需求和业务,确定需求变
2021-06-20 17:19:09
432
1
原创 排序算法之快速排序
最近在看排序算法,看了很多文章也没有把快速排序说得很明白。也可能是我自己的理解能力不够吧。在这里总结下自己学习和理解。记得之前有一个朋友问过我一个问题,如何在一个无序的序列中找到第k大的数。后来了解到这是一个面试题。当时我想到的就是普通的冒泡排序,没有考虑到时间复杂度。当然这样是可以解决这个问题,但是并不是最好的,答案自然也是这次说的快排。由于自己对数据结构不是特别熟悉,当时也没有想明白。我相信通过这个总结,下次回顾的时候就能明白了。快速排序,光看这个名字就很“快”。时间复杂度为O(N*logN)
2021-06-20 17:14:51
180
原创 排序算法之堆排序
接着上次的快速排序算法后,有朋友说到堆排序还不是很明白,我自己下去也消化了下。在这里总结下自己学习和理解。希望能够帮助到需要帮助的朋友。先来看看堆排序的解释吧。是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子节点的键值或索引总是小于(或者大于)它的父节点。接下来我们先用实例来描述一下使用堆排序的整个过程,来帮助自身的一个理解。假设有这样一个序列。6,1,7,8,5,2,3,9进行降序排列。 0 1
2021-06-20 17:12:57
430
原创 Goolge Colab免费GPU服务器使用教程
划重点:免费GPU,免费GPU,免费GPU官方说明:1.Colab是Google提供的一个研究型项目。可以免费使用CPU,GPU,TPU环境。具体可免费使用多久还不知道。2.Colab支持NoteBook的,支持各种深度学习框架。3.官方说明:https://colab.research.google.com/notebook与其花钱买服务器资源,用colab的免费资源真的是太香了。用于研究和测试绝对是足够了。最近在使用Bert的时候,发现和自己笔记本Cpu的速度快了近20倍(可
2021-06-20 17:09:53
1192
原创 数仓必须会的函数总结
这篇文章主要是对数仓工作的一个总结。数仓工作中,除了数据架构另外就是数据模型实施了。今天总结一下工作中遇到的大部分实现场景。 今天总结的也是遇到最常见的,用得最多的,也是需要掌握的。话不多说,上菜。基础的sql语法以及一些时间的加减处理这里就不说了。放张我整理的图就行。然后挑重要的说。第一个要说的就是UDF、UDAF、UDTF函数。 udf全称是User Defined Function,即用户自定义函数。通常是为了满足我们特定场景的一些需求。当然Hive...
2021-06-20 17:03:50
492
原创 mysql的相关操作
Ubuntu下一:首先先说安装mysql:apt-get install mysql-server mysql-client libmysqlclient-dev中间会出现输入登录密码的地方,输入密码直接按确认首先很多时候遇到安装出错,或者我们在操作的时候出现不正确,导致mysql不能正常使用,这个时候需要卸载mysql,重新安装毫无疑问是最快捷的方式。但是在ubuntu下
2017-02-08 10:50:22
333
原创 win提交spark程序
使用win提交Spark Streaming程序的时候,出现了一下小小的问题,出现如下错误:INFO JobScheduler: Added jobs for time 1482304253000 ms一直循环打印这句话,始终没有出现Streaming时间片 batch的信息。然后又偶尔出现一句警告:如下WARN TaskSchedulerImpl: Initial job has
2016-12-21 15:23:37
630
转载 Hadoop与Spark常用配置参数总结
背景MapReduce和Spark对外提供了上百个配置参数,用户可以为作业定制这些参数以更快,更稳定的运行应用程序。本文梳理了最常用的一些MapReduce和Spark配置参数。MapReduce重要配置参数1. 资源相关参数(1) mapreduce.map.memory.mb: 一个Map Task可使用的资源上限(单位:MB),默认为1024。如果Map T
2016-12-21 08:50:52
337
原创 flume整合kafka和hdfs
flume版本:1.7.0 kafka版本:2.11-0.10.1.0 hadoop 版本:2.6.0最近在玩这个flume和kafka这两个东西,网上有很多这方面的简介,我就不多说了,我的理解为啥要整合这两个在一起的,我的理解就是,flume作为消息的持久化,然后就是kafka来用于消息的传输,但我们搜集这个网站的日志的时候,我们就可以使用flume监控log的一个文件或者是一个目录,每当有
2016-12-20 13:26:16
5000
1
原创 根据List里面的对象属性对对象排序
有时候我们经常需要用到将查询的数据保存在一个对象里面,然后将这些对象放到一个list里面。那么就会产生这样的需求,如何针对对象里面的属性的大下进行排序呢。比如说,数据库里面有各种用户信息,我们将用户信息查询出来放到User对象里面,将所有的user添加到一个list里面,我们如何通过这些user年龄大小来依次在list里面排序呢。在这里需要用到集合,Collections。话不多说,直
2016-12-15 11:16:46
5234
2
原创 关于HBase的SingleColumnValueFilter的坑
由于某些需求,我们在查询hbase的时候,经常需要用到Filter。使用filter过滤来得到我们想要得到的值。使用场景:我们需要通过Hbase里面的某些列的组合来查找符合这些条件的行。类似于mysql里面的where条件查询。根据列来查询。下面是通过三列中的三个数据来查询到符合这三列的所有数据。一般情况下,我们通过列来查询值,可能需要多个列组合的过滤。思路就是先创建一个FilterL
2016-12-14 13:35:35
6989
1
原创 XML的四种创建方式
话不多说,直接上代码:package com.whoami.file;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.u
2016-12-01 17:36:43
2184
原创 java线程的相关问题
一:进程和线程的区别:进程:每个进程都有独立的代码和数据空间(进程上下文),是动态的。线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,线程切换开销小。线程和进程的生命周期:创建、就绪、运行、阻塞、终止。多进程是指操作系统能同时运行多个(程序)。多线程是指在同一程序中有多个流在执行。java中的线程实现方式有两种:一种是继续Th
2016-12-01 17:34:29
270
原创 JAVA内部类
java内部类其实就是java类中包含类。“累不累”实验一:内部类的基本结构package chatFunction;/** * * @author ZhangYong *@内部类测试 */public class test { public static void main(String[] args) { B.A a = new B().new A(); a.s
2016-12-01 17:31:21
290
原创 java注解
java注解的好处注解的好处在于可以使代码简洁化。特别是在框架中。注解的使用可以代替XML的使用。实现代码的简洁化。java注解分类按来源分:java自带注解、第三方注解、自定义注解按生命周期分:源码注解、编译时注解、运行时注解自定义注解的结构:元注解(用来注解注解的)接口定义、无参无异常的成员方法的定义(成员类型受限:基本数据类型、String、枚举)JDK自带注解
2016-12-01 17:26:56
213
原创 java--->方法的反射(泛型实质)
通过方法的反射来看泛型我的理解:泛型的本质,从反射的角度来讲,所以类,方法都是属于一种classtype,定义classtype来接受同一type的不同对象首先理解编译和运行。1.方法的反射操作是在程序运行的时候操作的,并不经过程序的编译。2.通过方法的反射,我们可以在泛型中插入不同类型的值。泛型就是规范你的输入。当你的输入类型和定义类型不相同时,代码的编译就不会通过。但是通过反射
2016-12-01 17:19:21
328
原创 java观察者拓展(二)根据观察者的场景需求
观察者模式高级应用。根据场景来做出反应。比如说老师说今天扫地,但是今天不该小明打扫,所以小明在听到这个后不会有反应,但是小红今天打扫,小红就要去打扫清洁。根据应用场景的不同需求不同。具体实现方法,是将 抽象类中的notifyObservers方法放到子类中,然后update是根据匹配通知消息的内容用到判断方法。根据最开始的架构来看抽象主题角色(取消了notifyObse
2016-12-01 17:14:39
267
原创 java观察者拓展(一)利用java内部的抽象对象和观察者接口
通过利用java的JDK自带类进行观察者模式的创建在java中,jdk都帮我们实现好了抽象主题角色和抽象观察者。我们只需要在上述的内容中创建两个类,一个是具体的主题角色类继承 java.util.Observable这个类另一个是具体的观察者角色实现java.util.Observable接口首先我们创建具体的主题角色类 (在上述例子中的老师Teacher)packag
2016-12-01 17:10:29
271
原创 java观察者
观察者模式,一对多的关系,也存在一对一的关系,多个observer以及一个subject,当subject发生改变时,各observer收到通知,并做出相应的反应。观察者模式,就是观察对象做出反应,那么观察者做出相应的反应,各自执行自己相应的方法。一般来说 观察者模式有四个的对象一:抽象主题角色:把所有对观察者对象保存在一个Arraylist集合中,每个抽象主题角色都可以有任意数量
2016-12-01 17:04:17
269
原创 MapReduce入门级之WordCount单词计数
话不多说直接贴上代码:具体的实现代码后面描述package com.whomai.test;import java.io.IOException;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.Path;import o
2016-12-01 16:55:20
566
原创 mongoDB的操作---增删改查
mongo数据库不用自己创建。在使用mongo的时候如果不存在数据库,在使用数据库的时候会根据需求自动创建数据库。1.use 切换数据库2.show dbs// 查看所有数据库3.db.dropDatabase()删除数据库数据库中一张表可以看作一个集合表的操作whoami 作为一个数据库use whoami对表进行操作1.插入(
2016-12-01 16:41:37
273
原创 搭建一个简单的mongodb服务
搭建简单的mongodb服务器1.首先到mongodb的官网下载linux编译好的二进制文件。将其解压到linux的目录文件夹下2.创建一个叫做mongodb_server的目录文件3.在mongodb的文件夹里面创建data文件夹(用于储存数据库数据文件),log文件夹(用于储存数据库的日志文件),创建bin文件夹(用于储存数据库的可执行文件),创建conf文件夹(储存数据库的配
2016-12-01 16:35:50
448
原创 java之动态加载类
@Java反射机制——动态加载类 类类型的获取有三种方式,假设已知Student类方式一: Class c1 = Student.class;方式二:Student stu = new Student(); Class c2 = stu.getClass();方式三:已知Student类在包:com包下,则 Class c3 = Class.forNa
2016-12-01 16:32:03
596
原创 关于Hbase在javaAPI操作表的操作
话不多说,直接看代码就能看清楚每个API是干嘛的。package hbase;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.H
2016-12-01 16:28:06
789
原创 MySQL忘记密码
1.在root的权限下修改mysql的登陆设置vim /etc/my.cnf在 [mysqlld] 的字段中添加一句skip-grant-tables保存退出。实现临时免密码登陆mysql。2.重新启动mysql服务/etc/init.d/mysqlld restart3.登陆mysql并修改密码#mysql(就会免密码登陆)如果不行的话,就敲
2016-12-01 16:21:33
277
原创 MySQL更改字符集操作
由于版本的问题,修改方式也将不同mysql5.0以及以后在/etc/my.cnf修改[client]default-character-set=utf8[mysqld]character-set-server=utf85.0之前[client]default-character-set=utf8[mysqld] default-character-set=u
2016-12-01 16:19:34
256
原创 R语言初识
声明:由于是自学的R语言,部分的基础知识写的有些杂乱。但是这都是R的基础操作,个人认为,重点还是在画图,这些都是对数据的分析操作首先说RStudo导入包的方式安装好R和RStudo后我们在画图的过程中会需要很多其他的包,那么我们就要去下载导入。install.packages("包名")引用包library(包名)x <- vector("character",length=1
2016-12-01 16:04:55
484
原创 R画图之ggplot2-->柱状图
图就只有两个,但是大多数的画法都可以套出来1.创建一个数据集:dfinstall.packages("ggplot2")library(ggplot2)x <- c('A','B','C','D','E') y <- c(10,20,15,30,40) #创建一个data.frame类型的数据集,两列。df <- data.frame(x= x, y = y)ggplot(da
2016-12-01 15:41:03
6755
原创 java基于ajax实现验证码
后台数据与前台相互交互,实现页面的局部更新。现在以java后台验证码为例。首先实现验证码的制作验证码:1.BufferedImage图像数据缓冲区2.Graphics画笔,绘制图片3.Color获取颜色4.random随机生成验证码5.ImageIO输出图片具体代码如下: package com.whoami;import java.awt.Color;im
2016-12-01 15:32:24
769
原创 Jquery-validate之表单验证
jQuery Validate 插件为表单提供了强大的验证功能.默认校验规则rules:1 required:true 必须输入的字段。2 remote:"check.php" 使用 ajax 方法调用 check.php 验证输入值。3 email:true 必须输入正确格式的电子邮件。4 url:true 必须输入正确格式的网址。5 date:true 必须输入
2016-12-01 15:29:43
298
原创 Spark的环境搭建以及简单的eclipse的两种运行方式--standalone和yarn
前言:会一些linux的基础,以及java基础。以及是先搭建好java环境,搭建环境是单机版。假定ip:192.168.248.133步入正轨,我们直接来说说怎么搭建一个基于hadoop的spark环境。目的能够让spark将job提交到hadoop上处理。利用hadoop的分布式框架。第一步:搭建hadoop的单机环境1.在/etc/hostname 下修改对应的名字。 比如
2016-12-01 15:25:29
4602
4
jackson-mapper-asl-1.9.13.jar
2017-03-14
dom4j-1.6.1.jar
2017-03-14
log4j-1.2.17.jar
2017-03-14
jedis-2.8.jar
2017-03-14
R将不同长度的list转换成data.frame
2016-06-02
shiny通过输入字符串乱码
2016-05-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人