Python機器學(xué)習(xí)項目化教程(微課視頻版)課件 第14章 綜合案例:零售商品銷售額分析與預(yù)測_第1頁
Python機器學(xué)習(xí)項目化教程(微課視頻版)課件 第14章 綜合案例:零售商品銷售額分析與預(yù)測_第2頁
Python機器學(xué)習(xí)項目化教程(微課視頻版)課件 第14章 綜合案例:零售商品銷售額分析與預(yù)測_第3頁
Python機器學(xué)習(xí)項目化教程(微課視頻版)課件 第14章 綜合案例:零售商品銷售額分析與預(yù)測_第4頁
Python機器學(xué)習(xí)項目化教程(微課視頻版)課件 第14章 綜合案例:零售商品銷售額分析與預(yù)測_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第14章綜合案例分析:零售商品銷售額分析與預(yù)測目錄CONTENTS14.1問題描述與分析14.2數(shù)據(jù)探索與預(yù)處理14.3特征選擇14.4建立回歸模型14.5超參數(shù)選擇14.6本章小結(jié)14.1問題描述與分析學(xué)習(xí)基礎(chǔ)學(xué)習(xí)認(rèn)知能力信息素養(yǎng)高零售商品的銷售額預(yù)測就是一個回歸問題,為了預(yù)測商品的銷售額,需要根據(jù)商品的前期銷售情況進行預(yù)測,包括商品的類型、銷售價格、商店的地理位置、季節(jié)等屬性特征,而在選擇這些特征建立回歸模型之前,還需要對樣本數(shù)據(jù)進行分析和預(yù)處理,為了使這些屬性特征成為建立回歸模型可用的特征,需要對這些屬性值進行數(shù)值化處理、去除空值、缺失值填充等數(shù)據(jù)預(yù)處理。機器學(xué)習(xí)的任務(wù)就是根據(jù)數(shù)據(jù)特征,分析輸入的內(nèi)容,判斷它的類別,或者預(yù)測其值。前者屬于分類問題,目的是為了尋找決策邊界。后者屬于回歸問題,目的是為了找到最優(yōu)擬合,通過回歸算法得到是一個最優(yōu)擬合線,這個線條可以最好地接近數(shù)據(jù)集中的各個數(shù)據(jù)點。14.2數(shù)據(jù)探索與預(yù)處理14.2.1數(shù)據(jù)探索零售商品數(shù)據(jù)來源于Kaggle競賽平臺,測試樣本和訓(xùn)練樣本分別存儲在train.csv和test.csv文件中,包含12個屬性字段,其屬性描述如表14-1所示。14.2數(shù)據(jù)探索與預(yù)處理train=pd.read_csv("./數(shù)據(jù)/train.csv")print(train.head())test=pd.read_csv("./數(shù)據(jù)/test.csv")print(test.head())14.2數(shù)據(jù)探索與預(yù)處理pd.set_option('display.max_columns',None)train.csv文件中完整的屬性顯示如下:部分屬性取值如下:14.2數(shù)據(jù)探索與預(yù)處理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數(shù)據(jù)探索與預(yù)處理14.2.2屬性特征的數(shù)值化對于非數(shù)值型數(shù)據(jù),需要將其轉(zhuǎn)換為數(shù)值型才能作為訓(xùn)練數(shù)據(jù)的特征。14.2數(shù)據(jù)探索與預(yù)處理14.2.3缺失值處理1.缺失值刪除當(dāng)缺失值的個數(shù)只占整體很小一部分時,可直接刪除缺失值。new_data=train.dropna()#刪除存在缺失值的行print(new_())14.2數(shù)據(jù)探索與預(yù)處理2.缺失值填充對于缺失值,可根據(jù)樣本之間的相似性(中心趨勢)和機器學(xué)習(xí)方法進行填充,常用的填充方法有平均值(Mean)、中位數(shù)(Median)、眾數(shù)(Mode)、kNN、隨機森林等,如表14-2所示。14.2數(shù)據(jù)探索與預(yù)處理train['Outlet_Size']=train['Outlet_Size'].fillna(train['Outlet_Size'].mean())#均值填充print(train.head())14.2數(shù)據(jù)探索與預(yù)處理(3)kNN填充缺失值就是利用kNN算法選擇近鄰的k個數(shù)據(jù),然后填充它們的均值: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特征選擇特征工程是機器學(xué)習(xí)中最重要的環(huán)節(jié),特征的好壞直接影響模型的效果。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線性回歸模型,函數(shù)原型為: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矩陣以加速計算。默認(rèn)值為False。

warm_start:布爾值,是否使用前一次訓(xùn)練結(jié)果繼續(xù)從頭開始訓(xùn)練。默認(rèn)值為False,即重新開始訓(xùn)練。

positive:布爾值。如果值為True,則強制要求權(quán)重向量的分量都為正數(shù)。默認(rèn)值為False。

selection:字符串,指定每輪更新時選擇的權(quán)重向量,可以為'cyclic'或者'random'。默認(rèn)值為'cyclic'。

14.4建立回歸模型14.4.4多項式回歸模型使用Pipeline進行多項式回歸的過程如下:(1)使用PolynomialFeatures生成多項式特征的數(shù)據(jù)集。(2)如果生成數(shù)據(jù)冪特別的大,則特征間的差距就會很大,導(dǎo)致搜索非常慢,可通過StandardScaler()對數(shù)據(jù)歸一化,以減少搜索過程。(3)進行線性回歸。14.5超參數(shù)選擇GridSearchCV分為兩個過程:網(wǎng)格搜索(GridSearch)和交叉驗證(CrossValidation,CV)。網(wǎng)格搜索的是參數(shù),即在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論