国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機器學習之邏輯回歸模型

這篇具有很好參考價值的文章主要介紹了機器學習之邏輯回歸模型。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 邏輯回歸模型介紹

????????邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是一種機器學習算法,屬于分類和預測算法中的一種,主要用于解決二分類問題。邏輯回歸通過歷史數(shù)據(jù)的表現(xiàn)對未來結(jié)果發(fā)生的概率進行預測。例如,我們可以將購買的概率設(shè)置為因變量,將用戶的特征屬性,例如性別,年齡,注冊時間等設(shè)置為自變量。根據(jù)特征屬性預測購買的概率。

????????邏輯回歸它通過建立一個邏輯回歸模型來預測輸入樣本屬于某個類別的概率。邏輯回歸模型的核心思想是使用一個稱為sigmoid函數(shù)(或者稱為邏輯函數(shù))的函數(shù)來建模概率。sigmoid函數(shù)的公式為:

機器學習之邏輯回歸模型

2 邏輯回歸的應用場景

????????邏輯回歸是一種簡單而高效的機器學習算法,它具有多個優(yōu)勢。首先,邏輯回歸模型易于理解和實現(xiàn),計算效率高,特別適用于大規(guī)模數(shù)據(jù)集。其次,邏輯回歸提供了對結(jié)果的解釋和推斷能力,模型的系數(shù)可以揭示哪些特征對分類結(jié)果的影響較大或較小。此外,邏輯回歸適用于高維數(shù)據(jù),能夠處理具有大量特征的問題,并捕捉到不同特征之間的關(guān)系。另外,邏輯回歸能夠輸出概率預測,而不僅僅是分類結(jié)果,對于需要概率估計或不確定性分析的任務(wù)非常有用。最后,邏輯回歸對于數(shù)據(jù)中的噪聲和缺失值具有一定的魯棒性,能夠適應現(xiàn)實世界中的不完美數(shù)據(jù)。綜上所述,邏輯回歸是一種強大而實用的分類算法,在許多實際應用中被廣泛采用。以下是邏輯回歸常見的應用場景。

  • 金融領(lǐng)域:邏輯回歸可用于信用評分、欺詐檢測、客戶流失預測等金融風險管理任務(wù)。
  • 醫(yī)學領(lǐng)域:邏輯回歸可以用于疾病診斷、患者預后評估、藥物反應預測等醫(yī)學決策支持任務(wù)。

  • 市場營銷:邏輯回歸可用于客戶分類、用戶行為分析、廣告點擊率預測等市場營銷領(lǐng)域的任務(wù)。

  • 自然語言處理:邏輯回歸可用于文本分類、情感分析、垃圾郵件過濾等自然語言處理任務(wù)。

  • 圖像識別:邏輯回歸可以應用于圖像分類、目標檢測中的二分類問題。

????????邏輯回歸的簡單性和可解釋性使其在許多實際應用中得到廣泛應用。然而,對于復雜的非線性問題,邏輯回歸可能不適用,此時可以考慮使用其他更復雜的模型或者結(jié)合特征工程技術(shù)來改進性能。

?3 基于pytorch實現(xiàn)銀行欺詐人員的二分類判別

(1)數(shù)據(jù)集

在一個銀行欺詐數(shù)據(jù)集上,通過15個特征,得到二分類的判別結(jié)果:是否為欺詐失信人員。建的模型依舊是線性模型。輸出的值通過sigmoid進行轉(zhuǎn)換,變成0~1的概率。一般認為大于0.5就是1,小于0.5就是0。

0

56.75

12.25

0

0

6

0

1.25

0

0

4

0

0

200

0

-1

0

31.67

16.165

0

0

1

0

3

0

0

9

1

0

250

730

-1

1

23.42

0.79

1

1

8

0

1.5

0

0

2

0

0

80

400

-1

1

20.42

0.835

0

0

8

0

1.585

0

0

1

1

0

0

0

-1

0

26.67

4.25

0

0

2

0

4.29

0

0

1

0

0

120

0

-1

0

34.17

