Sdílet prostřednictvím


Datové vědy s virtuálním počítačem s Ubuntu Datová Věda v Azure

Tento návod popisuje, jak dokončit několik běžných úloh datových věd pomocí virtuálního počítače dsVM (Ubuntu Datová Věda Virtual Machine). Ubuntu DSVM je image virtuálního počítače dostupná v Azure s předinstalovanou kolekcí nástrojů, která se běžně používá pro analýzu dat a strojové učení. Zřízení prostředku virtuálního počítače s Ubuntu Datová Věda položkami klíčových softwarových komponent. Image DSVM usnadňuje zahájení práce s datovými vědami během několika minut, takže nemusíte instalovat a konfigurovat jednotlivé nástroje. V případě potřeby můžete počítač DSVM snadno vertikálně navýšit a můžete ho zastavit, když se nepoužívá. Prostředek DSVM je elastický i nákladově efektivní.

V tomto názorném postupu analyzujeme datovou sadu spambase . Spambase je sada e-mailů, které jsou označené jako spam nebo ham (ne spam). Spambase obsahuje také určité statistiky o obsahu e-mailu. Statistiky probereme později v návodu.

Požadavky

Než budete moct použít virtuální počítač pro datové vědy (DSVM) s Linuxem, musíte se pokrýt těmito požadavky:

Stažení datové sady spambase

Datová sada spambase je poměrně malá sada dat obsahující 4 601 příkladů. Pohodlná, spravovatelná velikost tohoto prostředku usnadňuje zobrazení některých klíčových funkcí DSVM kvůli skromným požadavkům na prostředky.

Poznámka:

Tento názorný postup byl vytvořen pomocí virtuálního počítače DSVM S LINUXem s velikostí D2 v2. Tuto velikost můžete použít k dokončení postupů zobrazených v tomto názorném postupu.

Pro větší prostor úložiště můžete vytvořit více disků a připojit je k virtuálnímu počítači DSVM. Disky používají trvalé úložiště Azure, takže jejich data se zachovají i v případě, že je server znovu zřízený kvůli změně velikosti nebo vypnutí. Pokud chcete přidat disk a připojit ho k virtuálnímu počítači pro datové vědy, proveďte kroky v části Přidání disku do virtuálního počítače s Linuxem. Postup přidání disku pomocí Azure CLI, který je už nainstalovaný na DSVM. Celý postup můžete provést přímo ze samotného DSVM. Jako další možnost pro zvýšení úložiště můžete použít službu Azure Files.

Pokud chcete data stáhnout, otevřete okno terminálu a spusťte tento příkaz:

wget --no-check-certificate https://archive.ics.uci.edu/ml/machine-learning-databases/spambase/spambase.data

Stažený soubor neobsahuje řádek záhlaví. Pojďme vytvořit další soubor, který má hlavičku. Spuštěním tohoto příkazu vytvořte soubor s příslušnými hlavičkami:

echo 'word_freq_make, word_freq_address, word_freq_all, word_freq_3d,word_freq_our, word_freq_over, word_freq_remove, word_freq_internet,word_freq_order, word_freq_mail, word_freq_receive, word_freq_will,word_freq_people, word_freq_report, word_freq_addresses, word_freq_free,word_freq_business, word_freq_email, word_freq_you, word_freq_credit,word_freq_your, word_freq_font, word_freq_000, word_freq_money,word_freq_hp, word_freq_hpl, word_freq_george, word_freq_650, word_freq_lab,word_freq_labs, word_freq_telnet, word_freq_857, word_freq_data,word_freq_415, word_freq_85, word_freq_technology, word_freq_1999,word_freq_parts, word_freq_pm, word_freq_direct, word_freq_cs, word_freq_meeting,word_freq_original, word_freq_project, word_freq_re, word_freq_edu,word_freq_table, word_freq_conference, char_freq_semicolon, char_freq_leftParen,char_freq_leftBracket, char_freq_exclamation, char_freq_dollar, char_freq_pound, capital_run_length_average,capital_run_length_longest, capital_run_length_total, spam' > headers

Pak zřetězení těchto dvou souborů:

cat spambase.data >> headers
mv headers spambaseHeaders.data

