Feature Selection Metoda Wrapper

Pada modul ini akan dibahas implemantasi feature selection dengan metoda wrapper. Data yang digunakan sama dengan modul sebelumnya, HousingData.csv. Data download di https://drive.google.com/file/d/1SITrjPEoymayijavt_9JXLjxpm3TWDUb/view?usp=sharing

Prosesnya juga sangat mirip dengan modul sebelumnya, hanya berbeda library yang digunakan dan pada proses selection saja. Pada modul ini digunakan LinearRegression dan RFE.

Proses memberi nama column dan replace missing value sama seperti modul sebelumnya. Begitu juga proses menentukan data feature dan target. Untuk penjelasan code dibawah silakan lihat modul sebelumnya di https://skillplus.web.id/feature-selection-metoda-filter/

import pandas as pd
import numpy as np

from sklearn.linear_model import LinearRegression
from sklearn.feature_selection import RFE

house_df = pd.read_csv('HousingData.csv')

col_nm = ['CrimeRate', 'ZonedRatio', 'IndusRatio', 'AlongRiver', 'NO2Level', 'Rooms', 'OldHomeRatio', 'Distance', 'RoadAcces', 'TaxRate', 'PupilTeacher', 'MedianHomeVal',]

house_df.columns = col_nm

house_df = house_df.replace('NA', np.nan)
house_df.isnull().sum().sort_values(ascending=False)

data = house_df.fillna(house_df.mean())

target = data['MedianHomeVal']
features = data.drop('MedianHomeVal', axis=1)

Mulai dari Code dibawah, perbedaan dengan modul sebelumnya dimulai. Pada modul ini digunakan metoda wrapper menggunakan RFE.

Hasil dari RFE adalah berupa ranking. Feature yang terbaik adalah feature dengan ranking 1.

linear_reg = LinearRegression()

rfe = RFE(estimator=linear_reg, n_features_to_select=5, step=1)
rfe.fit(features, target)

rfe_features = features.columns[rfe.support_]

pd.DataFrame({'FeatureName' : features.columns, 'Rank' : rfe.ranking_}).sort_values(by='Rank')
        FeatureName	Rank
3	AlongRiver	1
4	NO2Level	1
5	Rooms	        1
7	Distance	1
10	PupilTeacher	1
2	IndusRatio	2
0	CrimeRate	3
8	RoadAcces	4
6	OldHomeRatio	5
1	ZonedRatio	6
9	TaxRate	        7

Sharing is caring:

6 thoughts on “Feature Selection Metoda Wrapper”

  1. Haloo, Sebelumnya saya sedang mengerjakan skripsi dengan metode wrapper ini, tapi belum sepenuhnya paham tentang coding yang ada pada tutorial disini. Apakah admin bersedia untuk membagi ilmunya tentang hal ini? Terima kasih

    Reply
        • halo Randa, maaf baru kita reply, dari pihak skillplus sudah berikan email Randa ke pihak penulis. Jadi harap ditunggu aja, kalau penulisnya memang ada waktu pasti dihubungi.

          Maaf ya, kita gak bisa kasih email penulis karena ada perjanjian privacy antara skillplus dan penulis. Nanti kami bisa ditegur sama penulis.

          Trims

          Reply

Leave a Comment