第9章 員工離職風(fēng)險(xiǎn)預(yù)測_第1頁
第9章 員工離職風(fēng)險(xiǎn)預(yù)測_第2頁
第9章 員工離職風(fēng)險(xiǎn)預(yù)測_第3頁
第9章 員工離職風(fēng)險(xiǎn)預(yù)測_第4頁
第9章 員工離職風(fēng)險(xiǎn)預(yù)測_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第9章員工離職風(fēng)險(xiǎn)預(yù)測第9章員工離職預(yù)測9.1Scikit-Learn簡介9.2分類和回歸預(yù)測步驟9.3安裝Scikit-Learn9.4讀取數(shù)據(jù)9.5類別特征轉(zhuǎn)換為二進(jìn)制特征9.6劃分?jǐn)?shù)據(jù)集9.7Min-Max歸一化處理9.8邏輯回歸預(yù)測9.9模型預(yù)測及評(píng)估第9章員工離職預(yù)測9.1Scikit-Learn簡介Scikit-Learn是一個(gè)基于Python語言的機(jī)器學(xué)習(xí)庫,建立在NumPy、SciPy、Pandas和Matplotlib之上。在Scikit-Learn里面有六大任務(wù)模塊,分別是分類、回歸、聚類、降維、模型選擇和預(yù)處理。Scikit-Learn是用于預(yù)測性數(shù)據(jù)分析的簡單高效的工具。在Scikit-Learn中,分類和回歸預(yù)測的實(shí)現(xiàn)都是通過估計(jì)器(estimator)來完成的。估計(jì)器是一種實(shí)現(xiàn)了算法的對象,它可以對數(shù)據(jù)進(jìn)行擬合(fit)和預(yù)測(predict)操作。Scikit-Learn提供了許多常用的估計(jì)器,例如線性回歸器、邏輯回歸器、支持向量機(jī)、決策樹、隨機(jī)森林分類器、K均值聚類和主成分分析等。第9章員工離職預(yù)測9.2分類和回歸預(yù)測步驟在使用Scikit-Learn進(jìn)行分類和回歸預(yù)測時(shí),我們需要按照以下步驟進(jìn)行操作:(1)導(dǎo)入所需的模塊和數(shù)據(jù)集。(2)創(chuàng)建一個(gè)估計(jì)器對象。(3)使用fit()方法擬合數(shù)據(jù)。(4)使用predict()方法進(jìn)行預(yù)測。第9章員工離職預(yù)測9.3安裝Scikit-Learn我們也可以使用清華鏡像源安裝,通常速度會(huì)更快一些:pipinstallscikit-learnpipinstallscikit-learn-i/simple第9章員工離職預(yù)測9.4讀取數(shù)據(jù)import

numpy

as

npimport

pandas

as

pddata=pd.read_csv("data\HR_comma_sep.csv")#讀取文件data第9章員工離職預(yù)測9.5類別特征轉(zhuǎn)換為二進(jìn)制特征為滿足模型對輸入數(shù)據(jù)的要求,我們需要對sales和salary列中的數(shù)據(jù)(類別)進(jìn)行獨(dú)熱編碼。from

sklearn.preprocessing

import

OneHotEncoder

#導(dǎo)入獨(dú)熱編碼模塊def

one_hot(data):

"""將原數(shù)據(jù)中的非數(shù)值轉(zhuǎn)為數(shù)值類型"""

oh=OneHotEncoder()#構(gòu)建獨(dú)熱編碼器

result=oh.fit_transform(data[["sales"]])#轉(zhuǎn)換sales列

re=pd.DataFrame(result.toarray(),columns=oh.categories_[0],index=data.index)

result1=oh.fit_transform(data[["salary"]])#轉(zhuǎn)換salary列

re1=pd.DataFrame(result1.toarray(),columns=oh.categories_[0],index=data.index)

data_final

=pd.concat([data,re,re1],axis=1)

#按列進(jìn)行合并

data_final.drop('sales',inplace=True,axis=1)#刪除原來的sales列

data_final.drop('salary',inplace=True,axis=1)#刪除原來的salary列

