Mengapa Menggunakan Visualisasi Data?

“Un bon croquis vaut mieux qu’un long discours” 

(Napoleon, Kaisar Perancis)

“Sketsa yang bagus lebih baik daripada pidato yang panjang”

Sketsa yang dimaksud ibarat data yang kita visualisasikan dengan baik sehingga bisa dipahami banyak orang. Mungkin ia lebih baik daripada tabel ribuan baris dan kolom. Di sini jelas bahwa visualisasi data diperlukan supaya penyampaian informasi jauh lebih efektif.

Apa yang Anda lakukan apabila ingin memantau pengeluaran mingguan dalam sebulan? Hal yang kerap kita lakukan adalah mencatat semua pengeluaran dalam bentuk teks. Misal pengeluaran di minggu pertama dan berikutnya untuk kebutuhan konsumsi, belanja, ataupun lainnya yang Anda jumlahkan sehingga menghasilkan sebuah nilai, misalnya Rp. 500.000. 

Minggu ke-1Minggu ke-2Minggu ke-3Minggu ke-4
JanuariRp 500.000Rp 300.000Rp 700.000Rp 1.000.000

Dari tabel dapat dilihat bahwa pengeluaran terbesar ada di minggu ke-4. Sekilas kita dapat melihat perbandingannya dengan mudah karena data yang dihasilkan masih sedikit

Setelah enam bulan kemudian, tiba-tiba Anda ingin melihat perbandingan pengeluaran setiap minggunya dalam sebulan. Catatan pengeluaran setelah 6 bulan menjadi seperti ini.

Minggu ke-1Minggu ke-2Minggu ke-3Minggu ke-4
JanuariRp 500.000Rp 300.000Rp 700.000Rp 1.000.000
FebruariRp 400.000Rp 500.000Rp 300.000Rp 800.000
MaretRp 600.000Rp 500.000Rp 500.000Rp 900.000
AprilRp 200.000Rp 300.000Rp 500.000Rp 800.000
MeiRp 500.000Rp 800.000Rp 900.000Rp 1.000.000
JuniRp 400.000Rp 350.000Rp 900.000Rp 800.000

Cek tabel tersebut dan tentukan minggu dan bulan manakah yang jumlah pengeluarannya terbesar? Cukup sulit, bukan? Coba Anda bandingkan dengan contoh diagram berikut.

20200412162110906a01d5cef1d725c843dfb2471cdb4b.jpeg

Diagram tersebut menunjukkan bahwa pengeluaran terbesar ada di minggu ke-4 bulan Januari dan Mei. Sedangkan terendah ada di minggu ke-I April. Analisa jadi lebih mudah dengan visualisasi data, bukan?

Di atas hanyalah sebuah contoh sederhana. Bayangkan bagaimana untuk data besar seperti sensus penduduk. Pastinya visualisasi data sangat dibutuhkan untuk mempermudah kita membaca dan menganalisis data.

Pengantar Visualisasi Data

Bayangkan kisah seorang raja yang suatu hari ia mendapat informasi bahwa sebuah kerajaan nan jauh di sana berencana untuk menyerang istana.

Sang raja pun memikirkan langkah apa yang harus ia ambil. Ia menugasi perdana menteri untuk bantu menyusun strategi perang. 

Karena perdana menteri mengetahui betul sang raja mudah bosan, perdana menteri itu punya cara menarik untuk memaparkan strategi perangnya, yakni menggunakan visualisasi data.

Semua data dan kebutuhan perang tersaji dalam bentuk grafik yang menarik. Raja pun tertarik dan mudah memahaminya.

Bayangkan jika perdana menteri datang dengan membawa setumpuk kertas berisi tulisan tanpa ada visualisasi yang jelas? 

Dari ilustrasi ini kita punya sedikit gambaran bahwa visualisasi data dapat membuat sebuah data tersampaikan dengan baik dan membuat pembacanya lebih tertarik.

Nah, lalu apa sebenarnya visualisasi data itu? 

Visualisasi data merupakan cara mengomunikasikan sebuah informasi atau data dalam bentuk visual seperti diagram, grafik, atau representasi visual lainnya.

Fiber Optic Safety

Keamanan Fiber Optic

Keamanan mata

  • Mata manusia tidak peka terhadap cahaya dalam gelombang inframerah yang biasa digunakan dalam serat optik.
  • Anda tidak dapat melihat cahaya meskipun itu berbahaya
  • Kamera digital dapat melihat lampu IR
  • Mikroskop dapat memusatkan cahaya ke mata Anda kecuali mereka memiliki filter IR
Puji Surya: Definisi Mata

Keselamatan Mata Dengan VFL ( Visual Fault Lcator )

  • Pelacak kesalahan VFL- (Visual Fault Lcator) menampakan cahaya merah yang terang ke dalam serat untuk menemukan fault / kesalahan
  • Anda bisa melihatnya tetapi bisa jadi membahayakan
  • Lihatlah ujung serat secara tidak langsung
50mW 40~50KM NEW Handheld Visual Fault Locator VFL Red Laser Light Fiber  Optic Cable Tester Optical Fiber Laser Pointer,VD VFL50|pointer  meter|pointer greenpointer usb - AliExpress

