最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch實(shí)現(xiàn)邏輯回歸

 更新時(shí)間:2021年04月09日 17:33:20   作者:逝去〃年華  
這篇文章主要為大家詳細(xì)介紹了pytorch實(shí)現(xiàn)邏輯回歸,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了pytorch實(shí)現(xiàn)邏輯回歸的具體代碼,供大家參考,具體內(nèi)容如下

一、pytorch實(shí)現(xiàn)邏輯回歸

邏輯回歸是非常經(jīng)典的分類算法,是用于分類任務(wù),如垃圾分類任務(wù),情感分類任務(wù)等都可以使用邏輯回歸。

接下來(lái)使用邏輯回歸模型完成一個(gè)二分類任務(wù):

# 使用邏輯回歸完成一個(gè)二分類任務(wù)
# 數(shù)據(jù)準(zhǔn)備
import torch
import matplotlib.pyplot as plt

x1 = torch.randn(365)+1.5   # randn():輸出一個(gè)形狀為size的標(biāo)準(zhǔn)正態(tài)分布Tensor
x2 = torch.randn(365)-1.5
#print(x1.shape)  # torch.Size([365])
#print(x2.shape)  # torch.Size([365])
data = zip(x1.data.numpy(),x2.data.numpy())  # 創(chuàng)建一個(gè)聚合了來(lái)自每個(gè)可迭代對(duì)象中的元素的迭代器。 x = [1,2,3]

pos = []
neg = []
def classification(data):
    for i in data:
        if (i[0] > 1.5+0.1*torch.rand(1).item()*(-1)**torch.randint(1,10,(1,1)).item()):
            pos.append(i)
        else:
            neg.append(i)

classification(data)
# 將正、負(fù)兩類數(shù)據(jù)可視化
pos_x = [i[0] for i in pos]
pos_y = [i[1] for i in pos]
neg_x = [i[0] for i in neg]
neg_y = [i[1] for i in neg]
plt.scatter(pos_x,pos_y,c = 'r',marker = "*")
plt.scatter(neg_x,neg_y,c = 'b',marker = "^")
plt.show()

# 構(gòu)造正、負(fù)兩類數(shù)據(jù)可視化結(jié)果如上圖所示

# 構(gòu)建模型
import torch.nn as nn
class LogisticRegression(nn.Module):
    def __init__(self):
        super(LogisticRegression, self).__init__()
        self.linear = nn.Linear(2,1)
        self.sigmoid = nn.Sigmoid()

    def forward(self,x):
        return self.sigmoid(self.linear(x))

model = LogisticRegression()
criterion = nn.BCELoss()
optimizer = torch.optim.SGD(model.parameters(),0.01)
epoch = 5000
features = [[i[0],i[1]] for i in pos]
features.extend([[i[0],i[1]] for i in neg])   #extend 接受一個(gè)參數(shù),這個(gè)參數(shù)總是一個(gè) list,并且把這個(gè) list 中的每個(gè)元素添加到原 list 中
features = torch.Tensor(features)   # torch.Tensor 生成單精度浮點(diǎn)類型的張量

label = [1 for i in range(len(pos))]
label.extend(0 for i in range(len(neg)))
label = torch.Tensor(label)
print(label.shape)

for i in range(500000):
    out = model(features)
    #print(out.shape)
    loss = criterion(out.squeeze(1),label)
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    # 分類任務(wù)準(zhǔn)確率
    acc = (out.ge(0.5).float().squeeze(1)==label).sum().float()/features.size()[0]
    if (i % 10000 ==0):
        plt.scatter(pos_x, pos_y, c='r', marker="*")
        plt.scatter(neg_x, neg_y, c='b', marker="^")
        weight = model.linear.weight[0]
        #print(weight.shape)
        wo = weight[0]
        w1 = weight[1]
        b = model.linear.bias.data[0]
        # 繪制分界線
        test_x = torch.linspace(-10,10,500)   # 500個(gè)點(diǎn)
        test_y = (-wo*test_x - b) / w1
        plt.plot(test_x.data.numpy(),test_y.data.numpy(),c="pink")
        plt.title("acc:{:.4f},loss:{:.4f}".format(acc,loss))
        plt.ylim(-5,3)
        plt.xlim(-3,5)
        plt.show()