Datová sada má pro každý e-mail několik typů statistik:

  • Sloupce, například word_freq_WORD , označují procento slov v e-mailu, které odpovídají wordu. Pokud je například word_freq_make 1, bylo 1 % všech slov v e-mailu.
  • Sloupce, například char_freq_CHAR , označují procento všech znaků v e-mailu, které jsou ZNAK.
  • capital_run_length_longest je nejdelší délka posloupnosti velkých písmen.
  • capital_run_length_average je průměrná délka všech sekvencí velkých písmen.
  • capital_run_length_total je celková délka všech sekvencí velkých písmen.
  • Spam označuje, jestli byl e-mail považován za spam nebo ne (1 = spam, 0 = ne spam).

Prozkoumání datové sady pomocí R Open

Pojďme se podívat na data a pomocí jazyka R provést základní strojové učení. DsVM se dodává s předinstalovaným CRAN R.

Pokud chcete získat kopie ukázek kódu použitých v tomto názorném postupu, naklonujte úložiště Azure-Machine-Learning-Data-Science pomocí Gitu. Git je předinstalovaný na DSVM. Na příkazovém řádku Git spusťte:

git clone https://github.com/Azure/Azure-MachineLearning-DataScience.git

Otevřete okno terminálu a spusťte novou relaci jazyka R v interaktivní konzole jazyka R. Pokud chcete importovat data a nastavit prostředí, spusťte:

data <- read.csv("spambaseHeaders.data")
set.seed(123)

Tento vzorový kód ukazuje souhrnné statistiky o jednotlivých sloupci:

summary(data)

Pro jiné zobrazení dat:

str(data)

Toto zobrazení ukazuje typ každé proměnné a několik prvních hodnot v datové sadě.

Sloupec spamu byl přečtený jako celé číslo, ale ve skutečnosti se jedná o kategorickou proměnnou (nebo faktor). Nastavení jeho typu:

data$spam <- as.factor(data$spam)

Pro určitou průzkumnou analýzu použijte balíček ggplot2 , oblíbenou knihovnu grafů pro R. Balíček ggplot2 je předinstalovaný na DSVM. Na základě dříve zobrazených souhrnných dat máme souhrnné statistiky o frekvenci vykřičníku. Pokud chcete tyto frekvence vykreslit zde, spusťte tyto příkazy:

library(ggplot2)
ggplot(data) + geom_histogram(aes(x=char_freq_exclamation), binwidth=0.25)

Vzhledem k tomu, že nulový pruh graf zkosí, pojďme ho eliminovat:

email_with_exclamation = data[data$char_freq_exclamation > 0, ]
ggplot(email_with_exclamation) + geom_histogram(aes(x=char_freq_exclamation), binwidth=0.25)

Netriviální hustota nad 1, která vypadá zajímavě. Pojďme se podívat jenom na tato data:

ggplot(data[data$char_freq_exclamation > 1, ]) + geom_histogram(aes(x=char_freq_exclamation), binwidth=0.25)

Potom ho rozdělte podle spamu a ham:

ggplot(data[data$char_freq_exclamation > 1, ], aes(x=char_freq_exclamation)) +
geom_density(lty=3) +
geom_density(aes(fill=spam, colour=spam), alpha=0.55) +
xlab("spam") +
ggtitle("Distribution of spam \nby frequency of !") +
labs(fill="spam", y="Density")

Tyto příklady by vám měly pomoct s vytvářením podobných grafů a zkoumáním dat v ostatních sloupcích.

Trénování a testování modelu strojového učení

Pojďme vytrénovat několik modelů strojového učení, abychom identifikovali e-maily v datové sadě, které obsahují spam nebo šunku. V této části vytrénujeme model rozhodovacího stromu a náhodný model doménové struktury. Pak otestujeme přesnost předpovědí.

Poznámka:

Balíček rpart (rekurzivní dělení a regresní stromy) použitý v následujícím kódu je již nainstalován na DSVM.

Nejprve rozdělíme datovou sadu na trénovací sady a testovací sady:

rnd <- runif(dim(data)[1])
trainSet = subset(data, rnd <= 0.7)
testSet = subset(data, rnd > 0.7)

Pak vytvořte rozhodovací strom pro klasifikaci e-mailů:

