Cara Membuat Poster Acara yang Kece Badai

Hi guys!

Bingung dengan post-post sebelumnya? Sama saya juga. Eh ga deng. Mimin ngerti dikit-dikit kok hehehe :v.

Yo tanpa basa-basi lagi kita masuk ke topik pembahasan kita “ Cara Membuat Poster Acara yang Kece Badai”. Lho OmahTI bukannya isinya tentang IT doang min? FYI, salah satu divisi yang ada di OmahTI ialah Multimedia. Masih masuk IT kok, ya bedanya “cuma” ga ada ngoding :v.

To the point kenapa poster acara harus keren?
Lanjutkan membaca

Linear Regression

1. Supervised Learning : Linear Regression
Dalam statistik, linear regression adalah pendekatan linier untuk memodelkan hubungan antara variabel dependen yang dilambangkan Y dan satu atau lebih variabel independen yang dilambangkan X. Model Persamaan Regresi Linear Sederhana adalah seperti berikut ini :
Y = a + bX
Dimana :

Y = Variabel Dependen atau Variabel Akibat(Response)

X = Variabel Independen atau Variabel Faktor Penyebab (Predictor)

a = konstanta

b = koefisien regresi (kemiringan); besaran Response yang ditimbulkan oleh Predictor.
Kali ini kita akan memprediksi harga rumah dengan menggunakan Linear Regression. Dataset yang akan digunakan adalah dataset dari sklearn, yaitu dataset harga rumah Boston.

1.0.1  Step 1: Menyiapkan Data
Pertama, kita import terlebih dahulu library yang dibutuhkan

import dataset dari sklearn

download dataset

1.0.2  Step 2: Visualisasi data

Selanjutnya, kita lihat scatter plot dari salah satu feature dengan target, yaitu jumlah kamar dengan harga rumah.

Dari plot diatas, kita bisa melihat bahwa harga meningkat seiring dengan jumlah kamar, yang secara intuitif masuk akal. Selanjutnya, kita akan menggunakan scikit-learn untuk melihat apakah kita bisa memasukkan data secara linier. Sebelum itu, kita harus mengubah dataset ke dalam bentuk DataFrame.

1.0.3 Step 3: gunakan scikit learn untuk implementasi multivariate regression

Linear regression terbagi menjadi univariate regression dan multivariate regression. kita menggunakan univariate regression ketika hanya ada satu variabel data(feature) yang mempengaruhi target. Namun jika yang mempengaruhi target ada lebih dari satu feature, maka kita gunakan multivariate regression.
Pertama, kita import library linear regression dari sklearn

sklearn.linear_model.LinearRegression merupakan sebuah estimator. estimator memprediksi sebuah nilai berdasarkan data yang diobservasi. dalam scikit learn, semua estimator menerapkan metode fit() dan predict(). metode fit() digunakan untuk mengetahui parameter model, sedangkan metode predict() digunakan untuk memprediksi nilai target dengan menggunakan parameter yang diperoleh dari fit().

kita pisahkan kolom features dan kolom target pada dataframe

Dari tabel diatas kita dapat melihat korelasi antar kolom pada dataframe. Korelasi paling tinggi dari harga rumah adalah dengan jumlah kamar. Kita juga bisa melihat atribut apa yang paling berpengaruh terhadap target dengan menggunakan Lasso Regression yang juga bisa digunakan
untuk melakukan feature selection.


In [ ]: Dapat dilihat bahwa jumlah kamar ialah atribut yang paling berpengaruh dan berkontribusi penting untuk menentukan target variable.

1.0.4 Step 4: Training and Validation

Dalam dataset, sebuah training set diimplementasikan untuk membangun sebuah model, sementara validation set digunakan untuk memvalidasi model yang dibangun. pemilihan sampel dari dataset untuk dijadikan training set atau validation set dilakukan secara acak. Kita akan menggunakan dua teknik validasi untuk membandingkan akurasinya, K-cross validation dan train test split.

[ 0.72590475 0.71326269 0.73320728]
Average K-Fold CV Score: 0.7241249084434545

