:::: MENU ::::

Posts Categorized / machine learning

  • Apr 08 / 2018
  • Comments Off on Menguak Skandal Cambridge Analytica
Big Data, Forum Info, Implementation, IoT, machine learning

Menguak Skandal Cambridge Analytica

Privasi dan penggunaan data pribadi adalah salah satu permasalahan utama yang disoroti setelah skandal Cambridge Analytica menjadi topik hangat akhir-akhir ini.

Siapakah Cambridge Analytica?

CA (Cambridge Analytica) adalah perusahaan konsultasi politik yang memanfaatkan data mining dan analisis. CA didirikan pada tahun 2013 sebagai anak perusahaan SCL group, bersama dengan Steve Bannon, yang kemudian menjadi penasehat strategis Donald Trump.

Apa yang dilakukan oleh Cambridge Analytica, yang dianggap tidak etis?

CA memperoleh data pribadi milik sekitar 50 juta pengguna Facebook melalui aplikasi kuis yang bernama this is your digital life. Mereka membayar 270.000 user untuk menggunakan aplikasi tersebut, dan dari user tersebut mereka mengakses pengguna lain yang ada di dalam daftar pertemanan mereka. Data tersebut kemudian digunakan sebagai input untuk mengembangkan algoritma psikografik analisis. Hasil analisisnya kemudian digunakan untuk melakukan targeted campaign melalui berbagai iklan dan content.

Apa itu psikografik analisis?

Analisis psikografik adalah metode analisis yang mencoba menggambarkan kepribadian seseorang berdasarkan data-data preferensi mereka, dalam hal ini diwakili oleh content atau status yang kita post, like dan klik. Intinya, selain data profil kita, setiap kita melakukan posting maupun klik atau like pada entry tertentu, data aktifitas tersebut juga akan diambil dan dianalisis untuk membentuk profil kepribadian kita.

Apakah pengumpulan data yang dilakukan menggunakan aplikasi Facebook semacam itu sesuatu yang luar biasa atau ilegal menurut Facebok?

Ternyata tidak. Mengumpulkan data pribadi user dengan iming-iming kuis kepribadian atau aplikasi lainnya di facebook, beserta data pengguna lain yang berada di dalam daftar pertemanannya, ternyata merupakan praktek yang lazim dilakukan oleh para internet marketer. Hal tersebut dapat dilakukan karena Facebook memang menyediakan API yang memungkinkan developer mengakses data user dan semua orang di friendlist user tersebut.

Microstrategy misalnya, memiliki data sekitar 17 juta pengguna, yang didapatkan dari 52.600 instalasi aplikasi, dengan masing-masing user ‘membawa’ sekitar 300 teman dalam friendlist mereka. LoudDoor, sebuah perusahaan yang khusus menangani iklan di Facebook, bahkan mengklaim 12 juta instalasi aplikasi Fan Satisfaction, yang menghasilkan data sekitar 85 juta penduduk Amerika. Dan ini bisa jadi hanyalah semacam puncak dari sebuah gunung es, karena pada dasarnya siapa saja bisa melakukan hal yang sama.

Praktek eksploitasi data pribadi untuk kepentingan politik ini sebenarnya sudah ‘tercium’ sejak jauh hari. The Guardian misalnya, sudah menulis mengenai penggunaan data pribadi dalam kampanye-kampanye politik. Propublica, sebuah organisasi nonprofit yang melakukan jurnalisme investigatif, bahkan membuat aplikasi yang bertujuan memonitor targeted ads tersebut. CA tentunya bukan satu-satunya perusahaan yang melakukan praktek sejenis, dan Donald Trump pun tentu bukan satu-satunya klien yang memanfaatkan jasa semacam ini.

Lalu mengapa baru saat ini kontroversi ini meledak?

Penyebabnya adalah Christopher Wylie, seorang mantan pegawai SCL yang juga ikut dalam pembentukan Cambridge Analytica mengungkap skandal ini, yang kemudian ditayangkan oleh The Guardian dan New York Times pada tanggal 17 Maret 2018.
Sehari kemudian para anggota Parlemen di Inggris dan Amerika menuntut penjelasan kepada Facebook, mengenai bagaimana data pribadi puluhan juta penggunanya dapat jatuh ke tangan perusahaan yang menangani kampanye Presiden Trump di tahun 2016 lalu.
Setelah berbagai laporan mengenai keterlibatan CA pada pemilu di beberapa negara lain bermunculan, pada tanggal 20 Maret, CA men-suspend CEO mereka, Alexander Nix. Akibat skandal ini, nilai saham Facebook turun sampai 9% atau sekitar US$60 miliar.