return

data_final

data=one_hot(data)data第9章員工離職預(yù)測9.5類別特征轉(zhuǎn)換為二進(jìn)制特征第9章員工離職預(yù)測9.6劃分?jǐn)?shù)據(jù)集將數(shù)據(jù)集劃分為訓(xùn)練集和測試集。train_test_split()函數(shù)用于將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,以用于模型的訓(xùn)練和評(píng)估。將數(shù)據(jù)集X和y按照0.3的比例劃分訓(xùn)練集和測試集。X_train、X_test、y_train和y_test分別表示訓(xùn)練集、測試集、特征數(shù)據(jù)和目標(biāo)數(shù)據(jù)。left列作為標(biāo)簽,第9章員工離職預(yù)測9.6劃分?jǐn)?shù)據(jù)集from

sklearn.model_selection

import

train_test_splitdef

split_data(data):

"""劃分?jǐn)?shù)據(jù)集"""

target=data.loc[:,'left']#提取left列作為標(biāo)簽,是我們預(yù)測的目標(biāo)

data=data.drop(['left'],axis=1)#刪除left列后,剩下的列作為數(shù)據(jù)

x_train,x_test,y_train,y_test=train_test_split(data,target,test_size=0.3,random_state=1)#將數(shù)據(jù)集X和y按照0.3的比例劃分訓(xùn)練集和測試集

return

x_train,x_test,y_train,y_test

x_train,x_test,y_train,y_test=split_data(data)#獲得訓(xùn)練集和測試集x_train

#輸出訓(xùn)練數(shù)據(jù)y_train

#輸出訓(xùn)練數(shù)據(jù)的相應(yīng)標(biāo)簽第9章員工離職預(yù)測9.6劃分?jǐn)?shù)據(jù)集第9章員工離職預(yù)測9.7Min-Max歸一化處理from

sklearn.preprocessing

import

MinMaxScalerdef

normalize(x_train,x_test):

"""歸一化處理"""

transfer=MinMaxScaler()#構(gòu)建縮放器

x_train=transfer.fit_transform(x_train)#將訓(xùn)練集中的值縮放到0到1之間。

x_test=transfer.transform(x_test)#將測試集中的值縮放到0到1之間。

return

x_train,x_test

x_train,x_test=normalize(x_train,x_test)x_train,x_test第9章員工離職預(yù)測9.7Min-Max歸一化處理第9章員工離職預(yù)測9.8邏輯回歸預(yù)測當(dāng)所有準(zhǔn)備工作完成后,我們就要使用Scikit-Learn自帶的包來訓(xùn)練模型。邏輯回歸模型是一種二分類模型,用于預(yù)測一個(gè)樣本屬于哪一類。from

sklearn.linear_model

import

LogisticRegression"""利用邏輯回歸來預(yù)測員工離職"""estimitor=LogisticRegression()#構(gòu)建邏輯回歸模型,邏輯回歸是一種二分類模型,用于預(yù)測一個(gè)樣本屬于哪一類。estimitor.fit(x_train,y_train)

#訓(xùn)練模型第9章員工離職預(yù)測9.9模型預(yù)測及評(píng)估當(dāng)模型訓(xùn)練完成后,我們需要對模型進(jìn)行預(yù)測和評(píng)估。accuracy_score()函數(shù)將模型預(yù)測的結(jié)果與真實(shí)結(jié)果進(jìn)行比較,計(jì)算出模型預(yù)測的準(zhǔn)確率。from

sklearn.metrics

import

accuracy_score,classification_report#模型預(yù)測及評(píng)估y_pred=estimitor.predict(x_test)#對測試數(shù)據(jù)進(jìn)行預(yù)測print('準(zhǔn)確度:',accuracy_score(y_test,y_pred))#將模型預(yù)測的結(jié)果與真實(shí)結(jié)果進(jìn)行比較,計(jì)算出模型的準(zhǔn)確率。y_test表示真實(shí)結(jié)果。print('分類報(bào)告:')print(classification_report(y_test,y_pred)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論