
Pada saat memproses data untuk kebutuhan machine larning ada baiknya kita memperhatikan hal-hal yang baik untuk diterapkan maupun hal-hal yang tidak boleh diterapkan pada model machine learning kita. Contohnya adalah seperti bias dan variance, jadi apa sebenarnya bias dan variance itu ?. pada contoh ini saya akan menerapkan terminologi ini dalam algoritma regresi linear.
- Bias
Bias merupakan error pada data training
2. Variance
Bias merupakan error pada data testing
Yup, hanya sependek itu penjelasannya namun hanya dengan penjelasan itu saja kurang lengkap tanpa memahami kondisi model overfitting dan underfitting.
- Underfitting
Kondisi underfitting terjadi ketika model kita memiliki tingkat bias dan variance yang tinggi atau kata lainnya adalah error pada data training tinggi dan begitu pula pada data testing. Contohnya seperti gambar dibawah ini, scatter plot yang berwarna hijau merupakan data training dan scatter plot yang berwarna merah merupakan data testing. Bisa kita lihat pada visualisasi data dibawah ini bahwa data training maupun testing menjauhi garis regresi, yang mana data yang baik adalah data tersebut semakin mendekati garis fungsi regresi tersebut
2. Overfitting
Kondisi overfitting terjadi ketika model yang kita bangun memiliki tingkat bias yang rendah namun memiliki variance yang tinggi atau kata lainnya (error pada data training rendah namun pada data testing cukup tinggi ). Kondisi ini kurang baik terutama jika dilatih dengan data baru yang kita belum tau posisi atau nilainya berapa. contohnya seperti dibawah ini, Scatter plot yang berwarna merah merupakan data training dan scatter plot yang berwarna abu-abu adalah data testing, bisa kita lihat bahwa data training sempurna segaris dengan garis regresinya namun jika kita perhatikan data testingnya sangat jauh dari garis tersebut. ( low bias and high variance )
Terus bagaimana menentukan model yang baik ?, model yang baik tentunya yang memiliki bias rendah dan begitu pula variance yang rendah.
Jika model yang kita bangun memiliki bias dan variance yang cukup tinggi maka ada baiknya kita memperhatikan noise ataupun outlier pada data kita. Ada beberapa pendekatan untuk mengetahui outlier pada data kita contohnya dengan menghitung dengan menggunakan rumus z-score, iqr-score atau hanya dengan memplotkan data yang kita punya, kita bisa melihat data yang berbeda sangat jauh, dan itulah outlier yang perlu kita hilangkan.