Apa yang dilakukan Facebook dalam menanggapi skandal ini?

Banyak pihak menilai Facebook kurang serius menanggapi isu ini. Lima hari pertama sejak meledaknya kasus ini Facebook tidak memberikan pernyataan apapun. Baru setelah marak tagar #deletefacebook yang diikuti banyak tokoh, termasuk diantaranya Elon Musk, Mark Zuckerberg memberikan pernyataan. Intinya adalah Facebook menyesalkan insiden yang terjadi, dan mengambil beberapa tindakan, yaitu :

  • Akan menyelidiki aplikasi-aplikasi yang mengakses data user beserta user lain di friendlistnya dalam jumlah besar, sebelum Facebook mengubah kebijakannya di tahun 2014. Sejak tahun 2014 aplikasi tidak lagi dapat mengakses data user lain selain yang menginstal aplikasi tersebut. Facebook akan mem-blacklist developer yang tidak bersedia diaudit.
  • Mematikan akses developer ke data user, jika user tersebut tidak menggunakan aplikasi yang bersangkutan selama 3 bulan, dan mengurangi jenis informasi yang bisa diakses oleh aplikasi tersebut ketika user sign in.
  • Membuat tools yang menunjukkan list aplikasi apa saja yang dapat mengakses data user, dan menampilkannya di atas newsfeed, serta memudahkan user untuk mengubah ijin akses tersebut. Tools ini ditargetkan selesai bulan depan.

Bagaimana sebenarnya tim pemenangan Trump (dan mungkin banyak lagi yang lainnya), menggunakan data dalam menyukseskan kampanye mereka?

Untuk kasus Trump, mereka membuat lebih dari 100.000 situs web yang dirancang khusus untuk berbagai profil psikologis dan preferensi dari kelompok-kelompok kecil targetnya. Hal ini disebut dengan microtargeting. Untuk menyebarkan link ke situs tersebut, mereka membeli $2 million dollars Facebook ads, yang mengarahkan pengguna ke website-website tersebut. Ratusan ribu website tersebut dibuat sekontroversial mungkin, sesuai dengan kecenderungan user yang ditarget, terkadang menggunakan fake news, black campaign dan berbagai clickbait.

Dalam mengelompokkan dan mengarahkan iklan, mereka memanfaatkan fitur “Audience Targeting Options”, dan “Lookalike Audiences”. Dua fitur ini merupakan alat yang jika dikelola dengan lihai akan dapat menyampaikan iklan ke segmen yang sesuai. Dua fitur tersebut, dipadukan dengan informasi dan profil yang dihasilkan dari algoritma yang dipergunakan oleh Cambridge Analytica, berhasil menjangkau para calon pemilih di masa itu, dan memberikan hasil yang luar biasa, yaitu terpilihnya Trump sebagai presiden Amerika.

Terlepas dari berbagai kontroversi dan permasalahan yang melingkupinya, kasus ini memberikan bukti nyata akan kekuatan data yang sebenarnya. Data yang diolah dengan piawai, dapat menjadi senjata yang sangat ampuh, yang dapat mengubah dunia dalam arti yang sesungguhnya. Di samping itu kita juga mendapat gambaran, bisnis apa yang ada di belakang berbagai aplikasi dan media sosial di dunia, mengapa begitu banyak orang mau berinvestasi besar-besaran ke dalam perusahaan-perusahaan yang menghasilkan data besar, seperti Facebook, Twitter, GoJek, dan lain-lain.

“These stories illustrate a simple truth : information is power. Anyone who hold a vast amount of information about us has power over us.” (Julia Angwin – Dragnet Nation)

Contributor :


M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng.
Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun.
Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Feb 14 / 2018
  • Comments Off on Seputar Big Data Edisi #48
Apache, Artificial Intelligece, Big Data, Hadoop, Implementation, IoT, machine learning, Uncategorized

Seputar Big Data Edisi #48

Kumpulan berita, artikel, tutorial dan blog mengenai Big Data yang dikutip dari berbagai site. Berikut ini beberapa hal menarik yang layak untuk dibaca kembali selama minggu xx bulan xx 2017

