当前位置: 首页 > news >正文

可信网站认证购买如何建立一个自己的网站

可信网站认证购买,如何建立一个自己的网站,做网站 怎么连到数据库,精准客户运营推广本教程的知识点为:机器学习(常用科学计算库的使用)基础定位 机器学习概述 机器学习概述 1.5 机器学习算法分类 1 监督学习 机器学习概述 1.7 Azure机器学习模型搭建实验 Azure平台简介 Matplotlib 3.2 基础绘图功能 — 以折线图为例 1 完善原…

本教程的知识点为:机器学习(常用科学计算库的使用)基础定位 机器学习概述 机器学习概述 1.5 机器学习算法分类 1 监督学习 机器学习概述 1.7 Azure机器学习模型搭建实验 Azure平台简介 Matplotlib 3.2 基础绘图功能 — 以折线图为例 1 完善原始折线图 — 给图形添加辅助功能 Matplotlib 3.3 常见图形绘制 1 常见图形种类及意义 Numpy 4.2 N维数组-ndarray 1 ndarray的属性 Numpy 4.4 ndarray运算 问题 Pandas 5.1Pandas介绍 1 Pandas介绍 Pandas 5.3 基本数据操作 1 索引操作 Pandas 5.6 文件读取与存储 1 CSV Pandas 5.8 高级处理-数据离散化 1 为什么要离散化 Pandas 5.12 案例 1 需求

完整笔记资料代码:https://gitee.com/yinuo112/AI/tree/master/机器学习/嘿马机器学习(科学计算库)/note.md

感兴趣的小伙伴可以自取哦~


全套教程部分目录:


部分文件图片:

Pandas

学习目标

  • 了解Numpy与Pandas的不同
  • 说明Pandas的Series与Dataframe两种结构的区别
  • 了解Pandas的MultiIndex与panel结构
  • 应用Pandas实现基本数据操作
  • 应用Pandas实现数据的合并
  • 应用crosstab和pivot_table实现交叉表与透视表
  • 应用groupby和聚合函数实现数据的分组与聚合
  • 了解Pandas的plot画图功能
  • 应用Pandas实现数据的读取和存储

5.8 高级处理-数据离散化

学习目标

  • 目标

  • 应用cut、qcut实现数据的区间分组

  • 应用get_dummies实现数据的one-hot编码

1 为什么要离散化

连续属性离散化的目的是为了简化数据结构,数据离散化技术可以用来减少给定连续属性值的个数。离散化方法经常作为数据挖掘的工具。

2 什么是数据的离散化

连续属性的离散化就是在连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数 值代表落在每个子区间中的属性值。

离散化有很多种方法,这使用一种最简单的方式去操作

  • 原始人的身高数据:165,174,160,180,159,163,192,184
  • 假设按照身高分几个区间段:150~165, 165~180,180~195

这样我们将数据分到了三个区间段,我可以对应的标记为矮、中、高三个类别,最终要处理成一个"哑变量"矩阵

3 股票的涨跌幅离散化

我们对股票每日的"p_change"进行离散化

哑变量矩阵

3.1 读取股票的数据

先读取股票的数据,筛选出p_change数据

data = pd.read_csv("./data/stock_day.csv")
p_change= data['p_change']

3.2 将股票涨跌幅数据进行分组

股票涨跌幅分组

使用的工具:

  • pd.qcut(data, q):

  • 对数据进行分组将数据分组,一般会与value_counts搭配使用,统计每组的个数

  • series.value_counts():统计分组次数

# 自行分组qcut = pd.qcut(p_change, 10)# 计算分到每个组数据个数qcut.value_counts()

自定义区间分组:

  • pd.cut(data, bins)
# 自己指定分组区间bins = [-100, -7, -5, -3, 0, 3, 5, 7, 100]
p_counts = pd.cut(p_change, bins)

3.3 股票涨跌幅分组数据变成one-hot编码

  • 什么是one-hot编码

把每个类别生成一个布尔列,这些列中只有一列可以为这个样本取值为1.其又被称为独热编码。

把下图中左边的表格转化为使用右边形式进行表示:

image-20190316224151504

  • pandas.get_dummies(data, prefix=None)

  • data:array-like, Series, or DataFrame

  • prefix:分组名字

# 得出one-hot编码矩阵dummies = pd.get_dummies(p_counts, prefix="rise")

哑变量矩阵

