Teknik Analiz Dünyasına Hoşgeldiniz. Paylaşmak Güzeldir.

Yayından kaldırmak istediğiniz formüller için algoritmabul@gmail.com ile iletişime geçebilirsiniz... 
algoritmabul.pythonanywhere.com

  • DİKKAT: Formüller, Sistemler sadece eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.

ML - Python Regresyon

Machine Learning Algorithms - Makine Öğrenimi Algoritmaları BORSA

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,823
Regresyon
"Regresyon," veri bilimi ve istatistik alanında kullanılan bir terimdir ve genellikle bir bağımlı değişkenin diğer bağımsız değişkenlerle ilişkisini modellemek için kullanılan bir tekniktir. Regresyon analizi, veri setlerindeki değişkenler arasındaki ilişkileri anlamak, tahmin yapmak veya bir değişkenin diğer değişkenlere olan etkisini anlamak amacıyla kullanılır.

Temelde iki tür regresyon bulunur:
  1. Doğrusal Regresyon: Bu tür, bağımlı değişkenin bağımsız değişkenlerle doğrusal bir ilişki içinde olduğu varsayımına dayanır. Basit doğrusal regresyon, tek bir bağımsız değişkenin kullanıldığı durumdur, çoklu doğrusal regresyon ise birden fazla bağımsız değişkenin kullanıldığı durumdur.
  2. Doğrusal Olmayan Regresyon: Bu türde, bağımlı değişken ile bağımsız değişkenler arasındaki ilişki doğrusal değildir. Örnekler arasında polinomiyal regresyon, lojistik regresyon, ve destek vektör regresyonu bulunabilir.
Regresyon analizi genellikle istatistiksel yöntemler veya makine öğrenimi algoritmaları kullanılarak yapılır. Bu analiz, gelecekteki değerleri tahmin etme veya değişkenler arasındaki ilişkiyi anlama gibi birçok uygulama alanında kullanılabilir.

Regresyon Modelleri
  1. Linear Regression (Doğrusal Regresyon):
    • Doğrusal regresyon, bağımlı değişken ile bağımsız değişken(ler) arasındaki doğrusal ilişkiyi modellemek için kullanılır. Lineer regresyon, en küçük kareler yöntemiyle parametreleri tahmin eder.
  2. Random Forest Regression (Rastgele Orman Regresyonu):
    • Rastgele Orman, birçok karar ağacının bir araya getirilmesiyle oluşturulan bir ensemble (topluluk) modelidir. Regresyon problemlerinde kullanıldığında, bir dizi ağaç tahmini yapılır ve bu tahminlerin ortalaması alınarak final tahmin elde edilir.
  3. Extra Trees Regression (Aşırı Ağaçlar Regresyonu):
    • Aşırı Ağaçlar, Rastgele Orman'a benzer şekilde çalışan bir ensemble regresyon modelidir. Ancak, ağaçların oluşturulma yöntemleri biraz farklıdır.
  4. KNeighbors Regression (K En Yakın Komşu Regresyonu):
    • K En Yakın Komşu, bir örneğin tahmini için en yakın k komşusunun ortalamasını kullanır. Regresyon problemlerinde, bu komşuların bağımsız değişkenlerine dayanarak bir tahmin yapar.
  5. XGBoost Regression (XGBoost Regresyonu):
    • XGBoost, özellikle büyük veri setlerinde etkili olan bir gradient boosting algoritmasıdır. Regresyon problemleri için kullanıldığında, bir dizi zayıf öğreniciyi (genellikle karar ağaçları) bir araya getirerek tahminler yapar.
  6. Bayesian Ridge Regression (Bayesyen Ridge Regresyonu):
    • Bayesyen Ridge Regresyonu, Bayesyen yöntemleri kullanarak regresyon analizi yapar. Parametre tahminleri için bir olasılık dağılımı elde eder ve belirsizlikleri dahil eder.
Bu modeller, regresyon analizi yapmak için kullanılan yaygın makine öğrenimi algoritmalarını temsil eder.
Kod:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression, BayesianRidge
from sklearn.ensemble import RandomForestRegressor, ExtraTreesRegressor
from sklearn.neighbors import KNeighborsRegressor
from xgboost import XGBRegressor
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
import numpy as np

