《智能數(shù)據(jù)分析與應用》 課件 單元7 綜合數(shù)據(jù)分析案例_第1頁
《智能數(shù)據(jù)分析與應用》 課件 單元7 綜合數(shù)據(jù)分析案例_第2頁
《智能數(shù)據(jù)分析與應用》 課件 單元7 綜合數(shù)據(jù)分析案例_第3頁
《智能數(shù)據(jù)分析與應用》 課件 單元7 綜合數(shù)據(jù)分析案例_第4頁
《智能數(shù)據(jù)分析與應用》 課件 單元7 綜合數(shù)據(jù)分析案例_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

泰坦尼克號幸存者預測7數(shù)據(jù)分析01訓練測試021數(shù)據(jù)分析1數(shù)據(jù)分析

泰坦尼克號是英國1912年沉沒的巨型游輪,也是當時世界上體積最龐大、內(nèi)部設施最豪華的客運輪船,有“永不沉沒”的美譽。然而不幸的是,在它的首次航行從英國南安普敦出發(fā)駛向美國紐約期間,泰坦尼克號便遭厄運。1912年4月14日23時40分左右,泰坦尼克號與一座冰山相撞,最終導致2224名船員及乘客中,1517人喪生,其中僅333具罹難者遺體被尋回。這場悲劇轟動了國際社會。雖然在這場災難中幸存下來有一些運氣在里面,但一些人比其他人更有可能幸存,比如婦女,兒童和上層階級。

要求通過對乘客數(shù)據(jù)進行數(shù)據(jù)分析,最終使用分類模型來判斷哪些乘客存活的可能性更大。1

數(shù)據(jù)是在/c/titanic上進行下載,是泰坦尼克號乘客的數(shù)據(jù),分為兩部分:訓練集(train.csv)和測試集(test.csv)。首先對乘客數(shù)據(jù)進行一系列的分析,處理,清洗,最終使用分類模型來判斷哪些乘客可以存活。。數(shù)據(jù)分析1importpandasaspdimportnumpyasnpimportrandomimportseabornassnsimportmatplotlib.pyplotaspltplt.rcParams["font.sans-serif"]=["SimHei"]#plt.rcParams是用來設置參數(shù)的,顯示中文plt.rcParams['axes.unicode_minus']=Falsefromsklearn.linear_modelimportLogisticRegressionfromsklearn.metricsimportconfusion_matrix,accuracy_score,precision_score,recall_score,f1_score,roc_auc_score,roc_curve,aucimportwarningswarnings.filterwarnings("ignore")一、導入需要的包:數(shù)據(jù)分析1train_df=pd.read_csv('train.csv')#讀取訓練集test_df=pd.read_csv('test.csv')#讀取測試集combine=[train_df,test_df]#組合數(shù)據(jù),存儲data_df和data_df,用于統(tǒng)一的數(shù)據(jù)清洗和編碼二、導入數(shù)據(jù):三、查看數(shù)據(jù)集信息:train_df.head()test_df.head()數(shù)據(jù)分析1數(shù)據(jù)分析1列名說明列名說明PassengerId乘客IDParch父母和孩子數(shù)量pclass船艙等級(1最好,2次之,3最后)Ticket票號Name姓名Fare船票價格sex性別Cabin乘客所在船艙的編號Age年齡Embarked登船港口Sibsp兄弟姐妹或者配偶人數(shù)survival是否存活(0:否1:是)列名及其對應說明:數(shù)據(jù)分析1train_df=pd.read_csv('train.csv')#讀取訓練集test_df=pd.read_csv('test.csv')#讀取測試集combine=[train_df,test_df]#組合數(shù)據(jù),存儲data_df和data_df,用于統(tǒng)一的數(shù)據(jù)清洗和編碼四、變量分析和可視化:1)去除其中的無用特征數(shù)據(jù)分析1tfig=plt.figure(figsize=(8,6))plt.suptitle("Pclass")sns.countplot(x="Pclass",hue="Survived",data=train_df)plt.show()train_df[['Pclass',

'Survived']].groupby(['Pclass'],

as_index=False).mean().sort_values(by='Survived',

ascending=False)

2)按順序?qū)Ω鱾€特征進行分析和處理船艙等級-Pclass數(shù)據(jù)分析12)按順序?qū)Ω鱾€特征進行分析和處理船艙等級-Pclass數(shù)據(jù)分析Pclass和survived的關系1查看處理之后的數(shù)據(jù)查看變量相關性數(shù)據(jù)分析X_train=train_df.drop(columns=["Survived"],axis=1)Y_train=train_df["Survived"]X_test=test_dfY_test=pd.read_csv("./submission.csv")['Survived']print(X_train.shape,Y_train.shape,X_test.shape,Y_test.shape)print(X_train.columns)#data.corr()給出了任意兩個變量之間的相關系數(shù)#heatmap熱地圖sns.heatmap(X_train.corr(),annot=True)1熱力圖數(shù)據(jù)分析2訓練測試2

