赞
踩
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)
-
- 说明:将逻辑回归进行特征提取获得的结果和相关性分析提取的特征进行试验对比,两者获取的结果相同,说明不管用那种推荐度特征提取方法,结果大致都相同。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。