Python數(shù)據(jù)科學(xué):神經(jīng)網(wǎng)絡(luò)
# 極值標(biāo)準(zhǔn)化處理
scaler = MinMaxScaler()
scaler.fit(train_data)
scaled_train_data = scaler.transform(train_data)
scaler_test_data = scaler.transform(test_data)
建立多層感知器模型。
# 設(shè)置多層感知器對(duì)應(yīng)的模型
mlp = MLPClassifier(hidden_layer_sizes=(10,), activation='logistic', alpha=0.1, max_iter=1000)
# 對(duì)訓(xùn)練集進(jìn)行模型訓(xùn)練
mlp.fit(scaled_train_data, train_target)
# 輸出神經(jīng)網(wǎng)絡(luò)模型信息
print(mlp)
輸出模型信息如下。
接下來(lái)使用經(jīng)過訓(xùn)練集訓(xùn)練的模型,對(duì)訓(xùn)練集及測(cè)試集進(jìn)行預(yù)測(cè)。
# 使用模型進(jìn)行預(yù)測(cè)
train_predict = mlp.predict(scaled_train_data)
test_predict = mlp.predict(scaler_test_data)
輸出預(yù)測(cè)概率,用戶流失的概率。
# 輸出模型預(yù)測(cè)概率(為1的情況)
train_proba = mlp.predict_proba(scaled_train_data)[:, 1]
test_proba = mlp.predict_proba(scaler_test_data)[:, 1]
對(duì)模型進(jìn)行評(píng)估,輸出評(píng)估數(shù)據(jù)。
# 根據(jù)預(yù)測(cè)信息輸出模型評(píng)估結(jié)果
print(metrics.confusion_matrix(test_target, test_predict, labels=[0, 1]))
print(metrics.classification_report(test_target, test_predict))
輸出如下。
模型對(duì)流失用戶的f1-score(精確率和召回率的調(diào)和平均數(shù))值為0.81,效果不錯(cuò)。
此外對(duì)流失用戶的靈敏度recall為0.83,模型能識(shí)別出83%的流失用戶,說(shuō)明模型識(shí)別流失用戶的能力還可以。
輸出模型預(yù)測(cè)的平均準(zhǔn)確度。
# 使用指定數(shù)據(jù)集輸出模型預(yù)測(cè)的平均準(zhǔn)確度
print(mlp.score(scaler_test_data, test_target))
# 輸出值為0.8282828282828283
平均準(zhǔn)確度值為0.8282。
計(jì)算模型的ROC下面積。
# 繪制ROC曲線
fpr_test, tpr_test, th_test = metrics.roc_curve(test_target, test_proba)
fpr_train, tpr_train, th_train = metrics.roc_curve(train_target, train_proba)
plt.figure(figsize=[3, 3])
plt.plot(fpr_test, tpr_test, 'b--')
plt.plot(fpr_train, tpr_train, 'r-')
plt.title('ROC curve')
plt.show()
# 計(jì)算AUC值
print(metrics.roc_auc_score(test_target, test_proba))
# 輸出值為0.9149632415075206
ROC曲線圖如下。
訓(xùn)練集和測(cè)試集的曲線很接近,沒有過擬合現(xiàn)象。
AUC值為0.9149,說(shuō)明模型效果非常好。
對(duì)模型進(jìn)行最優(yōu)參數(shù)搜索,并且對(duì)最優(yōu)參數(shù)下的模型進(jìn)行訓(xùn)練。

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
-
機(jī)器人奧運(yùn)會(huì)戰(zhàn)報(bào):宇樹機(jī)器人摘下首金,天工Ultra搶走首位“百米飛人”
-
存儲(chǔ)圈掐架!江波龍起訴佰維,索賠121萬(wàn)
-
長(zhǎng)安汽車母公司突然更名:從“中國(guó)長(zhǎng)安”到“辰致科技”
-
豆包前負(fù)責(zé)人喬木出軌BP后續(xù):均被辭退
-
字節(jié)AI Lab負(fù)責(zé)人李航卸任后返聘,Seed進(jìn)入調(diào)整期
-
員工持股爆雷?廣汽埃安緊急回應(yīng)
-
中國(guó)“智造”背后的「關(guān)鍵力量」
-
小米汽車研發(fā)中心重磅落地,寶馬家門口“搶人”
最新活動(dòng)更多
-
10月23日火熱報(bào)名中>> 2025是德科技創(chuàng)新技術(shù)峰會(huì)
-
10月23日立即報(bào)名>> Works With 開發(fā)者大會(huì)深圳站
-
10月24日立即參評(píng)>> 【評(píng)選】維科杯·OFweek 2025(第十屆)物聯(lián)網(wǎng)行業(yè)年度評(píng)選
-
11月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
12月18日立即報(bào)名>> 【線下會(huì)議】OFweek 2025(第十屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 【限時(shí)福利】TE 2025國(guó)際物聯(lián)網(wǎng)展·深圳站
推薦專題