Artikel dan Berita

  1. Xiaomi partners with Naver in AI for IoT devices
    Clova, platform AI dari Naver akan memperkuat device IoT Xiaomi. Kerja sama ini menunjukkan keseriusan Naver dalam bidang AI, setelah November lalu mereka menjalin kerja sama dengan LG, setelah sebelumnya Naver juga membeli pusat AI Xerox di Eropa.
  2. New big data project to enhance safety at sea
    Grahaeme Henderson, wakil presiden pelayaran dan maritim Shell, mengumumkan sebuah inisiatif baru yang disebut HiLo, yang menggunakan data besar dan analisis prediktif untuk mencegah kecelakaan dalam pelayaran.
  3. Understanding What Consumers Want Without Ever Asking Them
    Menurut Harvard Business School, setiap tahun ada lebih dari 30.000 produk baru yang diluncurkan dan sekitar 80% di antaranya gagal. Awal bulan ini Coca-Cola meluncurkan empat rasa baru dan makeover kemasan untuk Coke Diet andalan mereka. Menurut statistik Harvard Business School di atas, tiga dari rasa baru itu akan gagal. Namun dalam era yang sarat informasi yang kita jalani saat ini, apakah hal tersebut masih menjadi masalah?
  4. Innovation in mining with IoT and AI monitoring technology
    Kemampuan untuk mengumpulkan dan menganalisis data lingkungan dan peralatan, dan melakukan penilaian risiko dan wilayah secara real time memberi manfaat yang signifikan bagi operasi skala besar. Terutama industri seperti pertambangan, yang beroperasi di lingkungan yang sempit, selalu berubah dan berpotensi bahaya. Tapi apakah teknologi IoT dan AI benar-benar menguntungkan? Dan apa sebenarnya manfaat teknologi tersebut untuk operasi penambangan?
  5. Top IoT Projects: 8 Case Studies
    Hampir semua orang setuju bahwa IoT akan menjadi sangat penting, tapi tidak semua memahami bagaimana mereka bisa mendapatkan keuntungan dari teknologi ini. IDC memperkirakan bahwa pengeluaran IO di seluruh dunia akan mencapai $772,5 miliar tahun ini, 14,6 persen lebih banyak dari tahun lalu, dan diyakini akan berlanjut hingga 2021, ketika total pendapatan akan mencapai $1,1 triliun.
    Tapi apa sebenarnya yang dibeli? Berikut ini 8 contoh kasus penggunaan IoT yang cukup menarik dan mewakili berbagai bidang.
  6. What 2018 holds for AI and deep learning
    Tahun 2018 ini diprediksikan menjadi tahun di mana banyak industri berusaha menggali manfaat dari deep learning dan berusaha menjadi intelligence enterprise. Berikut ini beberapa pandangan dari PwC Analytics Group mengenai prospek serta peluang deep learning dan AI di tahun 2018.

Tutorial dan Pengetahuan Teknis

  1. GeoBike, Part 2: Querying the Data
    Pada posting sebelumnya, telah dibahas mengenai pembuatan back-end dengan Redis, dan loading data dari General Bikeshare Feed Specification (GBFS) data feed menggunakan Python. Dalam seri ini dibahas mengenai bagaimana menentukan lokasi user, dan bagaimana melakukan query data.
  2. Introduction to Matrices and Matrix Arithmetic for Machine Learning
    Matriks merupakan elemen dasar yang penting dalam penerapan machine learning. Matriks banyak digunakan terutama dalam menjelaskan proses dan algoritma, misalnya representasi variabel data masukan (X) yang digunakan untuk men-train sebuah algoritma. Tutorial ini menjelaskan mengenai konsep dasar matriks dalam aljabar linier, dan bagaimana memanipulasinya menggunakan Python.
  3. A comparison between spaCy and UDPipe for Natural Language Processing for R users
    Dalam beberapa tahun terakhir ini NLP (Natural Language Processing) berkembang ke arah task yang multibahasa, tidak lagi terikat oleh satu bahasa, negara atau batasan legal tertentu. Dengan semakin berkembangnya open data berkaitan dengan task NLP, seperti http://universaldependencies.org/ , kita dapat dengan mudah membandingkan berbagai toolkit NLP. Dalam artikel ini dibandingkan dua package NLP dalam R, yaitu udpipe dan spacyr.
  4. Consider to Introduce Docker to Your Data Science Workflow
    Salah satu permasalahan yang banyak dihadapi oleh data saintis adalah konfigurasi environment. Setting environment seringlai berarti menginstal banyak package, menunggu compile package, dan berbagai proses trial and error lainnya. Penggunaan docker dalam data science workflow akan sangat membantu mengatasi permasalahan tersebut. Artikel ini membahas bagaimana mempersiapkan docker untuk menjalankan notebook Jupyter sederhana.
  5. A Simple Starter Guide to Build a Neural Network
    Artikel ini menjelaskan dasar-dasar membangun neural network dari nol, dengan meminimalisir berbagai konsep matematis dan saintifik di belakangnya.