# CSV dosyasını yükle
file_path = 'xu100/doas.is.csv'  # CSV dosyanızın yolunu belirtin
data = pd.read_csv(file_path)

# Giriş özelliklerini seç
features = ['Open', 'High', 'Low', 'Close', 'Adj Close', 'Volume']
X = data[features]
y = data['Close']  # Hedef değişkeni uygun bir şekilde değiştirin

# Veriyi eğitim ve test setlerine ayır
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Model isimleri ve ilgili sınıfları tanımla
models = {
    'Linear Regression': LinearRegression(),
    'Random Forest Regression': RandomForestRegressor(),
    'Extra Trees Regression': ExtraTreesRegressor(),
    'KNeighbors Regression': KNeighborsRegressor(),
    #'XGBoost Regression': XGBRegressor(),
    'Bayesian Ridge Regression': BayesianRidge()
}

# Her bir model için tahminleri yap ve grafik oluştur
plt.figure(figsize=(12, 8))
for model_name, model in models.items():
    model.fit(X_train, y_train)
    y_pred = model.predict(X_test)
    mse = mean_squared_error(y_test, y_pred)
  
    # Tahminleri ve gerçek değerleri karşılaştırarak bir grafik oluştur
    plt.scatter(y_test, y_pred, label=f'{model_name} - MSE: {mse:.2f}')

# Grafik ayarları
plt.xlabel('True Values')
plt.ylabel('Predictions')
plt.title('Regression Model Predictions')
plt.legend()
plt.show()
regresyon.jpg


Makine öğrenimi regresyon yöntemleri
  1. Lineer Regresyon (Linear Regression): Bağımsız değişkenler ile bağımlı değişken arasındaki doğrusal ilişkiyi modellemeye çalışan temel regresyon türüdür.
  2. Lojistik Regresyon (Logistic Regression): İki sınıflı sınıflandırma problemleri için kullanılır. İkili sınıflandırma problemlerinde olasılıkları tahmin etmek için kullanılır.
  3. Polinom Regresyon (Polynomial Regression): Lineer regresyona benzer, ancak bağımlı değişken ile bağımsız değişkenler arasındaki ilişkiyi polinomik bir denklemle ifade eder.
  4. Ridge Regresyon (Ridge Regression): Lineer regresyonun bir türüdür ve genellikle çoklu korelasyonlu özelliklere karşı daha dirençli olmak için kullanılır.
  5. Lasso Regresyon (Lasso Regression): Ridge regresyonuna benzer, ancak aynı zamanda bazı regresyon katsayılarını sıfır yaparak özellik seçimi yapar.
  6. Elastic Net Regresyon (Elastic Net Regression): Lasso ve ridge regresyonlarının birleşimi olarak düşünülebilir. Hem L1 hem de L2 düzenleme terimlerini içerir.
  7. RANSAC Regresyon (RANdom SAmple Consensus Regression): Aykırı değerlere karşı dayanıklı olan bir regresyon türüdür. Aykırı değerlere karşı dirençli olması, regresyon doğrusunu belirlemede daha güvenilir sonuçlar sağlar.
  8. Huber Regresyon: Aykırı değerlere karşı dayanıklı bir regresyon türüdür. Ortamadaki mutlak hata ve karesel hata arasında bir denge sağlamaya çalışır.
  9. Poisson Regresyon: Bağımlı değişkenin bir Poisson dağılıma sahip olduğu durumlar için kullanılır. Genellikle sayısal verilerin modellenmesinde kullanılır, özellikle olay sayılarını tahmin etmek için.
  10. Decision Tree Regresyon (Karar Ağacı Regresyon): Karar ağacı yapısını kullanarak bağımlı değişkeni tahmin etmeye çalışan bir regresyon yöntemidir.
 
Son düzenleme:

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Kayıt ol

Forumda bir hesap oluşturmak tamamen ücretsizdir.

Şimdi kayıt ol
Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap