Buat fitur train dan test
Sebelum kita melatih model linear, kita ingin menambahkan konstanta ke fitur agar model linear memiliki intersep.
Kita juga ingin membuat fitur train dan test. Ini agar kita dapat melatih model pada himpunan data train, dan mengevaluasi kinerjanya pada himpunan data test. Kita selalu perlu memeriksa kinerja pada data yang belum pernah dilihat model untuk memastikan kita tidak overfitting, yaitu menghafal pola pada data pelatihan secara terlalu persis.
Dengan deret waktu seperti ini, umumnya kita menggunakan data paling lama sebagai set pelatihan, dan data paling baru sebagai set pengujian. Dengan begitu, kita dapat mengevaluasi kinerja model pada data terkini, yang lebih realistis mensimulasikan prediksi pada data yang belum pernah kita lihat.
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Keuangan dengan Python
Instruksi latihan
- Impor pustaka
statsmodels.apidengan aliassm. - Tambahkan konstanta ke variabel
featuresmenggunakan fungsi.add_constant()dari statsmodels. - Setel
train_sizesebagai 85% dari total jumlah titik data (jumlah baris) menggunakan properti.shape[0]darifeaturesatautargets. - Bagi
linear_featuresdantargetsmenjadi set train dan test menggunakantrain_sizedan pengindeksan Python (misalnya[start:stop]).
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Import the statsmodels.api library with the alias sm
___
# Add a constant to the features
linear_features = sm.____(features)
# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)