app大全软件网站,WordPress构建注册页面,山东一建建设有限公司官方网站,开互联网公司网站是自己建吗引言#xff1a;本文重点是用十分钟的时间帮读者建立Python数据分析的逻辑框架。其次#xff0c;讲解“如何通过Python 函数或代码和统计学知识来实现数据分析”。本次介绍的建模框架图分为六大版块#xff0c;依次为导入数据#xff0c;数据探索#xff0c;数据处理…引言本文重点是用十分钟的时间帮读者建立Python数据分析的逻辑框架。其次讲解“如何通过Python 函数或代码和统计学知识来实现数据分析”。本次介绍的建模框架图分为六大版块依次为导入数据数据探索数据处理建模模型评估模型调优(完整的逻辑框架图请看文章末尾处)。在实际商业项目中建模前的工作占据整个项目70%左右的时间。读者可能会问你既然是模型预测为什么不把更多时间放在模型和调参上因为巧妇难为无米之炊数据本身决定了模型预测的上限而模型或算法只是无限逼近这个上限而已。正所谓兵马未动粮草先行数据探索和数据处理能为之后建模打下坚实基础因此团队做项目时会把大量时间投放在这两个部分目的在于提高数据质量发现变量间关系选取恰当特征变量。下面我会依次介绍这六个版块但详解数据探索和数据处理版块。一 导入数据Python数据分析的第一步是要把数据导入到Python中。导入数据需要做两件事第一告诉Python 你的文件格式常用的格式有.csv,.jason, .xlsx, .hdf。第二告诉Python 你的文件路径。举例假如文件格式为.csv, 文件路径为path “CWindows...desktopmydata.csv”通过df.read_csv(path)函数即可将数据导入Python。二 数据探索数据探索版块主要涉及描述性统计数据分组关联分析方差分析。会涉及一些Python函数和统计学知识笔者依次介绍。描述性统计Ø 基本描述通过df.describe()函数可对数据有一个基本了解比如平均值、标准差、四分位数、最大最小值等Ø 数据类型通过df.dtypes 函数可知变量的数据类型比如object型int型float型(为后面的数据处理做准备)Ø 分组统计通过value_counts(),可统计分类变量里不同组的数量Ø 箱形图通过sns.boxplot(x,y,datadf)可将数据以‘箱形’展示出来查看数据分布情况识别离散值Ø 散点图通过plt.scatter(x,y)可发现两组变量间的关系(正相关、负相关、不相关)数据分组数据分组部分主要介绍三个函数分别为groupby(),pivot(), pcolor()可视化效果依次提高有助于快速发现不同组间的关系。Ø 函数groupby()可对一个或多个分类变量进行分组Ø 函数pivot(), 能提高groupby()分组后的数据的可视化程度实现更清晰的展示Ø 函数pcolor(), 能把pivot table()处理后的数据转换成热图更易发现不同组间关系关联分析Ø 通过df.corr(), 可得到所有变量间的相关系数Ø 通过pearsonr(x,y),可得到皮尔森相关系数和P值以此判断两个变量间的关联强度· 皮尔森系数接近于1时正相关接近于-1时负相关接近于0时不相关· P值用来判断发生的可能性大小、原假设是否正确。若P0.05, 有理由拒绝原假设。方差分析Ø f_oneway()实现方差分析得到F-testscore 和P 值Ø F-testscore 越大关联越强 F-testscore 越小关联越弱。Ø P值同上(参见关联分析P值)笔者总结出(二)数据探索版块的逻辑框架图见下图。三 数据处理数据处理版块主要涉及处理缺失值数据类型转换格式转换数据正态化数据分箱独热码。会涉及Python代码和统计学知识笔者依次介绍。处理缺失值Ø 查看数据源直接查看数据源头看能否把缺失的数据找回Ø 删除缺失值通过函数dataframe.dropna(),可将缺失的数据删除Ø 替换缺失值通过函数data.replace(missing_value,new_value)可将缺失的数据替换为平均值或众数数据类型转换Ø 通过astype()函数能把错误的数据类型转换为正确的数据类型Ø 举例若变量‘price’的数据类型为object型时通过代码df[‘price’] df[‘price’].astype(‘int’)将变量‘price’转换为 int型。格式转换不同部门(比如市场部、物流部、IT部)通常会有不同的储存格式需要对数据统一格式、单位转换才可建模。Ø 统一格式举例BeiJing的书写格式有多种比如BeiJing, BEIJING, BJ, B.J, 需要统一为一种格式。Ø 单位转换· 对同一特征变量要用统一的单位举例在评比汽车耗油量时经常用到两种单位每加仑多少英里(mpg)和每百公里多少升(L/100km)在数据分析时需将其统一。· 例子通过函数df[‘city-mpg’] 235/df[‘city-mpg’] 实现mpg 和 L/100km 单位间的转换(其实就是加减乘除)再通过df.rename()对变化后的列名进行修改数据正态化某些特征变量需要进行数据正态化正态化后的特征变量才能对模型有相对公平的影响(若没懂请看特征缩放中的例子)。常用的数据正态化的方法有三种特征缩放最大最小值Z分数。Ø 特征缩放XnewXold/Xmax举例变量‘age’的范围20 – 100 变量‘income’ 的范围20000 – 500000由于数值大小的差距变量‘age’和‘income’对模型的影响是完全不同和不公平的。经过特征缩放运算后两个变量会拥有相似的取值范围也因此对模型影响的程度会变得较为公平合理代码见上图。Ø 最大值最小值Xnew(Xold-Xnew)/(Xmax-Xmin), 代码见上图Ø Z分数 Xnew (Xold-μ)/σ, 代码见上图数据分箱数据分箱能对数据进行更明了的展示可把数值变量转换为分类变量通过cut()函数可对数据进行分箱代码见下图。举例cut()函数能将变量‘price’的所有数值放入3个箱子中将变量‘price’的数值变量转换为分类变量运行结果见下图。独热码模型训练通常是不会接收object 或 string型只能接收数值型但独热码能将分类变量的object 或 string型转换为定量变量的数值型。Ø 函数get_dummies()Ø 举例‘fuel’ 有gas和dissel两类通过pd.get_dummies(df[‘fuel’])将gas 和dissel 重新赋值0或1将分类变量‘fuel’转换为数值型结果见下图笔者总结出(三)数据处理版块的逻辑框架图见下图。四 建模本文涉及线性回归和多项式回归算法其他众多算法比如神经网络、随机森林、支持向量机、时间序列等不在此介绍。五 模型评估评判模型准确度时经常用到的两个指标 R方检验(R²)和均方误差检(MSE)。Ø R²的值越接近于1拟合效果越好R²的值越接近于0拟合效果越差Ø MSE能反应出真实值与预计值间的误差MSE越小模型准确性越高六 模型调优模型调参能够优化模型的准确性调参指调整参数那如何找到最佳的参数组合呢? 有如下如下方法Ø 岭回归, 函数 Ridge(alpha)解决过拟合现象Ø 网格搜索用穷举法遍历所有不同的参数组合筛选出模型效果最好的一组参数组合。函数: GridSearchCV(Ridge(), parameters, cv) cv指交叉验证次数。结尾至此笔者已介绍如何导数到Python、如何探索和处理数据、如何建模、如何评估模型、如何调参。完整的逻辑框架会让读者对‘Python数据分析’有一个全面的认识快速达到俯瞰全局的高度。最后笔者搭建出完整的逻辑框架图送给读者希望对你们有帮助。