4 小结

  • 数据离散化【知道】

  • 可以用来减少给定连续属性值的个数

  • 在连续属性的值域上,将值域划分为若干个离散的区间,最后用不同的符号或整数值代表落在每个子区间中的属性值。

  • qcut、cut实现数据分组【知道】

  • qcut:大致分为相同的几组

  • cut:自定义分组区间

  • get_dummies实现哑变量矩阵【知道】

5.9 高级处理-合并

学习目标

  • 目标

  • 应用pd.concat实现数据的合并

  • 应用pd.merge实现数据的合并

如果你的数据由多张表组成,那么有时候需要将不同的内容合并在一起分析

1 pd.concat实现数据合并

  • pd.concat([data1, data2], axis=1)

  • 按照行或列进行合并,axis=0为列索引,axis=1为行索引

比如我们将刚才处理好的one-hot编码与原数据合并

股票哑变量合并

# 按照行索引进行pd.concat([data, dummies], axis=1)

2 pd.merge

  • pd.merge(left, right, how='inner', on=None)

  • 可以指定按照两组数据的共同键值对合并或者左右各自

  • left: DataFrame
  • right: 另一个DataFrame
  • on: 指定的共同键
  • how:按照什么方式连接
Merge methodSQL Join NameDescription
leftLEFT OUTER JOINUse keys from left frame only
rightRIGHT OUTER JOINUse keys from right frame only
outerFULL OUTER JOINUse union of keys from both frames
innerINNER JOINUse intersection of keys from both frames

2.1 pd.merge合并

left = pd.DataFrame({'key1': ['K0', 'K0', 'K1', 'K2'],'key2': ['K0', 'K1', 'K0', 'K1'],'A': ['A0', 'A1', 'A2', 'A3'],'B': ['B0', 'B1', 'B2', 'B3']})right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'],'key2': ['K0', 'K0', 'K0', 'K0'],'C': ['C0', 'C1', 'C2', 'C3'],'D': ['D0', 'D1', 'D2', 'D3']})# 默认内连接result = pd.merge(left, right, on=['key1', 'key2'])

内连接

  • 左连接
result = pd.merge(left, right, how='left', on=['key1', 'key2'])

左连接

  • 右连接
result = pd.merge(left, right, how='right', on=['key1', 'key2'])

右连接

  • 外链接
result = pd.merge(left, right, how='outer', on=['key1', 'key2'])

外链接

3 总结

  • pd.concat([数据1, 数据2], axis=**)【知道】
  • pd.merge(left, right, how=, on=)【知道】

  • how -- 以何种方式连接

  • on -- 连接的键的依据是哪几个

5.10 高级处理-交叉表与透视表

学习目标

  • 目标

  • 应用crosstab和pivot_table实现交叉表与透视表


1 交叉表与透视表什么作用

探究股票的涨跌与星期几有关?

以下图当中表示,week代表星期几,1,0代表这一天股票的涨跌幅是好还是坏,里面的数据代表比例

可以理解为所有时间为星期一等等的数据当中涨跌幅好坏的比例

交叉表透视表作用

crosstab

  • 交叉表:交叉表用于计算一列数据对于另外一列数据的分组个数(用于统计分组频率的特殊透视表)
  • pd.crosstab(value1, value2)

  • 透视表:透视表是将原有的DataFrame的列分别作为行索引和列索引,然后对指定的列应用聚集函数

  • data.pivot_table()

    • DataFrame.pivot_table([], index=[])

2 案例分析

2.1 数据准备

  • 准备两列数据,星期数据以及涨跌幅是好是坏数据
  • 进行交叉表计算
# 寻找星期几跟股票张得的关系# 1、先把对应的日期找到星期几date = pd.to_datetime(data.index).weekday
data['week'] = date# 2、假如把p_change按照大小去分个类0为界限data['posi_neg'] = np.where(data['p_change'] > 0, 1, 0)# 通过交叉表找寻两列数据的关系count = pd.crosstab(data['week'], data['posi_neg'])

但是我们看到count只是每个星期日子的好坏天数,并没有得到比例,该怎么去做?

  • 对于每个星期一等的总天数求和,运用除法运算求出比例
# 算数运算,先求和sum = count.sum(axis=1).astype(np.float32)# 进行相除操作,得出比例pro = count.div(sum, axis=0)

2.2 查看效果

使用plot画出这个比例,使用stacked的柱状图

pro.plot(kind='bar', stacked=True)
plt.show()

2.3 使用pivot_table(透视表)实现

使用透视表,刚才的过程更加简单

# 通过透视表,将整个过程变成更简单一些data.pivot_table(['posi_neg'], index='week')

