溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

發(fā)布時間:2021-12-27 13:51:54 來源:億速云 閱讀:157 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)”,在日常操作中,相信很多人在基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

利用Libra進行信用卡欺詐檢測

我使用了Kaggle數(shù)據(jù)集來預(yù)測信用卡欺詐。數(shù)據(jù)已經(jīng)經(jīng)過主成分分析,因此與原始數(shù)據(jù)相比,它現(xiàn)在被簡化為更小維的數(shù)據(jù)。

在解決這個問題時,需要遵循一種系統(tǒng)的方法。一般來說,你將遵循第一段中提到的順序。但有了Libra,你就不用擔(dān)心了。

此數(shù)據(jù)中的大多數(shù)交易在時間上是非欺詐性的(99.83%),而欺詐性交易在數(shù)據(jù)集中發(fā)生的時間(0.17%)。這意味著數(shù)據(jù)是高度不平衡的。讓我們看看Libra對數(shù)據(jù)的預(yù)處理和結(jié)果。

安裝Libra
pip install -U libra
從libra導(dǎo)入客戶端(client)
from libra import client
使用Libra

一切都是圍繞client構(gòu)建的。你可以對它調(diào)用不同的查詢,所有的內(nèi)容都將存儲在對象的models字段下。

我們在client對象中傳遞文件的位置,并將其命名為newClient?,F(xiàn)在要訪問各種查詢,請參閱文檔。

我用的是決策樹。例如,預(yù)測房屋價值中位數(shù),或估計住戶數(shù)量。否則,該代碼應(yīng)與數(shù)據(jù)集中的列相對應(yīng)。Libra會自動檢測到目標列,但為了確保它選擇了正確的列,我已經(jīng)傳遞了目標列的名稱。

newClient = client('creditcard.csv')

newClient.decision_tree_query('Class')

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

只需兩行代碼,我們就得到了大約0.99的分數(shù),這是我們能得到的最好成績。如果你檢查其他人的成功,你會發(fā)現(xiàn)只有少數(shù)人獲得了0.99的準確率,他們花了數(shù)小時來預(yù)處理數(shù)據(jù)并為其編寫代碼。

在這種情況下,Libra為你節(jié)省了很多時間,給你最好的結(jié)果。Libra使用智能預(yù)處理,這樣你就不需要自己去預(yù)處理數(shù)據(jù)了。

你不必擔(dān)心分析結(jié)果

newClient.analyze()為所有分類問題創(chuàng)建混淆矩陣和ROC曲線。它還計算召回率,精確度,f1和f2分數(shù)。

newClient.analyze()

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

newClient.info()返回所有鍵,表示為數(shù)據(jù)集生成的每種數(shù)據(jù)類別。

newClient.info()

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

newClient.model() 返回該模型的字典。它包括從準確度,精確度,召回率,F(xiàn)1分數(shù)到所有的預(yù)處理技術(shù)。對于那些已經(jīng)了解這些概念并能夠編寫代碼的人來說,這會更有幫助。非技術(shù)用戶不必為此擔(dān)心。

newClient.model()

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

訪問模型

newClient.model()返回字典,如果要訪問模型,則可以直接使用newClient.model()['model']

newClient.model()['model']

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)

在colab Notebook使用下面的代碼下載石頭剪刀布數(shù)據(jù)集。我本可以直接向你展示使用Libra創(chuàng)建CNN的代碼,但是我想創(chuàng)建一個例子,你可以自己在colab Notebook中嘗試,以便更好地理解。你不需要擔(dān)心下面的代碼。

!wget --no-check-certificate \

https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps.zip \

-O /tmp/rps.zip

!wget --no-check-certificate \

https://storage.googleapis.com/laurencemoroney-blog.appspot.com/rps-test-set.zip \

-O /tmp/rps-test-set.zip

使用下面的代碼提取下載的文件。

import os

import zipfile

local_zip = '/tmp/rps.zip'

zip_ref = zipfile.ZipFile(local_zip, 'r')

zip_ref.extractall('/tmp/')

zip_ref.close()