require(rpart)
model.rpart <- rpart(spam ~ ., method = "class", data = trainSet)
plot(model.rpart)
text(model.rpart)

Tady je výsledek:

Diagram znázorňující vytvořený rozhodovací strom

Pomocí této ukázky kódu můžete určit, jak dobře funguje na trénovací sadě:

trainSetPred <- predict(model.rpart, newdata = trainSet, type = "class")
t <- table(`Actual Class` = trainSet$spam, `Predicted Class` = trainSetPred)
accuracy <- sum(diag(t))/sum(t)
accuracy

Pokud chcete zjistit, jak dobře funguje v testovací sadě, spusťte tento kód:

testSetPred <- predict(model.rpart, newdata = testSet, type = "class")
t <- table(`Actual Class` = testSet$spam, `Predicted Class` = testSetPred)
accuracy <- sum(diag(t))/sum(t)
accuracy

Pojďme si také vyzkoušet model náhodné doménové struktury. Náhodný les trénuje více rozhodovacích stromů. Vypíše třídu, která je hodnotou režimu klasifikací ze všech jednotlivých rozhodovacích stromů. Poskytují výkonnější přístup strojového učení, protože jsou správné pro tendenci modelu rozhodovacího stromu přeučení trénovací datové sady.

require(randomForest)
trainVars <- setdiff(colnames(data), 'spam')
model.rf <- randomForest(x=trainSet[, trainVars], y=trainSet$spam)

trainSetPred <- predict(model.rf, newdata = trainSet[, trainVars], type = "class")
table(`Actual Class` = trainSet$spam, `Predicted Class` = trainSetPred)

testSetPred <- predict(model.rf, newdata = testSet[, trainVars], type = "class")
t <- table(`Actual Class` = testSet$spam, `Predicted Class` = testSetPred)
accuracy <- sum(diag(t))/sum(t)
accuracy

Kurzy a názorné postupy hlubokého učení

Kromě ukázek založených na architektuře je k dispozici také sada komplexních návodů. Tyto názorné postupy vám pomůžou rychle začít s vývojem aplikací hlubokého učení v imagích, porozumění textu a dalších doménách.

  • Spouštění neurálních sítí napříč různými architekturami: Komplexní návod, který ukazuje, jak migrovat kód z jedné architektury do jiné. Ukazuje také, jak porovnat výkon modelu a modulu runtime napříč architekturami.

  • Průvodce vytvořením komplexního řešení pro detekci produktů v obrázcích: Technika detekce obrázků dokáže vyhledat a klasifikovat objekty v obrázcích. Technologie může poskytovat obrovské odměny v mnoha reálných obchodních oblastech. Například maloobchodní prodejci mohou pomocí této techniky určit, který produkt zákazník vyzvedl z police. Tyto informace zase pomáhají při správě inventáře produktů.

  • Hluboké učení pro zvuk: V tomto kurzu se dozvíte, jak trénovat model hlubokého učení pro detekci zvukových událostí v datové sadě městských zvuků. Tento kurz obsahuje přehled práce se zvukovými daty.

  • Klasifikace textových dokumentů: Tento návod ukazuje, jak sestavit a trénovat dvě různé architektury neurální sítě: Hierarchical Attention Network a Dlouhodobé krátkodobé paměti (LSTM). Ke klasifikaci textových dokumentů používají tyto neurální sítě rozhraní API Kerasu pro hluboké učení. Keras je front-end až tři z nejoblíbenějších architektur hlubokého učení: Microsoft Cognitive Toolkit, TensorFlow a Theano.

Další nástroje

Zbývající části ukazují, jak používat některé nástroje předinstalované na virtuálním počítači pro datové vědy (DSVM) s Linuxem. Prozkoumáme tyto nástroje:

  • XGBoost
  • Python
  • JupyterHub
  • Rattle
  • PostgreSQL a SQuirreL SQL
  • Azure Synapse Analytics (dříve SQL DW)

XGBoost

XGBoost poskytuje rychlou a přesnou implementaci stromové struktury.

require(xgboost)
data <- read.csv("spambaseHeaders.data")
set.seed(123)

rnd <- runif(dim(data)[1])
trainSet = subset(data, rnd <= 0.7)
testSet = subset(data, rnd > 0.7)

