专业做二手房的网站,公关公司是干嘛的,开发一套小程序大概多少钱,太原做网站哪家好参考文献#xff1a;《Python数据分析与挖掘实战》张良均等 数据挖掘建模过程
定义挖掘目标#xff1a;理解任务#xff0c;确定指标数据采样#xff1a;注意数据的完整性和有效性数据探索#xff1a;异常值分析、缺失值分析、相关性分析、周期性分析数据预处理#xff… 参考文献《Python数据分析与挖掘实战》张良均等 数据挖掘建模过程
定义挖掘目标理解任务确定指标数据采样注意数据的完整性和有效性数据探索异常值分析、缺失值分析、相关性分析、周期性分析数据预处理数据筛选、数据变量转换、缺失值处理、坏数据处理、数据标准化、主成分分析、属性选择、数据规约挖掘建模所属问题分析分类、聚类、关联规则、时序模式、智能推荐选用算法模型评价应用模型对应的评价方法根据业务对模型进行解释和应用
数据挖掘建模工具
SAS Enterprise MinerIBM SPSS ModelerSQL ServerPythonWEKAKNIMERapidMiner/YALETipDM
数据探索
一、数据质量分析 数据预处理的前提检查数据中是否存在脏数据缺失值、异常值、不一致的值、重复数据、含特殊符号的数据箱线图可以检测异常值。
file_name r../data/catering_sale.xls
catering_sale file_name
data pd.read_excel(catering_sale, index_colu日期) #加载数据
plt.figure()
plt.rcParams[font.sans-serif] [SimHei] #正常显示中文标签
plt.rcParams[axes.unicode_minus] False #正常显示±号
# 画箱线图
p data.boxplot(return_typedict)
x p[fliers][0].get_xdata() #fliers为异常值标签
y p[fliers][0].get_ydata()
y.sort() #对y从小到大排序
for i in range(len(x)):#处理临界情况 i0时temp y[i] - y[i - 1] if i ! 0 else -78 / 3#添加注释, xy指定标注数据xytext指定标注的位置所以需要特殊处理plt.annotate(y[i], xy(x[i], y[i]), xytext(x[i] 0.05 - 0.8 / temp, y[i]))plt.show()二、数据特征分析
分布分析解释数据的分布特征和分布类型频率分布直方图、茎叶图、饼图、条形图定量数据分布分析求极差、决定组距和组数极差/组距、决定分点分布区间、列出频率分布表、绘制频率分布直方图。定性数据分布分析百分比/频数对比分析折线图统计量分析均值、中位数、标准差、四分位间距、变异系数CVsbxˉ×100CV\frac{s}{b}\bar{x}×100%CVbsxˉ×100 Pandas中提供的describe方法可以得到基本统计量
file_name r../data/catering_sale.xls
catering_sale file_name
data pd.read_excel(catering_sale, index_colu日期)
data data[(data[u销量] 400) data[u销量] 5000]
statistics data.describe()[u销量]
statistics[range] statistics[max] - statistics[min] #极差
statistics[var] statistics[std] / statistics[mean] #方差
statistics[dis] statistics[75%] - statistics[25%] #四分距
print(statistics)周期性分析时序折线图贡献度分析帕累托法则8/2定律80%的利润来自20%的投入应该重点关注80%利润的部分绘制帕累托图
file_name ../data/catering_dish_profit.xls
dish_profit file_name #餐饮菜品盈利数据
plt.rcParams[font.sans-serif] [SimHei] # 正常显示中文标签
plt.rcParams[axes.unicode_minus] False # 正常显示±号
data pd.read_excel(dish_profit, index_colu菜品名)
data data[u盈利].copy()
data.sort_values(ascendingFalse)
plt.figure()
data.plot(kindbar)
plt.ylabel(u盈利元)
p 1.0 * data.cumsum() / data.sum()
p.plot(colorr, secondary_yTrue, style-o, linewidth2)
plt.annotate(format(p[6], .4%),xy(6, p[6]),xytext(6 * 0.9, p[6] * 0.9),arrowpropsdict(arrowstyle-, connectionstylearc3,rad.2))
plt.ylabel(u盈利比例)
plt.show()8. 相关性分析散点图、散点矩阵图、计算相关系数Pearson、Spearman Pearson线性相关系数要求连续变量的取值服从正态分布 Pearson∑i1n(xi−xˉ)(yi−yˉ)∑i1n(xi−xˉ)2∑i1n(yi−yˉ)2Pearson\frac{\sum_{i1}^{n}(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_{i1}^{n}(x_i-\bar{x})^2\sum_{i1}^{n}(y_i-\bar{y})^2}}Pearson∑i1n(xi−xˉ)2∑i1n(yi−yˉ)2∑i1n(xi−xˉ)(yi−yˉ) 不符合正态分布的变量分类或等级变量之间的关联性采用Spearman秩相关系数也称为等级相关系数对两个变量成对的取值按照升序或降序编秩RiR_iRi表示xix_ixi的秩次QiQ_iQi表示yiy_iyi的秩次Ri−QiR_i-Q_iRi−Qi表示秩次之差。秩次排序时的位置 Spearman1−6∑i1n(Ri−Qi)2n(n2−1)Spearman1-\frac{6\sum_{i1}^{n}(R_i-Q_i)^2}{n(n^2-1)}Spearman1−n(n2−1)6∑i1n(Ri−Qi)2 判定系数是相关系数的平方用r2∈[0,1]r^2∈[0,1]r2∈[0,1]表示其值越接近于1则相关性越强越接近于0则几乎无直线相关关系。
file_name r../data/catering_sale_all.xls
catering_sale file_name
data pd.read_excel(catering_sale, index_colu日期)
print(data.corr())
print(data.corr()[u百合酱蒸凤爪])
print(data[u百合酱蒸凤爪].corr(data[u翡翠蒸香茜饺]))主要数据探索函数
方法函数功能sum()求和mean()求均值var()求方差std()求均值corr()计算相关系数矩阵cov()计算协方差矩阵skew()计算样本值的偏度三阶矩kurt()计算样本值的峰度四阶矩describe()样本基本描述
扩展统计函数
方法函数功能cumsum()依次给出前1,2,…,n个数的和cumprod()依次给出前1,2,…,n个数的积cummax()依次给出前1,2,…,n个数的最大值cummin()依次给出前1,2,…,n个数的最小值rolling_sum()按列计算数据样本的总和rolling_mean()数据样本的算数平均数rolling_var()计算数据样本的方差rolling_std()计算数据样本的标准差rolling_corr()计算数据样本的相关系数矩阵rolling_cov()计算数据样本的协方差矩阵rolling_skew()样本值的偏度rolling_kurt()样本值的峰度
cum系列是DataFrame对象和Series对象的方法 rolling_是pandas的函数每k列计算一次滚动计算
Python统计作图
方法函数功能plot()折线图pie()饼状图hist()折线图boxplot()箱型图plot(logyTrue)绘制y轴的对数图形plot(yerrerror)绘制误差条形图