ML - Memahami Data dengan Visualisasi
pengantar
Di bab sebelumnya, kita telah membahas pentingnya data untuk algoritma Pembelajaran Mesin bersama dengan beberapa resep Python untuk memahami data dengan statistik. Ada cara lain yang disebut Visualisasi, untuk memahami data.
Dengan bantuan visualisasi data, kita dapat melihat seperti apa data tersebut dan seperti apa korelasi yang dimiliki oleh atribut data tersebut. Ini adalah cara tercepat untuk melihat apakah fitur sesuai dengan keluarannya. Dengan bantuan resep Python berikut, kita dapat memahami data ML dengan statistik.
Plot Univariat: Memahami Atribut Secara Mandiri
Jenis visualisasi yang paling sederhana adalah visualisasi variabel tunggal atau "univariat". Dengan bantuan visualisasi univariat, kami dapat memahami setiap atribut kumpulan data kami secara independen. Berikut adalah beberapa teknik dengan Python untuk mengimplementasikan visualisasi univariat -
Histogram
Histogram mengelompokkan data dalam bins dan merupakan cara tercepat untuk mendapatkan gambaran tentang distribusi setiap atribut dalam dataset. Berikut ini adalah beberapa ciri dari histogram -
Ini memberi kita hitungan jumlah pengamatan di setiap nampan yang dibuat untuk visualisasi.
Dari bentuk bin, kita dapat dengan mudah mengamati distribusinya, yaitu cuaca Gaussian, miring atau eksponensial.
Histogram juga membantu kita melihat kemungkinan pencilan.
Contoh
Kode yang ditunjukkan di bawah ini adalah contoh script Python yang membuat histogram dari atribut dataset Pima Indian Diabetes. Di sini, kita akan menggunakan fungsi hist () pada Pandas DataFrame untuk menghasilkan histogram danmatplotlib untuk merencanakannya.
from matplotlib import pyplot
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
data.hist()
pyplot.show()
Keluaran
Output di atas menunjukkan bahwa itu membuat histogram untuk setiap atribut dalam dataset. Dari sini, kita dapat mengamati bahwa mungkin umur, pedi dan atribut tes mungkin memiliki distribusi eksponensial sedangkan massa dan plas memiliki distribusi Gaussian.
Petak Kepadatan
Teknik cepat dan mudah lainnya untuk mendapatkan setiap distribusi atribut adalah Density plot. Ini juga seperti histogram tetapi memiliki kurva halus yang ditarik melalui bagian atas setiap nampan. Kita bisa menyebutnya sebagai histogram abstrak.
Contoh
Pada contoh berikut, skrip Python akan menghasilkan Density Plots untuk distribusi atribut dari dataset Pima Indian Diabetes.
from matplotlib import pyplot
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
data.plot(kind='density', subplots=True, layout=(3,3), sharex=False)
pyplot.show()
Keluaran
Dari keluaran di atas, perbedaan antara Density plot dan Histogram dapat dengan mudah dipahami.
Plot Kotak dan Kumis
Plot Kotak dan Kumis, singkatnya juga disebut plot kotak, adalah teknik lain yang berguna untuk meninjau distribusi distribusi setiap atribut. Berikut ini adalah karakteristik dari teknik ini -
Ini bersifat univariat dan merangkum distribusi setiap atribut.
Ini menarik garis untuk nilai tengah yaitu untuk median.
Ini menggambar kotak di sekitar 25% dan 75%.
Ini juga menarik kumis yang akan memberi kita gambaran tentang penyebaran data.
Titik-titik di luar kumis menandakan nilai pencilan. Nilai pencilan akan menjadi 1,5 kali lebih besar dari ukuran penyebaran data tengah.
Contoh
Pada contoh berikut, skrip Python akan menghasilkan Density Plots untuk distribusi atribut dari dataset Pima Indian Diabetes.
from matplotlib import pyplot
from pandas import read_csv
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
data.plot(kind='box', subplots=True, layout=(3,3), sharex=False,sharey=False)
pyplot.show()
Keluaran
Dari plot sebaran atribut di atas, terlihat bahwa umur, tes dan kulit tampak condong ke nilai yang lebih kecil.
Plot Multivariasi: Interaksi Di Antara Beberapa Variabel
Jenis visualisasi lainnya adalah visualisasi multi-variabel atau "multivariasi". Dengan bantuan visualisasi multivariasi, kita dapat memahami interaksi antara beberapa atribut dari dataset kita. Berikut ini adalah beberapa teknik dalam Python untuk mengimplementasikan visualisasi multivariasi -
Plot Matriks Korelasi
Korelasi merupakan indikasi tentang perubahan antara dua variabel. Pada bab sebelumnya, kita telah membahas koefisien Korelasi Pearson dan pentingnya Korelasi juga. Kita dapat memplot matriks korelasi untuk menunjukkan variabel mana yang memiliki korelasi tinggi atau rendah terhadap variabel lain.
Contoh
Pada contoh berikut, skrip Python akan menghasilkan dan memetakan matriks korelasi untuk dataset Pima Indian Diabetes. Itu dapat dibuat dengan bantuan fungsi corr () pada Pandas DataFrame dan diplot dengan bantuan pyplot.
from matplotlib import pyplot
from pandas import read_csv
import numpy
Path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(Path, names=names)
correlations = data.corr()
fig = pyplot.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(correlations, vmin=-1, vmax=1)
fig.colorbar(cax)
ticks = numpy.arange(0,9,1)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(names)
ax.set_yticklabels(names)
pyplot.show()
Keluaran
Dari keluaran matriks korelasi di atas, terlihat bahwa matriks tersebut simetris, yaitu kiri bawah sama dengan kanan atas. Juga diamati bahwa setiap variabel berkorelasi positif satu sama lain.
Plot Matriks Sebar
Plot sebar menunjukkan seberapa besar satu variabel dipengaruhi oleh variabel lain atau hubungan di antara mereka dengan bantuan titik dalam dua dimensi. Plot sebar sangat mirip dengan grafik garis dalam konsep yang menggunakan sumbu horizontal dan vertikal untuk memplot titik data.
Contoh
Pada contoh berikut, skrip Python akan menghasilkan dan memplot matriks Scatter untuk dataset Pima Indian Diabetes. Itu bisa dibuat dengan bantuan fungsi scatter_matrix () pada Pandas DataFrame dan diplot dengan bantuan pyplot.
from matplotlib import pyplot
from pandas import read_csv
from pandas.tools.plotting import scatter_matrix
path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(path, names=names)
scatter_matrix(data)
pyplot.show()