Rˆ2: 0.7109203586326283

1.0.5 Step 5: prediksi harga
kita telah memiliki data training dan data test. selanjutnya kita gunakan data training tersebut
untuk memprediksi harga rumah, kemudian gunakan data test untuk validasi.

2. Train Test Split

Rˆ2: 0.7109203586326283

3. K-Cross Validation

cross predict accuracy: 0.717669565673

In [ ]: Dapat dilihat perbandingan bahwa validasi train test split mendapat akurasi 0.7109203586326283, sedangkan untuk cross validation adalah 0.717669565673. Cross validation lebih tinggi karena ketika menggunakan train test split,

Mengenal apa itu Binary Search

Halo! Kali ini OmahTI akan membahas tentang apa itu binary search. Mungkin mendengar namanya saja kita sudah dibuat kebingunan, karena bahasanya saja sudah terdengar asing. Tapi tenang saja, binary search itu sebenarnya adalah hal yang sangat alami, sesuatu yang sering kita jumpai dalam kehidupan sehari-hari.

Mungkin banyak di antara kita yang sudah pernah mencari sesuatu yang sudah diurutkan terlebih dahulu sebelumnya. Seperti mencari KTP milik kita diantara puluhan KTP lain saat kita mengembalikan DVD sewaan, atau mencari lembar jawab kita yang sudah dinilai diantara tumpukan lembar jawab. Ketika kita melakukan hal tersebut, mungkin banyak diantara kita yang mencari satu persatu sampai apa yang kita cari ketemu. Tapi apa yang akan kamu lakukan jika ternyata sesuatu yang akan kita cari berada di dalam suatu tumpukan yang sangat banyak? Mencari satu persatu tentu saja akan memakan waktu yang sangat banyak juga.

Insting awal kita akan menyuruh kita untuk melihat bagian tengah dari tumpukan tersebut dan membagi tumpukan tersebut menjadi dua, kemudian menentukan apakah sesuatu yang kita cari ada di bagian sebelum tengah, atau di bagian setelah tengah. Kemudian kita mengulangi lagi hal yang sama, dengan tumpukan yang baru, sampai kita mendapatkan apa yang kita mau.

Paragraf di atas tadi sesungguhnya adalah bagaimana binary search itu bekerja. Dengan membuat  ruang pencarian menjadi setengah dari semula pada setiap langkah, kita dapat membuat pencarian yang mulanya memakan waktu sangat banyak, menjadi sangat sebentar. Kompleksitas dari binary search ini adalah O(2log n), jauh lebih singkat dari pencarian satu-satu yang sebesar O(n). Hal ini membuat pencarian dengan jumlah tumpukan sebesar 1.000.000 hanya memakan kurang lebih 20 langkah saja.

Sangat hebat bukan?

Saking hebatnya, hampir semua teknologi di zaman sekarang menggunakan binary search sebagai metode pencarian utama. Google, Facebook, Microsoft, bahkan website ini sekalipun juga menggunakan binary search. Bayangkan saja jika perusahaan-perusahaan terkenal di atas tidak memakai binary search. Siapa yang mau googling jika kita harus menunggu 10 menit untuk sekali search?

Tapi ingat, seperti yang dibilang di awal, agar kita dapat melakukan binary search, kita harus mengurutkan terlebih dahulu semua data yang ada dan binary search belum tentu menjadi cara yang paling efisien. Terkadang, untuk data dengan jumlah yang sedikit atau pencarian hanya dilakukan sekali saja, metode satu-satu sudah cukup untuk menyelesaikan suatu masalah.

Kegunaan binary search tidak terbatas oleh pencarian sesuatu di suatu tumpukan saja. Namun informasi tentang itu kami serahkan kepada pembaca untuk mencarinya sendiri. Cara tercepat untuk mencari informasi tersebut adalah dengan membuka tab baru pada browser. Kemudian menggunakan search engine (yang tentu saja menggunakan binary search di dalamnya) untuk mencari informasi tentang binary search.

Langkah pertama belajar Machine Learning menggunakan Python Part 2

Yak..