Rilis Produk

  1. Apache Knox 1.0.0
    Apache Knox akhirnya mengumumkan rilis versi 1.0.0.
    Dalam rilis ini dilakukan repackaging class-class ke dalam package dengan nama yang lebih sesuai. Hal ini mungkin dapat menimbulkan permasalahan bagi user yang meng-ekstend class-class dengan package name yang lama. Oleh karena itu, dirilis versi 0.14.0 dengan fitur set yang kurang lebih sama dengan 1.0.0. Versi 1 ini juga mencakup beberapa perbaikan bug dari versi 0.14.0 serta penyempurnaan fitur Service Discovery dan Topology Generation.
  2. Apache Atlas 0.8.2 released
    Rilis ini mencakup perbaikan dan penambahan fitur di antaranya metadata types & instances, classification, lineage, search/discovery, serta security & data masking.

 

Contributor :


Tim idbigdata
always connect to collaborate every innovation 🙂
  • Dec 20 / 2017
  • Comments Off on [Belajar Machine Learning 2] Loading dan Eksplorasi Data dengan Pandas dan Scikit-Learn
Artificial Intelligece, Big Data, Implementation, machine learning, Uncategorized

[Belajar Machine Learning 2] Loading dan Eksplorasi Data dengan Pandas dan Scikit-Learn

Cara paling cepat untuk menguasai sebuah tool atau platform adalah dengan membuat sebuah end-to-end project yang mencakup langkah-langkah utama dalam implementasi machine learning. Langkah tersebut antara lain adalah : loading data, summary data, evaluasi algoritma dan membuat beberapa prediksi.

Membuat end-to-end project berarti membiasakan diri dengan proses machine learning, dan kasus yang telah dikerjakan dapat menjadi semacam template yang bisa digunakan untuk mengolah berbagai dataset lainnya.

Untuk memulainya tidak perlu menggunakan dataset atau kasus yang terlalu rumit. Anda bisa memilih data yang tersedia di dalam library scikit-learn. Daftar lengkap datasetnya dapat dilihat di sini.

Dalam artikel ini akan digunakan dataset iris sebagai contoh kasusnya.

Dataset iris ini sangat sesuai untuk latihan karena :

  • Ukurannya tidak terlalu besar, yaitu 4 atribut dan 150 row, sehingga tidak akan membebani memori
  • Atributnya sederhana. Seluruh atribut numerik dalam unit dan skala yang sama, sehingga tidak memerlukan transformasi khusus

Meskipun teknik dan prosedur dalam penerapan machine learning sangat bervariasi, namun secara garis besar sebuah project machine learning memiliki tahapan sebagai berikut:

  • Definisi masalah
  • Menyiapkan data
  • Memilih/mengevaluasi algoritma
  • Melakukan tuning untuk memperbaiki hasil
  • enyajikan hasil

Salah satu hal yang paling penting dalam langkah-langkah awal project adalah memahami data. Dalam artikel ini akan disajikan mengenai loading dan beberapa fungsi eksplorasi data untuk melihat bagaimana dataset yang akan kita proses nantinya.

1. Cek Instalasi

Jalankan perintah-perintah berikut untuk mengecek versi package yang terinstall.
Versi yang package yang akan gunakan mestinya lebih baru atau setidaknya sama dengan yang terdapat pada output di bawah ini. Jika versi package anda sedikit tertinggal, mestinya tidak masalah, karena biasanya API-nya tidak terlalu banyak berubah. Anda masih dapat menjalankan code yang ada dalam latihan di bawah ini. Tapi jika ingin memperbaharui package yang ada, langkah update package dapat dilihat di posting sebelumnya.

Belajar_ML_2

Output yang didapatkan kurang lebih sbb (versi bisa berbeda):

Belajar_ML_2

Berikutnya adalah loading package yang akan digunakan. Lakukan import untuk mengecek apakah instalasi sudah ok. Jika terdapat error, stop dan resolve. Package di bawah ini perlu untuk menjalankan latihan dalam artikel ini.