Sisa-sisa Serat (Fiber Scraps)

  • Sisa potongan serat ada di mana-mana
    – persiapan kabel
    -stripping fiber
    -cleaving
  • Bahaya
    -Taruh di kulit
    -Tataplah
    -Kontaminasi makanan atau minuman
  • Kerjakan pada permukaan yang gelap untuk membuat potongan / sisa-sisa serat lebih terlihat
  • Gunakan wadah khusus untuk membuang sisa serat
  • Tutup dan buang dengan benar
웃 유Metal Fiber Cleaver FC-6S Fiber Optic Cable Cutter Cold Aluminum Fiber  Knife Cutting Used in FTTX FTTH FC-6S Fiber Cleaver Tool - a224

Keamanan kimia

  • Cairan pembersih
  • Pelarut
  • Perekat (Adhesive)
  • Cairan mudah terbakar
  • Asap berbahaya
  • Tangani dengan hati-hati
  • Pastikan lembar data keselamatan bahan
    tersedia

Keamanan tempat kerja

  • Serat bisa dipasang
    – Di dalam atau di luar ruangan
    – Aerial atau bawah tanah
  • Mungkin perlu bekerja
    – pada tiang,
    – truk
    – Man hole
    – Plafon / langit-langit
    – konstruksi

Peraturan Keselamatan

  • Selalu gunakan kacamata pengaman dengan pelindung samping.
  • Perlakukan potongan serat optik sama seperti Anda memperlakukan serpihan gelas,
  • Pemakai lensa kontak tidak boleh memegang lensa mereka sampai mereka benar-benar mencuci tangan.
  • Jangan menyentuh mata Anda saat bekerja dengan sistem serat optik sampai tangan Anda telah dicuci bersih
  • Hanya bekerja di area yang berventilasi baik.
  • Simpan semua bahan yang mudah terbakar dengan aman jauh dari splicers
  • Hindari menghirup bahan kimia atau kontak dengan kulit
  • Jauhkan semua makanan da minuman dari area kerja. Jika partikel serat tertelan, mereka dapat menyebabkan pendarahan internal.
  • Jangan merokok saat bekerja dengan sistem serat optik
  • Jangan pernah melihat langsung ke ujung kabel serat – terutama dengan mikroskop – sampai Anda yakin bahwa tidak ada sumber cahaya di ujung lainnya.
  • Gunakan pengukur daya serat optic atau kamera digital untuk memastikan seratnya “gelap”.
  • Saat menggunakan pelacak optik atau pemeriksa kontinuitas, lihat serat dari sudut setidaknya 6 inci dari mata Anda untuk menentukan apakah ada cahaya yang terlihat.
  • Gunakan matras hitam untuk membantu melihat sisa serat
  • Catat semua sisa serat dan kabel dan buang dengan benar.
  • Jika tersedia, kenakan celemek laboratorium sekali pakai untuk meminimalkan partikel serat pada pakaian Anda
  • Partikel serat pada pakaian Anda nantinya bisa masuk ke makanan, minuman, dan / atau dicerna oleh orang lain
  • Bersihkan area kerja Anda sepenuhnya setelah selesai
  • Buang semua sisa dengan benar. Masukkan semua sisa serat ke dalam wadah yang ditandai dengan benar untuk dibuang.

English

Pola Kalimat Simple Tense

Tambahan Simple Present

1.      Dengan Kata Kerja

S + V/V(es) + O

Untuk subjek ( I , U , We, They) kata kerjanya tidak menggunakan tidak menggunakan (s/es), hanya menggunakan kata kerja bentuk pertama (V1)

Untuk subjek tunggal ( She, He, It) kata kerjaya menggunakan s/es,

  • Untuk kata kerja yang berakhiran -O, -CH, -SH, -X, atau -Z, tambahkan -ES.
  • Untuk kata kerja (Verb) yang berakhiran konsonan + Y, hilangkan Y, dan tambahkan -IES.
  • Sedangkan, untuk kata kerja yang berakhiran vokal + Y, cukup tambahkan -S.

Untuk kata tanya maupun kalimat negatifnya, subjek I, u ,we, they menggunakan “do”, sedangkan sujek she, he it menggunakan “does” dengan kata kerja V1 tanpa tambahan s atau es.

2.      Dengan Kata Sifat

Kalimat simple present tense yang menggunakan kata sifat menggunakan “to be (is, am, are)” berikut polanya

  • I + am + adj
  • She/ he/it + is +adj
  • We/they + are +adj

Untuk kalimat negative setelah to be ditambah NOT. Selain itu To be are not dapat disingkat menjadi are’t, is not menjadi is’t. dan semuanya bisa juga diganti dengan ain’t untuk kalimat yang tidak formal.

Tambahan simple past tense

1.      Dengan Kata Kerja

Khusus untuk kalimat negative dan kalimat tanya tidak menggunakan verb 2 namun menggunakan verb 1

2.      Dengan selain kata kerja

untuk kata sifat menggunakan to be was untuk subjek I, she, he , it , were untuk subject we/they

Tambahan simple future tense

1.      verbal

Simple future tense tidak hanya menggunakan will, namun juga menggunakan shall ataupun “be (is am are)” going to.

