Eğitim ve test özellikleri oluştur
Doğrusal modelimizi uydurmadan önce, özelliklerimize bir sabit eklemek istiyoruz ki modelimizin bir kesişimi (intercept) olsun.
Ayrıca eğitim ve test özellikleri de oluşturmak istiyoruz. Böylece modelimizi eğitim veri kümesine uydurup, performansı test veri kümesinde değerlendirebiliriz. Modelin görmediği veride performansı kontrol etmek her zaman önemlidir; böylece aşırı uyum (eğitim verisindeki örüntüleri fazlasıyla ezberleme) yapmadığımızdan emin oluruz.
Böyle bir zaman serisinde genellikle en eski veriyi eğitim kümesi, en yeni veriyi ise test kümesi olarak kullanmak isteriz. Bu sayede, modelin performansını en güncel veri üzerinde değerlendiririz; bu da henüz görmediğimiz veri üzerindeki tahminleri daha gerçekçi biçimde simüle eder.
Bu egzersiz, kursun bir parçasıdır
Python ile Finans için Machine Learning
Egzersiz talimatları
statsmodels.apikütüphanesinismtakma adıyla içe aktar.- statsmodels'ın
.add_constant()fonksiyonunu kullanarakfeaturesdeğişkenine bir sabit ekle. train_sizedeğerini, toplam veri noktalarının (satır sayısının) %85'i olacak şekildefeaturesveyatargets'ın.shape[0]özelliğini kullanarak ayarla.linear_featuresvetargets'ı,train_sizeve Python indekslemeyi (ör.[start:stop]) kullanarak eğitim ve test kümelerine ayır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)