Petunjuk setting environment bisa dilihat di posting sebelumnya. Jika terdapat pesan error yang spesifik, anda bisa mencari cara resolve-nya di forum-forum seperti Stack Exchange (http://stackoverflow.com/questions/tagged/python).

Belajar_ML_2

2. Loading Data

Jika langkah di atas berjalan dengan baik, load dataset iris dari package sklearn dengan menjalankan fungsi berikut:

Belajar_ML_2

Tips : Untuk mengetahui jenis sebuah object atau fungsi dalam python, kita bisa mengetikkan nama object atau fungsi yang ingin kita ketahui, diikuti tanda tanya, seperti pada contoh berikut :

Belajar_ML_2

Outputnya adalah informasi dari object tersebut, seperti berikut:

Belajar_ML_2

Untuk mengetahui apa saja yang terdapat di dalam dataset iris, tampilkan seluruh keys dalam dataset tersebut dengan perintah berikut ini:

Belajar_ML_2

Outputnya berupa daftar dari keys atau kata kunci yang terdapat dalam dictionary:

Belajar_ML_2

Dari outputnya kita dapat mengetahui bahwa dalam dataset iris terdapat key berikut : data, target, target_name, DESCR dan feature_names. Kita dapat mengakses dan menampilkan value-nya dengan key tersebut. Misalnya untuk menampilkan deskripsi dataset, lakukan sbb:

Belajar_ML_2

Output:

Belajar_ML_2

Seperti tampak pada deskripsi di atas, dataset iris memiliki 4 atribut numerik : sepal length, sepal width, petal length, dan petal width.

Terdapat 3 jenis spesies (class), yaitu

  • Iris-Setosa
  • Iris-Versicolour
  • Iris-Virginica

Terdapat 150 entry (150 rows data), yang terbagi rata ke dalam 3 kelas tersebut.

Atribut disimpan di elemen “data”, dan kelas/species di elemen “target”. Keduanya bertipe numerik.

Kita lihat bentuk datanya, dengan ‘mengintip’ beberapa baris data dan target, dengan command berikut:

Belajar_ML_2

Dari output di bawah terlihat bahwa format data adalah numerik, dan nilai target menunjukkan indeks dari array target_names.

Belajar_ML_2

3. Convert dataset ke dalam Pandas DataFrame

Untuk memudahkan pemrosesan dan eksplorasi data, kita akan mengubah dataset tersebut ke dalam format pandas DataFrame.

Pandas adalah package yang dibangun di atas library numPy. Pandas menyediakan data struktur yang efisien dan fleksibel, yang dirancang untuk melakukan analisis data dalam Python.
Keterangan lebih lanjut mengenai pandas dan berbagai object di dalamnya dapat dilihat di sini (https://pandas.pydata.org/pandas-docs/stable/)

Berikut ini command untuk mengubah dataset iris menjadi Pandas Dataframe:

Belajar_ML_2

4. Eksplorasi Dataset

Beberapa hal yang akan kita lakukan adalah :

  • Melihat dimensi dataset
  • Contoh datanya
  • Ringkasan statistik semua atribut
  • Mengelompokkan data berdasar variabel target

Yang pertama kita lihat dimensi datanya (jumlah row dan kolom) dengan menggunakan atribut shape

Belajar_ML_2

Output:
Belajar_ML_2

Selanjutnya kita ‘intip’ contoh data dengan menggunakan fungsi head. Dari sini terlihat dataset kita memiliki 4 atribut numerik dan 1 atribut string.

Belajar_ML_2

Output:

Belajar_ML_2

Statistical Summary

Selanjutnya kita lihat summary setiap atribut dengan fungsi describe. Fungsi ini menampilkan summary statistik untuk atribut numerik dari dataset kita, termasuk di dalamnya count, mean, nilai minimum dan maksimum, serta nilai2 persentilnya.

Belajar_ML_2

Dari summary tersebut terlihat bahwa seluruh nilai numerik memiliki skala yang sama (yaitu dalam cm), dan memiliki range yang serupa juga, yaitu antara 0 sampai 8 cm.

Belajar_ML_2

Distribusi Data

Bagaimana dengan distribusi datanya? Untuk melihat distribusi data, kita kelompokkan datanya berdasarkan kelas sbb:

Belajar_ML_2

Output:

Belajar_ML_2

Terlihat bahwa data terbagi menjadi 3 kelas dengan jumlah yang sama, yaitu masing-masing 50 row.

Visualisasi Data

Kita juga dapat melihat ‘bentuk’ data dengan lebih jelas dengan cara memvisualisasikannya. Yang pertama kita bisa melihat distribusi masing-masing atribut dengan menampilkannya dalam bentuk boxplot.

Belajar_ML_2

Belajar_ML_2

Kita juga bisa melihat sebaran datanya dengan bentuk histogram.

Belajar_ML_2

Belajar_ML_2

Dari histogram di atas tampak bahwa setidaknya ada 2 variabel yang kemungkinan memiliki sebaran normal. Asumsi ini dapat kita jadikan pertimbangan ketika memilih algoritma nantinya.

Interaksi Antar Variabel

Selanjutnya kita lihat interaksi antara variabel dengan menampilkan scatterplot. Hal ini bermanfaat untuk melihat adanya hubungan antara variabel-variabel input. Indikasi adanya korelasi antar variabel adalah dari pola scatterplot yang membentuk garis diagonal.

Belajar_ML_2

Belajar_ML_2

Setelah kita mendapat gambaran mengenai dataset yang akan kita proses, kita siap melakukan testing dan tuning algoritma.

Versi Jupyter notebook dari latihan ini dapat di unduh di :
https://github.com/urfie/belajar-python/blob/master/Belajar%20Machine%20Learning%20-%20Load%20and%20Explore%20Dataset.ipynb

Sumber : https://machinelearningmastery.com/machine-learning-in-python-step-by-step/

Contributor :


M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng.
Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun.
Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Nov 21 / 2017
  • Comments Off on [Belajar Machine Learning 1] – Mempersiapkan Environment Python dengan Anaconda untuk Machine Learning
Artificial Intelligece, Big Data, machine learning, Uncategorized

[Belajar Machine Learning 1] – Mempersiapkan Environment Python dengan Anaconda untuk Machine Learning

Dalam beberapa seri artikel ke depan akan disajikan panduan praktis untuk memulai machine learning (dan deep learning) menggunakan Python.

Banyak di antara kita yang ingin belajar namun bingung dari mana harus memulainya. Mempelajari Machine learning, seperti dibahas pada artikel sebelumnya, paling cepat dilakukan dengan cara mengerjakan sebuah project. Rangkaian artikel ini akan memberikan beberapa arahan atau ide untuk anda.

Mengapa menggunakan python? Saat ini Python termasuk bahasa pemrograman yang paling banyak digunakan dalam data science dan machine learning.

Pada seri pertama ini akan dibahas mengenai bagaimana mempersiapkan environment Python untuk membuat program machine learning, dengan menggunakan Anaconda. Langkahnya adalah sbb:

  1. Download Anaconda
  2. Install Anaconda
  3. Start dan Update Anaconda
  4. Menggunakan dan me-manage conda environment untuk versi python yang berbeda-beda

  1. Download Anaconda
  2. Bagian ini mengenai bagaimana mendownload package Anaconda Python untuk platform anda.

    • Kunjungi download page Anaconda
    • Pilih installer yang sesuai dengan platform anda (Windows, OSX, atau Linux)
    • Pilih Python 3.x (dalam hal ini 3.6), proses download installer akan langsung berjalan
      Catatan : Saat ini terdapat dua major version Python yang masih bayak digunakan, yaitu 2.x dan 3.x, namun mengingat trend dewasa ini lebih mayoritas implementasi dan pengembangan dilakukan dengan dan untuk python 3.x, dan support untuk versi 2.x sudah akan berakhir pada 2020, maka disarankan menggunakan versi ini. Python 2.x hanya digunakan untuk kebutuhan khusus yang tidak/belum disupport python 3.x.
    • Untuk windows 64 bit, installer python 3.6 berukuran kurang lebih 515 MB dengan nama file Anaconda3-5.0.1-Windows-x86_64.exe

  3. Install Anaconda
  4. Untuk menginstall Anaconda, double-click file installer yang sudah diunduh pada langkah 1 di atas. Sebelumnya, pastikan anda memiliki priviledge yang cukup untuk menginstall software baru di sistem anda.

    Setelah doubleclick, akan muncul aplikasi installer, ikuti langkah-langkah yang muncul. Waktu instalasi biasanya di bawah 10 menit dan memerlukan disk space antara 1 atau 2 GB.

    gambar_01

    Anaconda Navigator dan environment grafis Anaconda akan sangat berguna nanti, namun untuk saat ini kita akan memulai dengan environment command line Anaconda yang disebut conda.

    gambar_02
    Anaconda Navigator

    Conda cukup cepat dan simple, serta menampilkan hampir semua eror message, sehingga akan lebih mudah untuk mengetahui apakah environment yang anda install sudah dapat bekerja dengan baik dan benar.

    1. Cek instalasi dan versi python
    2. Untuk mengecek apakah conda terinstall dengan baik, lakukan langkah ini:

      • Buka terminal (command line window)
      • Cek instalasi dengan mengetikkan : conda -V
      • Cek versi Python dengan : python -V

      Outputnya kurang lebih sebagaimana berikut:

      gambar_03

      Untuk memastikan environment conda sudah up-to-date, lakukan update dengan cara:

      conda update conda

      conda update anaconda

    3. Cek environment SciPy
    4. Langkah berikutnya adalah memeriksa versi library-library yang umumnya digunakan untuk pemrograman machine learning, yaitu: scipy, numpy, matplotlib, pandas, statsmodels, dan scikit-learn.

      Untuk melakukannya, masuk ke python prompt, dan jalankan perintah-perintah berikut ini:

      # scipy
      import scipy
      print(‘scipy: %s’ % scipy.__version__)
      # numpy
      import numpy
      print(‘numpy: %s’ % numpy.__version__)
      # matplotlib
      import matplotlib
      print(‘matplotlib: %s’ % matplotlib.__version__)
      # pandas
      import pandas
      print(‘pandas: %s’ % pandas.__version__)
      # statsmodels
      import statsmodels
      print(‘statsmodels: %s’ % statsmodels.__version__)
      # scikit-learn
      import sklearn
      print(‘sklearn: %s’ % sklearn.__version__)

      Outputnya kurang lebih sbb (di bawah ini adalah versi yang terakhir pada saat artikel ini dibuat) :

      gambar_04

      Untuk memutakhirkan versi library yang digunakan, bisa dilakukan secara individual dari command prompt, misalnya untuk scikit-learn, lakukan:

      conda update scikit-learn

      Sekarang anda sudah siap untuk mulai membuat project machine learning dalam Python.

  5. Menggunakan Environment Anaconda

  6. Dalam Anaconda, anda dapat menggunakan beberapa versi python dan library pendukung yang berbeda-beda dalam Anaconda. Caranya adalah dengan menggunakan conda environment.

    Untuk melihat environment yang ada, gunakan:

    conda env list

    Untuk membuat environment baru, misalnya dengan nama myenv, lakukan langkah berikut:

    conda create –name myenv

    Anda bisa membuat environment dengan memilih versi python yang diperlukan, misalnya python 2.7 untuk environment dengan nama myenv27, dengan cara

    conda create -n myenv27 python=2.7

Versi lengkapnya dapat dilihat di anaconda user guide bagian Managing Environment.

Sumber :
https://machinelearningmastery.com/setup-python-environment-machine-learning-deep-learning-anaconda/

Contributor :


M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng.
Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun.
Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
  • Oct 06 / 2017
  • Comments Off on 8 Tips Praktis Mempelajari dan Mendalami Machine Learning
Artificial Intelligece, Big Data, Implementation, machine learning

8 Tips Praktis Mempelajari dan Mendalami Machine Learning

8_tips_praktis_mempelajari_machine_learning

AI, khususnya Machine learning adalah salah satu bidang yang paling ‘sexy’ akhir-akhir ini. Raksasa teknologi seperti Google dan Baidu menginvestasikan antara 20 sampai 30 milyar US$ untuk riset, deployment dan akuisisi di bidang AI pada tahun 2016. Dan di tahun mendatang masih akan semakin banyak bidang yang memanfaatkan AI, dan semakin luas pula kesempatan kerja di bidang ini.

Saat ini sebenarnya adalah waktu yang sangat tepat untuk terjun ke dunia machine learning, karena seiring dengan pesatnya perkembangan bidang ini, banyak sekali tools dan platform yang sifatnya open-source yang dapat digunakan oleh siapapun. Di samping itu banyak pula informasi yang berupa tutorial, kuliah online, maupun berbagai tips yang bisa diakses secara gratis di internet.

Namun berlimpahnya sumber ilmu maupun alat kadang justru membuat kita merasa kewalahan dan bahkan bingung, dari mana harus memulai.

Jadi bagaimana cara memulai belajar machine learning?

Berikut ini beberapa tips yang diberikan oleh Ben Hamner, CTO dan Co-Founder Kaggle.

  1. Pilih permasalahan yang diminati
    Cara yang cepat untuk menguasai sebuah teknik, tools ataupun bahasa pemrograman adalah dengan menggunakannya untuk memecahkan permasalahan. Pilih problem yang menarik dan familiar, agar membuat kita lebih fokus dan termotivasi untuk menyelesaikannya.Mengerjakan suatu permasalahan secara langsung juga membuat kita lebih mudah memahami dan menyelami machine learning dibandingkan jika kita hanya membacanya secara pasif.
  2. Buat solusi singkat dan cepat, tidak perlu sempurna
    Solusi yang dibuat di sini tidak perlu sempurna, karena tujuan langkah ini adalah untuk menghasilkan proses dasar dan end-to-end secara cepat, mulai dari membaca dan mengunggah data, kemudian memprosesnya menjadi format yang sesuai untuk machine learning, menentukan model dan melakukan training, serta menguji model dan mengevaluasi kinerjanya.Intinya adalah memberikan pengalaman hands-on sehingga kita mendapat gambaran dasar tentang proses implementasi machine learning.
  3. Kembangkan dan perbaiki solusi tersebut
    Setelah mendapatkan gambaran dasar, mulailah menggali kreatifitas.Perbaiki tiap komponen dari solusi awal, dan lihat pengaruh dari tiap perubahan terhadap solusi yang dihasilkan, untuk menentukan bagian mana yang akan kita utamakan.
    Sering kali kita bisa mendapatkan hasil yang lebih baik dengan memperbaiki preprocessing dan data cleansing, dibandingkan dengan memperbaiki model machine learningnya sendiri.
  4. Tulis dan share solusi yang sudah dibuat
    Feedback adalah sebuah hal yang penting dalam proses belajar, dan cara terbaik untuk mendapatkan masukan adalah dengan menuliskan dan men-share-nya. Menuliskan proses dan solusi yang dibuat berarti mendalami kembali dengan perspektif lain, dan membuat kita lebih memahaminya. Dengan membagikan tulisan, kita memberi kesempatan bagi orang lain untuk memahami apa yang sudah kita kerjakan dan memberi feedback yang berguna bagi proses belajar kita.Keuntungan lain dengan rajin menulis adalah kita membangun portfolio machine learning dan menunjukkan keahlian kita, yang dapat sangat bermanfaat bagi karir di masa datang.
  5. Ulangi langkah 1-4 untuk problem yang lain
    Ulangi proses di atas dengan permasalahan dari bidang dan jenis data yang lain. Jika sebelumnya menggunakan data tabular, cobalah mengerjakan problem dengan teks yang tidak terstruktur, dan problem lain dengan image. Apakah permasalahan yang dikerjakan sebelumnya memang dirancang untuk machine learning? Cobalah mengerjakan problem dari permasalahan bisnis atau riset yang umum.Kesulitan mencari sumber data? Banyak data set yang open di internet. Salah satunya adalah Kaggle Dataset. Untuk problem yang telah terdefinisi dengan baik, bisa ditemukan di Kaggle Competition. Atau 33 sumber data yang disebutkan dalam artikel ini.
  6. Mengikuti komunitas/forum atau kompetisi secara serius
    Untuk lebih menggali pengalaman dan pengetahuan, carilah komunitas atau forum, atau ikuti kompetisi seperti Kaggle competition. Dalam kompetisi yang dibuat Kaggle, kita juga dapat membentuk team dengan orang lain. Dalam forum dan komunitas kita bisa melihat bagaimana orang menyelesaikan permasalahan dengan cara yang berbeda-beda, dan mendapatkan masukan untuk pekerjaan kita sendiri.
  7. Terapkan machine learning dalam pekerjaan
    Menerapkan machine learning dalam pekerjaan membuat kita lebih fokus dan all-out dalam menekuninya, dan membantu kita untuk lebih menguasainya.
    Tentukan role apa yang ingin diambil, dan bangunlah portfolio project yang berkaitan dengannya.
    Tidak perlu sampai mencari pekerjaan baru (ahem), namun bisa dilakukan dengan mencari project baru di posisi yang sama, mengikuti berbagai hackathon dan kegiatan-kegiatan komunitas lainnya.
  8. Mengajarkan machine learning
    Ilmu akan semakin dalam jika dibagikan, dan saat ini ada berbagai cara untuk mengajar. Pilihlah cara yang sesuai dengan karakteristik dan kemampuan kita, seperti misalnya :

    • Menulis blog dan tutorial
    • Aktif menjawab pertanyaan di forum-forum
    • Mentoring dan tutoring privat
    • Mengisi seminar, workshop atau yang sejenisnya
    • Mengajar kelas
    • Menulis buku
    • Menulis research papers
    • Dan lain sebagainya

Tentu tidak ada formula anti gagal yang bisa diterapkan kepada semua orang, karena gaya dan cara belajar masing-masing orang bisa berbeda-beda. Apa lagi tidak semua yang ingin terjun ke bidang ini punya latar belakang ilmu maupun keahlian yang sama. Yang penting adalah memulainya, karena “The journey of a thousand miles begins with one step”.

Contributor :


M. Urfah
Penyuka kopi dan pasta (bukan copy paste) yang sangat hobi makan nasi goreng.
Telah berkecimpung di bidang data processing dan data warehousing selama 12 tahun.
Salah satu obsesi yang belum terpenuhi saat ini adalah menjadi kontributor aktif di forum idBigdata.
Tertarik dengan Big Data beserta ekosistemnya? Gabung