Will dapat digunakan secara luas, yang mana untuk kejadian yang akan terjadi,

“Be” going to digunakan untuk sesuatu yang pasti terjadi, atau dalam proses untuk terjadi

shall digunakan untuk subjek I dan we saja, yang penggunaannya sangat formal.

2.      nominal

Pada simple future tense semuanya menggunakan V1, namun untuk kalimat yang menggunakan kata selain keta kerja, seperti kata sifat kata benda  ataupun adverb maka dibunakan “be”  setelah kata will.

Contoh

Saya akan menjadi pelaut

I will be a sailor

atau

itu akan tersedia besok

it will be available tomorrow

Present  Continious tense

Tidak ada untuk nominal tense, karena kejadiannya sedang berlangsung

Past Continious tense

Menceritakan kejadian yang sedang terjadi di masa lampau Ketika ada kejadian lain yang sedang terjadi di masa lampau. Perhatikan contoh

Perhatikan contoh untuk nominal tidak berbeda dengan past tense.

Future Continious tense

Present Perfect Tense

Untuk menjelaskan kejadian yang pernah terjadi sebelumnya namun tidak membutuhkan waktu yang spesifik.

  • Untuk I,U, We, They menggunakan Have,
  • Untuk She he it menggunakan has

Past Perfect Tense

Biasanya digunakan denga nada penambahan kalimat lainnya, yang berupa simple past tense. Untuk nominalnya sama seperti present hanya saja menggunakan had

Future Perfect tense

Kalimat yang digunakan untuk menjelaskan rencana  menyelesaikan suatu kegiatan.

Untuk nominal polanya menjadi “S+ will+have+been +V3 +rest of the sentence” disesuaikan untuk kalimat negative dan introgatif.

Present Perfect continuous tense

Past Perfect Continious Tense

Future Perfect Continious Tense

Terimakasih (say Thanks)

Thanks for helping me. (ini digunakan kapanpun) kata kerja yang digunakan merupaka V-ing

Thanks for this cake (ini untuk penggunaan kata benda)

Pronouns( English work)

Modals, Have, Be

Pada bagian TOEFL Structure Written Expression sangat umum ditemukan soal yang berhubungan dengan bentuk dari sebuah kata kerja. Biasa bentukan kata kerja tersebut disusun secara kurang tepat. Oleh karenanya harus diperhatikan bentuk dari kata kerja (verb) dengan teliti. Pada bagian ini di harus familiar dengan, bentuk dasar kata kerja (the base form), present tense, dan present participle & past participle. Berikut ini merupakan masing-masing contohnya.

Base FormPresentPresent ParticiplePastPast Participle
walkwalk(s)walkingwalkedwalked
cookcook(s)cookingcookedcooked
singsing(s)singingsangsung

Kamu harus memahami bentuk kata kerja diatas, karena bentuk kata kerja adalah masalah yang paling umum dan mudah untuk dikoreksi, melalui langkah:

  • Perhatikan kata setelah have
  • Perhatikan kata setelah be
  • Perhatikan kata setelah will, would, dan modals lainnya

Kata setelah have

Kapanpun kamu melihat bentuk kata kerja have dalam bentuk apapun (have, has, having, had) pastikan kata kerja yang mengikuti dalam bentuk PAST PARTICIPLE.

Bentuk kata kerja setelah HAVE:
HAVE +   PAST PARTICIPLE

contoh:

  • They had walk* to school. → They had walked to school
  • We have see* the show. → We have seen the show

Sebaliknya, kamu juga harus yakin jika kamu menemukan sebuah subject langsung diikuti oleh past participle maka seharusnya terdapat have sebelum past participle.

contoh:

  • My friend sung* in the choir. → seharusnya sang atau has sung
  • She become* angry at his friend. → seharusnya became atau has become

Have dapat diartikan sebagai kata keja juga sehingga memiliki arti “mempunyai”, atau have to yang mempunyai arti “harus”.

We have a jobIt has a capThey have to win this raceShe has to come earlierSimple Present Tense
We had a jobIt had a capSimple Past Tense

Kata setelah be

Kata kerja be dalam bentuk apapun (am, is, are, was, were, be, been, being) dapat diikuti oleh verb apa saja tetapi harus dalam bentuk PRESENT PARTICIPLE atau PAST PARTICIPLE.

Bentuk kata kerja setelah BE:
BE + PRESENT  PARTICIPLE /
                      PAST PARTICIPLE

contoh:

  • We are do* our project. → seharusnya are doing
  • The project was do* early. → seharusnya was done

Kata setelah will, would, dan modals lainnya

Ketika kamu menemukan sebuah modal, seperti will, would, shall, should, can, could, may, might, atau must, kamu harus memperhatikan kata kerja yang mengikuti dalam bentuk BASE FORM.

Bentuk kata kerja setelah MODALS:
Modal   + BASE FORM

contoh:

  • The boat will leaving* at 5.00. → seharusnya will leave
  • The doctor may arrives* soon . → seharusnya may arrive
Use Adjective Clause Connectors Correctly

Sebuah Adjective Clause merupakan klausa yang mendeskripsikan sebuah kata benda. Adjective Clause merupakan kata sifat, oleh karenanya adjective clause terletak langsung setelah kata benda yang akan dideskripsikan.