Artikel ini membahas pembahasan lanjutan mengenai Machine Learning.
Langsung saja

.

.

.

 

4. Visualisasi data

Kita sekarang punya ide dasar tentang data. Kita perlu memperluasnya dengan beberapa visualisasi.

Kita akan melihat dua jenis plot:

  • Plot univariat untuk lebih memahami setiap atribut.
  • Plot multivariat untuk lebih memahami hubungan antar atribut

A. Plot univariat

B. Plot Multivariat

5. Mengevaluasi Algoritma

Sekarang saatnya membuat beberapa model data dan memperkirakan akurasi mereka pada data yang belum terlihat. Inilah yang akan kita bahas di langkah ini:

  • Pisahkan dataset validasi.
  • Test kekuatan.
  • Bangun 5 model yang berbeda untuk memprediksi spesies dari pengukuran bunga
  • Pilih model terbaik.

A. Membuat Validasi Dataset

Kita perlu tahu bahwa model yang kita buat nanti akan bagus. Nantinya, kita akan menggunakan metode statistik untuk memperkirakan keakuratan model yang kita buat pada data yang belum terlihat. Kami juga menginginkan perkiraan yang lebih konkrit tentang keakuratan model terbaik pada data yang tidak terlihat dengan mengevaluasi data aktual yang tidak terlihat.

Artinya, kita akan menahan beberapa data yang tidak dapat dilihat algoritma dan kita akan menggunakan data ini untuk mendapatkan gagasan kedua dan independen tentang seberapa akurat model terbaik sebenarnya.

Kami akan membagi dataset yang dimuat menjadi dua, 80% di antaranya akan kami gunakan untuk melatih model kami dan 20% bahwa kami akan menahan diri sebagai kumpulan data validasi

B. Menguji kekuatan

Kami akan menggunakan validasi silang 10 kali lipat untuk memperkirakan akurasi. Ini akan membagi dataset kami menjadi 10 bagian, berlatih 9 dan menguji 1 dan ulangi untuk semua kombinasi split tes kereta.

Kami menggunakan metrik ‘accuracy’ untuk mengevaluasi model. Ini adalah rasio jumlah kejadian yang diprediksi dengan benar dalam dibagi dengan jumlah total kasus dalam dataset dikalikan dengan 100 untuk memberikan persentase (misalnya 95% akurat). Kami akan menggunakan variabel penilaian saat kita menjalankan build dan mengevaluasi setiap model selanjutnya.

C. Membuat model

Kami tidak tahu algoritma mana yang bagus dalam masalah ini atau konfigurasi apa yang akan digunakan. Kami mendapatkan ide dari plot bahwa beberapa kelas dipisahkan secara parsial dalam beberapa dimensi, jadi kami mengharapkan hasil yang baik secara umum. Mari kita evaluasi 6 algoritma yang berbeda:

  • Logistic Regression (LR)
  • Linear Discriminant Analysis (LDA)
  • K-Nearest Neighbors (KNN).
  • Classification and Regression Trees (CART).
  • Gaussian Naive Bayes (NB).
  • Support Vector Machines (SVM).

Ini adalah campuran yang baik dari algoritma LR dan LDA sederhana, nonlinier (KNN, CART, NB dan SVM). Kami mereset nomor acak benih sebelum menjalankan masing-masing untuk memastikan bahwa evaluasi masing-masing algoritma dilakukan dengan menggunakan pemisahan data yang sama persis. Ini memastikan hasilnya sebanding secara langsung. Mari membangun dan mengevaluasi kelima model kami:

D. Memilih model terbaik

Kami sekarang memiliki 6 model dan estimasi akurasi untuk masing-masing. Kita perlu membandingkan model satu sama lain dan pilih yang paling akurat. Menjalankan contoh di atas, kita mendapatkan hasil mentah berikut ini:

LR: 0.966667 (0.040825)

LDA: 0.975000 (0.038188)

KNN: 0.983333 (0.033333)

CART: 0.975000 (0.038188)

NB: 0.975000 (0.053359)

SVM: 0.981667 (0.025000)

