Lemcoden

来自于大数据攻城狮的分享

KNN+K-Means算法

我们之前聊过KNN算法的具体流程,简单的讲就是计算所有点与新进入点的距离,然后取出K个最近距离的点

而KNN算法如果代入实际的计算框架中,每次判断都需要计算与所有点的距离,这个算法的计算量是很巨大的

所以,我们利用"预计算""预分区"类似这样的思想,将数据提前使用K-Means算法分好类,这样我们只需要计算,新进入点在本类当中的所有点的距离就可以了

一般我们是采用T+1,就是提前一天将数据用K-Means算法聚好类,第二天用KNN算法在聚类的基础上计算重新加入的类

这样就大大减小了计算量

但是KNN+K-Means也有一个缺点,我们先看下图

Read more »

逻辑回归算法

算法公式

逻辑回归算法是一种广义的线型回归分析模型

我们之前聊的线型回归模型,它只能预测一个与实际误差较小的具体值,而没有办法满足二分类的要求.

而逻辑回归就是一种专门解决二分类问题的算法,但是二分类的算法不止能用于二分类,还可以用于多分类.

在聊完逻辑回归怎么用于二分类之后,我们再聊怎么将它用于多分类.

我们知道我们逻辑回归的函数长这个样子

H(θ)=w0+w1x1+w2x2+......+wnxnH(\theta)=w_0+w_1x_1+w_2x_2+......+w_{n}x_{n}

Read more »

贝叶斯分类算法

一种先验概率计算后验概率的算法,什么是先验概率,啥是后验概率?

emmmmm,先走起来再找路,我先给出公式,然后再慢慢解释

P(AB)=P(A)P(BA)P(B)P(A|B)=\frac {P(A)*P(B|A)}{P(B)}

Read more »

大数据框架总结

我们平常使用到的大数据开发的框架有hdfs,mapreduce,yarn,hbase,hive,spark,flink等等

林林总总的框架,经过归纳整理,我们可以总结一个大数据通用的技术架构图

首先大数据主要是指对大数据的计算处理,然这个大前提在于数据从哪来,数据来了我们存到哪里.

数据来源主要有两个,(其实细分各个部门各个系统数据极其多,这里只是总结最通用的)

  • 服务器产生的积累起来的业务数据,通常存储在mysql,sql server,orcale等数据库当中

  • 对前端(网页,移动终端)埋点产生的日志操作数据

    Read more »

redis常见问题

1
jedis,luttce,springboot:low/high level

击穿

key过期造成并发访问数据库

graph LR
	id0((用户
client)) --> id2 id2[nginx] --> id3[ ] id3 --> id4 id4((client
server)) --1.null--> id5[redis
缓存
key过期时间,LRU,LFU] id4 --2.setInx--> id5 id4 --3.只有获得锁的去访问DB--> id1[DBMySQL] id4 --> id1 before[before
肯定发生了高并发]

解决:

并发有了:阻止并发到达DB,redis又没有key

redis是单进程单实例

setInx() -> 锁

Read more »

AKF概述

graph TB
	subgraph single
	id1[redis 单机 单进程 缓存 数据库]
	id1 --> id((RDB AOF))
	end

单机,单节点,单实例

1.单点故障

2.容量有限

3.压力

Read more »

数据库设计

缓存:数据可以丢 急速!

数据库:数据绝对不能丢 速度+持久性

掉电易失!

redis+mysql > 数据库 < 不太对

redis如何持久化

Read more »

邮箱收到github构建异常

三个月前,我的gmail收到一封关于hexo在github上构建异常的邮箱

邮箱的主要内容如下:

The page build failed for the master branch with the following error:

The symbolic link /blog_workspace targets a file which does not exist within your site’s repository.

Read more »

发展历程

数据库:表很大,性能下降?
如果表有索引,增删改变慢(需要维护索引)
查询速度会不会变慢:
1.一个或少量查询依然很快
2.并发大的时候会受硬盘带宽影响速度

Read more »
0%