python数据挖掘与分析

1、数据挖掘的基本任务

数据挖掘就是借助机器学习、深度学习、大数据等技术,从数据中分析出所需的价值,主要涉及的任务有分类、预测、回归、关联分析、时间序列、聚类分析等。

2、数据挖掘建模的流程

  • 目标定义:任务理解、指标确定
  • 数据采集:建模抽样、质量把控、实时采集
  • 数据整理:数据探索、数据清洗、数据变化表
  • 构建模型:算法选择、模型搭建、模型验证
  • 模型评价:模型评价指标选择、模型优化
  • 模型发布:模型部署、模型运行监测

3、数据挖掘采用工具

语言:Python、anaconda

工具:pandas、pytorch、sklearn、keras、numpy、gensim

3.1、箱型图原理

箱型图分析:箱型图涉及中位数(排序后最中间数)、均值、上四分位(数据中有四分之一大于该值)、下四分位(数据中有四分之一小于该值)、上界(获取上四分位与下四分位的差值,该值加上上四分位 得到上界)、下界(获取上四分位与下四分位的差值,下四分位减去 该值得到下界)

3.1、相关系数计算原理

#计算相关系数
file_path_1='../data/catering_sale_all.xls'
data_1=pd.read_excel(file_path_1,index_col='日期')
print(data_1)
data_corr=data_1.corr()[u'百合酱蒸凤爪'] #获取其他菜品和该菜品相关性,不加该菜品将表示两两之间相关性
print(data_corr)
print('*'*30)

3.3、pandas主要统计特征函数

说明:以上函数可以直接对于DataFrame进行操作,DataFrame.sum()表示对于DataFrame 中每一列进行求和,最终获得每一列的和,上面表中的函数都是按照这个逻辑进行计算的。如果只想知道某一列的DataFrame['列名'].sum()。

data.sum

data['列名'].sum()

4、数据预处理

4.1、数据清洗

数据清洗主要涉及删除无关信息、去重复值、缺失值处理、异常值处理等。

缺失值处理方法:

    • 均值、中位数、最大值最小值填充;
    • 临近值填充
    • 回归方法填充
    • 插值法:拉格朗日插值法、牛顿插值法

异常值处理方法:

    • 直接删除
    • 视为缺失值
    • 平均修正
    • 不处理,直接建模

数据归一化操作:

最大-最小值规范化:缺点是当数据比较集中,也就是方差很小时,存在一个很大的异常值,将导致归一化后的值都是近似零的。

零-均值归一化:目前最长用的,归一化后的值偏向于均值为0,方差为1的分布。

#归一化操作
file_path_2='../data/normalization_data.xls'
data_2=pd.read_excel(file_path_2,header=None)
print(data_2)
#最大-最小值归一化
data_min_max=(data_2-data_2.min())/(data_2.max()-data_2.min())
print(data_min_max)
#零-均值归一化
data_zero_mean=(data_2-data_2.mean())/data_2.std()
print(data_zero_mean)

4.3、连续数据离散化

数据离散化主要有3三种方法:

      • 等宽法:将数据按照一定距离进行切割,给与每个切割区间一个标签,缺点,对于临近切割点的点不能很好的表达其类别,另外对于异常值比较敏感,容易造成标签内部有些多,有些少的问题,对于模型训练存在一定问题。
      • 等频法:将数据按照总量和类别数进行平均划分,这样解决了以上问题,但是对于类别内部相同的数据可能存在不能分在一个类别中的问题。
      • 聚类方法:将数据进行聚类,根据聚类中心进行打标签。
'''
等距离散化参数:
data:必须是一维数组
k:分成几类
labels:每一类的标签
'''
d1=pd.cut(data,k,labels=['1','2','3','4'])
print(pd.DataFrame(d1))

4.4、属性规约

属性规约主要是对于特征进行剔除,保证每个特征工程最简洁,提升模型性能。

主成分分析:

# #主成分分析
# from sklearn.decomposition import PCA
# pca=PCA(3)
# pca.fit(data)
# data_tzxl=pca.components_ #返回模型中特征向量
# data_bfb=pca.explained_variance_ratio_ #返回各个成分各自的方差百分比
# print('特征向量',data_tzxl)
# print("各个成分各自方差百分比",data_bfb) #可以看到前4个向量的贡献度已经达到97%
#
# low_d=pca.transform(data)
# print(low_d)
# print(pca.inverse_transform(low_d))

5、挖掘建模

逻辑回归进行特征提取:

'''
构建逻辑回归,采用随机逻辑回归进行特征筛选,然后构建模型
'''
import pandas as pd

filename='../data/bankloan.xls'
data=pd.read_excel(filename)
print(data)
x_train=data.iloc[:,:8]
y_train=data.iloc[:,8]
print(x_train)
print(y_train)
#构建模型
from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR

#利用随机逻辑回归进行特征筛选,方便进行特征提取
rlr=RLR()
rlr.fit(x_train,y_train)
print(rlr.get_support()) #获取特征筛选结果
print(rlr.scores_) #获取特征筛选结果的得分

##计算与预测目标的相关性,进行特征筛选
corr=data.corr()['违约'] 
print(corr)

说明:将逻辑回归进行特征提取获得的结果和相关性分析提取的特征进行试验对比,两者获取的结果相同,说明不管用那种推荐度特征提取方法,结果大致都相同。
  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
92讲视频课+16大项目实战+课件源码  为什么学习数据分析?       人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。      从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。   本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。  二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。  四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。  五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值