contoh:

The woman is cooking the vegetables that she bought in the market.

  adjective clause

→ Pada kalimat di atas terdapat dua klausa. Pada klausa pertama woman merupakan subjek dari kata kerja is filling, sedangkan pada klausa kedua yang disebut sebagai klausa kata sifat (adjective clause), she merupakan subjek dari kata kerja bought, dan that merupakan penghubung klausa kata sifat (adjective clause connector) yang menghubungkan kedua klausa tersebut. Adjective clause “that she bought in the market” pada kalimat di atas mendeskripsikan kata benda “vegetables”. 

The house that they bought yesterday has a beautiful garden.

→ Pada kalimat di atas juga terdapat dua klausa. Pada klausa pertama house merupakan subjek dari kata kerja has, sedangkan pada klausa kedua yang disebut sebagai klausa kata sifat (adjective clause), they merupakan subjek dari kata kerja bought, dan that merupakan penghubung klausa kata sifat (adjective clause connector) yang menghubungkan kedua klausa tersebut. Adjective clause “that they bought yesterday” pada kalimat di atas mendeskripsikan kata benda “house”. 

Tabel di bawah ini berisi daftar kata hubung klausa kata sifat dan pola kalimatnya.

Adjective Clause Connectors
whom  (untuk orang /people)which (untuk benda/things)that (untuk orang/benda)
S V adjective connector      S        V    I like the movie which you recommended.
adjective connector      S         V         V   The movie which you recommended was interesting.

Note: Adjective clause connectors dapat dihilangkan. Namun, penghilangan adjective clause connectors  ini tidak umum digunakan pada tes TOEFL bagian Structure. 

Berikut ini merupakan contoh yang menunjukkan bagaimana biasanya pola kalimat di atas diteskan dalam TOEFL:

The gift ______ bought for our neighbor was rather expensive.

  1. because
  2. was
  3. since
  4. which we

Pada contoh di atas kamu harus dengan cepat menyadari bahwa kalimat tersebut terdiri dari dua klausa, gift merupakan subjek dari kata kerja was, dan bought merupakan kata kerja yang membutuhkan subject, dan karena terdapat dua klausa maka sebuah connector harus ada pada kalimat di atas. Jadi cari pilihan jawaban yang terdapat subject dan connector. 

Jawaban yang paling tepat terdapat pada opsi D (which = connector, dan we = subjek) 

Use Adjective Clause Connector / Subjects Correctly

Telah kita ketahui bahwa adjective clause connectors digunakan untuk mengawali klausa yang mendeskripsikan kata benda. Adjective clause connectors secara bersamaandapat juga berperan sebagai subjek pada klausa tersebut.

contoh:

The man is paying the bag that is on the table.

adjective clause

→ Kalimat di atas terdiri dari dua klausa. Pada klausa pertama man merupakan subjek dari kata kerja is paying, sedangkan pada klausa kedua yang disebut sebagai klausa kata sifat (adjective clause), that merupakan subjek dari kata kerja is yang sekaligus berperan sebagai penghubung klausa kata sifat (adjective clause connector) yang menghubungkan kedua klausa tersebut. Adjective clause “that is on the table” pada kalimat di atas mendeskripsikan kata benda “bag”.

The bag that is on the table was made of leather.

        adjective clause

→ Kalimat di atas terdiri dari dua klausa. Pada klausa pertama bag merupakan subjek dari kata kerja was made, sedangkan pada klausa kedua yang disebut sebagai klausa kata sifat (adjective clause), that merupakan subjek dari kata kerja is yang sekaligus berperan sebagai penghubung klausa kata sifat (adjective clause connector) yang menghubungkan kedua klausa tersebut. Adjective clause “that is on the table” pada kalimat di atas mendeskripsikan kata benda “bag”.

Tabel di bawah ini berisi daftar kata hubung klausa kata sifat yang sekaligus berperan sebagai subjek dan pola kalimatnya.

Adjective Clause Connectors/Subjects
who  (untuk orang /people)which (untuk benda/things)that (untuk orang/benda)
S V adjective connector/S      V    He needs a secretary  who   speaks three languages.
adjective connector/S         V       V   A secretary who speak three languages    is invaluable.

Berikut ini merupakan contoh yang menunjukkan bagaimana biasanya pola kalimat di atas diteskan dalam TOEFL:

________ is on the table has twenty chapters.

  1. The book
  2. The book which
  3. Because the book
  4. In the book

Perhatikan bahwa kalimat di atas memiliki dua kata kerja (verb) yang berarti harus ada dua subjek (subject) juga. (table meskipun kata benda tetapi pada kalimat di atas tidak berperan sebagai subjek karena mengikuti preposisi). Pilihan jawaban yang mengandung dua buah subjek hanya terdapat pada opsi B (The book = subjek pertama, dan which = subjek sekaligus connector).

Reduced Adjective Clauses

Adjective Clauses dapat disederhanakan dengan menghilangkan adjective clause connector dan be-verb yang mengikutinya.

The woman who is wearing glasses is our new lecturer.

The letter which was written yesterday has been sent.

The glass that is on the table is full of water.

Ketiga bentuk kalimat di atas dapat digunakan dengan bentuk utuh maupun bentuk yang disederhanakan. Pada bentuk yang disederhanakan, connector: who, which, dan that dihilangkan bersamaan dengan be-verb: is atau was yang secara langsung mengikuti di belakang connector.

Jika kata kerja pada adjective clause tidak terdapat unsur be, klausa tersebut masih tetap dapat disederhanakan dengan cara menghilangkan connector nya dan mengubah kata kerja tersebut ke bentuk -ing.

I don’t like the performer which appears in tonight’s show.

                                                         appearing 

Tidak terdapat be-verb pada kalimat di atas, meskipun demikian kalimat tersebut masih dapat disederhanakan dengan menghilangkan connector: which dan mengubah kata kerja appears menjadi bentuk -ing: appearing. 

Sebagai catatan penting, tidak semua adjective clause dapat disederhanakan. Adjective clause yang dapat disederhana adalah adjective clause yang connectornya sekaligus berperan sebagai subject dan langsung diikuti oleh kata kerja.

The man that I just met is the new dean.

The letter which I wrote yesterday has been sent.

Dua contoh kalimat di atas, adjective clause nya tidak dapat disederhanakan atau diubah menjadi frasa karena connector nya langsung diikuti oleh Subjek dan kata kerja, connector  tidak berperan sebagai subjek, oleh karenanya contoh adjective clause di atas tidak dapat disederhanakan.

Bagian lain yang harus kamu perhatikan dari adjective clause adalah terdapat beberapa adjective clause yang terletak di antara koma, dan dapat disederhanakan. Ketika sebuah adjective clause terletak di antara dua koma dan disederhanakan, maka bentuk sederhananya/ bentuk frasa nya terletak di depan kalimat tersebut.

The Istana Negara, which is located in Jakarta, is the home of the president.

The Istana Negara, located in Jakarta, is the home of president.

Located in Jakarta, the Istana Negara is the home of the president.

Pada contoh di atas, adjective clause terletak di antara dua koma, oleh karenanya bentuk frasanya diletakkan di depan kalimat.

Contoh pada TOEFL test:

______ behind government secrecy for nearly half a century, the Hanford plant in central Washington produced plutonium for the nuclear weapons of the Cold War. It is hidden Which is hidden Hidden The plant is hiding

Pada contoh soal di atas: 

Jawaban A salah karena terdapat dua klausa: It is hidden & the Hanford plant produced tetapi tidak ada connector nya.

Jawaban B salah karena adjective clause Which is hidden tidak terletak di awal kalimat, kecuali ia dalam bentuk yang disederhanakan (reduced form).

Jawaban C tepat, karena merupakan reduced form dari klausa which is hidden, dan dapat terletak di awal kalimat.

Jawaban D salah dengan penjelasan seperti pada jawaban A.

Machine Learning Unsupervised Learning Hierarchical Clustering

Hirarchical Clustering adalah Clustering yang dengan sendirinya datanya akan terkelompok

Sebagaicontoh digunakan data yang akan di generate seara otomatis oleh program. untuk menjalankannya digunakan jupiter notebook

penggunaan library

#import Libraries
import numpy as np
import pandas as pd
from sklearn.cluster import MeanShift
from sklearn.datasets.samples_generator import make_blobs
%matplotlib inline
import matplotlib.pyplot as plt
from matplotlib import style
import seaborn as sns
plt.style.use('ggplot')
import graphviz
from sklearn import cluster

sns.set()

pembuatan data set dengan penentuan center datanya, disini dibuat ada 3 centroid (titik tengah data) yaitu (1,1), (5,5),(3,10)

centers = [[1,1], [5,5],[3,10]]
X, _ = make_blobs (n_samples = 500, centers = centers, cluster_std = 1)

melakukan ploting

plt.scatter(X[:,0],X[:,1])
plt.show()

dan di dapatkan data seperti berikut

selanjutnya dilakukan proses clustering untuk melihat apakah titik tengah dari data yang diperoleh sama dengan titik tengah yang telah ditentukan di awal

ms =MeanShift()
ms.fit(X)
cluster_centers = ms.cluster_centers_
cluster_centers
labels = ms.labels_
labels
print (cluster_centers)
n_clusters = len(np.unique(labels))
print("Number of Esrimated Cluster :",n_clusters)

Hasilnya

[[ 1.14531866  0.98132425]
 [ 3.10202701 10.19649341]
 [ 5.09935075  4.78706017]]
Number of Esrimated Cluster : 3

terlihat titik yang di peroleh tidak berbeda jauh dengan titik yang telah di tentukan sebelumnya.

selanjutnya di lakukan ploting

colors = 10 * ['r.','g.','b.','c.','k.','y.','m.']
for i in range (len(X)):
    plt.plot(X[i][0], X[i][1], colors [labels[i]], markersize = 10)
    
plt.scatter(cluster_centers[:,0], cluster_centers[:,1], marker = "x", color ="k", s= 150, linewidths = 5, zorder = 10)
plt.show()

terlihat ada 3 cluster berbeda

Selanjutnya dilakukan dengan data yang berbeda

semua proses diulangai dan dilakukan pemanggilan data

