数据挖掘简单介绍

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

1.定义目标

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

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

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

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

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

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

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

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

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

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

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

4.1 异常分析、分布分析

import matplotlib.pylab as pyl
import numpy as npy  #数据
import pandas as pda
import pymysql

conn=pymysql.connect(host="127.0.0.1",user="root",passwd="root",db="csdn")
data=pda.read_sql(sql,conn)
print(data.describe())  #括号不能省
print(len(data))  #发现缺失值  先把价格为0的数据置为空,再把空值处置为中值
#数据清洗
#发现缺失值

data["price"][data["price"]==0]=None
for i in data.columns:
    for j in range(len(data)):
        if(data[i].isnull())[j]:  #若为0  插补法
            data[i][j]="36"
            x+=1
print(x)  #处理的数据为0的数据个数

#异常值处理  循环中设置一个阈值,大于阈值则认为是异常值
#画散点图(横轴为价格,纵轴为评论数)
data2=data.T
price=data2.values[2] #得到价格  从0开始数的
comt=data2.values[3]  #得到评论数
pyl.plot(price,comt,"o")
pyl.show()

#评论数异常>20万,价格异常>2300
line=len(data.values)  #行
col=len(data.values[0])  #列
da=data.values
for i in range(0,line):
    for j in range(0,col):
        if(da[i][2]>2300):
            print(da[i][j])  #输出异常情况
            da[i][j]=36      #处理价格异常
        if(da[i][3]>200000):
            print(da[i][j])  #输出异常情况
            da[i][j]=58
da2=da.T     #挑出异常值后重新绘图
price=da2[2]
comt=da2[3]
pyl.plot(price,comt,"o")
pyl.show()


#分布分析
#极差:最大值-最小值
#组距:极差/组数  (组数可取12)
pricemax = da2[2].max()
pricemin = da2[2].min()
commentmax=da2[3].max()
commentmin=da2[3].min()

pricerg=pricemax-pricemin
commentrg=commentmax-commentmin

pricedst=price/12
commentdst=commentrg/12

#画价格的直方图
pricesty=npy.arange(pricemin,pricemax ,pricedst)
pyl.hist(da2[2],pricesty)
pyl.show()

#画评论的直方图
commentsty=npy.arange(commentmin,commentmax,comm
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值