local_zip = '/tmp/rps-test-set.zip'

zip_ref = zipfile.ZipFile(local_zip, 'r')

zip_ref.extractall('/tmp/')

zip_ref.close()

我們用下面的代碼創(chuàng)建文件夾,并將提取的圖像放入其中。

rock_dir = os.path.join('/tmp/rps/rock')

paper_dir = os.path.join('/tmp/rps/paper')

scissors_dir = os.path.join('/tmp/rps/scissors')

print('total training rock images:', len(os.listdir(rock_dir)))

print('total training paper images:', len(os.listdir(paper_dir)))

print('total training scissors images:', len(os.listdir(scissors_dir)))

rock_files = os.listdir(rock_dir)

print(rock_files[:10])

paper_files = os.listdir(paper_dir)

print(paper_files[:10])

scissors_files = os.listdir(scissors_dir)

print(scissors_files[:10])

下圖顯示了有關(guān)數(shù)據(jù)集的信息

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

使用下面的代碼,你可以創(chuàng)建CNN。數(shù)據(jù)將通過縮放、剪切、翻轉(zhuǎn)和重新縮放自動增加。然后選擇最佳的圖像大小。你還將注意到每個類中的圖像數(shù)量以及與之關(guān)聯(lián)的類的數(shù)量。最后,還要觀察訓(xùn)練精度和測試精度。

你還可以在convolutional_query內(nèi)部傳遞read_mode超參數(shù),在其中你可以指定讀取模式。允許有三種讀取模式。我將逐一描述它們。默認情況下,**read_mode=distinguisher()**自動檢測數(shù)據(jù)類型。允許的三種讀取模式是:

1.Setwise

目錄由“training_set”和“testing_set”文件夾組成,這兩個文件夾都包含帶有圖像的分類文件夾。

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

2.Classwise

目錄由包含圖像的分類文件夾組成。

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

3.CSV Wise

目錄由圖像文件夾和包含圖像列的CSV文件組成。

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

newClient = client('/tmp/rps')

newClient.convolutional_query("Please classify my images")

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

基于Libra的NLP文本分類

我使用垃圾郵件分類數(shù)據(jù)集來解決這個問題。

鏈接:https://www.kaggle.com/team-ai/spam-text-message-classification

new_client = client('SPAM text message 20170820 - Data.csv')

new_client.text_classification_query('sentiment')

new_client.classify_text('new text to classify')

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

new_client.classify_text()將對其中輸入的文本進行分類。在上面的輸出中,你可以看到它將我的文本分類為“ham”。

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

使用Libra進行均值聚類

我使用商場客戶劃分數(shù)據(jù)來解決這個問題:https://www.kaggle.com/vjchoudhary7/customer-segmentation-tutorial-in-python

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

Libra將創(chuàng)建一個K均值聚類模型,并將確定最佳簇中心,優(yōu)化準確度,以及最佳聚類數(shù)。

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

基于Libra的神經(jīng)網(wǎng)絡(luò)分類

在本節(jié)中,我將使用神經(jīng)網(wǎng)絡(luò)查詢進行分類。為此,我使用了一個私人數(shù)據(jù)集來預(yù)測大腦信號的行為。讓我們檢查一下它在那個數(shù)據(jù)集上的執(zhí)行情況。

new_client = client('Mood_classification.csv')

new_client.neural_network_query('Predict the behavior')

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

從上面的代碼中,你可以注意到模型使用的初始層數(shù)是3。然后,它還測試了不同層數(shù)的精度,這些層數(shù)根據(jù)前一層的性能而變化。

它可以預(yù)測找到的最佳層數(shù)以及訓(xùn)練和測試的準確性??磥砦倚枰獮槲业臄?shù)據(jù)集收集更多的數(shù)據(jù)。

你可以用new_client.model()[‘model’]訪問模型,并可以使用Keras的summary()函數(shù)獲取神經(jīng)網(wǎng)絡(luò)模型的摘要。

new_client.model()['model'].summary()

基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)

到此,關(guān)于“基于Libra的卷積神經(jīng)網(wǎng)絡(luò)怎么實現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI