Contoh paling sederhana yang digunakan untuk menggambarkan hal ini, adalah masalah XOR (lihat gambar di bawah). Bayangkan bahwa Anda diberi data yang berisi dan y terkoordinasi dan kelas biner untuk diprediksi. Anda dapat mengharapkan algoritma pembelajaran mesin Anda untuk mengetahui batas keputusan yang benar dengan sendirinya, tetapi jika Anda menghasilkan fitur tambahan z = x y , maka masalahnya menjadi sepele karena z > 0 memberi Anda kriteria keputusan yang hampir sempurna untuk klasifikasi dan Anda menggunakan sederhana saja hitung!xyz= x yz> 0
Jadi sementara dalam banyak kasus Anda dapat mengharapkan dari algoritma untuk menemukan solusinya, atau, dengan rekayasa fitur Anda dapat menyederhanakan masalah. Masalah sederhana lebih mudah dan lebih cepat untuk dipecahkan, dan membutuhkan algoritma yang tidak terlalu rumit. Algoritme sederhana seringkali lebih kuat, hasilnya seringkali lebih dapat diinterpretasikan, lebih terukur (sumber daya komputasi lebih sedikit, waktu untuk melatih dll) dan portabel. Anda dapat menemukan lebih banyak contoh dan penjelasan dalam pembicaraan luar biasa dari Vincent D. Warmerdam, yang diberikan dari konferensi PyData di London .
Selain itu, jangan percaya semua yang dikatakan pemasar pembelajaran mesin kepada Anda. Dalam kebanyakan kasus, algoritma tidak akan "belajar sendiri". Anda biasanya memiliki waktu, sumber daya, daya komputasi yang terbatas, dan data biasanya memiliki ukuran yang terbatas dan berisik, keduanya tidak membantu.
Mengambil ini secara ekstrem, Anda dapat memberikan data Anda sebagai foto catatan tulisan tangan dari hasil eksperimen dan meneruskannya ke jaringan saraf rumit. Pertama-tama akan belajar mengenali data pada gambar, kemudian belajar memahaminya, dan membuat prediksi. Untuk melakukannya, Anda akan memerlukan komputer yang kuat dan banyak waktu untuk melatih dan menyetel model dan membutuhkan data dalam jumlah besar karena menggunakan jaringan saraf yang rumit. Menyediakan data dalam format yang dapat dibaca komputer (sebagai tabel angka), sangat menyederhanakan masalah, karena Anda tidak memerlukan semua pengenalan karakter. Anda dapat menganggap rekayasa fitur sebagai langkah berikutnya, di mana Anda mengubah data sedemikian rupa untuk membuat bermaknafitur, sehingga algoritma Anda memiliki lebih sedikit untuk mencari tahu sendiri. Untuk memberikan analogi, itu seperti Anda ingin membaca buku dalam bahasa asing, sehingga Anda perlu mempelajari bahasa itu terlebih dahulu, dibandingkan membacanya diterjemahkan dalam bahasa yang Anda mengerti.
Dalam contoh data Titanic, algoritme Anda perlu mengetahui bahwa menjumlahkan anggota keluarga masuk akal, untuk mendapatkan fitur "ukuran keluarga" (ya, saya mempersonalisasikannya di sini). Ini adalah fitur yang jelas untuk manusia, tetapi tidak jelas jika Anda melihat data hanya sebagai beberapa kolom angka. Jika Anda tidak tahu kolom apa yang bermakna ketika dipertimbangkan bersama dengan kolom lain, algoritme dapat mengetahuinya dengan mencoba setiap kombinasi kolom yang mungkin. Tentu, kami memiliki cara cerdas untuk melakukan ini, tetapi tetap saja, akan jauh lebih mudah jika informasi tersebut diberikan kepada algoritma segera.