Giter VIP home page Giter VIP logo

hands-on-data-analysis-and-mining-with-python's Introduction

Hands-on-Data-Analysis-and-Mining-with-Python

数据挖掘的基本任务包括利用分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。

一般步骤:

数据取样

数据探索——EDA

  • 通过检验数据集的数据质量、绘制图表、计算某些特征量等手段,对样本数据集的结构和规律进行分析的过程就是数据探索。数据探索有助于选择合适的数据预处理和建模方法,甚至可以完成一些通常由数据挖掘解决的问题
    • 数据质量分析
      • 缺失值(NaN或者特殊的字符)、异常值、不一致的值
    • 数据特征分析
      • 分布分析:
        • 定量数据——对数据分桶,再绘制条形图,或者不分桶直接柱状图,相关性(特征之间及特征与因变量之间),数字特征分布可视化(log化变成正态分布再去标准化)
        • 定性数据——饼状图、条形图, 特征分布:df.value_counts()和df.unique()/df.nunique(), 继而查看类别是否平衡
        • 预测值的分布
      • 对比分析
      • 统计量分析(定量数据): df/series.sum(), cumsum(), mean(), var(), corr(), describe()
      • 周期性分析:随着时间的变化而呈现出某种周期变化趋势
      • 相关性分析
        • 特征与特征之间的关系
        • 特征与变量之间的关系
    • 统计绘图函数
      • plot(), pie(), hist()直方图(分布或series.plot.density()), bar()柱状图, box()箱线图

数据预处理

  • 数据预处理的主要内容包括数据清洗、数据集成、数据变换和数据归约: Image text
    • 数据清洗
      • 缺失值(插补):属性均值/中位数/固定值(df.fillna(), df.replace()), 回归插值,拉格朗日插值(from scipy.interpolate import lagrange)或者删除(df.dropna())
      • 异常值:平均修正,视为缺失值,删除或者不处理(test集不能删), 有时异常值代表了一些含义,不能随便删, 二分类问题中如果异常值和正常值的分布与label的分类大致相同则不能删
    • 数据集成
    • 数据变换:
      • 平方、开方、取对数
      • 标准化: 对于基于距离的挖掘算法很重要
        • min-max: (x - min) / max - min
        • (x -μ) / σ
      • 对类别模型
        • 对纯分类特征,做One-hot Encoder: pd.get_dummies() (树模型无须此步骤,反而需要对数值类别分桶)
      • 连续属性离散化: pd.cut()
      • 特征构造:利用已有的属性集构造出新的属性
      • 特征筛选:
        • 过滤式:移除低方差的特征;低相关系数特征(pearson和卡方检测)
        • 包裹式:从初始特征集合中不断的选择特征子集,训练学习器,根据学习器的性能来对子集进行评价,直到选择出最佳的子集
        • 嵌入式:嵌入式特征选择在学习器训练过程中自动地进行特征选择——L1和L2正则化或者树模型(大部分情况下都是用嵌入式做特征筛选)
    • 数据归约
      • 特征归约:合并特征(PCA),或删除相关性低的特征
      • 数值归约:直方图分桶,聚类, 线性回归
    • 预处理主要函数:isnull()/notnull(), scipy.interpolate(), sklearn.decomposition PCA()

挖掘建模

模型融合

  • 简单加权融合:
    • 回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean)
    • 分类:投票(Voting)
    • 综合:排序融合(Rank averaging),log融合 Image text
  • Bagging
  • Boosting
  • Stacking

hands-on-data-analysis-and-mining-with-python's People

Contributors

ziqiuzhou avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.