Kita dapat melihat bahwa KNN memiliki perkiraan nilai akurasi terbesar. Kita juga bisa membuat sebidang hasil evaluasi model dan membandingkan penyebaran dan akurasi rata-rata masing-masing model. Ada populasi ukuran akurasi untuk setiap algoritma karena setiap algoritma dievaluasi 10 kali (10 kali lipat validasi silang).

Anda dapat melihat bahwa kotak dan kotak whisker terjepit di bagian atas kisaran, dengan banyak sampel mencapai akurasi 100%.

5. Membuat Prediksi

Algoritma KNN adalah model yang paling akurat yang kami uji. Sekarang kita ingin mendapatkan gambaran tentang keakuratan model pada set validasi kami.Ini akan memberi kita pemeriksaan akhir yang independen terhadap keakuratan model terbaik. Hal ini berharga untuk menjaga agar validasi tidak dilakukan seandainya Anda melakukan slip selama pelatihan, seperti terlalu banyak pelatihan atau kebocoran data. Keduanya akan menghasilkan hasil yang terlalu optimis.

Kita dapat menjalankan model KNN secara langsung pada set validasi dan merangkum hasilnya sebagai skor akurasi akhir, matriks kebingungan dan laporan klasifikasi.

Kita dapat melihat bahwa keakuratannya adalah 0,9 atau 90%. Matriks kebingungan memberikan indikasi dari tiga kesalahan yang dibuat. Akhirnya, laporan klasifikasi memberikan rincian setiap kelas dengan presisi, daya ingat, skor akhir dan dukungan yang menunjukkan hasil yang sangat baik (memberikan dataset validasi kecil).

0.9

[[ 7  0  0]

 [ 0 11  1]

 [ 0  2  9]]

                             precision    recall  f1-score   support

Iris-setosa                  1.00      1.00      1.00         7

Iris-versicolor           0.85      0.92      0.88        12

Iris-virginica              0.90      0.82      0.86        11

avg / total                   0.90      0.90      0.90        30

YANG PENTING YAKIN !!!

Anda tidak perlu mengerti semuanya. (Setidaknya tidak sekarang) Tujuan Anda adalah menjalankan tutorial end-to-end untuk mendapatkan hasilnya. Anda tidak perlu memahami semua yang ada di jalur pertama. Cantumkan pertanyaan Anda saat Anda pergi. Gunakan bantuan berat (“FunctionName”) membantu sintaks Python untuk mempelajari semua fungsi yang Anda gunakan.

Anda tidak perlu tahu bagaimana algoritma bekerja. Penting untuk diketahui tentang keterbatasan dan cara mengkonfigurasi algoritma pembelajaran mesin. Tapi belajar tentang algoritma bisa datang nanti. Anda perlu membangun pengetahuan algoritma ini perlahan dalam jangka waktu yang lama. Hari ini, mulailah dengan merasa nyaman dengan platform.

Anda tidak perlu menjadi programmer Python. Sintaks bahasa Python bisa jadi intuitif jika Anda baru mengenalnya. Sama seperti bahasa lainnya, fokus pada pemanggilan fungsi (misalnya fungsi ()) dan tugas (misalnya a = “b”). Ini akan membuat Anda mendapatkan sebagian besar jalan. Anda adalah pengembang, Anda tahu bagaimana cara mengambil dasar-dasar bahasa dengan cepat. Mulailah dan selami detailnya nanti.

Anda tidak perlu menjadi ahli Machine Learning. Anda bisa belajar tentang manfaat dan keterbatasan berbagai algoritma nantinya, dan ada banyak posting yang bisa Anda baca nanti untuk memoles langkah-langkah proyek pembelajaran mesin dan pentingnya mengevaluasi akurasi dengan menggunakan validasi silang.

Bagaimana dengan langkah lain dalam proyek Machine Learning.

Kami tidak mencakup semua langkah dalam proyek pembelajaran mesin karena ini adalah proyek pertama Anda dan kami perlu fokus pada langkah-langkah kunci. Yakni, memuat data, melihat data, mengevaluasi beberapa algoritma dan membuat beberapa prediksi. Dalam tutorial selanjutnya kita bisa melihat persiapan data dan hasil perbaikan tugas lainnya.

 

