自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 数据挖掘与数据分析之统计知识篇

数据挖掘、数据分析面试涉及到的统计学知识整理

2023-06-28 15:05:50 1450

转载 通俗易懂的学会:SQL窗口函数

原文地址

2021-06-17 17:20:00 204

原创 HIVE里如何从A表种删除掉与B表共有的数据

select t1.idfrom table1 t1left join table2 t2 on t2.id = t1.idwhere t2.id is null其中t1表示A表,t2表示B表适用场景:将A表删除掉与B表共有的数据

2021-06-01 10:05:57 1234

原创 pandas按条件(索引或者id)删除行

df _= df[~df.id.isin(['a','b','c'])]结果为df保留除了‘a’,‘b’,‘c’的三行数据

2021-03-04 11:21:55 2533 1

原创 将大列表中潜套的列表展开为一个列表

T = [['a','b'], ['c', 'd', 'e']]T = sum(T, [])结果T=['a','b','c','d','e']

2021-02-20 16:12:46 111

转载 如何选择Z检验、T检验和卡方检验?

如何选择采用哪种假设检验?Z检验:一般用于大样本(即样本容量大于30)平均值差异性检验的方法。它是用标准正态分布的理论来推断差异发生的概率,从而比较两个平均数的差异是否显著。在国内也被称作u检验。T检验:主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布。T检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。卡方检验:卡方检验是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者

2020-12-17 16:16:23 10333

原创 left join一对多只保留一条结果的解决方法

select * from(select user_id from tabel_1)aleft join(select user_id from tabel_2 group by user_id) bon a.user_id = b.user_id

2020-11-30 10:18:20 16920

转载 【机器学习】特征选择(Feature Selection)方法汇总

传送门

2020-08-25 13:15:27 1455

原创 pandas按条件删除行

比如删除score小于50的行df = df.drop(df[df.score < 50].index)

2020-08-13 10:26:22 2899

转载 模型评价指标

传送门

2020-06-27 23:04:21 281

原创 如何在macbook中配置Scala环境