#import Libraries
import numpy as np
import pandas as pd
from sklearn.cluster import MeanShift
from sklearn.datasets.samples_generator import make_blobs
%matplotlib inline
import matplotlib.pyplot as plt
from matplotlib import style
import seaborn as sns
plt.style.use('ggplot')
import graphviz
from sklearn import cluster

sns.set()

Pemanggilan Data Download Data

df = pd.read_csv('DataSpeedLoadTruck.csv')
speed = df['Vehicle_speed_sensor'].values
Engine_Load = df['Engine_Load'].values
X = np.array(list(zip(speed, Engine_Load)))
plt.scatter(speed, Engine_Load, s=7)
plt.xlabel('speed')
plt.ylabel('Engine load')
df_2_vars = df
df_2_vars.head()
data = df_2_vars.values
data
ms =MeanShift()
ms.fit(data)
cluster_centers = ms.cluster_centers_
cluster_centers
labels = ms.labels_
labels
print (cluster_centers)
n_clusters = len(np.unique(labels))
print("Number of Esrimated Cluster :",n_clusters)
colors = 10 * ['r.','g.','b.','c.','k.','y.','m.']
for i in range (len(X)):
    plt.plot(X[i][0], X[i][1], colors [labels[i]], markersize = 10)
    
plt.scatter(cluster_centers[:,0], cluster_centers[:,1], marker = "x", color ="k", s= 150, linewidths = 5, zorder = 10)
plt.show()

Dari sini diperoleh 2 cluster, dapat disimpulkan bahwa sistem secara otomatis akan menggangap bahwa terdapat 2 cluster dari data tersebut.

Machine Learning Unsupervised Learning K-Means Clustering

Prose K-Means Clustering terdiri dari

  1. penentuan nilai k
  2. memilih posisi centroid awal
  3. menghitung jarak masing-masing data point ke centroid
  4. ulangi perhitungan nilai centroid

nilai k disini merupakan jumlah cluster yang digunakan, berbeda dengan hyrarchical clustering yang jumlah clusternya ditentukan secara otomatis berdasarkan data, sedangkan k-means clustering tergolong flat clustering yang jumlah kelompoknya ditentukan terlebih dahulu.

centroid ditentukan dengan menghitung titik pusat dari setiap cluster yang ada.

jarak dati tiak-tiap ccentroid akan digunakan untuk oenentuan cluster dari suatu data point.

untuk mendapatkan cluster yang lebih tepat mesin akan secara berulangkali menentukan niali centroid dan menghitung jarak sehingga pada akhirnya semua data terkelompokan.

Untuk mempraktekannya digunakan contoh dataset berikut Download

data tersebut merupakan data kecepatan dan beban yang dimiliki oleh suatu truck.

untuk proses awal dilakukan import library

"import Libraries"
import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('ggplot')
import graphviz
from sklearn import cluster
sns.set()

Selanjutnya pemanggilan data dengan memastikan file sudah terletak pada directory yang benar sebelumnya

df = pd.read_csv('DataSpeedLoadTruck.csv')

untuk melihat persebaran data dapat digunakan

speed = df['Vehicle_speed_sensor'].values
Engine_Load = df['Engine_Load'].values
X = np.array(list(zip(speed, Engine_Load)))
plt.scatter(speed, Engine_Load, s=7)
plt.xlabel('speed')
plt.ylabel('Engine load')

sehingga dihasilkan

dilakukan inisialisasi ulang

df_2_vars = df

data = df_2_vars.values
data

sehingga data berubah format menjadi data array

selanjutnya melakukan clustering atau proses fitting dengan menentukan jumlah clusternya, disini k merupakan jumlah cluster

k = 2 
kmeans = cluster.KMeans(n_clusters = k)
kmeans.fit(data)
labels = kmeans.predict(data)
labels
Centroid = kmeans.cluster_centers_
C_x = Centroid[:,0]
C_y = Centroid[:,1]
Centroid
plt.xlabel('speed')
plt.ylabel('Engine load')
plt.scatter(speed, Engine_Load,c=labels, s=7, cmap = plt.cm.cool)
plt.scatter(C_x,C_y, marker = '*' , s = 200 , c = 'g')

Machine Learning Unsupervised Learning Clustering

Unsupervised adalah suatu proses machine learning dengan untuk melakukan pengelompokan tanpa adanya penentuan label. salah satu contohnya adalah dengan metode clastering yaitu dengan data yang dikelompokan berdasarkan kedetakatan atau kemiripan yang dimilki. clustering sendiri tebagi menjadi dua yaitu

  1. Flat Clustering
  2. Hierarchical Clustering (bertingkat)

pada flat clustering akan ditentukan berapa jumlah cluster terlebih dahulu kemudian machine akan menentukan bentuk data yang terdekat dan membuatkan modelnya.

sedangkan hierarchical clustering tidak ada penentuan jumlah cluster disini data akan terkelompok dengan sendirinya.

Machine Learning Regression

