dw怎樣去除網(wǎng)站做的頁(yè)面模板網(wǎng)站運(yùn)營(yíng)及推廣方案
整體求解過程概述(摘要)
??近年來,全球早產(chǎn)率總體呈上升趨勢(shì),在我國(guó),早產(chǎn)兒以每年 20 萬(wàn)的數(shù)目逐年遞增,目前早產(chǎn)已經(jīng)成為重大的公共衛(wèi)生問題之一。據(jù)研究,早產(chǎn)是威脅胎兒及新生兒健康的重要因素,可能會(huì)造成死亡或智力體力缺陷,因此研究早產(chǎn)的影響因素,建立預(yù)測(cè)早產(chǎn)的模型就顯得極為重要。我們以問卷、面對(duì)面訪談的方式,收錄了湖南省婦幼保健院 2013 年 5 月 13 日-2019 年 12 月 31 日妊娠 8-14周且接受首次產(chǎn)前護(hù)理的孕婦,共 18527 份樣本,調(diào)查研究孕婦包括醫(yī)學(xué)和社會(huì)學(xué)信息在內(nèi)的 104 個(gè)變量。基于大樣本、多變量的數(shù)據(jù)特征,對(duì)數(shù)據(jù)預(yù)處理后,首先基于傳統(tǒng)的統(tǒng)計(jì)方法,依次通過 SMOTE 過采樣均衡數(shù)據(jù)、x2 相似性檢驗(yàn)剔除無關(guān)變量、二階聚類(TwoStep Cluster)實(shí)現(xiàn)降維,用 Binary Logistic 建立早產(chǎn)預(yù)測(cè)模型,并通過 AUC-ROC 曲線對(duì)早產(chǎn)預(yù)測(cè)模型進(jìn)行準(zhǔn)確性檢驗(yàn);在此基礎(chǔ)上,進(jìn)一步探討并合理利用機(jī)器學(xué)習(xí)的效力,用數(shù)據(jù)挖掘的方法,依次通過隨機(jī)欠抽樣平衡樣本,特征選擇變量實(shí)現(xiàn)變量降維,分別用決策樹 C5.0 算法,推理集 C5.0算法,決策樹 CHAID 算法建立早產(chǎn)預(yù)測(cè)模型,并通過 boosting 技術(shù)提高模型穩(wěn)健性。
??根據(jù)二階聚類降維結(jié)果、Binary Logistic 建立的早產(chǎn)預(yù)測(cè)模型及檢驗(yàn)結(jié)果,發(fā)現(xiàn)城鄉(xiāng)分組、人均月收入、母親孕前 BMI 分組、受精方式、受孕方式、孕次分組、孕早期柯薩奇病毒、孕前既往性病史、是否采用剖宮產(chǎn)、配偶 BMI 分組這 10 個(gè)變量與是否早產(chǎn)的相關(guān)性較強(qiáng),且在經(jīng)過啞變量處理后,適用于建立早產(chǎn)預(yù)測(cè)模型。通過 AUC-ROC 曲線,檢驗(yàn)出該早產(chǎn)預(yù)測(cè)模型擬合度良好。在初步探索之后,進(jìn)一步深入利用機(jī)器學(xué)習(xí),即分別使用決策樹 C5.0 算法,推理集 C5.0 算法,決策樹 CHAID 算法建立三個(gè)早產(chǎn)預(yù)測(cè)模型。其中通過決策樹 C5.0 算法建立的早產(chǎn)預(yù)測(cè)模型,在測(cè)試集上的準(zhǔn)確性為 93.78%,平均正確性為 0.859、平均不正確性為 0.692;推理集 C5.0 算法的準(zhǔn)確性為 95.92%,平均正確性為 0.824、平均不正確性為0.714;決策樹 CHAID 算法建立的早產(chǎn)預(yù)測(cè)模型,在測(cè)試集上的準(zhǔn)確性為79.58%,取置信度為 0.812。
數(shù)據(jù)預(yù)處理
??(一)變量預(yù)處理
??類別化處理及選擇:將品質(zhì)變量整理成 0-1 型數(shù)值變量,如民族;對(duì)于連續(xù)變量和其他可合并的變量進(jìn)行整合,這樣會(huì)得到有重復(fù)信息的變量,比如配偶BMI 值和配偶 BMI 值分組,受孕方式和受孕方式兩分類。不做特別說明的情況下,本次研究將主要使用分類型變量,且選擇使用分類型變量中分組較少的那一個(gè),比如剛剛提到兩組變量,均選擇后一組變量進(jìn)入樣本。這是因?yàn)樵诒敬窝芯恐?#xff0c;分類型變量占絕大多數(shù),而相同的數(shù)據(jù)類型有更方便建模的處理,投入到未來實(shí)際預(yù)測(cè)操作中也更加簡(jiǎn)單明了。
??(二)樣本處理
??類別不平衡(class-imbalance):指分類任務(wù)中不同類別的訓(xùn)練樣例數(shù)目差別很大的情況。在分類學(xué)習(xí)中方法,默認(rèn)不同類別的訓(xùn)練樣例數(shù)目基本相當(dāng)。若樣本類別數(shù)目差別很大,屬于極端不均衡,會(huì)對(duì)學(xué)習(xí)過程(模型訓(xùn)練)造成困擾。這些學(xué)習(xí)算法的設(shè)計(jì)背后隱含的優(yōu)化目標(biāo)是數(shù)據(jù)集上的分類準(zhǔn)確度,而這會(huì)導(dǎo)致學(xué)習(xí)算法在不平衡數(shù)據(jù)上更偏向于含更多樣本的多數(shù)類。多數(shù)不平衡學(xué)習(xí)(imbalance learning)算法就是為解決這種“對(duì)多數(shù)類的偏好”而提出的。據(jù)實(shí)踐經(jīng)驗(yàn)表明,正負(fù)類樣本類別不平衡比例超過 4:1 時(shí),分類要求會(huì)因?yàn)閿?shù)據(jù)不平衡而無法得到滿足,分類器處理結(jié)果將變差,導(dǎo)致預(yù)測(cè)效果達(dá)不到預(yù)期要求。在本次研究項(xiàng)目中,早產(chǎn) 0:1 比約為 5:1(0 為不發(fā)生,1 為發(fā)生。本論文其他部分未做其他說明時(shí),都按照該標(biāo)簽規(guī)則),因此在構(gòu)建模型之前,需要對(duì)該分類不均衡性問題進(jìn)行處理。
二階聚類
??實(shí)現(xiàn)步驟
??步驟 1、建立樹根 clusterfeature,樹根在一開始每個(gè)節(jié)點(diǎn)中會(huì)放置一個(gè)數(shù)據(jù)集中的第一個(gè)記錄,它就包含有這個(gè)數(shù)據(jù)存儲(chǔ)集中每個(gè)變量的信息。相似性用的是距離數(shù)值測(cè)量,數(shù)據(jù)的相似性可以作為進(jìn)行距離數(shù)值測(cè)量的主要標(biāo)準(zhǔn)。相似度高的變量位于同一節(jié)點(diǎn),同時(shí),相似度低的變量生成新節(jié)點(diǎn)。似然歸類測(cè)度模型假設(shè)每個(gè)變量必須服從特定的概率分布,聚類模型要求分類型獨(dú)立變量必須服從多項(xiàng)式概率分布,數(shù)值型獨(dú)立變量必須服從正態(tài)概率分布。
??步驟 2、合并聚類算法。生成的聚類方案具有不同聚類數(shù),不同的聚類數(shù)是基于合并聚類算法下節(jié)點(diǎn)的組合成果。
??步驟 3、選擇最優(yōu)聚類數(shù)。通過 BIC:Bayesian Information Criterion 準(zhǔn)則對(duì)各聚類情況進(jìn)行比較,選出最優(yōu)聚類方案。
??數(shù)值說明
??①對(duì)數(shù)似然:這種度量方式用于研究某種以確定概率分布的獨(dú)立變量。其中數(shù)值型變量服從正態(tài)分布,分類型變量服從多項(xiàng)式分布。
??②Bayesian 信息準(zhǔn)則( BIC):在只有部分信息時(shí),要預(yù)測(cè)未知狀態(tài)下的部分信息值,選用主觀概率;修正發(fā)生概率時(shí)采用貝葉斯公式,將得到的修正概率與預(yù)期產(chǎn)出的值結(jié)合計(jì)算出最優(yōu)決策。
??計(jì)算公式:
????????????????BIC=ln(n)k–2ln(L)
??其中:k 為模型參數(shù)個(gè)數(shù);n 為樣本數(shù)量;L 為似然函數(shù)
??聚類結(jié)果
??二階聚類適用于多分類變量的降維問題。顯然,本次研究數(shù)據(jù)可選用 SPSS 中的二階聚類對(duì)變量進(jìn)行降維,聚類效果為良好,并最終由 77 個(gè)自變量降維到 14個(gè)主要變量(該 14 個(gè)變量重要性都為 1)
模型的建立與求解整體論文縮略圖
全部論文請(qǐng)見下方“ 只會(huì)建模 QQ名片” 點(diǎn)擊QQ名片即可
程序代碼:(代碼和文檔not free)
from imblearn.over_sampling import SMOTE
import numpy as np
from sklearn.model_selection import train_test_split
data = pd.read_excel('1(2).xlsx') #讀取數(shù)據(jù)集
data = data.dropna(axis = 1, how = 'any') # 丟棄有 NAN 的列
data = data.dropna(axis = 0, how = 'any') # 丟棄有 NAN 的行
data = data.drop(columns=['ID', '調(diào)查人署名']) # 丟棄 ID 和調(diào)查人屬名,這兩
個(gè)非 float,放在這里是無效的
var = data.columns
Y = data.iloc[:,-1] # 獲得因變量數(shù)據(jù)
X = data.iloc[:,:-1] # 獲得自變量數(shù)據(jù)
oversampler=SMOTE(random_state=2021) # 導(dǎo)入過采樣庫(kù)—SMOTE 算法
# x_train, x_valid_test, y_train, y_valid_test =
train_test_split(X,Y,test_size=0.3,random_state=2020) # 將數(shù)據(jù)集切分為 訓(xùn)練集和
驗(yàn)證+測(cè)試集
x_train,y_train=oversampler.fit_sample(X,Y) # 對(duì)訓(xùn)練集進(jìn)行 SMOTE 過采樣,
得到過采樣后的自變量和因變量
#
x_valid,x_test,y_valid,y_test=train_test_split(x_valid_test,y_valid_test,test_size=0.3,r
andom_state=2020)
data_smote = pd.concat([x_train,y_train],axis = 1)