快速开始
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
pyecharts中可以绘制的图有很多,这里先总体的了解一下使用风格,和调用的方式

Notebook中创建一个条形图

notion image
 

链式调用

链式调用在某些情况下可以让代码更加简洁。pyecharts中所有的方法都支持链式调用,比如以上条形图的代码可以改成:
配置项
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
 
notion image
 

AnimationOpts:Echarts 画图动画配置项

可以配置画图的动画,比如是否开启动画,动画持续时间,动画缓动效果等
 

InitOpts:初始化配置项

可以配置诸如图像宽度,高度,图表主题,背景颜色等:
条形图
type
status
date
slug
summary
tags
category
icon
password
Property
 

横向条形图

横向条形图只要调用reversal_axis()即可
notion image
 

堆叠条形图

堆叠条形图只要在添加y轴的函数add_yaxis上添加stack参数即可:
notion image
 
 
箱线图
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
notion image
 
 
 
notion image
 
散点图
type
status
date
slug
summary
tags
category
icon
password
Property
 
散点图用的是pyecharts.charts.Scatter来实现的

基本使用

notion image
 
 

多维散点图

notion image
地理图
type
status
date
slug
summary
tags
category
icon
password
Property
 

中国地图

notion image
 

中国局部地图

notion image
 

世界地图

notion image
Scikit-Learn
type
status
date
slug
summary
tags
category
icon
password
Property
 
作为专门面向机器学习的Python开源框架,Scikit-learn可以在一定范围内为开发者提供非常好的帮助。它内部实现了各种各样成熟的算法,容易安装和使用,样例丰富,而且教程和文档也非常详细。
另一方面,Scikit-learn也有缺点。例如它不支持深度学习和强化学习,这在今天已经是应用非常广泛的技术。此外,它也不支持图模型和序列预测,不支持Python之外的语言,不支持PyPy,也不支持GPU加速。
如果不考虑多层神经网络的相关应用,Scikit-learn的性能表现是非常不错的。究其原因,一方面是因为其内部算法的实现十分高效,另一方面或许可以归功于Cython编译器;通过CythonScikit-learn框架内部生成C语言代码的运行方式,Scikit-learn消除了大部分的性能瓶颈。
 
 
 
数据准备
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
 
以下算法可能对数值输入变量的规模和分布以及不相关和冗余变量的存在很敏感:
  • 线性回归(和扩展)
  • 逻辑回归
  • 线性判别分析
  • 高斯朴素贝叶斯
  • 神经网络
  • 支持向量机
  • k-最近邻
处理缺失数据
type
status
date
slug
summary
tags
category
icon
password
Property
 

Pandas处理缺失数据

notion image

滤除缺失数据

处理缺失数据的最简单策略是删除包含缺失值的记录,Pandas提供了dropna()用于删除缺少数据的列或行:
 
 
 
 
删除重复数据
type
status
date
slug
summary
tags
category
icon
password
Property
 
 
  • duplicated()返回布尔型Series表示每行是否为重复行
  • drop_duplicates()过滤重复行
默认判断全部列,可指定按某些列判断
 
 
 
异常值检测
type
status
date
slug
summary
tags
category
icon
password
Property
 
 

什么时候需要异常点检测?

常见的有三种情况:
  • 在做特征工程的时候需要对异常的数据做过滤,防止对归一化等处理的结果产生影响
  • 对没有标记输出的特征数据做筛选,找出异常的数据
  • 对有标记输出的特征数据做二分类时,由于某些类别的训练样本非常少,类别严重不平衡,此时也可以考虑用非监督的异常点检测算法来做
 
异常点检测的目的是找出数据集中和大多数数据不同的数据,常用的异常点检测算法一般分为三类:
  • 基于统计学的方法来处理异常数据
    • 基于聚类的方法来做异常点检测
      • 基于专门的异常点检测算法来做
        数值替换
        type
        status
        date
        slug
        summary
        tags
        category
        icon
        password
        Property
         
         
        replace根据值的内容进行替换