Bagikan melalui


Ilmu data dengan Ubuntu Data Science Virtual Machine di Azure

Panduan ini menjelaskan cara menyelesaikan beberapa tugas ilmu data umum dengan Ubuntu Ilmu Data Virtual Machine (DSVM). Ubuntu DSVM adalah gambar komputer virtual yang tersedia di Azure, dengan koleksi alat yang telah diinstal sebelumnya yang umum digunakan untuk analitik data dan pembelajaran mesin. Sumber daya Provisi Ubuntu Ilmu Data Virtual Machine memerindukan komponen perangkat lunak utama. Gambar DSVM memudahkan untuk memulai ilmu data hanya dalam beberapa menit, menghindari kebutuhan untuk menginstal dan mengonfigurasi masing-masing alat satu per satu. Anda dapat dengan mudah meningkatkan DSVM jika perlu, dan Anda dapat menghentikannya saat tidak digunakan. Sumber daya DSVM elastis dan hemat biaya.

Dalam panduan ini, kami menganalisis himpunan data spambase . {i>Spambasespamhamspam

Prasyarat

Sebelum Anda dapat menggunakan DSVM Linux, Anda harus mencakup prasyarat ini:

Mengunduh himpunan data {i>spambase

Himpunan data spambase adalah sekumpulan data yang cukup kecil yang berisi 4.601 contoh. Ukuran sumber daya ini yang nyaman dan dapat dikelola memudahkan untuk menunjukkan beberapa fitur utama DSVM karena persyaratan sumber daya yang sederhana.

Catatan

Panduan ini dibuat menggunakan DSVM Linux ukuran D2 v2. Anda dapat menggunakan DSVM ukuran ini untuk menyelesaikan prosedur yang ditunjukkan dalam panduan ini.

Untuk lebih banyak ruang penyimpanan, Anda dapat membuat lebih banyak disk, dan melampirkannya ke DSVM Anda. Disk menggunakan penyimpanan Azure persisten, sehingga datanya dipertahankan meskipun server diprovisikan ulang karena mengubah ukuran atau dimatikan. Untuk menambahkan disk dan melampirkannya ke DSVM Anda, selesaikan langkah-langkah dalam Menambahkan disk ke VM Linux. Langkah-langkah untuk menambahkan disk menggunakan Azure CLI, yang sudah diinstal pada DSVM. Anda dapat menyelesaikan langkah-langkah sepenuhnya dari DSVM itu sendiri. Sebagai opsi lain untuk meningkatkan penyimpanan, Anda dapat menggunakan Azure Files.

Untuk mengunduh data, buka jendela terminal, lalu jalankan perintah ini:

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

File yang diunduh tidak memiliki baris {i>header headerheader

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

Kemudian, gabungkan dua file bersama-sama:

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

Himpunan data memiliki beberapa jenis statistik untuk setiap email:

  • Kolom seperti word_freq_WORD menunjukkan persentase kata dalam email yang cocok dengan WORD. Misalnya, jika word_freq_make adalah 1, maka buat adalah 1% dari semua kata dalam email.
  • Kolom seperti char_freq_CHAR menunjukkan persentase semua karakter dalam email yang merupakan CHAR.
  • capital_run_length_longest adalah urutan huruf kapital terpanjang.
  • capital_run_length_average merupakan panjang rata-rata dari semua urutan huruf kapital.
  • capital_run_length_total merupakan total panjang semua urutan huruf kapital.
  • spam menunjukkan apakah email dianggap spam atau tidak (1 = spam, 0 = bukan spam).

Menjelajahi himpunan data dengan menggunakan R Open

Mari kita periksa data, dan gunakan R untuk melakukan beberapa pembelajaran mesin dasar. DSVM dilengkapi dengan CRAN R yang telah diinstal sebelumnya.

Untuk mendapatkan salinan sampel kode yang digunakan dalam panduan ini, gunakan git untuk mengkloning repositori Azure-Machine-Learning-Data-Science. {i>Gitgit

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

Buka jendela terminal dan mulai sesi R baru di konsol interaktif R. Untuk mengimpor data dan menyiapkan lingkungan, jalankan:

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

Sampel kode ini memperlihatkan statistik ringkasan tentang setiap kolom:

summary(data)

Untuk tampilan data yang berbeda:

str(data)

Tampilan ini menunjukkan jenis setiap variabel, dan beberapa nilai pertama dalam himpunan data.

Kolom spam dibaca sebagai bilangan bulat, tetapi sebenarnya variabel kategoris (atau faktor). Untuk mengatur jenisnya:

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

Untuk beberapa analisis eksploratif, gunakan paket ggplot2 , pustaka grafik populer untuk R. Paket ggplot2 telah diinstal sebelumnya pada DSVM. Berdasarkan data ringkasan yang ditampilkan sebelumnya, kami memiliki statistik ringkasan tentang frekuensi karakter tanda seru. Untuk memplot frekuensi tersebut di sini, jalankan perintah ini:

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

Karena bilah nol menyimpulkan plot, mari kita hilangkan:

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

Kepadatan nontrivial di atas 1 yang terlihat menarik. Mari kita lihat hanya data itu:

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

Kemudian, bagi dengan {i>spamham

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")

Contoh-contoh ini akan membantu Anda membuat plot serupa dan menjelajahi data di kolom lain.

Melatih dan menguji model pembelajaran mesin

Mari kita latih beberapa model pembelajaran mesin untuk mengidentifikasi email dalam himpunan data yang berisi spam atau ham. Di bagian ini, kami melatih model pohon keputusan dan model hutan acak. Kemudian, uji keakuratan prediksi.

Catatan

Paket rpart (Pemartisian Rekursif dan Pohon Regresi) yang digunakan dalam kode berikut sudah terinstal pada DSVM.

Pertama, bagi himpunan data menjadi set pelatihan dan set pengujian:

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

Kemudian, buat pohon keputusan untuk mengklasifikasikan email:

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

Berikut hasilnya:

Diagram memperlihatkan pohon keputusan yang dibuat.

Gunakan sampel kode ini untuk menentukan seberapa baik performanya pada set pelatihan:

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

Untuk menentukan seberapa baik performanya pada set pengujian, jalankan kode ini:

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

Mari kita juga mencoba model hutan acak. Hutan acak melatih beberapa pohon keputusan. Ini menghasilkan kelas yang merupakan nilai mode klasifikasi dari semua pohon keputusan individu. Mereka memberikan pendekatan pembelajaran mesin yang lebih kuat karena mereka mengoreksi kecenderungan model pohon keputusan untuk menyesuaikan himpunan data pelatihan.

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

Tutorial pembelajaran mendalam dan panduan

Selain sampel berbasis kerangka kerja, satu set panduan komprehensif juga disediakan. Panduan ini membantu Anda memulai pengembangan aplikasi pembelajaran mendalam dalam gambar, pemahaman bahasa teks, dll. domain.

  • Menjalankan jaringan neural di berbagai kerangka kerja: Panduan komprehensif yang menunjukkan cara memigrasikan kode dari satu kerangka kerja ke kerangka kerja lainnya. Ini juga menunjukkan cara membandingkan model dan performa runtime di seluruh kerangka kerja.

  • Panduan cara membangun solusi end-to-end untuk mendeteksi produk dalam gambar: Teknik deteksi gambar dapat menemukan dan mengklasifikasikan objek dalam gambar. Teknologi ini dapat memberikan hadiah besar di banyak domain bisnis kehidupan nyata. Misalnya, peritel dapat menggunakan teknik ini untuk menentukan produk mana yang diambil pelanggan dari rak. Informasi ini pada gilirannya membantu toko mengelola inventaris produk.

  • Pembelajaran mendalam untuk audio:Tutorial ini menunjukkan cara melatih model pembelajaran mendalam untuk deteksi peristiwa audio pada himpunan data suara perkotaan. Tutorial ini memberikan gambaran umum tentang cara bekerja dengan data audio.

  • Klasifikasi dokumen teks: Panduan ini menunjukkan cara membangun dan melatih dua arsitektur jaringan neural yang berbeda: Jaringan Perhatian Hierarkis dan Memori Jangka Pendek Panjang (LSTM). Untuk mengklasifikasikan dokumen teks, jaringan neural ini menggunakan Keras API untuk pembelajaran mendalam. Keras adalah ujung depan untuk tiga kerangka pembelajaran mendalam paling populer: Microsoft Cognitive Toolkit, TensorFlow, dan Theano.

Alat lain

Bagian yang tersisa menunjukkan cara menggunakan beberapa alat yang telah diinstal sebelumnya di Linux DSVM. Kami memeriksa alat-alat ini:

  • XGBoost
  • Python
  • JupyterHub
  • Rattle
  • PostgreSQL dan SQuirreL SQL
  • Azure Synapse Analytics (sebelumnya SQL DW)

XGBoost

XGBoost menyediakan implementasi pohon yang cepat dan akurat.

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 juga dapat menelepon dari Python atau baris perintah.

Python

Untuk pengembangan Python, distribusi Anaconda Python 3.5 dan 2.7 telah diinstal sebelumnya pada DSVM.

Catatan

Distribusi Anaconda termasuk Conda. Anda dapat menggunakan Conda untuk membuat lingkungan Python kustom yang memiliki versi atau paket berbeda yang diinstal di dalamnya.

Mari kita baca di beberapa himpunan data spambase, dan mengklasifikasikan email dengan mesin vektor dukungan di 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)

Untuk membuat prediksi:

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

Untuk mendemonstrasikan cara memublikasikan titik akhir Azure Machine Learning, mari buat model yang lebih mendasar. Kami menggunakan tiga variabel yang kami gunakan saat menerbitkan model R sebelumnya:

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

JupyterHub

Distribusi Anaconda di DSVM dilengkapi dengan Jupyter Notebook. Sumber daya ini adalah lingkungan lintas platform untuk berbagi kode dan analisis Python, R, atau Julia. Jupyter Notebook diakses melalui JupyterHub. Anda masuk dengan menggunakan nama pengguna dan kata sandi Linux lokal Anda di https://<nama atau alamat IP DSVM DNS>:8000/. Anda dapat menemukan semua file konfigurasi JupyterHub di /etc/jupyterhub.

Catatan

Untuk menggunakan Python Package Manager (melalui pip perintah) dari Jupyter Notebook yang terletak di kernel saat ini, gunakan perintah ini di sel kode:

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

Untuk menggunakan alat penginstal Conda (melalui conda perintah) dari Jupyter Notebook yang terletak di kernel saat ini, gunakan perintah ini di sel kode:

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

Beberapa contoh buku catatan sudah diinstal pada DSVM:

Catatan

Bahasa Julia juga tersedia dari baris perintah di Linux DSVM.

Rattle

Anda dapat menggunakan alat R grafis Rattle (R Analytical Tool To Learn Easily) untuk penambangan data. Rattle memiliki antarmuka intuitif yang memudahkan untuk memuat, menjelajahi, dan mengubah data, serta membangun dan mengevaluasi model. Rattle: Data Mining GUI for R menyediakan penelusuran yang menunjukkan fitur Rattle.

Jalankan perintah ini untuk menginstal dan memulai Rattle:

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

Catatan

Anda tidak perlu menginstal Rattle pada DSVM. Namun, Anda mungkin diminta untuk menginstal paket tambahan saat Rattle terbuka.

Rattle menggunakan antarmuka berbasis tab. Sebagian besar tab sesuai dengan langkah-langkah dalam Proses Ilmu Data Tim, seperti memuat data atau menjelajahi data. Proses ilmu data mengalir dari kiri ke kanan melalui tab. Tab terakhir berisi log perintah R yang dijalankan Rattle.

Untuk memuat dan mengonfigurasi himpunan data:

  1. Untuk memuat file, pilih tab Data
  2. Pilih pemilih di samping Nama file, lalu pilih spambaseHeaders.data
  3. Untuk memuat file. pilih Jalankan. Anda akan melihat ringkasan setiap kolom, termasuk jenis data yang diidentifikasi, apakah itu input, target, atau jenis variabel lainnya, dan jumlah nilai unik
  4. Rattle dengan benar mengidentifikasi kolom spam sebagai target. Pilih kolom spam, lalu atur Tipe Data Target ke Kategoris

Menjelajahi data:

  1. Pilih tab Jelajahi
  2. Untuk melihat informasi tentang jenis variabel dan beberapa statistik ringkasan, pilih Ringkasan>Jalankan.
  3. Untuk melihat jenis statistik lain tentang setiap variabel, pilih opsi lain, seperti Jelaskan atau Dasar-dasar.

Anda juga dapat menggunakan tab Jelajahi untuk menghasilkan plot yang berwawasan luas. Untuk memplot histogram data:

  1. Pilih Distribusi
  2. Untuk word_freq_remove dan word_freq_you, pilih Histogram
  3. Pilih Jalankan. Anda akan melihat kedua plot kepadatan dalam satu jendela grafik, di mana kata yang anda jelas muncul jauh lebih sering dalam email, dibandingkan dengan menghapus

Plot Korelasi juga menarik. Untuk membuat plot:

  1. Untuk Jenis, pilih Korelasi
  2. Pilih Jalankan
  3. Rattle memperingatkan Anda bahwa ia merekomendasikan maksimum 40 variabel. Pilih Ya untuk melihat plot

Ada beberapa korelasi menarik yang muncul. Misalnya, teknologi sangat berkorelasi dengan HP dan lab. Ini juga sangat berkorelasi dengan 650 karena kode area donor himpunan data adalah 650.

Nilai numerik untuk korelasi antar kata tersedia di jendela Jelajahi. Sangat menarik untuk dicatat, misalnya, bahwa teknologi berkorelasi negatif dengan Andadanuang.

Rattle dapat mengubah himpunan data untuk menangani beberapa masalah umum. Misalnya, dapat mengubah skala fitur, mengaitkan nilai yang hilang, menangani {i>outlier

Rattle juga dapat menangani analisis kluster. Mari kita mengecualikan beberapa fitur untuk membuat {i>outputData , pilih Abaikan di samping setiap variabel, kecuali 10 item ini:

  • 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

Kembali ke tab Kluster. Pilih KMeans, lalu atur Jumlah kluster menjadi 4. Pilih Jalankan. Jendela output menunjukkan hasilnya. Satu kluster memiliki frekuensi tinggi george dan hp, dan mungkin merupakan email bisnis yang sah.

Untuk membangun model pembelajaran mesin pohon keputusan dasar:

  1. Pilih tab Model
  2. Untuk Jenis, pilih Pohon
  3. Pilih Jalankan untuk menampilkan pohon dalam bentuk teks di jendela output
  4. Pilih tombol Gambar untuk menampilkan versi grafis. Pohon keputusan terlihat mirip dengan pohon yang kami peroleh sebelumnya dengan rpart.

Rattle dapat menjalankan beberapa metode pembelajaran mesin dan dengan cepat mengevaluasinya. Ini adalah fitur yang bermanfaat. Berikut cara untuk melakukannya:

  1. Untuk Jenis, pilih Semua
  2. Pilih Jalankan
  3. Saat Rattle selesai berjalan, Anda dapat memilih nilai Jenis apa pun, seperti SVM, dan melihat hasilnya
  4. Anda juga dapat membandingkan performa model pada set validasi dengan tab Evaluasi . Misalnya, pilihan Matriks Kesalahan menunjukkan kepada Anda matriks kebingungan, kesalahan keseluruhan, dan kesalahan kelas rata-rata untuk setiap model pada set validasi. Anda juga dapat memplot kurva ROC, menjalankan analisis sensitivitas, dan melakukan jenis evaluasi model lainnya

Setelah selesai membangun model, pilih tab Log untuk melihat kode R yang dijalankan Rattle selama sesi Anda. Anda dapat memilih tombol Ekspor untuk menyimpannya.

Catatan

Rilis Rattle saat ini berisi {i>bug# harus menyisipkan karakter di depan Ekspor log ini ... dalam teks log.

PostgreSQL dan SQuirreL SQL

DSVM dilengkapi dengan PostgreSQL yang terpasang. PostgreSQL adalah database relasional sumber terbuka canggih. Bagian ini memperlihatkan cara memuat himpunan data spambase ke PostgreSQL lalu mengkuerinya.

Sebelum Anda dapat memuat data, Anda harus mengizinkan autentikasi kata sandi dari {i>localhost

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

Di dekat bagian bawah file konfigurasi, beberapa baris merinci koneksi yang diizinkan:

# "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

Ubah baris koneksi lokal IPv4 untuk menggunakan md5 alih-alih ident, sehingga kita dapat masuk dengan nama pengguna dan kata sandi:

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

Kemudian, hidupkan ulang layanan PostgreSQL:

sudo systemctl restart postgresql

Untuk meluncurkan psql (terminal interaktif untuk PostgreSQL) sebagai pengguna postgres bawaan, jalankan perintah ini:

sudo -u postgres psql

Buat akun pengguna baru dengan nama pengguna akun Linux yang Anda gunakan untuk masuk. Buat kata sandi:

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

Masuk ke psql:

psql

Mengimpor data ke {i>database

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

Sekarang, mari kita jelajahi data dan jalankan beberapa kueri dengan SQuirreL SQL, alat grafis yang dapat berinteraksi dengan database melalui driver JDBC.

Pertama, pada menu Aplikasi , buka SQuirreL SQL. Untuk menyiapkan {i>driver

  1. Pilih Driver Tampilan Windows>
  2. Klik kanan PostgreSQL dan pilih Ubah Driver
  3. Pilih Tambahkan Jalur>Kelas Tambahan
  4. Untuk Nama File, masukkan /usr/share/java/jdbcdrivers/postgresql-9.4.1208.jre6.jar
  5. Pilih Buka
  6. Pilih Daftar Driver. Untuk Nama Kelas, pilih org.postgresql.Driver, lalu pilih OK

Untuk mengatur koneksi ke server lokal:

  1. Pilih Alias>Tampilan Windows.
  2. Pilih tombol + untuk membuat alias baru. Untuk nama alias baru, masukkan database Spam
  3. Untuk Driver, pilih PostgreSQL
  4. Atur URL ke jdbc:postgresql://localhost/spam
  5. Masukkan nama pengguna dan kata sandi Anda
  6. Pilih OK
  7. Untuk membuka jendela Koneksi , klik dua kali alias database Spam
  8. Pilih Sambungkan

Untuk menjalankan beberapa kueri:

  1. Pilih tab SQL
  2. Dalam kotak kueri di bagian atas tab SQL , masukkan kueri dasar: misalnya, SELECT * from data;
  3. Tekan Ctrl+Enter untuk menjalankan kueri. Secara default, SQuirreL SQL mengembalikan 100 baris pertama dari kueri Anda

Anda dapat menjalankan lebih banyak kueri untuk menjelajahi data ini. Misalnya, bagaimana frekuensi kata membuat perbedaan antara spam dan ham?

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

Apa karakteristik email yang sering berisi 3d?

SELECT * from data order by word_freq_3d desc;

Sebagian besar email yang memiliki kemunculan tinggi 3d adalah spam yang jelas. Informasi ini mungkin berguna untuk membuat model prediktif untuk mengklasifikasikan email.

Untuk pembelajaran mesin menggunakan data yang disimpan dalam database PostgreSQL, MADlib bekerja dengan baik.

Azure Synapse Analytics (sebelumnya SQL DW)

Azure Synapse Analytics adalah database peluasan skala berbasis cloud yang dapat memproses data dalam volume besar, baik relasional maupun nonrelasional. Untuk informasi selengkapnya, kunjungi Apa itu Azure Synapse Analytics?

Untuk menyambungkan ke gudang data dan membuat tabel, jalankan perintah ini dari prompt perintah:

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

Pada perintah sqlcmd, jalankan perintah ini:

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

Salin data dengan 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"

Catatan

Berkas yang diunduh memuat akhiran baris gaya Windows. Alat bcp mengharapkan akhiran garis gaya Unix. Gunakan bendera -r untuk memberi tahu bcp tentang hal ini.

Lalu, kueri dengan menggunakan sqlcmd:

select top 10 spam, char_freq_dollar from spam;
GO

Anda juga dapat membuat kueri dengan menggunakan SQuirreL SQL. Ikuti langkah-langkah yang mirip dengan PostgreSQL dengan menggunakan {i>driver Driver