
作者:俊欣
來(lái)源:關(guān)于數(shù)據(jù)分析與可視化
有時(shí)候我們?cè)谶M(jìn)行模型的訓(xùn)練與優(yōu)化的時(shí)候,是需要基于現(xiàn)有的數(shù)據(jù)集來(lái)操作的,要是數(shù)據(jù)量比較充足的情況下倒是還好說(shuō),但是要是遇到數(shù)據(jù)量不夠的情況,該怎么辦呢?今天小編就給大家來(lái)介紹幾個(gè)方法來(lái)處理這種情況。
Python當(dāng)中的Faker模塊主要是用來(lái)生成偽數(shù)據(jù),包括了城市、姓名等等,并且還支持中文,在開(kāi)始使用該模塊之前我們先用pip命令來(lái)下載安裝完成
pip install faker
我們先隨機(jī)地生成一些中文數(shù)據(jù),代碼如下
from faker import Faker
fake = Faker(locale='zh_CN') ## 隨機(jī)生成一個(gè)城市 print(fake.city()) ## 隨機(jī)生成一個(gè)地址 print(fake.address())
output
柳州市 吉林省興安盟縣華龍任街P座 540041
要是我們想要生成其他語(yǔ)言或者地區(qū)表示的數(shù)據(jù),只需要傳入相對(duì)應(yīng)的地區(qū)值,這里例舉幾個(gè)常用的,代碼如下
fr_FR - French es_ES - Spanish (Spain) en_US - English (United States) de_DE - German ja_JP - Japanese ko_KR - Korean zh_CN - Chinese (China Mainland) zh_TW - Chinese (China Taiwan)
我們可以看到填入的值的模式基本上是語(yǔ)種的縮寫(xiě)加上“_”再加上地區(qū)的縮寫(xiě)。
除了可以隨機(jī)生成例如城市名稱(chēng)以及地址之外等模擬數(shù)據(jù),還有很多其他方法可用,這些方法分為以下幾類(lèi)
具體使用的方法大家可以參考其官網(wǎng),鏈接是:faker.readthedocs.io/en/master/providers.html
另外我們也可以通過(guò)機(jī)器學(xué)習(xí)算法在基于真實(shí)數(shù)據(jù)的基礎(chǔ)上生成合成數(shù)據(jù),將后者應(yīng)用于模型的訓(xùn)練上,例如由MIT的DAI(Data to AI)實(shí)驗(yàn)室推出的合成數(shù)據(jù)開(kāi)源系統(tǒng)----Synthetic Data Vault(SDV),該模塊可以從真實(shí)數(shù)據(jù)庫(kù)中構(gòu)建一個(gè)機(jī)器學(xué)習(xí)模型來(lái)捕獲多個(gè)變量之間的相關(guān)性,要是原始的數(shù)據(jù)庫(kù)中存在著一些缺失值和一些極值,最后在合成的數(shù)據(jù)集當(dāng)中也會(huì)有一些缺失值與極值。
而測(cè)試表明,合成的數(shù)據(jù)能夠較好地取代真實(shí)數(shù)據(jù)。接下來(lái)我們來(lái)看一下如何使用吧,首先我們先下載該模塊
pip install sdv
我們會(huì)用到如下的數(shù)據(jù)集,
import pandas as pd data = pd.read_csv('data.csv') data.head()
output
接下來(lái)的步驟和我們使用sklearn模塊時(shí)的步驟是類(lèi)似的,代碼如下
from sdv.tabular import GaussianCopula
model = GaussianCopula()
model.fit(data)
無(wú)非就是實(shí)例化具體的模型,然后將算法模型擬合到數(shù)據(jù)集中的數(shù)據(jù),我們可以嘗試生成一些數(shù)據(jù)
sample = model.sample(200) sample.head()
output
最后我們想要來(lái)評(píng)估一下模型的性能,看一下新生成的數(shù)據(jù)和真實(shí)數(shù)據(jù)相比相似性幾何,代碼如下
from sdv.evaluation import evaluate print(evaluate(sample, data))
output
0.533
相似性的指標(biāo)范圍是“0-1”,“0”意味著是最差的結(jié)果,而“1”意味著是最理想的結(jié)果,而針對(duì)以上評(píng)估出來(lái)的結(jié)果意味著我們后續(xù)還需要進(jìn)一步的參數(shù)調(diào)優(yōu)。
隨著相關(guān)研究的進(jìn)一步深入,2019年在溫哥華舉行的第33屆神經(jīng)信息處理系統(tǒng)會(huì)議上,另外的研究員提出了新的神經(jīng)網(wǎng)絡(luò)Conditional Tabular Generative Adversarial Networks,簡(jiǎn)稱(chēng)CTGAN,簡(jiǎn)而言之就是通過(guò)生成對(duì)抗網(wǎng)絡(luò)GAN來(lái)建立和完善合成的數(shù)據(jù)表。
對(duì)于生成對(duì)抗的神經(jīng)網(wǎng)絡(luò)GANs而言,其中第一個(gè)網(wǎng)絡(luò)為生成器,而第二個(gè)網(wǎng)絡(luò)為鑒別器,最后生成器產(chǎn)生出來(lái)的數(shù)據(jù)表并沒(méi)有被鑒別器分辨出其中的差異。接下來(lái)我們來(lái)看一下其中的步驟。
import pandas as pd
## 這邊用到了和前面不一樣的數(shù)據(jù)集 data = pd.read_csv('train.csv') data.head()
output
針對(duì)離散型的特征變量,CTGAN模型也可以合成類(lèi)似的數(shù)據(jù),代碼如下
discrete_columns = ['week', 'Center_id', 'Meal_id', 'Emailer_for_promotion', 'homepage_featured']
ctgan = CTGANSynthesizer(batch_size=50,epochs=5,verbose=False)
ctgan.fit(data,discrete_columns) ## 將訓(xùn)練好的模型保存下來(lái) ctgan.save('ctgan-food-demand.pkl') ## 生成200條數(shù)據(jù)集 samples = ctgan.sample(200)
samples.head()
output
我們羅列出需要最后合成來(lái)依照的特征變量,上面的例子當(dāng)中是羅列出了一系列的離散型特征變量,然后我們?cè)O(shè)定好batch_size、epochs以及verbose參數(shù)進(jìn)行訓(xùn)練,最后我們還是通過(guò)相類(lèi)似的方法來(lái)評(píng)估模型的性能
from sdv.evaluation import evaluate
evaluate(new_data, data)
本文主要是立足于在機(jī)器學(xué)習(xí)的過(guò)程中存在數(shù)據(jù)量不足的情況,介紹了Faker模塊和SDV模塊,以及CTGAN模型,通過(guò)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等手段來(lái)生成一些數(shù)據(jù)供數(shù)據(jù)科學(xué)家使用。因?yàn)檫@些模型也是近年來(lái)剛出來(lái)屬于較為前沿的內(nèi)容,小編在對(duì)其進(jìn)行表述的時(shí)候存在理解有偏差的情況,這里也是建議讀者多去上網(wǎng)進(jìn)行查閱。
數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶(hù) ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱(chēng) BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢(xún)到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢(xún)結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢(xún)結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專(zhuān)注于從單 ...
2025-07-09year_month數(shù)據(jù)類(lèi)型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類(lèi)型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門(mén)控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書(shū)考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專(zhuān)業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03