bst <- xgboost(data = data.matrix(trainSet[,0:57]), label = trainSet$spam, nthread = 2, nrounds = 2, objective = "binary:logistic")

pred <- predict(bst, data.matrix(testSet[, 0:57]))
accuracy <- 1.0 - mean(as.numeric(pred > 0.5) != testSet$spam)
print(paste("test accuracy = ", accuracy))

XGBoost může také volat z Pythonu nebo příkazového řádku.

Python

Pro vývoj v Pythonu jsou distribuce Anaconda Python 3.5 a 2.7 předinstalované na DSVM.

Poznámka:

Distribuce Anaconda zahrnuje Conda. Pomocí Conda můžete vytvářet vlastní prostředí Pythonu s různými verzemi nebo balíčky nainstalovanými v nich.

Pojďme si přečíst některé z datových sad spambase a klasifikovat e-maily pomocí podpůrných vektorů v Scikit-learn:

import pandas
from sklearn import svm
data = pandas.read_csv("spambaseHeaders.data", sep = ',\s*')
X = data.ix[:, 0:57]
y = data.ix[:, 57]
clf = svm.SVC()
clf.fit(X, y)

Vytváření předpovědí:

clf.predict(X.ix[0:20, :])

Abychom si ukázali, jak publikovat koncový bod služby Azure Machine Learning, pojďme vytvořit základní model. Používáme tři proměnné, které jsme použili při publikování modelu R dříve:

X = data[["char_freq_dollar", "word_freq_remove", "word_freq_hp"]]
y = data.ix[:, 57]
clf = svm.SVC()
clf.fit(X, y)

JupyterHub

Distribuce Anaconda v DSVM se dodává s poznámkovým blokem Jupyter. Tento prostředek je multiplatformní prostředí pro sdílení kódu a analýzy Pythonu, jazyka R nebo Julia. Poznámkový blok Jupyter je přístupný prostřednictvím JupyterHubu. Přihlaste se pomocí místního uživatelského jména a hesla Linuxu na https://< názvu DNS nebo IP adrese>:8000/. Všechny konfigurační soubory JupyterHubu najdete na /etc/jupyterhubu.

Poznámka:

Pokud chcete použít Správce balíčků Pythonu (pomocí pip příkazu) z poznámkového bloku Jupyter umístěného v aktuálním jádru, použijte tento příkaz v buňce kódu:

 import sys
 ! {sys.executable} -m pip install numpy -y

Pokud chcete použít instalační program Conda (prostřednictvím conda příkazu) z poznámkového bloku Jupyter umístěného v aktuálním jádru, použijte tento příkaz v buňce kódu:

 import sys
 ! {sys.prefix}/bin/conda install --yes --prefix {sys.prefix} numpy

Na DSVM už je nainstalovaných několik ukázkových poznámkových bloků:

Poznámka:

Jazyk Julia je k dispozici také z příkazového řádku na virtuálním počítači dsVM s Linuxem.

Rattle

Pro dolování dat můžete použít grafický nástroj R rattle (R Analytical Tool To Lvydělat Easily). Rattle má intuitivní rozhraní, které usnadňuje načítání, zkoumání a transformaci dat a vytváření a vyhodnocování modelů. Rattle: Grafické uživatelské rozhraní pro dolování dat pro R poskytuje návod, který ukazuje funkce Rattle.

Spuštěním těchto příkazů nainstalujte a spusťte Rattle:

if(!require("rattle")) install.packages("rattle")
require(rattle)
rattle()

Poznámka:

Na DSVM nemusíte instalovat Rattle. Při otevření Rattle se však může zobrazit výzva k instalaci dalších balíčků.

Rattle používá rozhraní založené na kartách. Většina karet odpovídá krokům v procesu týmového Datová Věda, jako je načítání dat nebo zkoumání dat. Proces datových věd prochází zleva doprava přes karty. Poslední karta obsahuje protokol příkazů R, které Rattle spustily.

