pychat

图表

  1. # 例子
  2. import pyecharts
  3. pyecharts.globals._WarningControl.ShowWarning = False
  4. import warnings
  5. warnings.filterwarnings('ignore')
  6. #隐藏警告
  7. import numpy as np
  8. import pandas as pd
  9. import json
  10. from pandas.io.json import json_normalize
  11. import pyecharts as pe
  12. from collections import Counter
  13. x=list(range(1,8))
  14. #x=[2,1,4,5,7,8,10]
  15. y=[114, 55, 27, 101, 125, 27, 105]
  16. from pyecharts import options as opts
  17. from pyecharts.charts import Bar
  18. bar = Bar()
  19. bar.add_xaxis(list(x))
  20. bar.add_yaxis("name", y)
  21. bar.render_notebook()#用来在notebook中展示图形,使用render则会直接保存为html文件

  1. #图表三种写法
  2. from pyecharts.faker import Faker#这是用来产生伪数据的包
  3. #方式1
  4. c = (
  5. Bar(init_opts=opts.InitOpts(width="620px", height="300px"))
  6. .add_xaxis(Faker.choose())
  7. .add_yaxis("商家A", Faker.values())
  8. .add_yaxis("商家B", Faker.values())
  9. .set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
  10. )
  11. c.render_notebook()
  12. #方式2
  13. b=Bar(init_opts=opts.InitOpts(width="620px", height="300px"))
  14. b.add_xaxis(Faker.choose())
  15. b.add_yaxis("商家A", Faker.values())
  16. b.add_yaxis("商家B", Faker.values())
  17. b.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副标题"))
  18. b.render_notebook()
  19. #方式3 链式调用
  20. Bar(init_opts=opts.InitOpts(width="620px", height="300px")).add_xaxis(Faker.choose()).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values()).render_notebook()

图片.png

  1. '''
  2. 标记点的设定
  3. class MarkPointOpts(
  4. # 标记点数据,参考 `series_options.MarkPointItem`
  5. data: Sequence[Union[MarkPointItem, dict]] = None,
  6. class MarkPointItem(
  7. # 标注名称。
  8. name: Optional[str] = None,
  9. # 特殊的标注类型,用于标注最大值最小值等。可选:
  10. # 'min' 最大值。
  11. # 'max' 最大值。
  12. # 'average' 平均值。
  13. type_: Optional[str] = None,
  14. '''
  15. bar = Bar(init_opts=opts.InitOpts(width="620px", height="300px"))
  16. bar.add_xaxis(list(x))
  17. bar.add_yaxis("name", y)
  18. bar.set_series_opts(
  19. label_opts=opts.LabelOpts(is_show=False),
  20. markpoint_opts=opts.MarkPointOpts(
  21. data=[
  22. opts.MarkPointItem(type_="max", name="最大值"),
  23. opts.MarkPointItem(type_="min", name="最小值"),
  24. opts.MarkPointItem(type_="average", name="平均值"),
  25. ]
  26. ))#去掉bar的数字标识
  27. bar.render_notebook()

图片.png

  1. from pyecharts.globals import ThemeType#有些配置需要在图形函数中配置,比如主题的设定
  2. #LIGHT DARK CHALK ESSOS PURPLE_PASSION
  3. bar = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT,width="620px", height="300px"))
  4. bar.add_xaxis(x)
  5. bar.add_yaxis("name", y)
  6. bar.render_notebook()

图片.png

  1. pyecharts的数据类型以及新的数据导入逻辑
  2. https://pyecharts.org/#/zh-cn/data_format
  3. 由于pyecharts背后封装的js库,会涉及到数据类型转化。它暂时要求输入数据必须是python的基础数据类型,
  4. 比如字符串,列表,字典,而不能是序列这样的数据类型。因此序列输入量需要事先被转化为list等基础数据类型才能被pyecharts支持

python归一化

归一化目的

1)归一化后加快了梯度下降求最优解的速度;
2)归一化有可能提高精度(如KNN)
注:没有一种数据标准化的方法,放在每一个问题,放在每一个模型,都能提高算法精度和加速算法的收敛速度

归一化的方法

1、线性函数归一化(Min-Max scaling)
线性函数将原始数据线性化的方法转换到[0 1]的范围,归一化公式如下:

该方法实现对原始数据的等比例缩放,其中Xnorm为归一化后的数据,X为原始数据,Xmax、Xmin分别为原始数据集的最大值和最小值。

2、0均值标准化(Z-score standardization)
0均值归一化方法将原始数据集归一化为均值为0、方差1的数据集,归一化公式如下:

其中,μ、σ分别为原始数据集的均值和方法。该种归一化方式要求原始数据的分布可以近似为高斯分布,否则归一化的效果会变得很糟糕。

应用场景

1、在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
2、在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。

应用场景说明

1)概率模型不需要归一化,因为这种模型不关心变量的取值,而是关心变量的分布和变量之间的条件概率;
2)SVM、线性回归之类的最优化问题需要归一化,是否归一化主要在于是否关心变量取值;
3)神经网络需要标准化处理,一般变量的取值在-1到1之间,这样做是为了弱化某些变量的值较大而对模型产生影响。一般神经网络中的隐藏层采用tanh激活函数比sigmod激活函数要好些,因为tanh双曲正切函数的取值[-1,1]之间,均值为0.
4)在K近邻算法中,如果不对解释变量进行标准化,那么具有小数量级的解释变量的影响就会微乎其微.

参考:https://blog.csdn.net/zenghaitao0128/article/details/78361038