Regresi adalah suatu metode analisis statistik yang digunakan agar dapat melihat pengaruh antara dua variabel atau lebih. Hubungan variabel yang dimaksud bersifat fungsional yang diwujudkan dalam bentuk model matematis. Pada analisis regresi, variabel dibagi menjadi dua jenis yaitu variabel respons atau biasa disebut variabel bergantung dan variabel bebas atau dikenal dengan istilah variabel independen. Ada beberapa jenis analisis regresi yaitu regresi sederhana meliputi regresi linier sederhana dan non-linier sederhana dan regresi berganda meliputi linier berganda atau non-linier berganda. Analisis regresi digunakan dalam belajar machine learning dengan metode supervised learning.

Regresi Linier

Regresi linier adalah salah satu dari jenis analisis prediksi yang sering digunakan pada data berskala kuantitatif (interval atau rasio). Analisis ini berfungsi untuk membuktikan apakah sekumpulan variabel bebas memiliki pengaruh signifikan dalam memprediksi variabel terikat. Persamaan garis linier adalah y = mx + b. Pada persamaan tersebut m adalah kemiringan atau gradien dan b adalah intercept atau bias.

garis merah yang dihasilkan merupakan hasil regresi linear yang diperoleh.

Regresi Polinomial

Regresi polinomial merupakan regresi linier berganda yang dibentuk dengan menjumlahkan pengaruh variabel prediktor (X) yang dipangkatkan secara meningkat sampai orde ke-k. Model regresi polinomial, struktur analisisnya sama dengan model regresi linier berganda. Penerapan regresi polinomial pada belajar machine learning di sini adalah datanya. Namun, bobot atau nilai yang kita cari dalam proses pembelajaran mesin akan tetap linier sehingga kita tetap bisa menggunakan loss function seperti pada regresi linier.

Machine Learning Supervised Learning Decision Tree dengan Menggunakan Titanic Dataset Serta Mengetahui Fitting yang Sesuai

Decision tree merupakan salah satu algoritma yang dapat digunakan untuk prediksi dan dapat menggunakan data kategorikal maupun data numerikal. Decision tree adalah salah satu metode klasifikasi yang paling populer, karena mudah untuk diinterpretasi oleh manusia. Decision tree adalah model prediksi menggunakan struktur pohon atau struktur berhirarki.

Konsep dari pohon keputusan adalah mengubah data menjadi decision tree dan aturan-aturan keputusan. Manfaat utama dari penggunaan decision tree adalah kemampuannya untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simple, sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan.

Berikut adalah contohnya dengan menggunakan Titanic Dataset yang terdapat pada kaggle.com

Download data terlebih dahulu dan tempatkan pada directory yang sama dengan file python yang digunakan

Lakukan Import library

"import Libraries"
import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('ggplot')
import graphviz
from sklearn import tree
from sklearn.model_selection import train_test_split
sns.set()

Lakukan Loading data

df_train = pd.read_csv('train_titanic.csv')
df_test = pd.read_csv('test_titanic.csv')

perhatikan bentuh data dan info lengakap dari data yang dimiliki

df_train.info()

akan didapatkan info seperti berikut

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB

perhatikan bahwa jumlah data yang dimiliki tidak sama sehingga perlu dilakukan data Cleansing.

data cleansing merupakan kegiatan membersihkan sekaligus merapikan datadata di dalam sistem yang struktur datanya masih berantakan.

proses data cleansing dapat dilakukan dengan berbagai cara salah satunya dengan menggunakan metode median.

data['Age'] = data.Age.fillna(data.Age.median())
data['Fare'] = data.Fare.fillna(data.Fare.median())

data.info()

Sehingga diperoleh info sebagai berikut

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 11 columns):
PassengerId    891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            891 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(4), object(5)
memory usage: 76.6+ KB

Terlihat bahwa jumlah data yang ada semuanya sudah sama dengan nilai 891, kecuali kabin karena berupa serial bukan angka.

untuk memudahkan pemprosesan learning maka data gender diubah menjadi nilai binary yaitu 1 untuk male dan 0 untuk female

data_dummy1 = pd.get_dummies (data,columns = ['Sex'],drop_first = True)

tidak semua feature harus digunakan, untuk itu disini hanya menggunakan lima feature saja

data_5_vars = data_dummy1[['Sex_male','Fare', 'Age', 'Pclass','SibSp']]

dilakukan spliting data dengan menggunakan

X = data_5_vars.values
y = survived_train.values

X_train, X_test, y_train, y_test = train_test_split(
    X,y,test_size=0.33, random_state = 42, stratify = y)

proses learning dengan decision tree

clf = tree.DecisionTreeClassifier(max_depth=3)
clf.fit(X,y)

melihat hasil learning

Y_pred = clf.predict(X_test)
from sklearn.metrics import classification_report
print(classification_report(y_test, Y_pred))
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, Y_pred)

untuk melihat bagaimana bentuk dari decision tree dapat digunakan library graphviz

sebelumnya dilakukan proses instalasi library graphviz terlebih dahulu

import graphviz
dot_data = tree.export_graphviz(clf, out_file = None)
graph = graphviz.Source(dot_data)
graph.render("Titanic")
graph