Načtení a konfigurace datové sady:

  1. Pokud chcete soubor načíst, vyberte kartu Data .
  2. Zvolte selektor vedle názvu souboru a pak vyberte spambaseHeaders.data.
  3. Načtení souboru. vyberte Spustit. Měli byste vidět souhrn jednotlivých sloupců, včetně jeho identifikovaného datového typu, ať už se jedná o vstup, cíl nebo jiný typ proměnné, a počet jedinečných hodnot.
  4. Omezení správně identifikovalo sloupec spamu jako cíl. Vyberte sloupec spamu a pak nastavte cílový datový typ na kategorii Kategorie.

Zkoumání dat:

  1. Výběr karty Prozkoumat
  2. Pokud chcete zobrazit informace o typech proměnných a některých souhrnných statistikách, vyberte Spustit souhrn>.
  3. Pokud chcete zobrazit další typy statistik o jednotlivých proměnných, vyberte další možnosti, například Popis nebo Základy.

K vygenerování přehledných grafů můžete použít také kartu Prozkoumat . Vykreslení histogramu dat:

  1. Vybrat distribuce
  2. Jako word_freq_remove a word_freq_you vyberte Histogram.
  3. Vyberte Provést. Oba grafy hustoty byste měli vidět v okně s jedním grafem, kde se slovo , které se v e-mailech zřetelně zobrazuje mnohem častěji, v porovnání s odebráním .

Grafy korelace jsou také zajímavé. Vytvoření grafu:

  1. Jako typ vyberte Korelace.
  2. Vyberte Execute (Provést).
  3. Rattle vás upozorní, že doporučí maximálně 40 proměnných. Výběrem možnosti Ano zobrazíte graf.

Existují některé zajímavé korelace, které se objeví. Technologie například silně korelují s prostředím HP a testovacími prostředími. Také silně koreluje s 650 , protože směrové číslo oblasti dárců datových sad je 650.

Číselné hodnoty pro korelace mezi slovy jsou k dispozici v okně Prozkoumat . Je zajímavé si například uvědomit, že technologie je negativně korelována s vašimi a penězi.

Rattle může transformovat datovou sadu, aby zvládla některé běžné problémy. Může například znovu škálovat funkce, imputovat chybějící hodnoty, zpracovat odlehlé hodnoty a odebrat proměnné nebo pozorování, které obsahují chybějící data. Omezení může také identifikovat pravidla přidružení mezi pozorováními a proměnnými. V tomto úvodním návodu se tyto karty nezabývá.

Rattle také dokáže zpracovávat analýzy clusteru. Vyloučíme některé funkce, abychom usnadnili čtení výstupu. Na kartě Data vyberte Možnost Ignorovat vedle každé proměnné s výjimkou těchto 10 položek:

  • word_freq_hp
  • word_freq_technology
  • word_freq_george
  • word_freq_remove
  • word_freq_your
  • word_freq_dollar
  • word_freq_money
  • capital_run_length_longest
  • word_freq_business
  • spam

Vraťte se na kartu Cluster. Vyberte KMeans a pak nastavte počet clusterů na 4. Vyberte Provést. Ve výstupním okně se zobrazí výsledky. Jeden cluster má vysokou frekvenci george a hp, a pravděpodobně je legitimní obchodní e-mail.

Vytvoření základního modelu strojového učení rozhodovacího stromu:

  1. Výběr karty Model
  2. Jako typ vyberte strom.
  3. Výběrem možnosti Spustit zobrazíte strom v textovém formuláři v okně výstupu.
  4. Výběrem tlačítka Kreslení zobrazíte grafickou verzi. Rozhodovací strom vypadá podobně jako strom, který jsme získali dříve s rpart.

Rattle může spustit několik metod strojového učení a rychle je vyhodnotit. Toto je užitečná funkce. Zde je postup:

  1. Jako typ vyberte Vše.
  2. Vyberte Execute (Provést).
  3. Po dokončení rattle můžete vybrat libovolnou hodnotu typu , například SVM, a zobrazit výsledky.
  4. Můžete také porovnat výkon modelů na ověřovací sadě s kartou Vyhodnocení . Například výběr Matice chyb zobrazuje konfuzní matici, celkovou chybu a průměrnou chybu třídy pro každý model v ověřovací sadě. Můžete také vykreslit křivky ROC, spustit analýzu citlivosti a provádět další typy vyhodnocení modelu.

