




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python数据分析与挖掘实战-基础篇总结(⼀)1、数据挖掘基础2、python数据分析简。。。⽬录1、数据挖掘基础1.1数据挖掘的基本任务:1.2数据挖掘建模过程:1.3常⽤的数据挖掘建模⼯具2、python数据分析简介2.1python环境搭建2.2python数据分析第三⽅库2.2.1Numpy基本操作2.2.2Pandas简单例⼦3、数据探索3.1数据质量分析3.1.1缺失值分析3.1.2异常值分析3.1.3⼀致性分析3.2数据特征分析3.2.1分布分析3.2.2对⽐分析3.2.3统计量分析3.2.4周期性分析3.2.5贡献度分析3.2.6相关性分析3.3Python主要数据探索函数3.3.1基本统计特征函数3.3.2拓展统计特征函数3.3.3统计作图函数1、数据挖掘基础1.1数据挖掘的基本任务:数据挖掘的基本任务包括利⽤分类与预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等⽅法,帮助企业提取数据中蕴含的商业价值,提⾼企业竞争⼒。1.2数据挖掘建模过程:1、⽬标定义任务理解指标确定2、数据采集建模抽样质量把控实时采集3、数据整理数据探索数据清洗数据变换-预处理4、构建模型模式发现构建模型验证模型5、模型评价设定模型评价标准多模型对⽐模型优化6、模型发布模型部署模型重构1.3常⽤的数据挖掘建模⼯具SASEnterpriseMinerIBMSPSSModelerSQLServerPythonWEKAKNIMERapidMinerTipDM2、python数据分析简介2.1python环境搭建略·········2.2python数据分析第三⽅库库|简介—|---Numpy|提供数组⽀持,以及相应的⾼效的处理函数Pandas|强⼤,灵活的数据分析和探索⼯具Matplotlib|强⼤的数据可视化⼯具、作图库Scipy|提供矩阵⽀持,以及矩阵相关的数值计算模块StatsModels|统计建模和计量经济学,包括描述统计、统计建模估计和推断Scikit-Learn|⽀持回归、分类、聚类等强⼤的机器学习库Keras|深度学习库,⽤于建⽴神经⽹络以及深度学习模型Gensim|⽤来做⽂本主题模型的库,⽂本挖掘可能⽤到涉及图⽚处理可以⽤Pillow,涉及视频处理可以⽤OpenCV,设计⾼精度运算可以⽤GMPY2等,使⽤pipinstall安装即可2.2.1Numpy基本操作
#-*-coding:utf-8-*-importnumpyasnp#创建数组a=np.array([2,0,1,5])print(a)print(a[:3])#取前三个,切⽚print(a.min())#最⼩值a.sort()#升序排列print(a)b=np.array([[1,2,3],[4,5,6]])#创建⼆维数组print(b)print(b*b)#输出数组的平⽅[/code]###2.2.2Pandas简单例⼦```code#-*-coding:utf-8-*-importpandasaspds=pd.Series([1,2,3],index=['a','b','c'])#创建⼀个序列sd=pd.DataFrame([[1,2,3],[4,5,6]],columns=['a','b','c'])#创建⼀个表d2=pd.DataFrame(s)#也可以⽤已有的序列来创建表格print(d.head())#预览前5⾏数据print('=='*10)print(d.describe())#数据基本统计量#读取⽂件,注意⽂件的存储路径不能带有中⽂,否则读取可能出错。pd.read_excel('data.xls')#读取Excel⽂件,创建DataFrame。pd.read_csv('data.csv',encoding='utf-8')#读取⽂本格式的数据,⼀般⽤encoding指定编码。另外,pandas会频繁读取和写⼊Excel,所以需要安装xlrd(读取)和xlwt(写⼊)库,只需要pipinstall安装即可。如果没有安装读取Excel会报错,安装命令:pipinstallxlrd和pipinstallxlwt2.2.3Matplotlib作图的基本代码#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotaspltdeftest1():x=np.linspace(0,10,1000)#作图的变量⾃变量y=np.sin(x)+1#因变量yz=np.cos(x**2)+1#因变量zplt.figure(figsize=(8,4))#设置图像⼤⼩plt.plot(x,y,label='$\sinx+1$',color='red',linewidth=2)#作图,设置标签、线条颜⾊、线条⼤⼩plt.plot(x,z,'b--',label='$\cosx^2+1$')#作图,设置标签、线条类型plt.xlabel('Time(s)')#x轴名称plt.ylabel('Volt')#y轴名称plt.title('ASimpleExample')#标题plt.ylim(0,2.2)#显⽰的y轴范围plt.legend()#显⽰图例plt.show()#显⽰作图结果deftest2():plt.rcParams['font.sans-serif']=['SimHei']#正常显⽰中⽂标签plt.rcParams['axes.unicode_minus']=False#保存图像是负号x=['1⽉','2⽉','3⽉','4⽉','5⽉','6⽉']y=[20,10,30,25,15,18]'-'显⽰为⽅块的问题y=[20,10,30,25,15,18]plt.bar(x,y,width=0.5,fc='r',tick_label=x)plt.title('某公司前半年销售额(百万)')plt.show()if__name__=='__main__':test1()test2()[/code]test1:test2:正常显⽰中⽂参考:[/qq_42506411/article/details/107414955](/qq_42506411/article/details/107414955)#3、数据探索##3.1数据质量分析数据质量分析时数据预处理的前提,也是数据挖掘分析结论有效性和准确性的基础。脏数据指不符合要求、以及不能直接进⾏相应分析的数据,包括如下内容:缺失值、异常值、不⼀致的值、重复数据及含有特殊符号(如#、¥、*)的数据。###3.1.1缺失值分析数据的缺失主要包括记录的缺失和某个字段信息的缺失。**1、缺失值产⽣的原因***信息⽆法获取*有些信息被遗漏*属性值不存在**2、缺失值的影响***数据挖掘建模将丢失⼤量有⽤信息*模型不确定性更显著*导致不可靠的输出**3、缺失值的分析**使⽤统计分析,得到含有缺失值的属性的个数,以及每个属性的未缺失值数、缺失数与缺失率。###3.1.2异常值分析异常值值样本中的个别值,其数值明显偏离其余的观测值。异常值也称为离群点,异常值的分析也称为离群点分析。*简单统计量分析*3σ原则*箱型图分析**pandas库使⽤describe()查看数据基本情况**```code#-*-coding:utf-8-*-#-*-coding:utf-8-*-importpandasaspdfile_path=r'data/catering_sale.xls'data=pd.read_excel(file_path,index_col=u'⽇期')#读取数据,指定⽇期为索引列print(len(data))#数据总数print('='*20)print(data.describe())[/code]运⾏结果如下:201====================销量count200.000000mean2755.214700std751.029772min22.00000025%2451.97500050%2655.85000075%3026.125000max9106.440000其中,count为⾮空值总数,因此缺失值记录为1条,mean平均值,std标准差,min最⼩值,max最⼤值,25%、50%、75%分别为1/4、1/2、3/4分位数**数据异常值检测代码:**```code#-*-coding:utf-8-*-importpandasaspdimportmatplotlib.pyplotaspltfile_path=r'data/catering_sale.xls'data=pd.read_excel(file_path,index_col=u'⽇期')#读取数据,指定⽇期为索引列#print(len(data))#print('='*20)#print(data.describe())plt.rcParams['font.sans-serif']=['SimHei']#正常显⽰中⽂plt.rcParams['axes.unicode_minus']=False#正常显⽰负号'-'plt.figure()#建⽴图像p=data.boxplot(return_type='dict')#画箱线图,直接使⽤DataFrame的⽅法x=p['fliers'][0].get_xdata()#fliers为异常值标签y=p['fliers'][0].get_ydata()y.sort()#升序排序#⽤annotate添加注释#其中有些相近的点,注释会出现重叠,难以看清,需要⼀些技巧来控制#以下参数都是经过调试的,需要具体问题具体调试foriinrange(len(x)):ifi>0:plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.05-0.8/(y[i]-y[i-1]),y[i]))else:plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))plt.annotate(y[i],xy=(x[i],y[i]),xytext=(x[i]+0.08,y[i]))plt.show()[/code]其中,p=data.boxplot(return_type='dict')须指定return_type,否则报如下错误:TypeError:'AxesSubplot'objectisnotsubscriptable效果如下(异常值检测箱型图):###3.1.3⼀致性分析数据的不⼀致性是指数据的⽭盾性、不相容性。不⼀致数据的产⽣主要发⽣在数据集成过程中。##3.2数据特征分析对数据进⾏质量分析以后,接下来可绘制图表、计算某些特征量等⼿段对数据进⾏特征分析。###3.2.1分布分析分布分析能揭⽰数据的分布特征和分布类型。**1.定量数据的分布分析**步骤:1.求极差2.决定组距与组数3.决定分点4.列出频率分布表5.绘制频率分布直⽅图遵循的原则:1.各组之间必须相互排斥2.各组必须将所有的数据包含在内3.各组的组宽最好相等**2.定型数据的分布分析**对于定性变量,常常根据变量的分类类型来分组,可以采⽤饼图和条形图来描述定性变量的分布。###3.2.2对⽐分析对⽐分析是指把两个相互联系的指标进⾏⽐较主要有以下两种形式:**1.绝对数⽐较**绝对数⽐较是利⽤绝对数进⾏对⽐,从⽽寻找差异的⼀种⽅法。**2.相对数⽐较**相对数⽐较是由两个有联系的指标对⽐计算的,⽤以反映客观现象之间数量联系程度的综合指标,其数值表现为相对数。分为以下⼏种:结构相对数、⽐例相对数、⽐较相对数、强度相对数、计划完成程度相对数、动态相对数###3.2.3统计量分析餐饮销量数据统计量分析代码:```code#-*-coding:utf-8-*-"""餐饮销量数据统计量分析"""from__future__importprint_functionimportpandasaspdcatering_sale='data/catering_sale.xls'data=pd.read_excel(catering_sale,index_col='⽇期')#读取数据,指定⽇期为索引列data=data[(data['销量']>400)&(data['销量']<5000)]#过滤异常数据sta=data.describe()#保存基本统计量sta.loc['range']=sta.loc['max']-sta.loc['min']#极差sta.loc['var']=sta.loc['std']/sta.loc['mean']#变异系数sta.loc['dis']=sta.loc['75%']-sta.loc['25%']#四分位数间距print(sta)[/code]运⾏结果如下:###3.2.4周期性分析周期性分析是探索某个变量是否随着时间变化⽽呈现出某种周期变化趋势。###3.2.5贡献度分析贡献度分析⼜称帕累托分析,原理是帕累托法则,⼜称2/8定律。菜品盈利帕累托图代码:```code#-*-coding:utf-8-*-"""菜品盈利数据帕累托图"""from__future__importprint_functionimportpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['SimHei']#正常显⽰中⽂plt.rcParams['axes.unicode_minus']=False#正常显⽰负号'-'dish_profit='data/catering_dish_profit.xls'data=pd.read_excel(dish_profit,index_col='菜品名')data=data['盈利'].copy()#data.sort(ascending=False)#data.sort_values(ascending=False)data.sort_index(ascending=False)plt.figure()data.plot(kind='bar')plt.ylabel('盈利(元)')p=1.0*data.cumsum()/data.sum()p.plot(color='r',secondary_y=True,style='-o',linewidth=2)plt.annotate(format(p[6],'.4%'),xy=(6,p[6]),xytext=(6*0.9,p[6]*0.9),arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2'))#添加注释,即85%处的标记,这⾥包括了指定箭头样式plt.ylabel('盈利(⽐例)')plt.show()[/code][/code]注意第14⾏代码,书中代码data.sort(ascending=False)会报错:AttributeError:'Series'objecthasnoattribute'sort'写成第15⾏data.sort_values(ascending=False)或第16⾏data.sort_index(ascending=False)均可正常显⽰,效果如下:###3.2.6相关性分析分析连续变量之间线性相关程度的强弱,并⽤适当的统计指标表⽰出来的过程称为相关分析。1.绘制散点图2.绘制散点图矩阵3.计算相关系数1.Pearson相关系数2.Spearman秩相关系数3.判定系数餐饮销量数据相关性分析代码:```code#-*-coding:utf-8-*-"""餐饮销量数据相关性分析"""from__future__importprint_functionimportpandasaspdcatering_sale='data/catering_sale_all.xls'data=pd.read_excel(catering_sale,index_col='⽇期')print(data.corr())#相关系数矩阵,即给出了任意两款菜式之间的相关系数"""百合酱蒸凤⽖翡翠蒸⾹茜饺⾦银蒜汁蒸排⾻...⾹煎⾲菜饺⾹煎罗⼘糕原汁原味菜⼼百合酱蒸凤⽖1.0000000.0092060.016799...0.127448-0.0902760.428316翡翠蒸⾹茜饺0.0092061.0000000.304434...0.0623440.2702760.020462⾦银蒜汁蒸排⾻0.0167990.3044341.000000...0.1215430.0778080.029074乐膳真味鸡蜜汁焗餐包⽣炒菜⼼0.455638-0.0122790.035135...-0.068866-0.0302220.4218780.0980850.0587450.096218...0.1554280.1710050.5278440.308496-0.180446-0.184290...0.0382330.0498980.122988铁板酸菜⾖腐0.204898-0.0269080.187272...0.0955430.1579580.567332⾹煎⾲菜饺0.1274480.0623440.121543...1.0000000.1783360.049689⾹煎罗⼘糕-0.0902760.2702760.077808...0.1783361.0000000.088980原汁原味菜⼼0.4283160.0204620.029074...0.0496890.0889801.000000"""print(data.corr()['百合酱蒸凤⽖'])#只显⽰百合酱蒸凤⽖与其他菜式的相关系数"""百合酱蒸凤⽖翡翠蒸⾹茜饺⾦银蒜汁蒸排⾻1.0000000.0092060.016799乐膳真味鸡蜜汁焗餐包⽣炒菜⼼0.4556380.0980850.3084960.2048980.127448-0.0902760.428316铁板酸菜⾖腐⾹煎⾲菜饺⾹煎罗⼘糕原汁原味菜⼼"""print(data['百合酱蒸凤⽖'].corr(data['翡翠蒸⾹茜饺']))#计算百合酱蒸凤⽖与翡翠蒸⾹茜饺的相关系数"""0.009205803051836475"""[/code]##3.3Python主要数据探索函数###3.3.1基本统计特征函数主要作为Pandas的对象DataFrame或Series的⽅法:sum()求和、mean()平均数、var()⽅差、std()标准差、corr()计算相关系数矩阵、cov()协⽅差矩阵、skew()/kurt()偏度(三阶矩)/峰度(四阶矩)、describe()直接给出数据的基本统计量,包括均值、标准差、最⼤值、最⼩值等###3.3.2拓展统计特征函数主要有累积计算(cum)和滚动计算(pd.rolling_)###3.3.3统计作图函数统计作图函数⽰例代码:```code#-*-coding:utf-8-*-importmatplotlib.pyplotaspltimportnumpyasnpimportpandasaspdplt.rcParams['font.sans-serif']=['SimHei']#正常显⽰中⽂plt.rcParams['axes.unicode_minus']=False#正常显⽰负号'-'plt.figure(figsize=(7,5))#建⽴图像,figsize指定⽐例defplot_func():"""正弦曲线图"""x=np.linspace(0,2*np.pi,50)#x坐标输⼊y=np.sin(x)#计算对应x的正弦值plt.plot(x,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度直播平台主播培训及管理合同
- 2025年度新能源汽车产业投资合作合同
- 二零二五年度商标共营协议及跨国品牌合作合同
- 二零二五年度超市商品陈列与文化氛围营造合同
- 2025年度民宿租赁合同终止及服务质量协议
- 二零二五年度集体合同签订与新型学徒制实施
- 二零二五年度个人对个人科技成果转化借款合同
- 2025年度机关炊事员食品安全培训聘用协议
- 日常行政管理事务处理指导书
- 日化用品行业供应链优化与市场拓展策略研究计划
- 小学语文中高年级单元整体教学设计的实践研究(中期报告)
- JTT791-2010 公路涵洞通道用波纹钢管(板)
- 山东省春季高考技能考试-汽车专业必刷必练题库(600题)
- 2024年黑龙江农垦科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- THHPA 001-2024 盆底康复管理质量评价指标体系
- 人民音乐家 教案-2023-2024学年高中人音版(2019)必修《音乐鉴赏》
- 《合理调节情绪-做自己情绪的主人》班会课件
- 20222023学年山西省朔州市朔城区七年级(下)期末语文试卷(解析)
- 国家义务教育质量监测心理健康和德育测试题
- 农民橡胶割胶技术培训方案
- 新编物理基础学(下册)(9-17章)课后习题(每题都有)详细答案
评论
0/150
提交评论