這里選用了邏輯回歸,logistic回歸是一種廣義線性回歸(generalizedlinearmodel),因此與多重線性回歸分析有很多相同之處。訓練:訓練測試X_train=train_df.drop(columns=["Survived"],axis=1)Y_train=train_df["Survived"]X_test=test_dfY_test=pd.read_csv("./submission.csv")['Survived']print(X_train.shape,Y_train.shape,X_test.shape,Y_test.shape)logreg=LogisticRegression()logreg.fit(X_train,Y_train)LogisticRegression(C=1.0,class_weight=None,dual=False,fit_intercept=True,intercept_scaling=1,max_iter=100,multi_class='ovr',n_jobs=1,penalty='l2',random_state=None,solver='liblinear',tol=0.0001,verbose=0,warm_start=False)2測試:訓練測試y_test_pred=logreg.predict(X_test)print('混淆矩陣:',confusion_matrix(Y_test,y_test_pred))print('準確率:',accuracy_score(Y_test,y_test_pred))print('精確率:',precision_score(Y_test,y_test_pred))print('召回率:',recall_score(Y_test,y_test_pred))print('F1_score:',f1_score(Y_test,y_test_pred))print('roc_auc為:',roc_auc_score(Y_test,y_test_pred))2運行上述程序,輸出結果如下:訓練測試混淆矩陣:[[24413][13148]]準確率:0.937799043062201精確率:0.9192546583850931召回率:0.9192546583850931F1_score:0.9192546583850931roc_auc為:0.9343355003987722ThankYOU!

房價預測7數(shù)據(jù)分析01訓練測試021數(shù)據(jù)分析1數(shù)據(jù)分析

AmesHousing

dataset是美國愛荷華州的艾姆斯鎮(zhèn)2006-2010年的房價數(shù)據(jù)集,要求對/c/house-prices-advanced-regression-techniques提供的1460條房價數(shù)據(jù),進行預處理,特征工程,然后通過選取合適參數(shù)建模,最終對未知房價的數(shù)據(jù)進行預測。1importnumpyasnpimportpandasaspdimportseabornassnsfromscipyimportstatsimportmatplotlib.styleasstyleimportmatplotlib.pyplotaspltimportmatplotlib.gridspecasgridspec%matplotlibinlinefromsklearnimportpreprocessingfromsklearn.linear_modelimportRidgefromsklearn.model_selectionimportcross_val_scorefromsklearn.model_selectionimporttrain_test_splitfromsklearn.metricsimportr2_scoreimportwarningswarnings.filterwarnings("ignore")一、導入需要的包:數(shù)據(jù)分析1data=pd.read_csv('house_price/data.csv',index_col=0)data.shapedata.head()二、導入數(shù)據(jù):數(shù)據(jù)分析1三、變量分析:由于房價預測使用的是回歸算法,因此需要滿足多元線性回歸模型的基本假設,具體包括:(1)因變量與自變量之間存在線性相關關系;(2)隨機誤差項具有零均值和同方差;(3)隨機誤差項在不同樣本點之間是相互獨立的;(4)隨機誤差項應服從正態(tài)分布;(5)自變量之間不存在嚴格線性相關性,如果存在相關性稱為多重共線性數(shù)據(jù)分析1sns.distplot(data['SalePrice'])#直方圖橫軸表示數(shù)值范圍,縱軸表示實例數(shù)量res=bplot(data['SalePrice'],plot=plt)#通過QQ圖可以看出不是正態(tài)分布plt.show()

SalePrice:通過直方圖和QQ圖來查看是否服從正態(tài)分布數(shù)據(jù)分析1使用log1p函數(shù)對SalePrice進行平滑處理,查看其分布變化:數(shù)據(jù)分析prices=pd.DataFrame({"price":data["SalePrice"],"log(price+1)":np.log1p(data["SalePrice"])})prices.hist()1分析線性相關,可以采用熱力圖:數(shù)據(jù)分析plt.subplots(figsize=(30,20))mask=np.zeros_like(data.corr(),dtype=np.bool)mask[np.triu_indices_from(mask)]=Truesns.heatmap(data.corr(),cmap=sns.diverging_palette(20,220,n=200),mask=mask,annot=True,center=0,);plt.title("HeatmapofalltheFeatures",fontsize=30);1熱力圖數(shù)據(jù)分析1畫出相關系數(shù)最大的特征與SalePrice的熱力圖:數(shù)據(jù)分析plt.subplots(figsize=(10,10))corrmat=data.corr()k=10#關系矩陣中將顯示10個特征cols=corrmat.nlargest(k,'SalePrice')['SalePrice'].indexcm=np.corrcoef(data[cols].values.T)sns.set(font_scale=1.25)hm=sns.heatmap(cm,cbar=True,annot=True,\square=True,fmt='.2f',annot_kws={'size':10},yticklabels=cols.values,xticklabels=cols.values)plt.show()1熱力圖數(shù)據(jù)分析1forfeaturein['PoolQC','MiscFeature','Alley','Fence','FireplaceQu','MasVnrType']:data[feature]=data[feature].fillna('None')data['MasVnrArea']=data['MasVnrArea'].fillna(0)四、缺失值處理:根據(jù)特征含義對缺失值進行填充,首先對根據(jù)特征含義進行填充,Alley(巷子類型)、MasVnrType(砌體飾面類型)、FireplaceQu(壁爐質(zhì)量)、PoolQC(游泳池質(zhì)量)、Fence(柵欄)、MiscFeature(其他功能)填充None,MasVnrArea(砌體飾面面積)填充0數(shù)據(jù)分析1y=np.log1p(data["SalePrice"]).values#對SalePrice進行平滑data.drop(columns=['SalePrice'],axis=1,inplace=True)#對離散特征進行編碼all_dummy_df=pd.get_dummies(data)#數(shù)據(jù)標準化x_scaled=preprocessing.StandardScaler().fit_transform(all_dummy_df)y_scaled=preprocessing.StandardScaler().fit_transform(y.reshape(-1,1))劃分數(shù)據(jù)集:X

溫馨提示

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

評論

0/150

提交評論