当前位置:   article > 正文

数据挖掘简单介绍_最简单的数据挖掘

最简单的数据挖掘

一. 数据挖掘的过程主要有:

1.定义目标

2.获取数据(常用手段:爬虫获取、下载统计网站发布的数据)

3.数据探索:目的是及早发现数据的一些简单规律或特征。数据探索核心是:

(1)数据质量分析(跟数据清洗密切联系)

(2)数据特征分析(分布、对比、周期性、相关性、常见统计量等)

4.数据预处理(数据清洗【去除脏数据】、数据集成【集中】、数据变换【规范化】、数据规约【精简】)

数据清洗的目的是留下可靠数据,与数据探索没有严格先后顺序,经常在一个阶段进行。 数据清洗可以按如下步骤进行:

(1)缺失值处理(通过describe【所有有值的】与len【包含没有值的】直接发现、通过0数据发现【有些数据不能为0】)

(2)异常值处理(通过散点图发现)

一般遇到缺失值,处理方式为:删除、插补、不处理;

插补的方式主要有:均值插补、中位数插补、众数插补、固定值插补、最近数据插补、回归插补、拉格朗日插值、牛顿插值、分段插值等;

遇到异常值,一般处理方式为视为缺失值、删除、修补(平均数、中位数等)、不处理;

4.1 异常分析、分布分析

  1. import matplotlib.pylab as pyl
  2. import numpy as npy #数据
  3. import pandas as pda
  4. import pymysql
  5. conn=pymysql.connect(host="127.0.0.1",user="root",passwd="root",db="csdn")
  6. data=pda.read_sql(sql,conn)
  7. print(data.describe()) #括号不能省
  8. print(len(data)) #发现缺失值 先把价格为0的数据置为空,再把空值处置为中值
  9. #数据清洗
  10. #发现缺失值
  11. data["price"][data["price"]==0]=None
  12. for i in data.columns:
  13. for j in range(len(data)):
  14. if(data[i].isnull())[j]: #若为0 插补法
  15. data[i][j]="36"
  16. x+=1
  17. print(x) #处理的数据为0的数据个数
  18. #异常值处理 循环中设置一个阈值,大于阈值则认为是异常值
  19. #画散点图(横轴为价格,纵轴为评论数)
  20. data2=data.T
  21. price=data2.values[2] #得到价格 从0开始数的
  22. comt=data2.values[3] #得到评论数
  23. pyl.plot(price,comt,"o")
  24. pyl.show()
  25. #评论数异常>20万,价格异常>2300
  26. line=len(data.values) #行
  27. col=len(data.values[0]) #列
  28. da=data.values
  29. for i in range(0,line):
  30. for j in range(0,col):
  31. if(da[i][2]>2300):
  32. print(da[i][j]) #输出异常情况
  33. da[i][j]=36 #处理价格异常
  34. if(da[i][3]>200000):
  35. print(da[i][j]) #输出异常情况
  36. da[i][j]=58
  37. da2=da.T #挑出异常值后重新绘图
  38. price=da2[2]
  39. comt=da2[3]
  40. pyl.plot(price,comt,"o")
  41. pyl.show()
  42. #分布分析
  43. #极差:最大值-最小值
  44. #组距:极差/组数 (组数可取12)
  45. pricemax = da2[2].max()
  46. pricemin = da2[2].min()
  47. commentmax=da2[3].max()
  48. commentmin=da2[3].min()
  49. pricerg=pricemax-pricemin
  50. commentrg=commentmax-commentmin
  51. pricedst=price/12
  52. commentdst=commentrg/12
  53. #画价格的直方图
  54. pricesty=npy.arange(pricemin,pricemax ,pricedst)
  55. pyl.hist(da2[2],pricesty)
  56. pyl.show()
  57. #画评论的直方图
  58. commentsty=npy.arange(comm
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/995947
推荐阅读
相关标签
  

闽ICP备14008679号