From 26af70c5a10c1847f4a2b175a03bee61a5f24964 Mon Sep 17 00:00:00 2001 From: Marc Partensky Date: Fri, 30 Oct 2020 12:22:26 +0100 Subject: [PATCH] sklearn tests --- Sklearn/test4.py | 20 ++++++++++++++++++++ Sklearn/test5.py | 27 +++++++++++++++++++++++++++ Sklearn/tuto.py | 16 ++++++++++++++++ Sklearn/tuto2.py | 0 4 files changed, 63 insertions(+) create mode 100755 Sklearn/test4.py create mode 100755 Sklearn/test5.py create mode 100755 Sklearn/tuto.py create mode 100644 Sklearn/tuto2.py diff --git a/Sklearn/test4.py b/Sklearn/test4.py new file mode 100755 index 0000000..f3d6e50 --- /dev/null +++ b/Sklearn/test4.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python +from sklearn import set_config +from sklearn.pipeline import make_pipeline +from sklearn.preprocessing import OneHotEncoder, StandardScaler +from sklearn.impute import SimpleImputer +from sklearn.compose import make_column_transformer +from sklearn.linear_model import LogisticRegression +set_config(display='diagram') + +num_proc = make_pipeline(SimpleImputer(strategy='median'), StandardScaler()) + +cat_proc = make_pipeline( + SimpleImputer(strategy='constant', fill_value='missing'), + OneHotEncoder(handle_unknown='ignore')) + +preprocessor = make_column_transformer((num_proc, ('feat1', 'feat3')), + (cat_proc, ('feat0', 'feat2'))) + +clf = make_pipeline(preprocessor, LogisticRegression()) +clf diff --git a/Sklearn/test5.py b/Sklearn/test5.py new file mode 100755 index 0000000..a63b253 --- /dev/null +++ b/Sklearn/test5.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +import numpy as np +from matplotlib import pyplot as plt +from sklearn.model_selection import train_test_split +from sklearn.inspection import plot_partial_dependence +from sklearn.experimental import enable_hist_gradient_boosting # noqa +from sklearn.ensemble import HistGradientBoostingRegressor + +n_samples = 500 +rng = np.random.RandomState(0) +X = rng.randn(n_samples, 2) +noise = rng.normal(loc=0.0, scale=0.01, size=n_samples) +y = (5 * X[:, 0] + np.sin(10 * np.pi * X[:, 0]) - noise) + +gbdt_no_cst = HistGradientBoostingRegressor().fit(X, y) +gbdt_cst = HistGradientBoostingRegressor(monotonic_cst=[1, 0]).fit(X, y) + +disp = plot_partial_dependence( + gbdt_no_cst, X, features=[0], feature_names=['feature 0'], + line_kw={'linewidth': 4, 'label': 'unconstrained'}) +plot_partial_dependence(gbdt_cst, X, features=[0], + line_kw={'linewidth': 4, 'label': 'constrained'}, ax=disp.axes_) +disp.axes_[0, 0].plot(X[:, 0], y, 'o', alpha=.5, zorder=-1, label='samples') +disp.axes_[0, 0].set_ylim(-3, 3); disp.axes_[0, 0].set_xlim(-1, 1) +plt.legend() +plt.show() diff --git a/Sklearn/tuto.py b/Sklearn/tuto.py new file mode 100755 index 0000000..0c97d88 --- /dev/null +++ b/Sklearn/tuto.py @@ -0,0 +1,16 @@ +#!/usr/bin/env python + +from sklearn import datasets +from sklearn import svm +iris = datasets.load_iris() +digits = datasets.load_digits() + +# print(digits.data) +# print(digits.target) +# print(digits.images[0]) + +from sklearn import svm +clf = svm.SVC(gamma=0.001, C=100.) +clf.fit(digits.data[:-1], digits.target[:-1]) + +print(clf.predict(digits.data[-1:])) diff --git a/Sklearn/tuto2.py b/Sklearn/tuto2.py new file mode 100644 index 0000000..e69de29