日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

人工智能-逻辑回归、分类评估方法、ROC曲线、类别不平衡

發(fā)布時(shí)間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 人工智能-逻辑回归、分类评估方法、ROC曲线、类别不平衡 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1,邏輯回歸介紹

邏輯回歸:分類模型
應(yīng)用場(chǎng)景:廣告點(diǎn)擊率、是否垃圾郵件
邏輯回歸主要用于解決二分類問題

輸入:

邏輯回歸的輸入:線性回歸的結(jié)果
激活函數(shù):sigmoid函數(shù)

回歸的結(jié)果輸入到sigmoid函數(shù)中
輸出結(jié)果:[0,1]區(qū)間中的一個(gè)概率值,默認(rèn)為0.5為閾值

輸出結(jié)果解釋:假設(shè)AB兩類,A是正類,則輸出結(jié)果是屬于A類的概率值,如果大于0.5,則說(shuō)明屬于A類,否則屬于B類。也可以自己設(shè)定閾值(不是0.5,選0.6,0.4都可)

衡量預(yù)測(cè)概率----對(duì)數(shù)似然損失

損失函數(shù)
分開寫:

完整寫:

優(yōu)化:使用梯度下降法進(jìn)行優(yōu)化

2,邏輯回歸api介紹

sklearn.linear_model.LogisticRegression(solve=‘liblinear’,penalty=‘l2’,C=1.0)
solve可選(‘liblinear’,‘sag’,‘saga’,‘newton-cg’,‘lbfgs’)
小數(shù)據(jù)集—‘liblinear’;小數(shù)據(jù)集—‘sag’,‘saga’
penalty ----正則化的種類
C---- 正則化力度

3,案例:癌癥分類預(yù)測(cè)-良/惡性乳腺癌腫瘤預(yù)測(cè)

import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import standardScaler from sklearn.linear_model import LogisticRegression #1.獲取數(shù)據(jù) data = pd.read_csv("data") data.head()#2.數(shù)據(jù)處理 #2.1缺失值處理 data = data.replace(to_replace="?",value=np.nan) data = data.dropna() #2.2確定特征值,目標(biāo)值 data.head() x = data.iloc[:,1:-1] x.head() y = data['Class'] y.head() #2.3分割數(shù)據(jù) x_train,x_test,y_train,y_test = train_test_split(x,y,random_state=22,test_size=0.2) #3,特征工程 transfer = StandardScaler() x_train = transfer.fit_transform(x_train) x_test = transfer.fit_transform(x_test) #4,邏輯回歸 estimator = LogisticRegression() estimator.fit(x_train,y_train) #5,模型評(píng)估 #5.1準(zhǔn)確率 ret = estimator.score(x_test,y_test) print('準(zhǔn)確率:\n',ret) #5.2預(yù)測(cè)值 y_pre = estimator.predict(x_test) print('預(yù)測(cè)值:\n',y_pre)

4,分類評(píng)估方法

混淆矩陣:

準(zhǔn)確率:(TP+TN)/(TP+FP+FP+TN)
精確率:TP/(TP+FP) —針對(duì)預(yù)測(cè)為真的數(shù)據(jù)中
召回率:TP/(TP+FN)—針對(duì)真實(shí)結(jié)果中
F1 =2TP/(2TP+FN+FP)

4.1分類評(píng)估報(bào)告API

sklearn.metrics.classification_report(y_true,y_pred,labels=[],target_names=None)

#5.3精確率、召回率指標(biāo)評(píng)價(jià) ret = classification_report(y_test,y_pre,labels=(2,4),target_names=('良性','惡性')) print(ret)


precision–精確率
recall —召回率
f1-score —f1值

TPR= TP/(TP+FN)–所有真實(shí)類別為1的樣本中,預(yù)測(cè)類別為1的比例
FPR = FP/(FP+TN)–所有真實(shí)類別為0的樣本中,預(yù)測(cè)類別為1的比例

#5.4AUC指標(biāo)計(jì)算 y_test = np.where(y_test>3,1,0) roc_auc_score(y_test,y_pre)

auc只能用于計(jì)算二分類問題

5,ROC曲線的繪制

ROC曲線中:FPR橫坐標(biāo),TPR縱坐標(biāo)
AUC指標(biāo)即ROC曲線下的面積。AUC曲線越接近1,模型越優(yōu)

6、分類中解決類別不平衡問題

l類別不平衡問題:即有的類別中數(shù)據(jù)量大,有的類別中數(shù)據(jù)量小
處理方法:
1,欠采樣方法–減少數(shù)量較多的那一類樣本的數(shù)量,使得正負(fù)樣本比例均衡
2,過采樣方法–增加數(shù)量較小的那一類樣本的數(shù)量,使得正負(fù)樣本比例均衡

過采樣:
隨機(jī)過采樣:通過復(fù)制粘貼增加樣本量較小的類RandomOverSampler–可能會(huì)造成過擬合
Smoth過采樣:找兩點(diǎn)連線,找中間的點(diǎn)

欠采樣:
隨機(jī)欠采樣:RandomUnderSampler
可能會(huì)造成信息的缺失

總結(jié)

以上是生活随笔為你收集整理的人工智能-逻辑回归、分类评估方法、ROC曲线、类别不平衡的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。