数据科学

前言

这是按照我为自己定的学习计划与职业发展方向进行的总结学习,以期理清思路,最大效率地把所学知识用起来,同时随着我经验与技能的增加,这将是一份不断更新的概念,这一课是《数据科学》,

什么是数据科学家?

数据科学家:了解数学与统计学知识,具备编程技能,可以通过代码建立统计模型,收集数据,并将数据转化为全面的分析,编制信息图,形成报告,并传递给其他人。简单说,数据科学家的价值流程是:收集——》存储——》分析——》展示——》预测、改进。

数据科学家需要了解要提出的问题,能够解释数据和了解数据结构。现在都是团队工作,一个人不一定面面俱到,如果具有很强的黑客技能(擅长收集数据),或者精通统计学(擅长分析数据),也可以成为数据科学家团队的一份子,当然,全栈最好。

现实应用:

--推荐电影,根据用户以前观看的内容推荐影片

--社交网络推荐,推荐相关联的人,如,推荐有共同好友的人认识

--分析解决交通拥堵

--生物科学领域,标注基因组与序列

--天文领域,储存、分析数据,预测行星运动

--医疗,分析电子病历,调动医疗设备,早做准备

--运动,收集球员动作和打球风格数据,分析比赛动态,改善教练决策

数据科学家最常用的工具:

--Numpy:支持多维数组与矩阵

--Pandas:存储数据,利于分析

Numpy:

--均值(Mean)                               numpy.mean()

--中位数(Median)          numpy.median()

--标准差(Stardard deviation)         numpy.std()

--矩阵乘法(Matrix Mutiplication)    numpy.dot()

Pandas:

--DataFrame函数       二维的表格型数据结构

--Series                  一维数组(处理相同数据结构)

--Index

--pandas.describe()  计算数值数据均值、中位数、标准差、最大、小值

矩阵乘法:当矩阵A列数等于矩阵B行数时,AB可以相乘 C = AB,C = numpy.dot(A,B)

1.C的行数等于A的列数, C列=B列

2.C的第m行第n列元素=A第m行与B第n列元素乘积之和,不满足交换律

二、数据来源与处理

数据来源

--文件

--数据库

--互联网

通用的数据格式:

CSV

XML

JSON

XML与JSON都可以嵌套数据

读取CSV数据,返回dataframe 数据

import Pandas

data = pandas.read_csv(path)

写CSV数据

dataW = data.to_csv(path)

关系型数据库

sql语句:

查询:SELECT *FROM _table_;

查20条:SELECT district, subdistrict FROM_table_ [LMT] 20;

SELECT *FROM _table_ WHERE district = __;

聚焦函数:AVG,COUNT,MAX,MIN,SUM

SELECT district,SUM(__) FROM _table_ GROUP BY district;

SELECT district,subdistrict, SUM(__) FROM _table_ GROUP BY district,subdistrict;

数据丢失原因:

1.偶然的系统错误

2.人为示提供数据

怎么处理?

1,部分删除

   1.1 成列删除?

   1.2 成队删除?

样本量较小时,用删除法,会危害数据的代表性

2. 插补

   2.1 在缺失值插补其他数据的均值

   2.2 画线性回归图

数据分析

正态分布

T检验

--单样本T检验

--双样本T检验

--P值

统计学侧重收集数据作出结论

机器学习侧重于做出预测

机器学习类型:

--监督式学习

--非监督式学习

数据————》》模型————》》预测

数据可视化:

有效的可视化组成元素

--视觉线索

位置、长度、角度、方向、形状、面积、体积、饱和度、颜色(精确度从大—》小排列)

--坐标系

--数据类型

--上下文内容

用python 绘图

*许多包

--Matplotlib   非常流行

--ggplot

*为什么选择ggplot?

--好识别

--图形化的语法

   --ggplot(data, aes(xvar, yvar)) + geom_point(color = 'red') + geom_line(color = 'red') + ggtitle('title') + xlab('x-label') +ylab('y-label')                                data = pandas.dataFrame

   --ggplot(hr_by_team_year,aes(x = 'yearID', y = 'HR',color = 'teamID')) + geom_point() + geom_line() + ggtitle('Title') + xlab('yearID') + ylab('HR')

数据类型:

--数值数据

   --离散数据

   --连续数据

--分类数据

   --代表特性

   --可以用数值表示,但不具备数学意义

   --有序数据,数值数据与分类数据的混合,一般都是从低到高排序

--时间序列数据

   --通过长时间重复测量而获得的观察数据的集合,

   --与数值数据一样,但多了连续的时间

图形化时间序列数据

 --散点绘制

    --位置

    --上下文

--线图

   --减小散点图的缺陷

   --强调趋势

   --聚焦时间变化,不会覆盖全部趋势

--黄土曲线

   --强调长期趋势

   --黄土(Loess):是加权回归

--多变量图形

  --怎么组合多变量?

     --大小

     --颜色/饱和度

Mapreduce

   --适用于大数据,数据量要大于1T以上

   --把整体数据,分为不同的小部分进行操作

原文地址:https://www.cnblogs.com/sjw1/p/6405130.html