SKLearn 05 | Simple Linear Regression with Scikit-Learn | Learning Basic Machine Learning

Posted by


Tutorial ini akan membahas Simple Linear Regression menggunakan library Scikit-Learn di Python. Simple Linear Regression merupakan salah satu metode dalam machine learning yang paling sederhana, namun penting untuk memahami konsep dasar dalam machine learning.

Langkah pertama yang perlu dilakukan adalah mengimpor library yang dibutuhkan, yaitu NumPy dan Pandas untuk manipulasi data, serta matplotlib untuk visualisasi data. Jika belum memiliki library tersebut, Anda dapat menginstalnya dengan menggunakan pip.

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Selanjutnya, kita akan menggunakan dataset yang berisi dua kolom, yaitu kolom X (variabel independen) dan kolom Y (variabel dependen) untuk melakukan Simple Linear Regression. Dalam contoh ini, kita akan menggunakan dataset salary_data.csv. Anda dapat mengunduh dataset tersebut dari internet atau menggunakan dataset lain yang anda miliki.

Setelah dataset berhasil diimpor, selanjutnya adalah membaca dataset tersebut menggunakan Pandas dan menampilkan 5 baris pertama dari dataset untuk melihat struktur data.

data = pd.read_csv('salary_data.csv')
print(data.head())

Setelah melihat struktur data, selanjutnya adalah membagi dataset menjadi dua bagian, yaitu features (X) dan target (Y). Features adalah kolom yang akan digunakan sebagai variabel independen, sedangkan target adalah kolom yang akan diprediksi.

X = data['YearsExperience'].values.reshape(-1,1)
Y = data['Salary'].values

Selanjutnya, kita akan membagi dataset menjadi data training dan data testing. Data training akan digunakan untuk melatih model, sedangkan data testing akan digunakan untuk menguji performa model. Kita bisa menggunakan fungsi train_test_split dari library Scikit-Learn untuk membagi dataset.

from sklearn.model_selection import train_test_split

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=0)

Setelah data berhasil dibagi, selanjutnya adalah membuat model Simple Linear Regression menggunakan library Scikit-Learn. Kita bisa menggunakan LinearRegression() dari library tersebut.

from sklearn.linear_model import LinearRegression

model = LinearRegression()

Selanjutnya adalah melatih model menggunakan data training yang sudah dibagi sebelumnya.

model.fit(X_train, Y_train)

Setelah model dilatih, selanjutnya adalah melakukan prediksi menggunakan data testing.

Y_pred = model.predict(X_test)

Terakhir, kita bisa menampilkan hasil prediksi tersebut dengan melakukan visualisasi data menggunakan matplotlib.

plt.scatter(X_test, Y_test, color='red')
plt.plot(X_test, Y_pred, color='blue')
plt.title('Salary vs Years of Experience (Testing set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()

Dengan demikian, Anda telah berhasil melakukan Simple Linear Regression menggunakan library Scikit-Learn di Python. Jika ingin meningkatkan performa model, Anda dapat mencoba menambahkan fitur baru atau menggunakan metode lain seperti Polynomial Regression. Semoga tutorial ini bermanfaat!

0 0 votes
Article Rating

Leave a Reply

31 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@fachriezalnugraha9498
25 days ago

multiple linear regression juga dong mas dibuat tutorial ya, biar tau perbedaan diantara keduanya mas🙏👍

@hizkiacrisantino3779
25 days ago

14:00 kenapa harus np.array([0, 25]).reshape(-1, 1)

Kenapa nggak langsung aja
np.array([0]
[25])

@SeptianNugrahahaha
25 days ago

tema sesulit ini jadi gampang di cerna dan dipahami berkat team indonesia belajar thanks yah!!!

@rizalgusroni9263
25 days ago

masih belom paham, y_test nya apakah random atau bagaimana

@ardimamo
25 days ago

kalau pembelajaran terkait backpropagation ada ga Pak?

@kumpulanresepsimpel
25 days ago

33:07 ValueError: Found input variables with inconsistent numbers of samples: [5, 4]

padahal udh persis kyk di video

@Guiltia_Sin_Python
25 days ago

pak mau nanya di 29:45 yang y_test dan x_test dapat darimana nilainya kok beda?

@Guiltia_Sin_Python
25 days ago

bang ajari confusion matrix donk
yang mana videonya plis lanjut pembelajaran machine learning

@nanangarifin5359
25 days ago

Saya bikin model dari data frame, untuk x train dan y train kan berasal dari data yang ada di data frame-nya. lalu untuk data x test dan y test itu didapat dari mana agar kita dapat mengetahui r squared-nya berapa?

@lumpyabashah3475
25 days ago

Mau bertanya kenapa punya saya error mulu di buat model fit nya?

@mochamadyunaidisafii9086
25 days ago

bang klo hasil dari data frame yang dipanggil keluar NaN kenapa yaa

@yanocelestin
25 days ago

Mohon bantuannya, saya ada data pemasukan sampah bulanan, kira2 apa yg sy bisa lakukan untuk data ini menggunakan regresi linier sederhana?

@Hanyamanusiabiasa
25 days ago

Ternyata benar, machine learning hubungannya erat dengan statistika.

@hasanudingufron6031
25 days ago

Mohon bahas Support Vector Regression dengan kernel-kernelnya

@mohamadhadiyudin4871
25 days ago

Akhirnya nemu youtube data science yang enak dan jelas banget jelasinnya. Makasih yah kak udah buat youtube ini. Tapi aku mau tanya kak, Semisal aku buat model = LinearRegression(normalize=True) itu bisa kan yah kak? Soalnya aku pernah dijelasin pake normalize=true. Tapi sebenernya itu gimana sih kak konsepnya dan perbedaannya jika hanya model = LinearRegression()
Mohon bantuannya dan sukses selalu yah kak.

@sitinurajijah7249
25 days ago

Udah nonton smpe sini, dn alhamdulillah paham. Tapi pas mau coba itu saya bingung, implementasi pertama yg dilakukan yang mna ? Apakah tahapan dari vid ke 2 ini bisa ditiru dan ganti dataser dab metode apa yang kita ambil ? Ataubagaimana ?

@rondiyanto1732
25 days ago

ada link source code nya kah pak?

@Delianur
25 days ago

Izin tanya Pak Budi…

Kalau dalam aljabar, intercept selalu ada di sumbu x maupun sumbu y. Apakah ini juga berlaku dalam ML?

@juprisupriadi175
25 days ago

terimakasih mas, bermanfaat sekali ilmunya.

@vct98890
25 days ago

pak, di menit 30:54 itu ada y_test dan x_test itu kita buatny gimana ya? asal isiin nominalnya ato gimana ya pak?

31
0
Would love your thoughts, please comment.x
()
x