




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)探查數(shù)據(jù)可視化數(shù)據(jù)轉(zhuǎn)換決策樹分類模型訓(xùn)練數(shù)據(jù)預(yù)測(cè)基于決策樹的分類預(yù)測(cè)參考書目《機(jī)器學(xué)習(xí)技術(shù)任務(wù)驅(qū)動(dòng)式教程》模塊5機(jī)器學(xué)習(xí)技術(shù)目錄電腦購(gòu)買預(yù)測(cè)泰坦尼克幸存乘客預(yù)測(cè)降雨預(yù)測(cè)小結(jié)習(xí)題五基于決策樹的分類預(yù)測(cè)模塊5機(jī)器學(xué)習(xí)技術(shù)buy_computer.csv記錄了是否會(huì)購(gòu)買計(jì)算機(jī)(buys_computer)的14條人員信息的記錄,包含4個(gè)特征,應(yīng)用決策樹算法歸納出分類規(guī)則,分析用戶購(gòu)買行為。詳細(xì)的字段描述見下表。1.1任務(wù)描述1電腦購(gòu)買預(yù)測(cè)字段字段類型允許為空標(biāo)簽?例子年齡int否否1收入int否否2學(xué)生int否否0信用級(jí)別int否否1是否購(gòu)買int否是0注:1.年齡字段中,0表示Youth,1表示middle,2表示Senior。2.收入字段中,1表示Medium,2表示high。3.學(xué)生字段中,0表示No,1表示Yes。4.信用級(jí)別字段中,0表示fair,1表示excellent。5.是否購(gòu)買字段中,0表示不買,1表示買。1.1任務(wù)描述1)在數(shù)據(jù)探查時(shí),將客戶分為購(gòu)買和不購(gòu)買,分別統(tǒng)計(jì)特征分布。2)通過年齡、收入、學(xué)生、信用4個(gè)屬性值,預(yù)測(cè)用戶是否會(huì)購(gòu)買電腦。3)計(jì)算模型預(yù)測(cè)的準(zhǔn)確率。4)利用建立的決策樹分類模型,預(yù)測(cè)年齡、收入、學(xué)生、信用分別為2、2、1、1的結(jié)果。任務(wù)目標(biāo)1電腦購(gòu)買預(yù)測(cè)1.2
任務(wù)分解import方式引入依賴的模塊使用Matplotblib以柱形圖、多子圖餅圖形式可視化樣本的空間分布依賴庫(kù)導(dǎo)入數(shù)據(jù)探查數(shù)據(jù)可視化從探查數(shù)據(jù)內(nèi)容開始,經(jīng)過分析數(shù)據(jù)分布,根據(jù)數(shù)據(jù)特征建立決策樹分類模型,預(yù)測(cè)結(jié)果,計(jì)算預(yù)測(cè)的準(zhǔn)確率。檢查樣本分布、特征/標(biāo)簽類型、空值、重復(fù)行、屬性相互關(guān)系1電腦購(gòu)買預(yù)測(cè)1.2
任務(wù)分解轉(zhuǎn)換Pandas類型到Numpy類型在已知樣本上訓(xùn)練回歸模型通過相關(guān)系數(shù)找到關(guān)系不明顯的特征后刪除,提高線性回歸模型的預(yù)測(cè)準(zhǔn)確率數(shù)據(jù)轉(zhuǎn)換模型訓(xùn)練降維接上模型評(píng)估根據(jù)測(cè)試集預(yù)測(cè)得到的label,跟真實(shí)label比較,計(jì)算預(yù)測(cè)準(zhǔn)確率1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施1.3.1依賴庫(kù)導(dǎo)入步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">依賴庫(kù)導(dǎo)入</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟2:導(dǎo)入依賴庫(kù)。importpandasaspdimportmatplotlibasmplimportmatplotlib.pyplotaspltfromsklearnimportmodel_selectionfromsklearn.treeimportDecisionTreeClassifier按“SHIFT+Enter”,檢查輸出無異常。1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施1.3.2數(shù)據(jù)探查文件讀入DataFrame對(duì)象后,需要觀察不同標(biāo)簽的數(shù)據(jù)特征。步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">數(shù)據(jù)探查</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟2:讀入數(shù)據(jù)集文件到DataFrame對(duì)象。df=pd.read_csv('c:/data/titanic.csv',encoding='GBK')df.head()1電腦購(gòu)買預(yù)測(cè)按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1.3
任務(wù)實(shí)施步驟3:數(shù)據(jù)描述。()按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟4:重構(gòu)是否購(gòu)買字字段,如將0轉(zhuǎn)換為“No”,將1轉(zhuǎn)換為“Yes”。df_new=df.copy()df_new['年齡']=df_new['年齡'].replace({0:'Youth',1:'middle',2:'Senior'})df_new['收入']=df_new['收入'].replace({1:'Medium',2:'high'})df_new['學(xué)生']=df_new['學(xué)生'].replace({0:'No',1:'Yes'})df_new['信用級(jí)別']=df_new['信用級(jí)別'].replace({0:'fair',1:'excellent'})df_new['是否購(gòu)買']=df_new['是否購(gòu)買'].replace({0:'No',1:'Yes'})df_new.head()1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟5:是否購(gòu)買字段頻數(shù)統(tǒng)計(jì)。buy_count=df_new['是否購(gòu)買'].value_counts()buy_count1電腦購(gòu)買預(yù)測(cè)按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1.3
任務(wù)實(shí)施步驟6:特征數(shù)據(jù)交叉頻數(shù)統(tǒng)計(jì)。cols=df_new.columnsx=cols[-1]ys=cols[0:-1].to_list()foryinys:result=pd.crosstab(df_new[x],df_new[y],margins=True)print(result)print("-"*30)1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施知識(shí)點(diǎn):數(shù)據(jù)交叉頻數(shù)表數(shù)據(jù)交叉頻數(shù)表數(shù)據(jù)交叉透視分析是數(shù)據(jù)分析中常用方法之一,通過交叉透視分析可以用來判斷不同字段之間是否存在相互關(guān)聯(lián)。頻數(shù)交叉表是一種用于計(jì)算分組頻率的表格,頻數(shù)交叉表統(tǒng)計(jì)行與列字段交叉出現(xiàn)的頻數(shù)。
Pandas提供了crosstab函數(shù)制作頻數(shù)交叉表,具體用法可以參考pd.crosstab(index,columns,margins)函數(shù)。1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施1.3.3數(shù)據(jù)可視化步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">數(shù)據(jù)可視化</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟2:Matplotlib支持中文字符。mpl.rcParams['font.sans-serif']=['SimHei']按“SHIFT+Enter”,檢查輸出無異常1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟3:利用柱形圖分析“購(gòu)買電腦”字段的分布趨勢(shì)。plt.figure(figsize=(4,4))plt.bar(x=buy_count.index,height=buy_count,color='skyblue',edgecolor='darkorange',width=0.3)plt.title("購(gòu)買電腦結(jié)果統(tǒng)計(jì)",color='r',size=15)plt.show()1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:購(gòu)買電腦的用戶多于不購(gòu)買電腦的用戶。1.3
任務(wù)實(shí)施步驟4:利用箱圖分析是否購(gòu)買電腦用戶的特征規(guī)律。fig,axes=plt.subplots(2,4)plt.rcParams['figure.figsize']=[10,10]#繪制第一行的子圖,即購(gòu)買客戶的特征分類信息統(tǒng)計(jì)圖df_Yes=df_new.loc[df_new['是否購(gòu)買']=='Yes']df_No=df_new.loc[df_new['是否購(gòu)買']=='No']fori,yinzip(range(4),ys):Yes_result=df_Yes[y].value_counts()ax=axes[0,i]ax.pie(x=Yes_result,labels=Yes_result.index)ax.set_title("購(gòu)買:%s"%y,color='r',size=12)1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施#繪制第二行的子圖,即不購(gòu)買客戶的特征分類信息統(tǒng)計(jì)圖df_Yes=df_new.loc[df_new['是否購(gòu)買']=='Yes']df_No=df_new.loc[df_new['是否購(gòu)買']=='No']fori,yinzip(range(4),ys):No_result=df_No[y].value_counts()ax=axes[1,i]ax.pie(x=No_result,labels=No_result.index)ax.set_title("不購(gòu)買:%s"%y,color='r',size=12)plt.show()接上1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施1.3.4數(shù)據(jù)轉(zhuǎn)換步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">數(shù)據(jù)轉(zhuǎn)換</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟2:拆分出特征和標(biāo)簽。X=df.iloc[:,0:-1].valuesy=df.iloc[:,-1]按“SHIFT+Enter”,
檢查輸出無異常1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施1.3.5模型訓(xùn)練步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">模型訓(xùn)練</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟2:數(shù)據(jù)集拆分成訓(xùn)練集和測(cè)試集,測(cè)試集占20%。X_train,X_test,y_train,y_test=model_selection.train_test_split(X,y,random_state=4,test_size=0.2)X_train.shape,X_test.shape按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟3:根據(jù)模型擬合度,確定決策樹模型的樹深度(max_depth)。scores=[]foriinrange(1,10):dt_model=DecisionTreeClassifier(max_depth=i+1,criterion="entropy",random_state=4)dt_model.fit(X_train,y_train)score=dt_model.score(X_train,y_train)scores.append(score)plt.figure(figsize=(4,4,))plt.plot(range(2,11),scores,color='r')plt.xlabel("樹深度")plt.ylabel("R2")plt.show()1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施知識(shí)點(diǎn):決策樹模型(DecisionTreeClassifier)決策樹模型(DecisionTreeClassifier)決策樹屬于監(jiān)督學(xué)習(xí)算法的一種,根據(jù)原始輸入數(shù)據(jù)中的特征,構(gòu)建一個(gè)樹狀模型來進(jìn)行分類。輸入數(shù)據(jù)的每一個(gè)特征作為決策樹中的一個(gè)節(jié)點(diǎn),根據(jù)其取值的不同,劃分不同的分支,根據(jù)各個(gè)特征的取值,按照這個(gè)樹狀結(jié)構(gòu)就可以解釋一個(gè)樣本的分類情況。
對(duì)于決策樹模型,其解釋性非常強(qiáng),可以看做是一連串的if-else條件,根據(jù)該條件就可以輕松的預(yù)測(cè)一個(gè)新的樣本點(diǎn),決策樹的輸入和輸出都比較直觀,核心就在于構(gòu)建合適的分類樹。1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施決策樹模型(DecisionTreeClassifier)決策樹常用于研究類別歸屬和預(yù)測(cè)關(guān)系的模型,比如是否抽煙、是否喝酒、年齡、體重等4項(xiàng)個(gè)人特征可能會(huì)影響到‘是否患癌癥’,上述4項(xiàng)個(gè)人特征稱作‘特征’,也即自變量(影響因素X),“是否患癌癥”稱為“標(biāo)簽”,也即因變量(被影響項(xiàng)Y)。決策樹模型時(shí),其可首先對(duì)年齡進(jìn)行劃分,比如以70歲為界,年齡大于70歲時(shí),可能更容易歸類為‘患癌癥’,接著對(duì)體重進(jìn)行劃分,比如大于50公斤為界,大于50公斤時(shí)更可能劃分為‘患癌癥’,依次循環(huán)下去,特征之間的邏輯組合后(比如年齡大于70歲,體重大于50公斤),會(huì)對(duì)應(yīng)到是否患癌癥這一標(biāo)簽上。接上1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施決策樹模型(DecisionTreeClassifier)決策樹分類預(yù)測(cè)的函數(shù)為tree.DecisionTreeClassifier,具體使用方法如下:tree.DecisionTreeClassifier(criterion,max_depth,random_state,presort)criterion:選擇結(jié)點(diǎn)劃分質(zhì)量的度量標(biāo)準(zhǔn),默認(rèn)為基尼系數(shù)“gini”,基尼系數(shù)是CART算法中采用的度量標(biāo)準(zhǔn),該參數(shù)還可以設(shè)置為信息增益“entropy”,信息增益是C4.5算法中采用的度量標(biāo)準(zhǔn)。max_depth:設(shè)置決策樹的最大深度,默認(rèn)為None,表示不對(duì)決策樹的最大深度作約束,直到每個(gè)葉子結(jié)點(diǎn)上的樣本均屬于同一類,也可以指定一個(gè)整型數(shù)值,設(shè)置樹的最大深度,在樣本數(shù)據(jù)量較大時(shí),可通過設(shè)置該參數(shù),提前結(jié)束樹的生長(zhǎng),改善過擬合問題。接上1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施決策樹模型(DecisionTreeClassifier)random_state:當(dāng)將參數(shù)splitter設(shè)置為“random”時(shí),可以通過該參數(shù)設(shè)置隨機(jī)種子號(hào),默認(rèn)為None,表示使用np.random產(chǎn)生的隨機(jī)種子號(hào)。presort:設(shè)置對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)排序,以提升結(jié)點(diǎn)最優(yōu)劃分屬性的搜索,默認(rèn)為False。在訓(xùn)練集較大時(shí),預(yù)排序會(huì)降低決策樹構(gòu)建的速度,不推薦使用,但訓(xùn)練集較小或者限制樹的深度時(shí),使用預(yù)排序能提升樹的構(gòu)建速度。接上1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟4:訓(xùn)練決策樹分類模型。dt_model=DecisionTreeClassifier(max_depth=3,criterion="entropy",random_state=4)dt_model.fit(X_train,y_train)1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施1.3.6模型評(píng)估步驟1:定義2級(jí)標(biāo)題。訓(xùn)練模型后,還需要對(duì)模型的訓(xùn)練效果進(jìn)行評(píng)估,模型score方法返回的預(yù)測(cè)準(zhǔn)確率,通過數(shù)據(jù)的變化來表征預(yù)測(cè)的準(zhǔn)確率,正常取值范圍為[0,1],score越接近1,表明模型預(yù)測(cè)的準(zhǔn)確率越高。##<fontcolor="black">模型評(píng)估</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟2:計(jì)算預(yù)測(cè)準(zhǔn)確率。R2=dt_model.score(X_test,y_test)print("預(yù)測(cè)準(zhǔn)確率=%.2f%%"%(R2*100))按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)因?yàn)閿?shù)據(jù)集的數(shù)量較少,導(dǎo)致預(yù)測(cè)的準(zhǔn)確率偏低。1.3
任務(wù)實(shí)施1.3.7預(yù)測(cè)步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">預(yù)測(cè)</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)1.3
任務(wù)實(shí)施步驟2:根據(jù)特征數(shù)據(jù),進(jìn)行預(yù)測(cè)。label_names=["不買電腦","買電腦"]age,income,student,credit=2,2,1,1test_data=[[age,income,student,credit]]y_pred=dt_model.predict(test_data)result=label_names[y_pred[0]]print("預(yù)測(cè)結(jié)果為:%s"%(result))按“SHIFT+Enter”,運(yùn)行結(jié)果如下:1電腦購(gòu)買預(yù)測(cè)數(shù)據(jù)集titanic.csv是一個(gè)關(guān)于泰坦尼克號(hào)幸存者的數(shù)據(jù)集,該數(shù)據(jù)集包括幸存者的年齡、性別、船票級(jí)別等信息,通過這些數(shù)據(jù)建立決策樹分類模型,并預(yù)測(cè)幸存的結(jié)果。詳細(xì)的字段描述見下表。2.2任務(wù)描述字段字段類型允許為空標(biāo)簽?例子Passengerld(乘客編號(hào))int否否1Name(乘客姓名)str否否Braund,Mr.OwenHarrisPclass(船票級(jí)別)int否否3Sex(性別)int否否1Age(年齡)int是否222泰坦尼克幸存乘客預(yù)測(cè)注:1.性別字段中,0表示女性,1表示男性。2.2任務(wù)描述字段字段類型允許為空標(biāo)簽?例子Sibsp(乘客兄妹/配偶個(gè)數(shù))int否否1Parch(乘客父母/子女個(gè)數(shù))int否否0Ticket(船票號(hào)碼)str否否A/521171Fare(船票價(jià)格)float否否7.25Cabin(船艙號(hào))str是否C85Embarked(登船港口)str是否SSurvival(存活與否)int否是0接上2泰坦尼克幸存乘客預(yù)測(cè)2.2任務(wù)描述1)在數(shù)據(jù)探查時(shí),將客戶分為幸存和死亡,分別統(tǒng)計(jì)特征分布。2)通過乘客的船票級(jí)別、性別、年齡、乘客兄妹/配偶個(gè)數(shù),預(yù)測(cè)該乘客是否存活。3)計(jì)算模型預(yù)測(cè)的準(zhǔn)確率。任務(wù)目標(biāo)2泰坦尼克幸存乘客預(yù)測(cè)2.2
任務(wù)分解import方式引入依賴的模塊可視化樣本的空間分布、待測(cè)試樣本和訓(xùn)練樣本的空間關(guān)系依賴庫(kù)導(dǎo)入數(shù)據(jù)探查數(shù)據(jù)可視化從探查數(shù)據(jù)內(nèi)容開始,經(jīng)過分析數(shù)據(jù)分布,根據(jù)數(shù)據(jù)特征建立決策樹分類模型,預(yù)測(cè)結(jié)果,計(jì)算預(yù)測(cè)的準(zhǔn)確率。檢查樣本分布、特征/標(biāo)簽類型、空值、重復(fù)行、屬性相互關(guān)系2泰坦尼克幸存乘客預(yù)測(cè)2.2
任務(wù)分解轉(zhuǎn)換Pandas類型到Numpy類型數(shù)據(jù)轉(zhuǎn)換模型訓(xùn)練接上模型評(píng)估根據(jù)測(cè)試集預(yù)測(cè)得到的label,跟真實(shí)label比較,計(jì)算預(yù)測(cè)準(zhǔn)確率構(gòu)建決策樹分類模型,然后在訓(xùn)練集上訓(xùn)練模型,并在驗(yàn)證集上評(píng)估模型精度2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施2.3.1依賴庫(kù)導(dǎo)入步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">依賴庫(kù)導(dǎo)入</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟2:導(dǎo)入依賴庫(kù)。importpandasaspdimportmatplotlibasmplimportmatplotlib.pyplotaspltfromsklearnimportmodel_selectionfromsklearn.treeimportDecisionTreeClassifier按“SHIFT+Enter”,檢查輸出無異常2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施2.3.2數(shù)據(jù)探查文件讀入DataFrame對(duì)象后,需要觀察不同標(biāo)簽的數(shù)據(jù)特征。步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">數(shù)據(jù)探查</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟2:讀入數(shù)據(jù)集文件到DataFrame對(duì)象。df=pd.read_csv('c:/data/titanic.csv',encoding='GBK')df.head()按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟3:空值數(shù)據(jù)字段統(tǒng)計(jì)。null_result=df.isnull().sum()null_result2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)可以看出所有Age、Cabin、Embarked字段有空值。2.3
任務(wù)實(shí)施步驟4:空值比例計(jì)算。Age_null_per=null_result['Age']/df.shape[0]print("年齡字段缺失率=%.2f%%"%(Age_null_per*100))Cabin_null_per=null_result['Cabin']/df.shape[0]print("船艙號(hào)字段缺失率=%.2f%%"%(Cabin_null_per*100))Embarked_null_per=null_result['Embarked']/df.shape[0]print("登船港口字段缺失率=%.2f%%"%(Embarked_null_per*100))2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟5:空值填充。Age_null_fill=df['Age'].mode()[0]Cabin_null_fill=df['Cabin'].mode()[0]Embarked_null_fill=df['Embarked'].mode()[0]df['Age'].fillna(Age_null_fill,inplace=True)df['Cabin'].fillna(Cabin_null_fill,inplace=True)df['Embarked'].fillna(Embarked_null_fill,inplace=True)null_result=df.isnull().sum()null_result2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:所有字段均沒有空值。2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施知識(shí)點(diǎn):眾數(shù)填充眾數(shù)填充眾數(shù)是指在統(tǒng)計(jì)分布上具有明顯集中趨勢(shì)點(diǎn)的數(shù)值,代表數(shù)據(jù)的一般水平。也是一組數(shù)據(jù)中出現(xiàn)次數(shù)最多的數(shù)值,有時(shí)眾數(shù)在一組數(shù)中有好幾個(gè)。
如果遇到一列數(shù)據(jù)是數(shù)值型數(shù)據(jù),如銷售金額、銷售數(shù)量等,可以用這一列的平均值或中位數(shù)進(jìn)行填充。而如果遇到一列數(shù)據(jù)是字符型數(shù)據(jù),如性別、城市等,就可以用這一列的眾數(shù)或中位數(shù)進(jìn)行填充。2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟6:重構(gòu)是否幸存等字段。df_new=df.copy()df_new['Pclass']=df_new['Pclass'].replace({1:'頭等票',2:'二等票',3:'三等票'})df_new['Sex']=df_new['Sex'].replace({0:'女',1:'男'})df_new['Survived']=df_new['Survived'].replace({0:'死亡',1:'生還'})df_new.head()2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟7:統(tǒng)計(jì)生存乘客的不同年齡段分布。按年齡分段:少年(0-15歲),青年(16-40歲),中年(41-65歲),老年(66歲以上),并統(tǒng)計(jì)生存人中不同年齡段的比例。Sur=df_new.loc[df_new['Survived']=='生還']Age_max=df['Age'].max()Age_cut=pd.cut(x=Sur['Age'],bins=[0,15,40,65,Age_max],labels=['少年','青年','中年','老年'])Age_cut_count=Age_cut.value_counts()print("生還乘客不同年齡段分布:\n",Age_cut_count)2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟8:生還乘客的性別、船票級(jí)別統(tǒng)計(jì)。Sex_result=Sur['Sex'].value_counts()print("生還乘客的不同性別統(tǒng)計(jì)結(jié)果:\n",Sex_result)print("-"*30)Pclass_result=Sur['Pclass'].value_counts()print("生還乘客的不同船票級(jí)別統(tǒng)計(jì)結(jié)果:\n",Pclass_result)2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟9:不同兄妹/配偶個(gè)數(shù)的乘客生還死亡比較結(jié)果。cross_SibSp=pd.crosstab(df_new['Survived'],df_new['SibSp'],normalize='columns').iloc[:,0:5]print("不同兄妹/配偶個(gè)數(shù)的乘客生還死亡比較結(jié)果:\n",cross_SibSp)2泰坦尼克幸存乘客預(yù)測(cè)按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2.3
任務(wù)實(shí)施步驟10:乘客父母/子女個(gè)數(shù)生還死亡比較結(jié)果。cross_Parch=pd.crosstab(df_new['Survived'],df_new['Parch'],normalize='columns').iloc[:,0:5]print("不同父母/子女個(gè)數(shù)的乘客生還死亡比較結(jié)果:\n",cross_Parch)2泰坦尼克幸存乘客預(yù)測(cè)按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2.3
任務(wù)實(shí)施2.3.3數(shù)據(jù)可視化##<fontcolor="black">數(shù)據(jù)可視化</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟2:Matplotlib支持中文字符。mpl.rcParams['font.sans-serif']=['SimHei']按“SHIFT+Enter”,檢查輸出無異常2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟3:利用餅圖顯示生還乘客年齡分布。plt.pie(x=Age_cut_count,labels=Age_cut_count.index,autopct='%.1f%%',colors=['darkorange','lightgreen','skyblue'],explode=[0.1,0,0,0],radius=0.7)plt.title("生還乘客年齡分布",color='r',size=15)plt.show()2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟4:利用柱形圖顯示生還乘客的性別、船票級(jí)別統(tǒng)計(jì)結(jié)果。fig=plt.figure(figsize=(8,4))ax1=fig.add_subplot(121)x=Sex_result.indexy=Sex_resultax1.bar(x,y,width=0.2,color='skyblue')ax1.set_title('生還乘客的不同性別統(tǒng)計(jì)結(jié)果',color='r',size=10)2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施ax2=fig.add_subplot(122)x=Pclass_result.indexy=Pclass_resultax2.bar(x,y,width=0.2,color='skyblue')ax2.set_title('生還乘客的不同性別統(tǒng)計(jì)結(jié)果',color='r',size=10)plt.show()接上2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)生還乘客中女性人數(shù)多余男性,生還乘客中頭等票人數(shù)大于三等票,三等票人數(shù)大于二等票。2.3
任務(wù)實(shí)施步驟5:利用累積柱形圖顯示生還死亡乘客兄妹/配偶個(gè)數(shù)、乘客父母/子女個(gè)數(shù)比較結(jié)果。fig=plt.figure(figsize=(10,4))ax1=fig.add_subplot(121)x=cross_SibSp.columns.to_list()y1=cross_SibSp.iloc[0,:]y2=cross_SibSp.iloc[1,:]ax1.bar(x,y1,width=0.4,label='死亡',color='skyblue',edgecolor='grey')ax1.bar(x,y2,width=0.4,bottom=y1,label='生還',color='lightgreen',edgecolor='grey')ax1.set_ylim([0,1.3])ax1.set_xticks(x)ax1.set_title("乘客兄妹/配偶個(gè)數(shù)生還死亡比較結(jié)果")ax1.legend()2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施接上ax2=fig.add_subplot(122)x=cross_Parch.columns.to_list()y1=cross_Parch.iloc[0,:]y2=cross_Parch.iloc[1,:]ax2.bar(x,y1,width=0.4,label='死亡',color='skyblue',edgecolor='grey')ax2.bar(x,y2,width=0.4,bottom=y1,label='生還',color='lightgreen',edgecolor='grey')ax2.set_ylim([0,1.3])ax2.set_xticks(x)ax2.set_title("乘客父母/子女個(gè)數(shù)生還死亡比較結(jié)果")ax2.legend()2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)生還死亡乘客中,乘客兄妹/配偶個(gè)數(shù)為1時(shí),生還的比例較高;而乘客父母/子女個(gè)數(shù)為1和3時(shí),生還的比例較高。2.3
任務(wù)實(shí)施2.3.4數(shù)據(jù)轉(zhuǎn)換步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">數(shù)據(jù)轉(zhuǎn)換</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟2:拆分出特征和標(biāo)簽。X=df.iloc[:,0:-1].valuesy=df.iloc[:,-1]cols_len=X.shape[1]less_cols=list(range(cols_len))foriin[0,1,7,9,10]:less_cols.remove(i)X=X[:,less_cols]X2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施2.3.5模型訓(xùn)練步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">模型訓(xùn)練</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟2:數(shù)據(jù)集拆分成訓(xùn)練集和測(cè)試集,測(cè)試集占20%。X_train,X_test,y_train,y_test=model_selection.train_test_split(X,y,random_state=4,test_size=0.2)X_train.shape,X_test.shape按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟3:訓(xùn)練決策樹分類模型。dt_model=DecisionTreeClassifier(criterion="entropy",max_depth=4,random_state=4)dt_model.fit(X_train,y_train)按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施2.3.6模型評(píng)估步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">模型評(píng)估</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)2.3
任務(wù)實(shí)施步驟2:計(jì)算模型擬合度。R2=lr_model.score(X_test,y_test)print("預(yù)測(cè)準(zhǔn)確率=%.2f%%"%(R2*100))按“SHIFT+Enter”,運(yùn)行結(jié)果如下:2泰坦尼克幸存乘客預(yù)測(cè)數(shù)據(jù)集rainfall.csv提供了歷史上與降雨的相關(guān)的日照、風(fēng)向、風(fēng)速等數(shù)據(jù),現(xiàn)需要根據(jù)測(cè)得的這些數(shù)據(jù)來預(yù)測(cè)是否會(huì)下雨。詳細(xì)的字段描述見下表。3.1任務(wù)描述字段字段類型允許為空標(biāo)簽?例子MinTemp(最低溫度)float否否17.5MaxTemp(最高溫度)float否否36Rainfall(降雨量)float否否0.0Evaporation(蒸發(fā)量)float否否8.8Sunshine(光照時(shí)間)float否否7.5086592183降雨預(yù)測(cè)3.1任務(wù)描述字段字段類型允許為空標(biāo)簽?例子WindGustDir(最強(qiáng)風(fēng)的方向)int否否2WindGustSpeed(最強(qiáng)風(fēng)的速度)float否否26.0WindDir9am(早上9點(diǎn)的風(fēng)向)int否否6WindDir3pm(下午3點(diǎn)的風(fēng)向)int否否0WindSpeed9am(早上9點(diǎn)的風(fēng)速)float否否17.0WindSpeed3pm(下午3點(diǎn)的風(fēng)速)float否否15.0Humidity9am(早上9點(diǎn)的濕度)float否否57.0Humidity3pm(下午3點(diǎn)的濕度)float否否51.65199531接上3降雨預(yù)測(cè)3.1任務(wù)描述字段字段類型允許為空標(biāo)簽?例子Pressure9am(早上9點(diǎn)的大氣壓)float否否1016.8Pressure3pm(下午3點(diǎn)的大氣壓)float否否1012.2Cloud9am(早上9點(diǎn)的云指數(shù))int否否0Cloud3pm(下午3點(diǎn)的云指數(shù))int否否7Temp9am(早上9點(diǎn)的溫度)float否否27.5Temp3pm(下午3點(diǎn)的溫度)float否否21.71900321RainTomorrow(明天是否下雨)int否是0接上3降雨預(yù)測(cè)3.1任務(wù)描述1)在數(shù)據(jù)探查時(shí),將數(shù)據(jù)分為下雨和不下雨,分別統(tǒng)計(jì)特征分布。2)在構(gòu)建訓(xùn)練集,使用數(shù)據(jù)縮放,使得數(shù)據(jù)處于大致相同的數(shù)據(jù)范圍,方便模型的建立。3)通過最低溫度、最高溫度、降雨量、蒸發(fā)量等屬性值,預(yù)測(cè)明天是否會(huì)下雨。4)計(jì)算模型預(yù)測(cè)的準(zhǔn)確率。任務(wù)目標(biāo)3降雨預(yù)測(cè)3.2
任務(wù)分解import方式引入依賴的模塊使用Matplotblib以圓環(huán)圖、折線圖可視化樣本的空間分布依賴庫(kù)導(dǎo)入數(shù)據(jù)探查數(shù)據(jù)可視化從探查數(shù)據(jù)內(nèi)容開始,經(jīng)過分析數(shù)據(jù)分布,使用邏輯回歸模型找到標(biāo)簽和數(shù)據(jù)特征之間的關(guān)系,然后利用線性回歸模型測(cè)試數(shù)據(jù),通過模型擬合度R2評(píng)價(jià)模型。檢查樣本分布、特征/標(biāo)簽類型、空值、重復(fù)行、屬性相互關(guān)系3降雨預(yù)測(cè)3.2
任務(wù)分解轉(zhuǎn)換Pandas類型到Numpy類型在已知樣本上訓(xùn)練回歸模型數(shù)據(jù)轉(zhuǎn)換模型訓(xùn)練接上模型評(píng)估根據(jù)測(cè)試集預(yù)測(cè)得到的label,跟真實(shí)label比較,計(jì)算預(yù)測(cè)準(zhǔn)確率3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施3.3.1依賴庫(kù)導(dǎo)入步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">依賴庫(kù)導(dǎo)入</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟2:導(dǎo)入依賴庫(kù)。importpandasaspdimportmatplotlibasmplimportmatplotlib.pyplotaspltimportseabornassnsfromsklearnimportmodel_selectionfromsklearn.preprocessingimportStandardScalerfromsklearn.treeimportDecisionTreeClassifier按“SHIFT+Enter”,檢查輸出無異常。3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施3.3.2數(shù)據(jù)探查文件讀入DataFrame對(duì)象后,需要觀察不同標(biāo)簽的數(shù)據(jù)特征。步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">數(shù)據(jù)探查</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟2:讀入數(shù)據(jù)集文件到DataFrame對(duì)象。names=['ID','性別','年齡','年收入',"是否買車"]df=pd.read_csv('c:/data/buycar.txt',header=None,names=names)df.head(10)3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟3:數(shù)據(jù)描述。()3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:所有數(shù)據(jù)均是數(shù)值類型,有的是整數(shù)型,有的是浮點(diǎn)型。3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟4:數(shù)據(jù)字段轉(zhuǎn)成字符型。df['RainTomorrow']=df['RainTomorrow'].replace({0:'不下雨',1:'下雨'})df['RainTomorrow'].head()按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟5:是否下雨字段統(tǒng)計(jì)。RainTomorrow_count=df['RainTomorrow'].value_counts()RainTomorrow_count按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟6:是否下雨時(shí)最低溫度、最高溫度、日照時(shí)間、蒸發(fā)量、風(fēng)速的統(tǒng)計(jì)。group_result=df.groupby(by='RainTomorrow')[['MinTemp','MaxTemp','Sunshine','Evaporation','WindGustSpeed']].mean()group_result按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施3.3.3數(shù)據(jù)可視化##<fontcolor="black">數(shù)據(jù)可視化</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟2:Matplotlib支持中文字符。mpl.rcParams['font.sans-serif']=['SimHei']按“SHIFT+Enter”,檢查輸出無異常3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟3:利用圓環(huán)圖顯示是否購(gòu)買用戶比例。plt.pie(x=RainTomorrow_count,labels=RainTomorrow_count.index,autopct='%.1f%%',colors=['darkorange','lightgreen'],radius=0.7)plt.pie(x=[1],colors='w',radius=0.5)plt.title("是否下雨數(shù)據(jù)分布統(tǒng)計(jì)",color='r',size=15)plt.show()3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟4:利用折線圖比較是否下雨時(shí)最低溫度、最高溫度、日照時(shí)間、蒸發(fā)量、風(fēng)速的統(tǒng)計(jì)結(jié)果。x=group_result.columns.to_list()y1=group_result.iloc[0,:]y2=group_result.iloc[1,:]plt.plot(x,y1,color='r',linestyle='--',label='下雨')plt.plot(x,y2,color='b',linestyle='-',label='不下雨')plt.legend()plt.show()3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施3.3.4數(shù)據(jù)轉(zhuǎn)換步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">數(shù)據(jù)轉(zhuǎn)換</font>按“SHIFT+Enter”,檢查輸出無異常3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟2:拆分出特征和標(biāo)簽。X=df.iloc[:,0:-1].valuesy=df.iloc[:,-1]按“SHIFT+Enter”,
檢查輸出無異常3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施3.3.5模型訓(xùn)練步驟1:定義2級(jí)標(biāo)題。##<fontcolor="black">模型訓(xùn)練</font>按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟2:切分訓(xùn)練集和測(cè)試集。X_train,X_test,y_train,y_test=model_selection.train_test_split(X,y,random_state=4,test_size=0.2)X_train[:5]按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施步驟3:數(shù)據(jù)放縮。sc=StandardScaler()X_train=sc.fit_transform(X_train)X_test=sc.transform(X_test)X_train[:5]3降雨預(yù)測(cè)3.3
任務(wù)實(shí)施按“SHIFT+Enter”,運(yùn)行結(jié)果如下:3降雨預(yù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 民間投資合作協(xié)議合同范文
- 企業(yè)間房產(chǎn)轉(zhuǎn)讓合同細(xì)則
- 軍人離婚正式合同書模板
- 9 古詩(shī)三首 雪梅教學(xué)設(shè)計(jì)-2024-2025學(xué)年四年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 2 日晷 教學(xué)設(shè)計(jì)-2023-2024學(xué)年科學(xué)四年級(jí)下冊(cè)大象版
- 小學(xué)2024年教育教學(xué)專項(xiàng)發(fā)展規(guī)劃執(zhí)行、完成情況
- 個(gè)人土地交易合同及相關(guān)條款
- 10《我們所了解的環(huán)境污染》(教學(xué)設(shè)計(jì))-統(tǒng)編版道德與法治四年級(jí)上冊(cè)
- 2024-2025學(xué)年人教版(2024)七年級(jí)英語(yǔ)上冊(cè)寒假教學(xué)設(shè)計(jì)day7
- 員工服裝合同范本
- 防排煙規(guī)范培訓(xùn)
- DL-T 1476-2023 電力安全工器具預(yù)防性試驗(yàn)規(guī)程
- 飛灰處置及資源化綜合利用項(xiàng)目可行性研究報(bào)告模板-備案拿地
- 2024年咨詢工程師考試大綱
- 免疫治療皮疹護(hù)理查房
- 小學(xué)六年級(jí)開學(xué)第一課課件二篇
- 2024年棉柔巾行業(yè)市場(chǎng)趨勢(shì)分析
- 2024年邵陽(yáng)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 老年期譫妄課件
- 兒童服裝設(shè)計(jì)教學(xué)目標(biāo)
- 河道保潔服務(wù)日常巡邏方案及措施
評(píng)論
0/150
提交評(píng)論