




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14章综合案例分析:零售商品销售额分析与预测目录CONTENTS14.1问题描述与分析14.2数据探索与预处理14.3特征选择14.4建立回归模型14.5超参数选择14.6本章小结14.1问题描述与分析学习基础学习认知能力信息素养高零售商品的销售额预测就是一个回归问题,为了预测商品的销售额,需要根据商品的前期销售情况进行预测,包括商品的类型、销售价格、商店的地理位置、季节等属性特征,而在选择这些特征建立回归模型之前,还需要对样本数据进行分析和预处理,为了使这些属性特征成为建立回归模型可用的特征,需要对这些属性值进行数值化处理、去除空值、缺失值填充等数据预处理。机器学习的任务就是根据数据特征,分析输入的内容,判断它的类别,或者预测其值。前者属于分类问题,目的是为了寻找决策边界。后者属于回归问题,目的是为了找到最优拟合,通过回归算法得到是一个最优拟合线,这个线条可以最好地接近数据集中的各个数据点。14.2数据探索与预处理14.2.1数据探索零售商品数据来源于Kaggle竞赛平台,测试样本和训练样本分别存储在train.csv和test.csv文件中,包含12个属性字段,其属性描述如表14-1所示。14.2数据探索与预处理train=pd.read_csv("./数据/train.csv")print(train.head())test=pd.read_csv("./数据/test.csv")print(test.head())14.2数据探索与预处理pd.set_option('display.max_columns',None)train.csv文件中完整的属性显示如下:部分属性取值如下:14.2数据探索与预处理importseabornassnsg=sns.distplot(train["Item_Outlet_Sales"],color='b',rug=True,bins=100)g.set_xlabel("Item_Outlet_Sales")g.set_ylabel("Frequency")plt.show()销售金额分布情况如图14-2所示。14.2数据探索与预处理14.2.2属性特征的数值化对于非数值型数据,需要将其转换为数值型才能作为训练数据的特征。14.2数据探索与预处理14.2.3缺失值处理1.缺失值删除当缺失值的个数只占整体很小一部分时,可直接删除缺失值。new_data=train.dropna()#删除存在缺失值的行print(new_())14.2数据探索与预处理2.缺失值填充对于缺失值,可根据样本之间的相似性(中心趋势)和机器学习方法进行填充,常用的填充方法有平均值(Mean)、中位数(Median)、众数(Mode)、kNN、随机森林等,如表14-2所示。14.2数据探索与预处理train['Outlet_Size']=train['Outlet_Size'].fillna(train['Outlet_Size'].mean())#均值填充print(train.head())14.2数据探索与预处理(3)kNN填充缺失值就是利用kNN算法选择近邻的k个数据,然后填充它们的均值:feature_name=['Item_Weight','Item_Fat_Content','Item_Visibility','Item_MRP','Outlet_Establishment_Year','Outlet_Size','Outlet_Location_Type','Outlet_Type']X_train=pd.DataFrame(KNN(k=5).fit_transform(X_train),columns=feature_name)print(X_train.head())14.3特征选择特征工程是机器学习中最重要的环节,特征的好坏直接影响模型的效果。fromsklearnimportlinear_model,model_selectionX_train=train.loc[:,['Item_Weight','Item_Fat_Content','Item_Visibility','Item_Type','Item_MRP','Outlet_Establishment_Year','Outlet_Size','Outlet_Location_Type','Outlet_Type']]y_train=train.loc[:,['Item_Outlet_Sales']]
print(X_train.head())14.4建立回归模型14.4.1线性回归模型sklearn库提供了LinearRegression线性回归模型,函数原型为:sklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=1)X=train.loc[:,['Item_Weight','Item_Fat_Content','Item_Visibility','Item_Type','Item_MRP','Outlet_Establishment_Year','Outlet_Size','Outlet_Location_Type','Outlet_Type']]y=train.loc[:,['Item_Outlet_Sales']]X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=5)lr=linear_model.LinearRegression()lr.fit(X_train,y_train)y_pre=lr.predict(X_test)14.4建立回归模型14.4.2岭回归模型sklearn.linear_model.Ridge(alpha=1.0,fit_intercept=True,normalize=False,copy_X=True,max_iter=None,tol=0.001,solver='auto',random_state=None)14.4建立回归模型14.4.3Lasso回归模型sklearn.linear_model.Lasso(alpha=1.0,fit_intercept=True,normalize=False,precompute=False,copy_X=True,max_iter=1000,tol=0.0001,warm_start=False,positive=False,random_state=None,selection='cyclic')
precompute:布尔值或者一个序列。是否提前计算Gram矩阵以加速计算。默认值为False。
warm_start:布尔值,是否使用前一次训练结果继续从头开始训练。默认值为False,即重新开始训练。
positive:布尔值。如果值为True,则强制要求权重向量的分量都为正数。默认值为False。
selection:字符串,指定每轮更新时选择的权重向量,可以为'cyclic'或者'random'。默认值为'cyclic'。
14.4建立回归模型14.4.4多项式回归模型使用Pipeline进行多项式回归的过程如下:(1)使用PolynomialFeatures生成多项式特征的数据集。(2)如果生成数据幂特别的大,则特征间的差距就会很大,导致搜索非常慢,可通过StandardScaler()对数据归一化,以减少搜索过程。(3)进行线性回归。14.5超参数选择GridSearchCV分为两个过程:网格搜索(GridSearch)和交叉验证(CrossValidation,CV)。网格搜索的是参数,即在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 杭州全日制劳动合同
- 砖块购销合同砖块购销合同
- 虚拟现实技术内容开发合作协议
- 招投标文件合同协议书
- 购房押金合同书
- 房归女方所有离婚协议书
- 幼儿端午活动方案
- 商场柜台转让协议书
- 按份担保担保合同
- 货物运输合同一
- 2024年EHS法律法规培训:企业风险防范与合规之道
- 证件使用协议书(2篇)
- 2024年《论教育》全文课件
- 贫血医学教学课件
- 浙江省宁波市余姚市2023-2024学年五年级上学期期末英语试题及答案含听力原文
- 肺栓塞患者护理查房课件
- 2023年江苏省苏州市中考物理试卷及答案
- 委托书之工程结算审计委托合同
- 《如何有效组织幼儿开展体能大循环活动》课件
- 大学计算机基础(第6版)(微课版)课件 第1章认识计算机
- (完整版)重力式挡土墙专项方案
评论
0/150
提交评论