Langkah pertama belajar Machine Learning menggunakan Python Part 1

Pengenalan Machine Learning

Machine Learning adalah pengambilan pengetahuan dari suatu data. Hal tersebut adalah bidang penelitian di antara statistik, kecerdasan buatan, dan ilmu komputer dan juga dikenal sebagai analisis prediktif atau pembelajaran statistik. Penerapan metode Machine Learning dalam beberapa tahun terakhir telah berkembang di mana-mana dalam kehidupan sehari-hari. Dari rekomendasi film, makanan apa yang harus dipesan atau produk mana yang akan dibeli, ke radio online yang  telah dipersonalisasi dan mengenali teman di foto Anda, banyak situs web dan perangkat modern memiliki algoritma Machine Learning pada intinya. Ketika Anda melihat situs web yang kompleks seperti Facebook, Amazon, atau Netflix, kemungkinan besar setiap bagian situs berisi beberapa model Machine Learning. Lanjutkan membaca

Mengenal Sass Part 1

Ketika kita membuat website pastinya kita menggunakan CSS untuk styling halaman website kita. Pernahkah mengalami CSS yang kita gunakan begitu banyak, kompleks dan sulit untuk melakukan maintenance?

Untuk hal ini, Sass bisa menjadi solusinya.

Apa itu Sass? Sass (Syntactically Awesome Style Sheets) merupakan Preprocessor CSS. Preprocessor CSS adalah framework yang menyediakan fitur-fitur yang tidak terdapat pada CSS. Fitur-fitur tersebut banyak mengadopsi konsep-konsep pemograman seperti operasi matematika dasar, variabel, loop dan fungsi.

Lanjutkan membaca

Memulai RxJava di Android Studio

Reactive Programming, buzzword yang cukup populer 2 tahun terakhir dalam berbagai bidang pengembangan software baik mobile dan web.
Konsep Reactive Programming memudahkan kita untuk melakukan multi-threading dalam program kita sehingga kode lebih manageable. Sehingga penerapan konsep Reactive sendiri akan sangat sering kita jumpai dalam Asynchronous Request dan Event-Driven Programming yang sangat dependen terhadap proses threading.

Dalam post ini kita akan mencoba bagaimana memulai menggunakan library RxJava di Android Studio. Lanjutkan membaca

——–|Pengenalan Python

Bahasa pemrograman yang direkomendasikan oleh pengguna linux adalah Python, kenapa ? Selain banyak tools-tools networking yang ditulis dengan python, kita dapat menulis program lebih cepat daripada bahasa pemrograman lainnya. Python adalah bahasa pemrograman tingkat tinggi. Kita bisa menjalankan python di CLI atau membuat script dengan ekstensi file “.py” Lanjutkan membaca

Jurus Mustajab “ Prefix sum ” pada Programming

Apakah kamu pernah mendengar istilah ” Prefix sum ” ?
Perhatikan barisan bilangan berikut:
12  23  43  12  43  22  11 7  9  10  100  …
Berapakah jumlah suku ke-tiga sampai ke-sepuluh?

Cara :

HMMM…

Apakah setiap ada pertanyaan seperti itu, kita harus ngeloop dari awal sampai akhir dari suku yang ditanyakan?

Duh, gimana kalo barisannya ada ratusan ribu bahkan jutaan suku? Kita harus ngitung lagi ratusan ribu bahkan jutaan kali. BOOM!! Lanjutkan membaca

Tips Membuat Poster Yang Menarik

Apakah Anda adalah seorang panitia suatu acara yang menjadi sebagai pembuat poster? Apakah poster yang Anda buat terlalu monoton dan ingin membuat sebuah poster yang “Wah! Aku tidak percaya aku bisa mendesain sebagus ini!” ?? Bila pertanyaan tersebut berada di dalam benak Anda sekarang, maka Anda telah mengunjungi artikel yang tepat! Lanjutkan membaca