Až dokončíte vytváření modelů, vyberte kartu Protokol a zobrazte kód R, který se spustil během relace. Kliknutím na tlačítko Exportovat ho můžete uložit.

Poznámka:

Aktuální verze Rattle obsahuje chybu. Chcete-li upravit skript nebo ho použít k pozdějšímu opakování kroků, je nutné vložit # znak před export tohoto protokolu ... do textu protokolu.

PostgreSQL a SQuirreL SQL

DsVM se dodává s nainstalovaným PostgreSQL. PostgreSQL je sofistikovaná opensourcová relační databáze. Tato část ukazuje, jak načíst datovou sadu spambase do PostgreSQL a pak ji dotazovat.

Než budete moct načíst data, musíte povolit ověřování heslem z místního hostitele. Na příkazovém řádku spusťte:

sudo gedit /var/lib/pgsql/data/pg_hba.conf

V dolní části konfiguračního souboru obsahuje několik řádků podrobnosti o povolených připojeních:

# "local" is only for Unix domain socket connections:
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Změňte řádek místních připojení IPv4 tak, aby místo identifikátoru používal md5, abychom se mohli přihlásit pomocí uživatelského jména a hesla:

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5

Pak restartujte službu PostgreSQL:

sudo systemctl restart postgresql

Pokud chcete spustit psql (interaktivní terminál pro PostgreSQL) jako předdefinovaný uživatel postgres, spusťte tento příkaz:

sudo -u postgres psql

Vytvořte nový uživatelský účet s uživatelským jménem účtu Linuxu, který jste použili k přihlášení. Vytvořte heslo:

CREATE USER <username> WITH CREATEDB;
CREATE DATABASE <username>;
ALTER USER <username> password '<password>';
\quit

Přihlaste se k psql:

psql

Import dat do nové databáze:

CREATE DATABASE spam;
\c spam
CREATE TABLE data (word_freq_make real, word_freq_address real, word_freq_all real, word_freq_3d real,word_freq_our real, word_freq_over real, word_freq_remove real, word_freq_internet real,word_freq_order real, word_freq_mail real, word_freq_receive real, word_freq_will real,word_freq_people real, word_freq_report real, word_freq_addresses real, word_freq_free real,word_freq_business real, word_freq_email real, word_freq_you real, word_freq_credit real,word_freq_your real, word_freq_font real, word_freq_000 real, word_freq_money real,word_freq_hp real, word_freq_hpl real, word_freq_george real, word_freq_650 real, word_freq_lab real,word_freq_labs real, word_freq_telnet real, word_freq_857 real, word_freq_data real,word_freq_415 real, word_freq_85 real, word_freq_technology real, word_freq_1999 real,word_freq_parts real, word_freq_pm real, word_freq_direct real, word_freq_cs real, word_freq_meeting real,word_freq_original real, word_freq_project real, word_freq_re real, word_freq_edu real,word_freq_table real, word_freq_conference real, char_freq_semicolon real, char_freq_leftParen real,char_freq_leftBracket real, char_freq_exclamation real, char_freq_dollar real, char_freq_pound real, capital_run_length_average real, capital_run_length_longest real, capital_run_length_total real, spam integer);
\copy data FROM /home/<username>/spambase.data DELIMITER ',' CSV;
\quit

Teď pojďme prozkoumat data a spustit některé dotazy pomocí SQuirreL SQL, grafického nástroje, který může pracovat s databázemi prostřednictvím ovladače JDBC.

Nejprve v nabídce Aplikace otevřete SQuirreL SQL. Nastavení ovladače:

  1. Výběr ovladačů zobrazení systému Windows>
  2. Klikněte pravým tlačítkem na PostgreSQL a vyberte Změnit ovladač.
  3. Vybrat další cestu>třídy Přidat
  4. Jako název souboru zadejte /usr/share/java/jdbcdrivers/postgresql-9.4.1208.jre6.jar
  5. Výběr možnosti Otevřít
  6. Vyberte Seznam ovladačů. Jako název třídy vyberte org.postgresql.Driver a pak vyberte OK.

