Microsoft Azure Linear Regresyon ile Bitcoin tahmini yapma

Başlamadan şu videoyu bırakalım :)

YATIRIM TAVSİYESİ DEĞİLDİR - YouTube

Microsoft da birçok rakibi gibi Machine Learning algoritmalarını kullanabilmemiz için Azure Machine Learning Studio platformunu kullanımıza sundu. Hem bu platformu biraz anlatmak hem de popüler olması nedeniyle daha önce Apache Spark üzerinden yapmış olduğum basit bir çalışmayı sizinle paylaşacağım.

Çalışmamızda uzun vadeli BTC değerlerini kullanıp en düşük değerleri tahmin eden bir model oluşturacağız ve akabinde önüne örnek bir değer data koyup yorumlamasını isteyeceğiz.

Yapacağımız çalışma temelde iki adet experimentden oluşacak. İlk experiment de modelimizi train ederken ikincisinde train edilmiş modelimiz üzerinden tahminleme yapıyor olacağız. 

En sondakini en başta söyleyeyim burada tek bir doğru yok tamamen farklı bakış açıları ile farklı modellemeler yapıp btc tahmini yapabilirsiniz. Bu yazıdaki yaklaşımımız uzun vade alıcı mantığı olacak.

Lafı uzatmadan experimentlerimize geçelim. 

1-) Trained Modelin oluşturulması

    Şimdi madde madde flowumuzu oluşturuyoruz;

    a-) DataSet eklenmesi

Datamızı investing.com 'dan csv olarak indiriyoruz. 

BTC USD Bitfinex Historical Data - Investing.com adresinden aylık bazda 2 yıllık datayı indirebilirsiniz. Elinize aşağıdaki gibi bir data gelecek.


Bu datayı workspace e ekliyoruz. Sol taraftaki dataset i seçip csv dosyamızı ekliyoruz. btc.csv diyebilirsiniz.



    b-) DataSet düzenlenmesi

Sürükle bırak yöntemi ile csv dosyasını ekleyelim ve Select Column Dataset ile çalışmak istediğimiz kolonlar ile devam etmeyi sağlayacağız.



Select Columns in Dataset de aşağıdaki kolonları seçelim. "Date,Open,Change" kolonları tahmin için gereksiz olduğu için çıkarıyoruz. 



    c-) Train ve Test data için split operasyonu

Fraction 0.7 oranında  bölüyoruz. %70 e %30 bu şekilde train ve test olarak bu datanın bölünmesini sağlayalım.

Ayrıca random seed sabitlemesi yaparak bölünen datanın değişmesini engelliyoruz.


    d-) Linear Regresyon algoritması eklenmesi

Sürükleyip bırakmak üzere machine learning sekmesinden linear regresyonu alıyoruz.


    e-) Train Model entegrasyonu, kolon seçimi ve flowun koşturulması

Train Modelimizde Low değerini seçiyoruz. Score Model ve Evaluate Modelleri ekledikten sonra flow umuzu Run ediyoruz.



    f-) Score Model oluşumu ve Evaluate Model kontrolü

Score Modeli üzerine gelip sağ tuş "Score DataSet" dediğinizde Visualize edilmiş sonuçlar 

aşağıdaki gibi. Birkaç data da güzel alım noktaları verdiği görülüyor.

Gelelim Evaluation Result ' a. 

Coefficient of determination (R square) değerimizi kontrol ediyoruz. Test amaçlı olduğu için takılmayalım. :)



    g-) Train Modelin save edilerek workspace e kaydedilmesi

Aşağıdaki şekilde kaydediyoruz.




2-) Train edilmiş model ile prediction yapma.



        
        a-) Prediction yapabilmemiz için csv dosyası oluşturulması
        
Bir tahmin dosyası oluşturuyoruz. 

İçerik şu anki BTC değeri,son bir aydaki en yüksek değer en düşük değer boş ve ortalama Volume dan oluşuyor. (Bu değerde etkili ve üzerine düşünülerek eklenmeli).

Aynı şekilde dataset olarak ekleyelim ismi "btc_prediction.csv" olsun.

"Date","Price","High","Low","Vol."
"June 21","59,454.3","35,614.0","0","427.12K"


        b-) Train edilmiş modelin eklenmesi

İlk expirementde oluşan modelimizi sol tarafta görüyor olacaksınız. Sürükle bırak yöntemi ile ekleyebilirsiniz.



    
        c-) Score Model ile Sonuç kontrolü

Prediction yaparken şu an ki değer ve son bir aydaki en yüksek değeri ekledik. Low için bir değer girmemizin anlamı yok zaten tahmin etmek istiyoruz. Sonuca göre şimdi alıcı olacaksanız uzun vade 42843 seviyesinin ucuz olduğunu söylüyor.












Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

IONIC BAŞLANGIÇ

Cannot resolve the collation conflict between “Turkish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation

Golang working with interfaces and functions -3