Code Examples in space
Code Examples in space
# Sample data
print("First 5 samples:\n", X[:5])
print("First 5 targets:\n", y[:5])
import pandas as pd
df = pd.DataFrame(X, columns=iris.feature_names)
df['species'] = [iris.target_names[i] for i in y]
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
model = DecisionTreeClassifier()
model.fit(X_train_scaled, y_train)
y_pred = model.predict(X_test_scaled)
scaler_r = StandardScaler()
X_train_r_scaled = scaler_r.fit_transform(X_train_r)
X_test_r_scaled = scaler_r.transform(X_test_r)
model_r = DecisionTreeClassifier()
model_r.fit(X_train_r_scaled, y_train_r)
y_pred_r = model_r.predict(X_test_r_scaled)
model_ns = DecisionTreeClassifier()
model_ns.fit(X_train, y_train)
y_pred_ns = model_ns.predict(X_test)
cm = confusion_matrix(y_test, y_pred)
sns.heatmap(cm, annot=True, cmap='Blues', xticklabels=iris.target_names,
yticklabels=iris.target_names)
plt.xlabel('Predicted')
plt.ylabel('True')
plt.title('Confusion Matrix')
plt.show()
UNSUPERVISED LEARNING EXAMPLE
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.cluster import KMeans, AgglomerativeClustering, DBSCAN
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
plt.figure()
sns.scatterplot(data=df_k, x='PC1', y='PC2', hue='cluster', palette='Set1')
plt.title(f"KMeans Clustering with k={k}")
plt.show()
agg = AgglomerativeClustering(n_clusters=3)
df_agg = df.copy()
df_agg['cluster'] = agg.fit_predict(X)
df_agg = add_pca(df_agg, X)
plt.figure()
sns.scatterplot(data=df_agg, x='PC1', y='PC2', hue='cluster', palette='Set2')
plt.title("Agglomerative Clustering")
plt.show()
plt.figure()
sns.scatterplot(data=df_db, x='PC1', y='PC2', hue='cluster', palette='Set3')
plt.title("DBSCAN Clustering")
plt.show()
plt.figure()
sns.scatterplot(data=df_petal, x='PC1', y='PC2', hue='cluster', palette='coolwarm')
plt.title("KMeans on Petal Features Only")
plt.show()
df_labels = add_pca(df.copy(), X)
df_labels['label'] = iris.target
plt.figure()
sns.scatterplot(data=df_labels, x='PC1', y='PC2', hue='label', palette='Dark2')
plt.title("Actual Iris Species Labels")
plt.show()
ENSEMBLE METHODS
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier,
GradientBoostingClassifier, VotingClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
rf = RandomForestClassifier(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)
y_pred_rf = rf.predict(X_test)
gb = GradientBoostingClassifier(n_estimators=100, random_state=42)
gb.fit(X_train, y_train)
y_pred_gb = gb.predict(X_test)
log_clf = LogisticRegression(max_iter=200)
svc_clf = SVC(probability=True)
voting_clf = VotingClassifier(
estimators=[('lr', log_clf), ('rf', rf), ('svc', svc_clf)],
voting='hard' # can also be 'soft'
)
voting_clf.fit(X_train, y_train)
y_pred_vote = voting_clf.predict(X_test)
cm = confusion_matrix(y_test, y_pred)
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues')
plt.xlabel("Predicted")
plt.ylabel("Actual")
plt.title("Confusion Matrix")
plt.show()
y_proba = model.predict_proba(X_test)[:, 1]
fpr, tpr, _ = roc_curve(y_test, y_proba)
roc_auc = auc(fpr, tpr)
# Train/test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3,
random_state=42)
NEURAL NETWORK
# Tahmin ve başarı
y_pred = mlp.predict(X_test)
print("Accuracy:", accuracy_score(y_test, y_pred))
#✅ Örnek 2: XOR Problemi (2 Girişli Mantıksal Problem)
import numpy as np
from sklearn.neural_network import MLPClassifier
# XOR verisi
X = np.array([[0,0],[0,1],[1,0],[1,1]])
y = np.array([0, 1, 1, 0])
# Model
model = MLPClassifier(hidden_layer_sizes=(4,), activation='tanh', max_iter=1000)
model.fit(X, y)
# Tahmin
print("Predictions:", model.predict(X))
#✅ Örnek 3: Tek Girişli Regresyon (sin fonksiyonu)
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPRegressor
# MLP Regressor
mlp = MLPRegressor(hidden_layer_sizes=(10,10), max_iter=1000)
mlp.fit(X, y)
# Veri seti
data = load_wine()
X, y = data.data, data.target
# Normalizasyon
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# Veri ayırma
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.3,
random_state=0)
# MLP model
clf = MLPClassifier(hidden_layer_sizes=(50,), max_iter=500)
clf.fit(X_train, y_train)
# Sonuçlar
y_pred = clf.predict(X_test)
print(classification_report(y_test, y_pred))
def sigmoid_deriv(x):
return sigmoid(x) * (1 - sigmoid(x))
# Eğitim parametreleri
lr = 0.1 # öğrenme oranı
epochs = 10000 # kaç tekrar
# Eğitim döngüsü
for epoch in range(epochs):
# 1. İleri yayılım (forward propagation)
z = np.dot(X, weights) + bias
output = sigmoid(z)
# 2. Hata hesabı
error = y - output
# 4. Güncelleme
weights += lr * d_weights
bias += lr * d_bias
# Sonuçları yazdır
print("\nResults:")
for i in range(len(X)):
result = sigmoid(np.dot(X[i], weights) + bias)
print(f"input: {X[i]}, prediction: {result[0]:.4f}")
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.datasets import get_rdataset
# Load dataset
data = get_rdataset('AirPassengers').data
data['time'] = pd.date_range(start='1949-01', periods=len(data), freq='M')
data.set_index('time', inplace=True)
# Plot
data.plot(title='Monthly Air Passengers')
plt.ylabel('Passengers')
plt.show()
# Forecast
forecast = model_fit.forecast(steps=12)
forecast.plot(title="12-Month Forecast")
plt.show()
import pandas as pd
from prophet import Prophet
import matplotlib.pyplot as plt
# Load dataset
df = pd.read_csv("https://raw.githubusercontent.com/jbrownlee/Datasets/master/
airline-passengers.csv")
df.columns = ['ds', 'y']
# Fit model
model = Prophet()
model.fit(df)
# Plot
model.plot(forecast)
plt.title('Forecast with Prophet')
plt.show()
# Example 3: Machine Learning Approach (Random Forest)
import pandas as pd
import numpy as np
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
# Load data
url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/airline-
passengers.csv"
df = pd.read_csv(url)
df.columns = ['Month', 'Passengers']
df['Month'] = pd.to_datetime(df['Month'])
df.set_index('Month', inplace=True)
# Split data
train = df.iloc[:-12]
test = df.iloc[-12:]
# Train model
model = RandomForestRegressor(n_estimators=100)
model.fit(X_train, y_train)
# Predict
preds = model.predict(X_test)
# Plot
plt.plot(y_test.index, y_test, label='Actual')
plt.plot(y_test.index, preds, label='Predicted')
plt.legend()
plt.title('Random Forest Forecasting')
plt.show()
# RMSE
print("RMSE:", mean_squared_error(y_test, preds, squared=False))