Nastavení připojení k místnímu serveru:

  1. Vyberte aliasy zobrazení systému Windows>.
  2. + Výběrem tlačítka vytvořte nový alias. Jako název nového aliasu zadejte databázi spamu.
  3. V případě ovladače vyberte PostgreSQL.
  4. Nastavení adresy URL na jdbc:postgresql://localhost/spam
  5. Zadejte uživatelské jméno a heslo.
  6. Vyberte OK.
  7. Pokud chcete otevřít okno Připojení, poklikejte na alias databáze spamu.
  8. Vyberte Připojit

Spuštění některých dotazů:

  1. Výběr karty SQL
  2. Do pole dotazu v horní části karty SQL zadejte základní dotaz: například SELECT * from data;
  3. Stisknutím kombinace kláves Ctrl+Enter spusťte dotaz. Ve výchozím nastavení vrátí SQuirreL SQL prvních 100 řádků z dotazu.

K prozkoumání těchto dat můžete spustit mnoho dalších dotazů. Jak se například frekvence slova liší mezi spamem a hamem?

SELECT avg(word_freq_make), spam from data group by spam;

Jaké jsou charakteristiky e-mailů, které často obsahují 3d?

SELECT * from data order by word_freq_3d desc;

Většina e-mailů s vysokým výskytem 3d je zjevná spam. Tyto informace můžou být užitečné při vytváření prediktivního modelu pro klasifikaci e-mailů.

Pro strojové učení s využitím dat uložených v databázi PostgreSQL funguje maDlib dobře.

Azure Synapse Analytics (dříve SQL DW)

Azure Synapse Analytics je cloudová databáze se škálováním na více instancí, která dokáže zpracovávat obrovské objemy dat, a to jak relační, tak nerelační. Další informace najdete v tématu Co je Azure Synapse Analytics?

Pokud se chcete připojit k datovému skladu a vytvořit tabulku, spusťte tento příkaz z příkazového řádku:

sqlcmd -S <server-name>.database.windows.net -d <database-name> -U <username> -P <password> -I

Na příkazovém řádku sqlcmd spusťte tento příkaz:

CREATE TABLE spam (word_freq_make real, word_freq_address real, word_freq_all real, word_freq_3d real,word_freq_our real, word_freq_over real, word_freq_remove real, word_freq_internet real,word_freq_order real, word_freq_mail real, word_freq_receive real, word_freq_will real,word_freq_people real, word_freq_report real, word_freq_addresses real, word_freq_free real,word_freq_business real, word_freq_email real, word_freq_you real, word_freq_credit real,word_freq_your real, word_freq_font real, word_freq_000 real, word_freq_money real,word_freq_hp real, word_freq_hpl real, word_freq_george real, word_freq_650 real, word_freq_lab real,word_freq_labs real, word_freq_telnet real, word_freq_857 real, word_freq_data real,word_freq_415 real, word_freq_85 real, word_freq_technology real, word_freq_1999 real,word_freq_parts real, word_freq_pm real, word_freq_direct real, word_freq_cs real, word_freq_meeting real,word_freq_original real, word_freq_project real, word_freq_re real, word_freq_edu real,word_freq_table real, word_freq_conference real, char_freq_semicolon real, char_freq_leftParen real,char_freq_leftBracket real, char_freq_exclamation real, char_freq_dollar real, char_freq_pound real, capital_run_length_average real, capital_run_length_longest real, capital_run_length_total real, spam integer) WITH (CLUSTERED COLUMNSTORE INDEX, DISTRIBUTION = ROUND_ROBIN);
GO

Zkopírujte data pomocí nástroje bcp:

bcp spam in spambaseHeaders.data -q -c -t  ',' -S <server-name>.database.windows.net -d <database-name> -U <username> -P <password> -F 1 -r "\r\n"

Poznámka:

Stažený soubor obsahuje konce čar ve stylu Windows. Nástroj bcp očekává konce čar ve stylu Unix. Pomocí příznaku -r o tom řekněte bcp.

Pak dotazujte pomocí sqlcmd:

select top 10 spam, char_freq_dollar from spam;
GO

Můžete se také dotazovat pomocí jazyka SQuirreL SQL. Postupujte podobně jako PostgreSQL pomocí ovladače SQL Server JDBC. Ovladač JDBC je ve složce /usr/share/java/jdbcdrivers/sqljdbc42.jar.