DataAnalysis-SOP
一、关于数据分析
a. 互联网最热职位:研发工程师、产品经理、人力资源、市场营销、运营、数据分析(供不应求)
b. 数据分析的步骤:明确目的/思路、数据收集、数据处理、数据分析、数据展现
c. 数据分析工具对比
i. Python||R||Matlab||Scala||Sas||Spss
ii. python做数据分析是因为库比较多
d. 什么是数据分析?:数据分析是一个检查Inspecting、清理Cleansing、转换Tranforming、和建模数据Modeling的过程,其目标是发现有用的信息,提出结论和支持决策。统计、计算、可视化和数据挖掘是数据分析师工作描述的各个方面。数据分析师,一般执行相同的功能,在一定程度上具有相同的资格。然而,特定的企业或行业可以塑造工作职责、技能、资格以及就业和晋升前景。
职位概述:数据分析师专业人员做什么?数据分析师获取、组装并帮助其他人解释和理解数据。要做到这一点,分析师必须培养分析、沟通、计算机、数学和统计方面等的技能。
具体的经济部门可以指导分析人员使用的数据类型。例如,医疗数据分析师的工作描述需要处理不同的信息,如实验室数据、保险索赔、处方记录、办公室或医院访问。在市场营销中,他们处理的是处理客户偏好、销售和统计数据分析中重要部分的客户。
数据分析师工作职责:
使用统计公式计算和分析数据。
验证数据的准确性、完整性和可靠性。
使用记录、报告和调查等资源编译统计信息。
将数据和其他信息输入计算机。
在研究或调查中采访参与者,跟踪或记录他们的回答。
收集或准备图表、图表、表格和其他对数据、调查和发现的描述。
寻找和识别新的数据收集源和方法。
获取客户数据收集需求
数据分析师工作基本技能:
分析能力。数据分析师的工作描述包括识别模式和基于数据呈现其他结论的能力。通过分析技能,数据分析师还可以确定数据、来源和物料的可靠性。
计算机技能。数据分析人员依靠数据库、文字处理器和其他计算机应用程序来计算数据、概率和其他统计数据,并准备显示数据。事实上,软件应用程序包括结构化查询语言(SQL)和其他数据库用户查询产品,以及面向分析或科学方法的查询产品。
数学能力。要分析和计算数据,分析人员必须具备数学技能,例如乘法、除法和使用其他数学操作。计算比率、分数、百分比和各种公式的能力可以帮助数据分析师准备有用的图表、报告和图表。
沟通技巧。倾听和理解参与者的回答有助于确保可靠的调查和结果。沟通还包括清晰而直接地向主管、团队成员以及第三方用户展示结果、结论和其他信息。
成为一名数据分析师
在数据分析师的工作描述中包含了数学、统计学和计算机方面的背景知识,这取决于企业或行业,潜在的数据分析师包括与行业相关的课程和获得资格的工作经验。
工作经验
数据分析师可以从需要使用电子表格、数据库和其他计算机应用程序的工作中获得经验。对于某些公司,数据分析师职位描述要求应聘者具有SQL服务器和其他数据库系统的经验。那些有数据挖掘经验的人也可以提高就业前景。
与教育和培训一样,企业可能更青睐具有特定行业经验的求职者。例如,财产保险公司的数据分析师可能曾为其他保险公司、抵押贷款公司、银行或保险机构工作。在学校环境中,申请人通常会带着以前的工作经历来学习或衡量学生的表现和教学方法。
数据分析师的潜在短缺,就业机会比比皆是。随着公司寻求提高市场份额,寻找客户或控制成本,对数据分析师的需求应该会增加,特别是在营销,销售和医疗保健方面。总而言之,为了帮助组织实现这些目标和其他目标,数据分析师必须确保获取它们的数据和方法可靠且清晰地传达。
二、工作环境准备
a. python2和python3的差异、2.7和3版本的选用
'''bytes和str的相互应用'''
ch_str='python的新特性'
#print(ch_str+'\n')
#print(type(ch_str))
b_str=ch_str.encode('utf-8')#字符型转化为字节型
#print(b_str)
#print(type(b_str))
ch_str=b_str.decode('utf-8')#字节性转化字符型
print(ch_str)
print(type(ch_str))
【有什么作用呢??】
b. Six库
c. 编码方式的差异:中文编码方式——UTF-8的选加
d. python环境
i. Anaconda:有许多的第三方库
1) Jupyter notebook:想办法把本地的文件开源到GitHub上
ii. IDE:没有最好的,只有适合自己的;全都需要自己配置
1) Eclipse+Pydev完全免费
2) Pycharm部分免费
设置配置python解释器有问题!===配置路径被隐藏的问题
调试:断点调试/交互式调试====不是很会用!!!
3) spyder完全免费,适合熟悉matlab的开发者
iii. Ipython:简单验证思路===交互式命令的使用
§ 在对像后面加一个'?'===显示对象的信息'??'===显示多个信息
Eg:fucktion_name??
ps:不要在后面加注释#否则会出错===我也不知道为啥
§ 魔术命令的使用%time %timeit(一条语句) %%time %%timeit(多条语句)
Eg:%timeit output>>>
26.9 ns ± 1.8 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
三、建模四个基本模型
分类:离散预测值;预先定义的
- 朴素贝叶斯
- 人工神经网络
回归:连续预测值
- Logistic回归
聚类:预先没有被定义===未被标记的。
- K-Means聚类
时序分析:
- ARIMA时序
四、Code_SOP
载入常用包
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
matplotlib.rcParams['font.sans-serif']=['SimHei']
matplotlib.rcParams['axes.unicode_minus']=False
获取并查看数据
data = './data/train.csv'
data_1 = pd.read_csv(data)
print ('基本信息有:\n')
print (data_1.info())
print ('数据集有%i行,%i列' %(data_1.shape[0], data_1.shape[1]))
print ('数据预览:')
print (data_1.head(10))
……