Nilai max__depth pada prose learning akan mempengaruhi hasil keluaran, bisa saja terjadi overfitting yaitu kejadian dimana model dibuat terlalu sesuai dengan data latih namun akan berbeda jauh dari data test yang digunakan ataupun underfitting model tidak terlalu sesuai dengan data latih namun juga tidak terlalu sesuai dengan data test, oleh karna itu perlu diatur berapa jumlah max_depth yang dibutuhkan supaya menghasilakan keluaran yang optimal untuk data test

dep = np.arange(1,10)
train_accuracy = np.empty(len(dep))
test_accuracy = np.empty(len(dep))
for i,k in enumerate (dep):
    clf = tree.DecisionTreeClassifier(max_depth=k)
    clf.fit(X_train,y_train)
    train_accuracy[i] = clf.score(X_train, y_train)
    test_accuracy[i] = clf.score(X_test, y_test)
plt.title('clf :Variying depth of tree')
plt.plot(dep,test_accuracy, label = 'Testing Accuracy')
plt.plot(dep,train_accuracy, label = 'Training Accuracy')
plt.legend()
plt.xlabel('dept of tree')
plt.ylabel('accuracy')
plt.show()

dengan data yang digunakan akan terlihat hasil seperti berikut ini

disini terlihat bahwa nilai max_dept yang sesuai adalah 6

Machine Learning Supervised Learning Decision Tree dengan Menggunakan Titanic Dataset Serta Proses Data Cleansing

Decision tree merupakan salah satu algoritma yang dapat digunakan untuk prediksi dan dapat menggunakan data kategorikal maupun data numerikal. Decision tree adalah salah satu metode klasifikasi yang paling populer, karena mudah untuk diinterpretasi oleh manusia. Decision tree adalah model prediksi menggunakan struktur pohon atau struktur berhirarki.

Konsep dari pohon keputusan adalah mengubah data menjadi decision tree dan aturan-aturan keputusan. Manfaat utama dari penggunaan decision tree adalah kemampuannya untuk mem-break down proses pengambilan keputusan yang kompleks menjadi lebih simple, sehingga pengambil keputusan akan lebih menginterpretasikan solusi dari permasalahan.

Berikut adalah contohnya dengan menggunakan Titanic Dataset yang terdapat pada kaggle.com

Download data terlebih dahulu dan tempatkan pada directory yang sama dengan file python yang digunakan

Lakukan Import library

"import Libraries"
import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
plt.style.use('ggplot')
import graphviz
from sklearn import tree
from sklearn.model_selection import train_test_split
sns.set()

Lakukan Loading data

df_train = pd.read_csv('train_titanic.csv')
df_test = pd.read_csv('test_titanic.csv')

perhatikan bentuh data dan info lengakap dari data yang dimiliki

df_train.info()

akan didapatkan info seperti berikut

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 12 columns):
PassengerId    891 non-null int64
Survived       891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            714 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(5), object(5)
memory usage: 83.6+ KB

perhatikan bahwa jumlah data yang dimiliki tidak sama sehingga perlu dilakukan data Cleansing.

data cleansing merupakan kegiatan membersihkan sekaligus merapikan datadata di dalam sistem yang struktur datanya masih berantakan.

proses data cleansing dapat dilakukan dengan berbagai cara salah satunya dengan menggunakan metode median.

data['Age'] = data.Age.fillna(data.Age.median())
data['Fare'] = data.Fare.fillna(data.Fare.median())

data.info()

Sehingga diperoleh info sebagai berikut

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 891 entries, 0 to 890
Data columns (total 11 columns):
PassengerId    891 non-null int64
Pclass         891 non-null int64
Name           891 non-null object
Sex            891 non-null object
Age            891 non-null float64
SibSp          891 non-null int64
Parch          891 non-null int64
Ticket         891 non-null object
Fare           891 non-null float64
Cabin          204 non-null object
Embarked       889 non-null object
dtypes: float64(2), int64(4), object(5)
memory usage: 76.6+ KB

Terlihat bahwa jumlah data yang ada semuanya sudah sama dengan nilai 891, kecuali kabin karena berupa serial bukan angka.

untuk memudahkan pemprosesan learning maka data gender diubah menjadi nilai binary yaitu 1 untuk male dan 0 untuk female

data_dummy1 = pd.get_dummies (data,columns = ['Sex'],drop_first = True)

tidak semua feature harus digunakan, untuk itu disini hanya menggunakan lima feature saja

data_5_vars = data_dummy1[['Sex_male','Fare', 'Age', 'Pclass','SibSp']]

dilakukan spliting data dengan menggunakan

X = data_5_vars.values
y = survived_train.values

X_train, X_test, y_train, y_test = train_test_split(
    X,y,test_size=0.33, random_state = 42, stratify = y)

proses learning dengan decision tree

clf = tree.DecisionTreeClassifier(max_depth=3)
clf.fit(X,y)

melihat hasil learning

Y_pred = clf.predict(X_test)
from sklearn.metrics import classification_report
print(classification_report(y_test, Y_pred))
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, Y_pred)

untuk melihat bagaimana bentuk dari decision tree dapat digunakan library graphviz

sebelumnya dilakukan proses instalasi library graphviz terlebih dahulu

import graphviz
dot_data = tree.export_graphviz(clf, out_file = None)
graph = graphviz.Source(dot_data)
graph.render("Titanic")
graph

Design a site like this with WordPress.com
Get started