1.54

0

0

2

0

1.54

0

0

1

0

0

520

50000

-1

1

36

1

0

0

0

0

2

0

0

11

1

0

0

456

-1

0

25.5

0.375

0

0

6

0

0.25

0

0

3

1

0

260

15108

-1

0

19.42

6.5

0

0

9

1

1.46

0

0

7

1

0

80

2954

-1

0

35.17

25.125

0

0

10

1

1.625

0

0

1

0

0

515

500

-1

0

32.33

7.5

0

0

11

2

1.585

0

1

0

0

2

420

0

1

1

38.58

5

0

0

2

0

13.5

0

1

0

0

0

980

0

1

最后一列為-1是失信欺詐人員,為1不是失信欺詐人員

(2)pytorch完整代碼

import torch
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from torch import nn
from torch.utils.data import TensorDataset, DataLoader
from sklearn.model_selection import train_test_split


def accuracy(y_pred,y_true):
    y_pred = (y_pred>0.5).type(torch.int32)
    acc = (y_pred == y_true).float().mean()
    return acc

loss_fn = nn.BCELoss()
epochs = 1000
batch = 16
lr = 0.0001

data = pd.read_csv("credit.csv",header=None)
X = data.iloc[:,:-1]
Y = data.iloc[:,-1].replace(-1,0)


X = torch.from_numpy(X.values).type(torch.float32)
Y = torch.from_numpy(Y.values).type(torch.float32)

train_x,test_x,train_y,test_y = train_test_split(X,Y)

train_ds = TensorDataset(train_x,train_y)
train_dl = DataLoader(train_ds,batch_size=batch,shuffle=True)

test_ds = TensorDataset(test_x,test_y)
test_dl = DataLoader(test_ds,batch_size=batch)

model = nn.Sequential(
                nn.Linear(15,1),
                nn.Sigmoid()
)
optim = torch.optim.Adam(model.parameters(),lr=lr)

accuracy_rate = []

for epoch in range(epochs):
    for x,y in train_dl:
        y_pred = model(x)
        y_pred = y_pred.squeeze()
        loss = loss_fn(y_pred,y)
        optim.zero_grad()
        loss.backward()
        optim.step()

    with torch.no_grad():
        # 訓練集的準確率和loss
        y_pred = model(train_x)
        y_pred = y_pred.squeeze()
        epoch_accuracy  = accuracy(y_pred,train_y)
        epoch_loss  = loss_fn(y_pred,train_y).data

        accuracy_rate.append(epoch_accuracy*100)

        # 測試集的準確率和loss
        y_pred = model(test_x)
        y_pred = y_pred.squeeze()

        epoch_test_accuracy  = accuracy(y_pred,test_y)
        epoch_test_loss  = loss_fn(y_pred,test_y).data


        print('epoch:',epoch,
              'train_loss:',round(epoch_loss.item(),3),
              "train_accuracy",round(epoch_accuracy.item(),3),
              'test_loss:',round(epoch_test_loss.item(),3),
              "test_accuracy",round(epoch_test_accuracy.item(),3)
             )


accuracy_rate = np.array(accuracy_rate)
times = np.linspace(1, epochs, epochs)
plt.xlabel('epochs')
plt.ylabel('accuracy rate')
plt.plot(times, accuracy_rate)
plt.show()

(3)輸出結(jié)果

