This program trains a pipeline with scaling and logistic regression on iris data, saves it, loads it back, and tests predictions and accuracy.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import joblib
# Load data
iris = load_iris()
X, y = iris.data, iris.target
# Split data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# Create pipeline
pipeline = Pipeline([
('scaler', StandardScaler()),
('clf', LogisticRegression(max_iter=200))
])
# Train pipeline
pipeline.fit(X_train, y_train)
# Save pipeline
joblib.dump(pipeline, 'iris_pipeline.joblib')
# Load pipeline
loaded_pipeline = joblib.load('iris_pipeline.joblib')
# Predict with loaded pipeline
predictions = loaded_pipeline.predict(X_test)
# Calculate accuracy
accuracy = loaded_pipeline.score(X_test, y_test)
print(f'Predictions: {predictions}')
print(f'Accuracy: {accuracy:.2f}')