3 小结

  • 交叉表与透视表的作用【知道】

  • 交叉表:计算一列数据对于另外一列数据的分组个数

  • 透视表:指定某一列对另一列的关系

5.11 高级处理-分组与聚合

学习目标

  • 目标

  • 应用groupby和聚合函数实现数据的分组与聚合


分组与聚合通常是分析数据的一种方式,通常与一些统计函数一起使用,查看数据的分组情况

想一想其实刚才的交叉表与透视表也有分组的功能,所以算是分组的一种形式,只不过他们主要是计算次数或者计算比例!!看其中的效果:

分组效果

1 什么分组与聚合

分组聚合原理

2 分组API

  • DataFrame.groupby(key, as_index=False)

  • key:分组的列数据,可以多个

  • 案例:不同颜色的不同笔的价格数据

col =pd.DataFrame({'color': ['white','red','green','red','green'], 'object': ['pen','pencil','pencil','ashtray','pen'],'price1':[5.56,4.20,1.30,0.56,2.75],'price2':[4.75,4.12,1.60,0.75,3.15]})color    object    price1    price2
0    white    pen    5.56    4.75
1    red    pencil    4.20    4.12
2    green    pencil    1.30    1.60
3    red    ashtray    0.56    0.75
4    green    pen    2.75    3.15
  • 进行分组,对颜色分组,price进行聚合
# 分组,求平均值col.groupby(['color'])['price1'].mean()
col['price1'].groupby(col['color']).mean()color
green    2.025
red      2.380
white    5.560
Name: price1, dtype: float64# 分组,数据的结构不变col.groupby(['color'], as_index=False)['price1'].mean()color    price1
0    green    2.025
1    red    2.380
2    white    5.560

3 星巴克零售店铺数据

现在我们有一组关于全球星巴克店铺的统计数据,如果我想知道美国的星巴克数量和中国的哪个多,或者我想知道中国每个省份星巴克的数量的情况,那么应该怎么办?

数据来源:[

星巴克数据

3.1 数据获取

从文件中读取星巴克店铺数据

# 导入星巴克店的数据starbucks = pd.read_csv("./data/starbucks/directory.csv")

3.2 进行分组聚合

# 按照国家分组,求出每个国家的星巴克零售店数量count = starbucks.groupby(['Country']).count()

画图显示结果

count['Brand'].plot(kind='bar', figsize=(20, 8))
plt.show()

星巴克数量画图

假设我们加入省市一起进行分组

# 设置多个索引,set_index()starbucks.groupby(['Country', 'State/Province']).count()

国家省市分组结果

仔细观察这个结构,与我们前面讲的哪个结构类似??

与前面的MultiIndex结构类似

4 小结

  • groupby进行数据的分组【知道】

  • pandas中,抛开聚合谈分组,无意义

http://www.mmbaike.com/news/39836.html

相关文章:

  • 成都开发公司兰州seo关键词优化
  • 什么公司网站建设比较好观看b站的广告网站平台
  • 114网站制作抖音热门搜索关键词
  • 手机网站建设新闻推广产品
  • 信阳做网站推广信阳网站建设深圳sem竞价托管
  • php程序员做企业网站信息流广告投放工作内容
  • 郑州网站建设的公司百度seo优化按年收费
  • seo快速提高网站转化率南京seo整站优化技术
  • 怎么下载网站模板谷歌搜图
  • 网站开发证商业网站
  • wordpress 链接 css优化设计五年级上册语文答案
  • 胶州城阳网站建设怎么找平台推广自己的产品
  • 湛江网站建设皆选小罗24专业河北网站优化公司
  • 简约大气网站设计欣赏肇庆seo外包公司
  • 网站建设成本分析查域名
  • 牛商网做的网站有哪些常州免费网站建站模板
  • 做原创短视频网站网站空间
  • 安庆网站优化湖南百度推广公司
  • 橙 网站画质优化app下载
  • 宝塔配置wordpress主题搜索引擎优化推广
  • 企业网站制作素材网站手机版排名seo
  • wordpress 购物车太原网站建设优化
  • 坪山模板网站建设公司百度文库登录入口
  • 广州制作网站公司电话线上线下一体化营销
  • 电商网站开发语言seo关键词优化价格
  • 推广的十种方式北京seo排名方法
  • 网站建设否定关键词百度客服人工电话95188
  • 网站改版后不收录公众号推广渠道
  • 正规的佛山网站建设价格网页制作软件
  • 政府门户网站的建设管理做网络销售如何找客户