epoch: 951 train_loss: 0.334 train_accuracy 0.869 test_loss: 0.346 test_accuracy 0.866
epoch: 952 train_loss: 0.334 train_accuracy 0.863 test_loss: 0.348 test_accuracy 0.866
epoch: 953 train_loss: 0.337 train_accuracy 0.867 test_loss: 0.358 test_accuracy 0.86
epoch: 954 train_loss: 0.334 train_accuracy 0.867 test_loss: 0.35 test_accuracy 0.866
epoch: 955 train_loss: 0.334 train_accuracy 0.871 test_loss: 0.346 test_accuracy 0.866
epoch: 956 train_loss: 0.333 train_accuracy 0.865 test_loss: 0.348 test_accuracy 0.872
epoch: 957 train_loss: 0.333 train_accuracy 0.871 test_loss: 0.349 test_accuracy 0.866
epoch: 958 train_loss: 0.333 train_accuracy 0.867 test_loss: 0.347 test_accuracy 0.866
epoch: 959 train_loss: 0.334 train_accuracy 0.863 test_loss: 0.352 test_accuracy 0.866
epoch: 960 train_loss: 0.333 train_accuracy 0.867 test_loss: 0.35 test_accuracy 0.878
epoch: 961 train_loss: 0.334 train_accuracy 0.873 test_loss: 0.346 test_accuracy 0.866
epoch: 962 train_loss: 0.334 train_accuracy 0.865 test_loss: 0.353 test_accuracy 0.866
epoch: 963 train_loss: 0.333 train_accuracy 0.873 test_loss: 0.35 test_accuracy 0.866
epoch: 964 train_loss: 0.334 train_accuracy 0.863 test_loss: 0.345 test_accuracy 0.872
epoch: 965 train_loss: 0.333 train_accuracy 0.861 test_loss: 0.351 test_accuracy 0.866
epoch: 966 train_loss: 0.333 train_accuracy 0.873 test_loss: 0.348 test_accuracy 0.866
epoch: 967 train_loss: 0.333 train_accuracy 0.863 test_loss: 0.348 test_accuracy 0.866
epoch: 968 train_loss: 0.333 train_accuracy 0.867 test_loss: 0.351 test_accuracy 0.866
epoch: 969 train_loss: 0.334 train_accuracy 0.869 test_loss: 0.345 test_accuracy 0.878
epoch: 970 train_loss: 0.333 train_accuracy 0.869 test_loss: 0.348 test_accuracy 0.872
epoch: 971 train_loss: 0.335 train_accuracy 0.865 test_loss: 0.344 test_accuracy 0.86
epoch: 972 train_loss: 0.333 train_accuracy 0.867 test_loss: 0.35 test_accuracy 0.86
epoch: 973 train_loss: 0.334 train_accuracy 0.871 test_loss: 0.345 test_accuracy 0.872
epoch: 974 train_loss: 0.333 train_accuracy 0.865 test_loss: 0.351 test_accuracy 0.866
epoch: 975 train_loss: 0.333 train_accuracy 0.873 test_loss: 0.351 test_accuracy 0.86
epoch: 976 train_loss: 0.333 train_accuracy 0.869 test_loss: 0.346 test_accuracy 0.878
epoch: 977 train_loss: 0.333 train_accuracy 0.863 test_loss: 0.351 test_accuracy 0.866
epoch: 978 train_loss: 0.332 train_accuracy 0.865 test_loss: 0.351 test_accuracy 0.866
epoch: 979 train_loss: 0.332 train_accuracy 0.871 test_loss: 0.349 test_accuracy 0.866
epoch: 980 train_loss: 0.333 train_accuracy 0.865 test_loss: 0.345 test_accuracy 0.872
epoch: 981 train_loss: 0.332 train_accuracy 0.867 test_loss: 0.348 test_accuracy 0.872
epoch: 982 train_loss: 0.332 train_accuracy 0.863 test_loss: 0.349 test_accuracy 0.872
epoch: 983 train_loss: 0.333 train_accuracy 0.865 test_loss: 0.353 test_accuracy 0.866
epoch: 984 train_loss: 0.332 train_accuracy 0.865 test_loss: 0.35 test_accuracy 0.872
epoch: 985 train_loss: 0.333 train_accuracy 0.867 test_loss: 0.353 test_accuracy 0.86
epoch: 986 train_loss: 0.333 train_accuracy 0.871 test_loss: 0.345 test_accuracy 0.866
epoch: 987 train_loss: 0.331 train_accuracy 0.865 test_loss: 0.349 test_accuracy 0.872
epoch: 988 train_loss: 0.332 train_accuracy 0.869 test_loss: 0.345 test_accuracy 0.872
epoch: 989 train_loss: 0.332 train_accuracy 0.865 test_loss: 0.353 test_accuracy 0.866
epoch: 990 train_loss: 0.331 train_accuracy 0.865 test_loss: 0.348 test_accuracy 0.872
epoch: 991 train_loss: 0.333 train_accuracy 0.875 test_loss: 0.344 test_accuracy 0.86
epoch: 992 train_loss: 0.332 train_accuracy 0.865 test_loss: 0.351 test_accuracy 0.866
epoch: 993 train_loss: 0.331 train_accuracy 0.869 test_loss: 0.348 test_accuracy 0.872
epoch: 994 train_loss: 0.331 train_accuracy 0.871 test_loss: 0.348 test_accuracy 0.872
epoch: 995 train_loss: 0.331 train_accuracy 0.865 test_loss: 0.347 test_accuracy 0.872
epoch: 996 train_loss: 0.331 train_accuracy 0.865 test_loss: 0.347 test_accuracy 0.872
epoch: 997 train_loss: 0.331 train_accuracy 0.867 test_loss: 0.35 test_accuracy 0.872
epoch: 998 train_loss: 0.331 train_accuracy 0.867 test_loss: 0.349 test_accuracy 0.872
epoch: 999 train_loss: 0.331 train_accuracy 0.865 test_loss: 0.348 test_accuracy 0.872

