刚好在做数据挖掘的时候对如何使用分位数处理outliers的问题有所研究,顺便也重新看了一下分位数的含义,所以来做一次比较通俗易懂的解释。(好久远的问题

分位数定义:

对一个有着连续分布函数的样本集X,分位数是将一个概率分布切分为有着相同概率的连续区间的切分点。

用数学公式表达的话:

在我们中学就有过中位数,其实中位数就是一个二分位数,取中位数左边区间的值的概率等于取其右边区间的值的概率。另外在大学的概率论课程中,另一个比较常见的是四分位数,也就是25%,50%,75%这三个切分点。

这里不谈如何求分位数,而是着重于理解其意义。

分位数意义:

表示了在这个样本集中从小至大排列之后小于某值的样本子集占总样本集的比例

那么这个对于我们平常有什么用呢? 就拿我最近在做的数据挖掘的例子来说:

我在分析一个变量时,我会先看看这个变量的分布是不是正常的?有没有outliers?它的总体分布是不是类似于一个正态分布?因为这些特性都需要我们在后面的数据清洗工程中进行对应的修改,比如将outliers的值变得尽量正常以方便模型拟合;如果数据分布类似于高斯分布(正态分布),那么就可以使用LR对其进行拟合。

在初次的处理中,我发现如下情况:

我们可以发现,在这个变量的分布中是有几个比较显眼的outliers的,那么为了使得我们可以更好地捕捉到它们,而不是使用简单粗暴的设置一个较大的值将大于该值的样本删去或者修改。我们可以将它们从小至大进行排列后再观察outliers在总体数据集中的分布位置。如下:

我们可以发现,偏离正常分布的outliers大致上处于数据的前0.5-1.0%与前99.5-100%里面。那么我们使用分位数来修改:

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

import seaborn as sns

train_df = pd.read_csv(r'C:\Users\msi\Desktop\Zillow\train_2016_v2.csv',parse_dates = ["transactiondate"])

#对于不规范的日期,在read_csv之后用to_datetime()来转换

plt.figure(figsize=(15,10))

plt.scatter(train_df.index,np.sort(train_df['logerror'].values))

plt.xlabel('index',fontsize=10)

plt.ylabel('logerror',fontsize = 10)

plt.title('Logerror_Distribution',fontsize = 20)

#上面有几个outliers,应该修改

ulimit = np.percentile(train_df.logerror.values,99)

llimit = np.percentile(train_df.logerror.values,1)

train_df.loc[train_df['logerror'] > ulimit,'logerror'] = ulimit

train_df.loc[train_df['logerror'] < llimit,'logerror'] = llimit

我采用了99与1这两个分位数来作为鉴定outliers分布的界限从而进行异常值的修正。这样子的修正可以以更好的准确率来得到我们理想的数据集。

因此我们可以得出分位数对我们最大的意义:可以利用概率分布来为我们确定当数据有序分布后处于某个特殊位置的数值,再利用其为我们达到选择,筛选,修正等目标。

因为我并不是专业的数学系的学生,所以在某些表述上可能有错误,希望大家可以指出,非常感谢。希望能帮助到题主。

mysql 分位数 知乎_分位数的意义是什么?相关推荐

  1. mysql sharding 知乎_分库分表系列(1)-shardingsphere核心概念

    欢迎关注公众号: 戏说码农职场 咱们不闲扯, 就直接入正题, 这次总结说下sharding-jdbc 分库分表的工具.整体架构 Apache ShardingSphere 是一套开源的分布式数据库中间 ...

  2. mysql 游戏 知乎_入行游戏测试之Navicat For MySQL

    名词解释: 何为Navicat For MySQL? 简而言之,这就是一款连接数据库(mysql)的可视化工具,意思就是可以避免直接用cmd这种小黑窗的模式,就算不懂代码,也可以根据直觉化图形用户界面 ...

  3. mysql 安装 知乎_知乎问答3-MySQL安装详解

    MySQL安装详解 步骤1:选择安装类型 有3种安装类型:Typical(典型安装).Complete(完全安装)和Custom(定制安装). Typical(典型安装)安装只安装MySQL服务器.m ...

  4. mysql 书籍 知乎_知乎面试官:为什么不建议在 MySQL 中使用 UTF-8?

    INSERTINTO`csjdemo`. `student`( `ID`, `NAME`, `SEX`, `AGE`, `CLASS`, `GRADE`, `HOBBY`) VALUES( '20', ...

  5. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)

    站在巨人的肩上 Standing On Shoulders Of Giants 部分转自:https://www.jianshu.com/p/294502893128 https://blog.csd ...

  6. 读mysql必知必会有感_读《MySql必知必会》笔记

    MySql必知必会 2017-12-21 意义:记录个人不注意的,或不明确的,或不知道的细节方法技巧,此书250页 登陆: mysql -u root-p -h myserver -P 9999 SH ...

  7. mysql必知必会_《MySQL必知必会》学习小结

    关于SQL,之前通过sqlzoo的题目,完成了入门,也仅仅是入门而已. 最近都在忙着投简历和找新的数据分析项目做(为了练python和面试的时候有的聊),所以SQL放了一段时间没练.目前的工作用不到, ...

  8. mysql正则表达式关键字_《MySQL必知必会》正则表达式

    <MySQL必知必会>正则表达式 正则表达式 1.1.关键字 REGEXP 正则表达式的使用需要用到关键字 REGEXP . select prod_name from products ...

  9. python 离群值 q1 q3_设第一分位数是Q1,第二分位数是Q2,第三分位数是Q3,那么四分位差(又称内距)则用 _________表示。_学小易找答案...

    [单选题]下列关于元组(tuple)的说法错误的是() [判断题]同一笔经济业务,现金流的方向依分析所处的角度不同而不同. [单选题]以下是命题的语句是_____________. [填空题]网卡的主 ...

最新文章

  1. 第十六届全国大学生智能车竞赛全部比赛胜利结束了
  2. 华为融合电信云解决方案包括_运营商这“一朵云”怎么建?使能者华为的解决之道...
  3. JS制作日历小事件和数码时钟--JavaScript实例集锦(初学)
  4. LeetCode 652. 寻找重复的子树(DFS)
  5. python-MYSQL(包括ORM)交互
  6. unity3d-ngui UIScrollView 滚动方向与滚轮相反
  7. RAC11g使用数据泵导入导出报ORA-6512,ORA-25306,ORA-39079错
  8. 数组越界也可以这么巧~~~
  9. python运维都做些什么_python运维工程师主要干什么
  10. 前后端python简单模拟api接口返回json,以及采集数据
  11. 新趋势下的云计算安全行业前沿认证|CCSK
  12. Word 无法创建工作文件 请检查临时环境变量 解决方法
  13. 英语四六级选择题自动判卷算法
  14. 把int型转成如66ccff这样的颜色16进制颜色代码
  15. ugui 转轮_unity3D的FingerGestures小工具
  16. flume笔记(四) Channal
  17. 正睿20秋季普转提day3
  18. 免费翻译英文文献自动生成PDF双语文档小技巧
  19. c语言 (3×3)矩阵转置
  20. hdoj-2036题解-向量积法求任意多边形面积

热门文章

  1. 在麒麟v10系统上面安装达梦数据库8
  2. 苏州职业大学计算机考试成绩查询系统,苏州工业园区职业技术学院教务管理系统登录入口、成绩查询网上选课查分...
  3. Gradle学习之Android-DSL AppExtension篇
  4. Spark动态加载外部资源文件
  5. 2020校招前端面经
  6. 运动图像目标检测与跟踪简述
  7. 运动目标检测--三种方法比较
  8. html z-index不显示,CSS3关于z-index不生效问题的解决
  9. java ssh免密登录_SSH免密登录(单信)
  10. TCP 的 NACK 与 SACK