1、第一步首先确定你的电脑上配置了Java环境,是因为Scala是基于Java环境的,关于Java的安装比较简单,可以直接参考此链接进行配置2、第二步,去官网下载Scala安装包选择第一个版本就可以了。3、第三步将下载好的安装包放在指定的文件夹中,这个文件夹自己指定,但要记住安装路径,比如我放在了桌面的文件中,然后打开终端,cd ~/desktop/Scala/scala/bin在终端里面cd到解压后的文件的bin目录下。4:第四步在第三步的路径下输入(sudo管理这权限,不加这个的话,后续

2020-06-24 10:25:38 1251

原创 mysql数据库escape应用

mysql中常用的通配符包括“%和_”,假如在模糊匹配时,遇到匹配字符“”,正确的做法是需要进行转义字符。比如:查找名字中第二个字符为“”的名字(比如叫K_henry),在利用like进行模糊匹配时正确的做法应该是SELECT name FROM 表名 WHERE name LIKE '_$_%' ESCAPE '$' 或者直接用反斜杠SELECT name FROM 表名 WHER...

2020-02-13 01:04:39 830

原创 mysql数据库利用concat将字段拼接

SELECT CONCAT('字段1','字段2',...) AS 新的字段 FROM 表名

2020-02-13 00:23:30 573

原创 mysql数据库去除查询功能

SELECT DISTINCT 列名 FROM 表名

2020-02-13 00:11:52 451

原创 数据结构与算法(树和二叉树及python代码实现)

树的概念树是一种抽象数据类型(ADT)或是视作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合,他是由n(n>1)个有限节点组成一个具有层次结构的集合。把它叫做树是因为它看起来像一颗倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点没有父节点的节点称为根节点每一个非根节点有且只有一个父节点除了根节点外,每个子节点可以分为多个不相交...

2020-02-12 00:24:28 1834

原创 数据结构与算法(二分查找)

二分法查找二分查找又称折半查找,优点是次数比较少,查找速度快,平均性能好,其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等即查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则查找后一子表。重...

2020-02-09 21:45:12 642

原创 数据结构与算法(归并排序)

归并排序归并排序是采用分治法的一个典型的应用,归并排序的思想就是先递归分解数组,在合并数组。将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的前面的数,谁小就先取谁,取了后相应的指针就往后移一位,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。def merge_sort(alist): """归并排序""" n = len(alist) ...

2020-02-09 21:02:46 130

原创 数据结构与算法(快速排序)

快速排序快速排序,又称划分交换排序,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按照此方法将这两部分数据分别进行快速排序,整个排序过程可以递归进行,依次达到整个数据变成有序序列。步骤为:从数列中挑出一个元素,称为“基准”。重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准元素大的放在基准元素后面(相同的数可以放...

2020-02-09 19:51:12 182

原创 数据结构与算法(希尔排序)

希尔排序希尔排序是插入排序的一种,也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该算法因Dl.Shell于1959年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序过程希尔排序的基本思想是:将数组列在一个表中并对列分别...

2020-02-08 22:40:50 253

原创 数据结构与算法(插入排序算法)

插入排序插入排序是一种简单直观的排序算法,他的工作原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置插入。插入排序实现上,再从后向前扫描过程中,需要反复把已经排序的元素逐步向后挪位,为新元素提供插入空间。插入排序分析以序列alist=[2,1,5,1,4,66,3,42,5,67,4]为例,插入排序原理如下:首先将序列的第一个元素记为有序序列,其余剩下元素...

2020-02-08 19:33:09 379

原创 数据结构与算法(选择排序算法)

选择排序选择排序(Selection sort)是一种简单直观的排序算法,他的工作原理如下,首先将未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中急需寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动相关。如果某个元素位于了正确的最终位置上,那它不会移动,选择排序每次交换一对元素,它们当中至少有一个...

2020-02-08 16:34:25 307

原创 数据结构与算法(冒泡排序)

冒泡排序冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把它们交换过来。遍历数列的工作是重复的进行直到没有在需要的交换,也就是说该数列已经排序完成,这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。冒泡算法的运作如下:比较相邻的元素,如果第一个元素大于第二个元素(升序),就交换它们两个。对每一对相邻元素做同样的工作,从开...

2020-02-07 21:01:00 462

原创 数据结构与算法(排序算法稳定性)

排序与搜索排序算法(英语:sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性**稳定性:**稳定排序算法会让原本有相等键值的记录维持相对次序,也就是如果一个排序算法是稳定的,当有两个相等键值的记录R和S,且在原本的列表种R出现在S之前,在排序过的列表中R也会在S之前。当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假...

2020-02-07 19:37:10 286

原创 数据结构与算法(栈与队列)

栈的概念栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,他的特点在于只能允许在容器的一端(称为栈顶端指标,英语top)进行加入数据(英语push)和输出数据(英语pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO,Last in...

2020-02-07 19:11:37 119

原创 数据结构与算法(单向循环链表)

单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。#节点类class Node(object): "节点" def __init__(self,elem): #构造函数 self.elem = elem self.next = None #对于一个节点的初始状态指向为空,因为不知道指向谁...

2020-02-07 15:41:43 312

原创 数据结构与算法(双向链表)

一种更复杂的链表叫“双向链表”或者“双面链表”,每个节点有两个链接,一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。操作实现class Node(object): """节点类""" def __init__(self, item): self.elem = item self....

2020-02-06 20:32:28 254

原创 数据结构与算法(单链表原理+python代码实现)

为什么需要链表?对于上部分顺序表的学习,我们了解到在构建顺序表时需要预先知道数据大小来申请连续的存储空间,而在进行扩充的时候又需要进行数据的搬迁,所以使用起来并不是很灵活。那我们就想,能不能存在一种数据结构是的在数据扩充的时候,在原有的数据完全不变化,扩充一个数据就增加一个,我们需要这样的一个数据结构,那么这样的数据结构怎么存储呢?比如构造了一组数据Li=[200],然后申请了一个存储空...

2020-02-06 18:43:30 833

原创 数据结构和算法(顺序表)

现在看一下,对于整型数据int = 1,2,3,4,5(基本数据类型),对于这部分数据该怎么保存呢?抛弃掉高级数据类型(列表,字典等这些python这些封装好的数据结构),只记得整型、浮点型、字符型等基本数据类型。那么对于int=1,2,3,4,5这部分数据该怎么保存呢?首要的一点是要知道数据存贮的本质是什么?内存计算机的内存是存储数据并直接与CPU打交道的。既然是内存,那就是存储单元了,即组...

2020-02-01 15:49:59 760

原创 线性回归

线性回归模型的数学表达式如公示1所示:θ\thetaθ统称为模型的参数,其中θ0\theta_0θ0​被称为截距(intercept),θ1\theta_1θ1​~θn\theta_nθn​被称为系数(coefficient),xix_{i}xi​表示数据属性的第i个自变量。我们通过矩阵形式来表示这个方程,如公式2所示:这里xxx和θ\thetaθ都可以被看成一个矩阵,线性回归的任务就是通...

2020-02-01 14:26:07 147

原创 数据结构和算法(数据结构引入)

数据结构我们如何用python中的类型来保存一个班的学生信息?如果想要快速的通过学生姓名获取信息呢?实际上当我们在思考这个问题时,我们已经用到了数据结构。列表和字典都可以存储一个班的学生信息,单数想要在列表中获取一名同学的信息时,就要遍历整个列表,其时间复杂度为O(n),而使用字典存储时,可将学生姓名作为字典的键,学生信息作为值,进而查询时不需要遍历,使得快速获取学生信息,其时间复杂度为O...

2020-01-31 16:02:04 148

原创 数据结构和算法(代码执行时间测量模块timeit)

考察python的执行效率,python在调用函数的时候,要考察其函数内部算法的效率,本文将利用python中timeit模块来测试一小段python代码的执行速度。class timeit.Timer(stmt=‘pass’, setup=‘pass’, timer=timer function)Timer是测量小段代码执行速度的类stmt参数是要测试的代码语句(statment)se...

2020-01-30 20:32:09 308

原创 数据结构与算法(时间复杂度和大O表示法)

对于上一部分中的问题算法介绍。运行时间花费了120s,当然配置稍微低点的会花费更久的时间。并且如果将1000改为10000,甚至更高,那么花费的时间将会更加高。这里有没有一种方法对该算法进行优化呢?对于该问题,我们不难发现,对于已经确定的a,b,那么c是唯一确定的,因为c=1000−a−bc=1000-a-bc=1000−a−b,有了这样的一个思想,我们对上述代码进行改进import tim...

2020-01-30 18:46:46 612

原创 数据结构学习(算法的概念引入)

算法的概念首先要知道我们为什么要学习数据结构月算法???这里举一个简单的例子:如果将最终完成的程序比做战场,我们码农就是指挥作战的将军,而我们写的代码就是士兵和武器那么数据结构和算法是什么呢?答曰:兵法!!!我们不看兵法在战场上的运用,仅仅是肉搏,那么战争可能会失败,可能会胜利,并且即使胜利也会付出惨痛的代价。我们写程序也是这个道理,没有看过数据结构与算法,有时面对问题会无从下手,大...

2020-01-29 17:01:44 230

原创 LightGBM代码实现

from __future__ import print_functionimport lightgbm as lgbimport sklearnimport numpyimport hyperoptfrom hyperopt import hp, fmin, tpe, STATUS_OK, Trialsimport coloramaimport numpy as npN_HYP...

2020-01-20 17:01:41 1099

原创 朴素贝叶斯理论+代码实现

朴素贝叶斯理论1、相关概念(生成模型、判别模型)1. 相关概念2、先验概率、条件概率3、贝叶斯决策理论3. 贝叶斯决策理论4、贝叶斯定理公式极大似然估计朴素贝叶斯分类器5、极值问题情况下的每个类的分类概率6、下溢问题如何解决7、零概率问题如何解决7. 零概率问题如何解决?8、sklearn参数详解8. sklearn参数详解9、优缺点1、相关概念(生成模型、判别模型) 编号 色泽...

2020-01-20 16:52:54 652

原创 聚类算法--无监督学习

1、相关概念无监督学习:无监督学习是机器学习的一种方法,没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。无监督学习的主要运用包含:聚类分析、关系规则、维度缩减。它是监督式学习和强化学习等策略之外的一种选择。 一个常见的无监督学习是数据聚类。在人工神经网络中,生成对抗网络、自组织映射和适应性共振理论则是最常用的非监督式学习。聚类:聚类是一种无监督学习。聚类是把相似的对象通过静...

2020-01-18 21:02:05 3357

转载 特征工程

本文中使用sklearn中的IRIS(鸢尾花)数据集来对特征处理功能进行说明。IRIS数据集由Fisher在1936年整理,包含4个特征(Sepal.Length(花萼长度)、Sepal.Width(花萼宽度)、Petal.Length(花瓣长度)、Petal.Width(花瓣宽度)),特征值都为正浮点数,单位为厘米。目标值为鸢尾花的分类(Iris Setosa(山鸢尾)、Iris Versico...

2020-01-11 16:21:12 210

原创 回归模型构建实战——赛题分析

本章节通过2019年未来杯高校AI挑战赛的竞赛进行完整的数据建模,其中包括了赛题分析、数据清洗、特种工程、模型选择、模型融合及结果整理6大过程。认识数据(赛题介绍)在构建模型前或者在数据分析前需要对数据有个清楚的认识,无论是对于数据竞赛还是企业项目,对于数据的认识往往是第一位的,这直接影响到最终的结果。本文是利用一个竞赛向大家进行介绍的,故根据比赛背景介绍如何对数据进行认识。了解比赛的背景、知...

2020-01-07 16:55:27 956

原创 几句话让你明白什么是Stacking模型

模型融合作为kaggle等比赛的提分方法,你不知道可就落伍了,对于网上的大部分讲解个人看法是把一个简单的问题说的复杂了,反而不好理解,所以本文将通过简短的几句话讲述一下Stacking原理,文章最后附上kaggle对Stacking的一个案例,这样你就会完全掌握了,好的,下面开始Staching原理这里假设你的训练集有10000条,测试集有2500条,并且基学习器有10个(这个是你自己设定的)...

2019-08-02 16:34:27 1397

转载 逻辑回归

传送门

2019-08-02 11:10:05 592

空空如也

空空如也

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

TA关注的人

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