機器學習之邏輯回歸模型

?4 完整數(shù)據(jù)集及代碼下載

完整代碼及數(shù)據(jù)集:代碼和數(shù)據(jù)集文章來源地址http://www.zghlxwxcb.cn/news/detail-487370.html

到了這里,關(guān)于機器學習之邏輯回歸模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 機器學習之線性回歸與邏輯回歸【完整房價預測和鳶尾花分類代碼解釋】

    機器學習之線性回歸與邏輯回歸【完整房價預測和鳶尾花分類代碼解釋】

    目錄 前言 一、什么是線性回歸 二、什么是邏輯回歸 三、基于Python 和 Scikit-learn 庫實現(xiàn)線性回歸 示例代碼: ?使用線性回歸來預測房價: 四、基于Python 和 Scikit-learn 庫實現(xiàn)邏輯回歸 五、總結(jié)? 線性回歸的優(yōu)缺點總結(jié): 邏輯回歸(Logistic Regression)是一種常用的分類算法,具有

    2024年04月13日
    瀏覽(33)
  • 初識人工智能,一文讀懂機器學習之邏輯回歸知識文集(1)

    初識人工智能,一文讀懂機器學習之邏輯回歸知識文集(1)

    ??作者簡介,普修羅雙戰(zhàn)士,一直追求不斷學習和成長,在技術(shù)的道路上持續(xù)探索和實踐。 ??多年互聯(lián)網(wǎng)行業(yè)從業(yè)經(jīng)驗,歷任核心研發(fā)工程師,項目技術(shù)負責人。 ??歡迎 ??點贊?評論?收藏 ?? 人工智能領(lǐng)域知識 ?? 鏈接 專欄 人工智能專業(yè)知識學習一 人工智能專欄 人

    2024年01月23日
    瀏覽(27)
  • 機器學習之常用的回歸預測模型

    本文全面整理了各種回歸預測模型,旨在幫助讀者更好地學習回歸預測模型。 轉(zhuǎn)載自:https://mp.weixin.qq.com/s/7m2waIASOEg90NONgRpQFQ 線性回歸是一種線性模型,通過特征的線性組合來預測連續(xù)值標簽。線性回歸通過擬合系數(shù) (可選擇是否設(shè)置截距)的線性模型,以最小化真實值和預

    2024年04月08日
    瀏覽(18)
  • 【AI】機器學習——線性模型(邏輯斯蒂回歸)

    【AI】機器學習——線性模型(邏輯斯蒂回歸)

    邏輯回歸輸出的是實例屬于每個類別的似然概率,似然概率最大的類別就是分類結(jié)果 在一定條件下,邏輯回歸模型與樸素貝葉斯分類器等價 多分類問題可以通過多次二分類或者Softmax回歸解決 3. 線性回歸模型 4.4 線性分類模型——感知器 目標:用判別模型解決分類問題 4.1.

    2024年02月09日
    瀏覽(21)
  • 機器學習:邏輯回歸模型算法原理(附案例實戰(zhàn))

    作者:i阿極 作者簡介:Python領(lǐng)域新星作者、多項比賽獲獎?wù)撸翰┲鱾€人首頁 ??????如果覺得文章不錯或能幫助到你學習,可以點贊??收藏??評論??+關(guān)注哦!?????? ??????如果有小伙伴需要數(shù)據(jù)集和學習交流,文章下方有交流學習區(qū)!一起學習進步!?? 訂閱專欄案

    2024年01月20日
    瀏覽(29)
  • 【機器學習300問】15、什么是邏輯回歸模型?

    【機器學習300問】15、什么是邏輯回歸模型?

    ????????邏輯回歸(Logistic Regression)是一種廣義線性回歸分析模型,尤其適用于解決 二分類問題 (輸出為兩個類別)。 郵件過濾 :判斷一封電子郵件是否為垃圾郵件。結(jié)果為垃圾郵件(1)或非垃圾郵件(0); 醫(yī)療診斷 :判斷病人是否患有某種疾病,如癌癥。結(jié)果為患

    2024年01月22日
    瀏覽(19)
  • 【機器學習300問】16、邏輯回歸模型實現(xiàn)分類的原理?

    【機器學習300問】16、邏輯回歸模型實現(xiàn)分類的原理?

    ? ? ? ? 在上一篇文章中,我初步介紹了什么是邏輯回歸模型,從它能解決什么問題開始介紹,并講到了它長什么樣子的。如果有需要的小伙伴可以回顧一下,鏈接我放在下面啦:????????????????????????? ? ? 【機器學習300問】15、什么是邏輯回歸模型? ????

    2024年01月25日
    瀏覽(27)
  • 把ChatGPT調(diào)教成機器學習專家,以邏輯回歸模型的學習為例

    大家好我是章北海mlpy 看到一個蠻有意思的項目,可以把ChatGPT調(diào)教成導師 https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor 可以根據(jù)你選擇的學習難度、學習方向幫你制定學習計劃 我用“如何學習邏輯回歸模型”測試了一下,感覺還不錯。 完整聊天記錄如下 Zhang: { “ai_tutor”:{ \\\"作者

    2024年02月04日
    瀏覽(18)
  • 【吳恩達·機器學習】第三章:分類任務(wù):邏輯回歸模型(交叉熵損失函數(shù)、決策邊界、過擬合、正則化)

    【吳恩達·機器學習】第三章:分類任務(wù):邏輯回歸模型(交叉熵損失函數(shù)、決策邊界、過擬合、正則化)

    博主簡介: 努力學習的22級計算機科學與技術(shù)本科生一枚?? 博主主頁: @Yaoyao2024 每日一言??: 勇敢的人,不是不落淚的人,而是愿意含著淚繼續(xù)奔跑的人。 ——《朗讀者》 本系列博客文章是博主本人根據(jù)吳恩達老師2022年的機器學習課程所學而寫,主要包括老師的核心講義

    2024年02月19日
    瀏覽(27)
  • python機器學習——分類模型評估 & 分類算法(k近鄰,樸素貝葉斯,決策樹,隨機森林,邏輯回歸,svm)

    python機器學習——分類模型評估 & 分類算法(k近鄰,樸素貝葉斯,決策樹,隨機森林,邏輯回歸,svm)

    交叉驗證:為了讓被評估的模型更加準確可信 交叉驗證:將拿到的數(shù)據(jù),分為訓練和驗證集。以下圖為例:將數(shù)據(jù)分成5份,其中一份作為驗證集。然后經(jīng)過5次(組)的測試,每次都更換不同的驗證集。即得到5組模型的結(jié)果,取平均值作為最終結(jié)果。又稱5折交叉驗證。 通常情

    2024年02月03日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包