附上分類結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用Python制作燈光秀短視頻的思路詳解

    用Python制作燈光秀短視頻的思路詳解

    這篇文章主要介紹了用Python制作燈光秀短視頻的思路詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-04-04
  • python傳到前端的數(shù)據(jù),雙引號(hào)被轉(zhuǎn)義的問(wèn)題

    python傳到前端的數(shù)據(jù),雙引號(hào)被轉(zhuǎn)義的問(wèn)題

    這篇文章主要介紹了python傳到前端的數(shù)據(jù),雙引號(hào)被轉(zhuǎn)義的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 不到40行代碼用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的推薦系統(tǒng)

    不到40行代碼用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的推薦系統(tǒng)

    這篇文章主要給大家介紹了如何利用不到40行python代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單的推薦系統(tǒng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 詳解python中l(wèi)ist的使用

    詳解python中l(wèi)ist的使用

    這篇文章主要介紹了python中l(wèi)ist的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 基于python實(shí)現(xiàn)微信好友數(shù)據(jù)分析(簡(jiǎn)單)

    基于python實(shí)現(xiàn)微信好友數(shù)據(jù)分析(簡(jiǎn)單)

    本文主要介紹利用網(wǎng)頁(yè)端微信獲取數(shù)據(jù),實(shí)現(xiàn)個(gè)人微信好友數(shù)據(jù)的獲取,并進(jìn)行一些簡(jiǎn)單的數(shù)據(jù)分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-02-02
  • 舉例講解Python中is和id的用法

    舉例講解Python中is和id的用法

    這篇文章主要介紹了舉例講解Python中is和id的用法,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),作者舉例進(jìn)行了簡(jiǎn)單說(shuō)明,需要的朋友可以參考下
    2015-04-04
  • anconda的pip下載包出現(xiàn)的問(wèn)題解決

    anconda的pip下載包出現(xiàn)的問(wèn)題解決

    本文主要介紹了anconda的pip下載包出現(xiàn)的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python實(shí)現(xiàn)支持目錄FTP上傳下載文件的方法

    python實(shí)現(xiàn)支持目錄FTP上傳下載文件的方法

    這篇文章主要介紹了python實(shí)現(xiàn)支持目錄FTP上傳下載文件的方法,適用于windows及Linux平臺(tái)FTP傳輸文件及文件夾,需要的朋友可以參考下
    2015-06-06
  • Python編程快速上手——強(qiáng)口令檢測(cè)算法案例分析

    Python編程快速上手——強(qiáng)口令檢測(cè)算法案例分析

    這篇文章主要介紹了Python強(qiáng)口令檢測(cè)算法,結(jié)合實(shí)例形式分析了Python針對(duì)密碼口令強(qiáng)度檢測(cè)的相關(guān)算法實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2020-02-02
  • Linux中安裝Python的交互式解釋器IPython的教程

    Linux中安裝Python的交互式解釋器IPython的教程

    IPython是一種基于Python的Shell,由于有了Python編程語(yǔ)言的支撐,而比一般的Shell更加強(qiáng)大.下面就來(lái)看一下Linux中安裝Python的交互式解釋器IPython的教程
    2016-06-06

最新評(píng)論

进贤县| 罗平县| 理塘县| 隆化县| 崇义县| 密山市| 怀集县| 大田县| 台南县| 德兴市| 灵台县| 枣强县| 全椒县| 枞阳县| 苍南县| 台北县| 太原市| 康保县| 八宿县| 大同县| 舟曲县| 成武县| 洮南市| 囊谦县| 贵南县| 称多县| 东至县| 土默特右旗| 城口县| 高雄县| 会东县| 固安县| 景洪市| 莆田市| 若尔盖县| 和静县| 定远县| 小金县| 阿鲁科尔沁旗| 阳西县| 黎城县|