Scikit-learn
)
y,
інформаційні дані: частота покупок, середній чек, категорії товарів.; test_size=0.2,
== Приклади запитів і задач ==
* supervised learning;
* unsupervised learning;
* model selection;
* model evaluation;
* preprocessing;
* feature extraction;
* feature selection;
* decomposition;
* clustering;
* covariance estimation;
* anomaly detection;
* pipelines;
* metrics;
* calibration;
* ensemble methods.; '''Приклад:''' якщо є собою інформаційні дані клієнтів без готових сегментів, unsupervised learning має змогу допомогти знайти групи схожих клієнтів.; :contentReference [oaicite:4]{index=4}
Scikit-learn часто застосовується разом із XGBoost, LightGBM або CatBoost.; Основні переважні аспекти Scikit-learn:
Він сприяє:
'''Критично:''' test set не можна використовувати для навчання або вибору параметрів, інакше оцінка якості буде завищеною.; * classification;
* regression;
* clustering;
* dimensionality reduction;
* preprocessing;
* feature selection;
* model selection;
* cross-validation;
* metrics;
* pipeline;
* hyperparameter tuning;
* anomaly detection;
* робочих експериментів із табличними даними.;== GridSearchCV і RandomizedSearchCV ==
* arrays;
* числових обчислень;
* матриць;
* векторних операцій;
* роботи з форматами даних, які очікує scikit-learn.; Водночас якість ML-рішення залежить не лише від бібліотеки, а й від даних, метрик, pipeline, відсутності leakage, тестування і відповідального використання.;<syntaxhighlight lang="text">
* train/test leakage;
* неправильний preprocessing;
* fit scaler на всіх даних;
* вибір не тієї метрики;
* відсутність cross-validation;
* ігнорування imbalance;
* використання test set для підбору параметрів;
* неправильне кодування категорій;
* відсутність pipeline;
* overfitting;
* відсутність аналізу помилок;
* довіра до моделі без перевірки на реальних даних.; scaler = StandardScaler()
* PCA;
* TruncatedSVD;
* NMF;
* Isomap;
* t-SNE;
* feature selection.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
Категоріальні колонки → OneHotEncoder
'''Професійний підхід:''' pipeline сприяє зробити ML-процес повторюваним, контрольованим і менш схильним до data leakage.; GitHub-репозиторій scikit-learn описує його як Python module for machine learning built on top of SciPy and distributed under the 3-Clause BSD license.;</div>
== Train/test split ==
RandomizedSearchCV випадково пробує комбінації з простору параметрів.; * Scikit-learn User Guide.; from sklearn.ensemble import RandomForestClassifier
* числові ознаки;
* категоріальні ознаки;
* текстові ознаки;
* дати;
* різні типи обробки.; !; * передбачити категорію;
* передбачити числове значення;
* кластеризувати об’єкти;
* знайти аномалії;
* підготувати інформаційні дані;
* нормалізувати ознаки;
* закодувати категоріальні змінні;
* розділити інформаційні дані на train і test;
* виконати cross-validation;
* підібрати гіперпараметри;
* порівняти кілька моделей;
* створити pipeline для preprocessing і моделі.; from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
</div>
'''Scikit-learn''' — це одна з найважливіших бібліотек Python для класичного машинного навчання.; X_train, X_test, y_train, y_test = train_test_split(
Приклад:
}
("scaler", StandardScaler()),
У supervised learning є собою: ])
<syntaxhighlight lang="python">
RandomForestClassifier(),
* scaling;
* normalization;
* encoding categorical features;
* imputation missing values;
* binarization;
* polynomial features;
* text vectorization;
* feature extraction;
* feature selection.; Scikit-learn потрібен, коли потрібно оперативно побудувати, навчити, оцінити й порівняти ML-моделі.; params = {
from sklearn.datasets import load_iris
Scikit-learn особливо корисний для табличних даних, baseline-моделей, навчання, прототипування, classification, regression, clustering і аналізу даних.;
- KMeans;
- DBSCAN;
- AgglomerativeClustering;
- MeanShift;
- SpectralClustering;
- GaussianMixture.; Scikit-learn
завдяки наявності Практична роль: dimensionality reduction користувачі можуть зробити складні інформаційні дані компактнішими і зрозумілішими.; :contentReference [oaicite:2]{index=2}
Висновок: Scikit-learn часто краще підходить для класичних табличних ML-задач, а TensorFlow — для складних deep learning і production neural network сценаріїв.; Алгоритм: KMeans або DBSCAN.;
model = RandomForestClassifier()
test_size=0.2,
Обмеження Scikit-learn
|- | ключовий фокус | Класичне машинне навчання | Deep learning і ML-платформа |- | Типові інформаційні дані | Табличні, числові, невеликі й середні datasets | Зображення, текст, аудіо, великі neural networks |- | API | Простий fit/predict/transform | Keras, tensors, computational graphs |- | Типові задачі | Classification, regression, clustering, preprocessing | Neural networks, deep learning, production ML |- | Складність старту | Зазвичай простіше | Зазвичай складніше |}
Overfitting і underfitting
<div style="background:#fef2f2; border-left:6px solid #ef4444; padding:12px; margin:12px 0;">
categorical_features = ["city", "plan"]
'''Увага:''' неправильне кодування категорій має змогу створити хибний порядок там, де його насправді немає.;== Classification ==
Scikit-learn надає інструменти для:
== Unsupervised learning ==
- стабільніше оцінити якість;
- зменшити залежність від одного train/test split;
- порівнювати моделі;
- підбирати гіперпараметри;
- виявляти overfitting;
- краще використовувати доступні інформаційні дані.; це open-source бібліотека Python; додатково реалізовано яка надає інструменти для класифікації, регресії, кластеризації, зменшення розмірності, preprocessing, model selection, evaluation і побудови ML-pipeline виступає ключовою рисою машинного навчання забезпечується через Scikit-learn.; Суть model selection: потрібно не без ускладнень навчити одну модель, а чесно порівняти варіанти і вибрати той, що краще функціонує на нових даних.; print("Accuracy:", accuracy_score(y_test, y_pred))
Regression — це задача передбачення числового значення.; * LinearRegression;
- Ridge;
- Lasso;
- ElasticNet;
- RandomForestRegressor;
- GradientBoostingRegressor;
- SVR;
- KNeighborsRegressor.; predictions = pipe.predict(X_test)
Робота з pandas і NumPy
<div style="background:#eef2ff; border-left:6px solid #4f46e5; padding:12px; margin:12px 0;">
Для transformer:
* train_test_split;
* cross_val_score;
* KFold;
* StratifiedKFold;
* GridSearchCV;
* RandomizedSearchCV;
* validation curves;
* learning curves;
* metrics;
* model comparison.; !; * scikit-learn — назва проєкту;
* sklearn — назва Python-модуля;
* sklearn API — стиль роботи з моделями, transformers і pipelines.; '''transform''' — перетворити інформаційні дані.;<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;">
* StandardScaler;
* MinMaxScaler;
* OneHotEncoder;
* PCA;
* TfidfVectorizer;
* SimpleImputer.; Рекомендовано:
model.fit(X_train, y_train)
'''Суть:''' scikit-learn покриває більшість класичних ML-задач, які виникають під час роботи з табличними й числовими даними.; X_test_scaled = scaler.transform(X_test)
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
params,
* [[Штучний інтелект]]
* [[Machine Learning]]
* [[Deep Learning]]
* [[Python]]
* [[NumPy]]
* [[SciPy]]
* [[pandas]]
* [[TensorFlow]]
* [[PyTorch]]
* [[Hugging Face]]
* [[XGBoost]]
* [[Classification]]
* [[Regression]]
* [[Clustering]]
* [[Pipeline]]
* [[Cross-validation]]
* [[Data leakage]]
* [[MLOps]]
* [[Датасет]]
* [[Модель машинного навчання]]
Scikit-learn часто порівнюють із TensorFlow.; Unsupervised learning застосовується для:
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
print(search.best_params_)
predictions = model.predict(X_test)
y = data.target
* починати із baseline;
* правильно робити train/test split;
* використовувати Pipeline;
* використовувати ColumnTransformer;
* робити cross-validation;
* вибирати метрики під задачу;
* перевіряти imbalance;
* зберігати preprocessing разом із моделлю;
* аналізувати помилки;
* тестувати модель на нових даних;
* документувати features;
* контролювати data leakage;
* перевіряти fairness і bias;
* моніторити модель після deployment.; Підготовка даних часто важливіша за вибір складного алгоритму.; Scikit-learn є собою open-source проєктом.; У scikit-learn часто використовуються три ключові методи.;
Практична порада: для нового ML-проєкту часто варто почати зі scikit-learn baseline, а вже потім переходити до складніших моделей.; from sklearn.pipeline import Pipeline !; model.fit(X_train, y_train)
y_pred = model.predict(X_test) Практична користь: cross-validation дає більш надійну оцінку, ніж одна випадкова перевірка на test set.; * Scikit-learn paper: “Scikit-learn: Machine Learning in Python”.; Ознаки underfitting:
pipe.fit(X_train, y_train)
!; Офіційна документація scikit-learn має окремий розділ unsupervised learning, який охоплює clustering, mixture models, manifold learning, matrix decomposition, covariance estimation, novelty and outlier detection та інші напрями.; :contentReference [oaicite:0]{index=0}
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
Приклади scalers:
X = data.data
Метрики: precision, recall, F1-score, ROC AUC.;== Див.; додатково ==
'''Transformer''' — це об’єкт, який перетворює інформаційні дані.; :contentReference [oaicite:1]{index=1}
* StandardScaler;
* MinMaxScaler;
* RobustScaler;
* MaxAbsScaler.; '''Preprocessing''' — це підготовка даних перед навчанням моделі.;<syntaxhighlight lang="python">
== sklearn ==
<syntaxhighlight lang="text">
</div>
from sklearn.metrics import accuracy_score
("num", StandardScaler(), numeric_features),
</div>
* висока якість на train;
* низька якість на validation/test;
* надто складна модель;
* нестабільність на нових даних.; model = Pipeline([
Потім усе разом → модель
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
</div>
* простий і стабільний API;
* багато класичних ML-алгоритмів;
* preprocessing tools;
* pipelines;
* model selection;
* metrics;
* cross-validation;
* хороша документація;
* інтеграційні функціональні можливості з NumPy, SciPy і pandas;
* open-source;
* підходить для навчання;
* підходить для baseline-моделей;
* зручний для табличних задач.;=== Regression ===
Приклад:
data = load_iris()
)
random_state=42
* Logistic Regression;
* SVM;
* KNN;
* PCA;
* neural networks;
* distance-based algorithms;
* gradient-based optimization.; '''ColumnTransformer''' надає можливість застосовувати різні preprocessing-кроки до різних колонок.; '''Data leakage''' — це ситуація, коли модель під час навчання отримує інформацію, якої не буде в реальному використанні.; Scikit-learn
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
Результат: групи клієнтів для подальшого аналізу.; Для regression:
!; '''Головне правило:''' fit виконується на training data, а transform або predict застосовується до нових даних.; Приклад:
'''Supervised learning''' — це навчання з учителем, коли модель навчається на прикладах із правильними відповідями.; Критерій
Pipeline сприяє:
<div style="background:#ecfdf5; border-left:6px solid #10b981; padding:12px; margin:12px 0;">
* сегментація клієнтів;
* групування товарів;
* пошук схожих документів;
* аналіз поведінки користувачів;
* групування точок на карті;
* пошук патернів у даних.; Критерій
'''Приклад:''' якщо є собою історичні інформаційні дані клієнтів і відомо, хто купив програмний продукт, supervised модель має змогу навчитися прогнозувати ймовірність покупки для нових клієнтів.;== Scikit-learn і XGBoost ==
</div>
</div>
'''Суть clustering:''' алгоритм сам шукає групи в даних без готових міток класів.;<syntaxhighlight lang="python">
!;== Encoding categorical features ==
Сегментувати клієнтів за поведінкою.; Accuracy не завжди є собою правильною метрикою, особливо якщо класи незбалансовані.; У офіційно затверджений User Guide scikit-learn передбачено supervised learning як один із головних розділів і містить алгоритми linear models, SVM, nearest neighbors, decision trees, ensemble methods, neural network models та інші.; Під час роботи зі scikit-learn часто виникають типові помилки.; '''NumPy''' потрібен для:
'''Просте пояснення:''' estimator — це будь-який об’єкт scikit-learn, який можна “навчити” або “налаштувати” на даних.; '''Практична зв’язка:''' pandas готує табличні інформаційні дані, NumPy представляє числові масиви, а scikit-learn навчає й оцінює моделі.; * fit;
* transform;
* fit_transform.;<syntaxhighlight lang="python">
== Data leakage ==
'''Просте пояснення:''' scikit-learn — це назва бібліотеки, а sklearn — ім’я модуля, який імпортується в Python.; ])
* візуалізації;
* зменшення шуму;
* пришвидшення моделей;
* стиснення даних;
* пошуку структури;
* підготовки features;
* роботи з високовимірними даними.; У цьому прикладі:
from sklearn.model_selection import GridSearchCV
== Supervised learning ==
'''Практична роль:''' хороший ML-процес шукає баланс між занадто простою і занадто складною моделлю.; Scikit-learn додатково можна порівняти з PyTorch.; model = RandomForestClassifier(random_state=42)
Transformer зазвичай має методи:
== Загальний характеристика ==
Це корисно, коли інформаційні дані мають:
Вона застосовується для:
офіційно затверджений сайт описує scikit-learn як “Machine Learning in Python”, з простими й ефективними інструментами для predictive data analysis, побудованими на NumPy, SciPy і matplotlib.; * Scikit-learn Getting Started.; '''Небезпека:''' модель має змогу показувати високу якість у notebook, але провалитися в реальному використанні через leakage, drift або неправильну постановку задачі.; PyTorch
{| class="wikitable"
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
print(scores.mean())
y,
* прогноз churn;
* кредитний скоринг;
* сегментація клієнтів;
* класифікація документів;
* прогноз продажів;
* anomaly detection;
* recommendation baseline;
* text classification;
* оцінка якості ліда;
* прогноз часу виконання;
* аналіз факторів;
* baseline для ML-змагання;
* навчальний ML-проєкт.; '''Перевага:''' Scikit-learn має єдиний стиль API, з цієї причини різні моделі часто використовуються однаково: створити об’єкт, викликати fit, потім predict або transform.;</div>
pipe = Pipeline([
- accuracy;
- precision;
- recall;
- F1-score;
- ROC AUC;
- confusion matrix;
- log loss.;
Потрібно враховувати:
Головна перевага pipeline: усі кроки preprocessing і модель зберігаються разом, з цієї причини менше ризику випадково обробити train і test по-різному.;Побудувати модель прогнозу ціни товару.; Приклади моделей classification у scikit-learn:
Underfitting — це ситуація, коли модель занадто проста і не вловлює закономірності навіть у training data.; * низька якість на train;
- низька якість на test;
- модель занадто проста;
- недостатньо features.;
Scikit-learn має пакет `sklearn.preprocessing`, який надає utility functions і transformer classes для перетворення raw feature vectors у представлення, придатніше для downstream estimators.; ("cat", OneHotEncoder(handle_unknown="ignore"), categorical_features)
from sklearn.preprocessing import StandardScaler
Хороші практики роботи зі Scikit-learn
Суть classification: модель вибирає один або кілька класів для нового об’єкта.;</syntaxhighlight> </syntaxhighlight>
model.fit(X_train, y_train)
("model", LogisticRegression())
Model selection — це вибір моделі, параметрів і підходу оцінювання.; TensorFlow
Clustering
- clustering;
- dimensionality reduction;
- anomaly detection;
- pattern discovery;
- grouping;
- representation learning;
- exploratory data analysis.;</syntaxhighlight>
!; search = GridSearchCV( Приклади classification:
Приклади transformers:
Офіційна документація містить розділ model selection and evaluation, зокрема cross-validation, tuning hyper-parameters, decision threshold tuning та metrics and scoring.;Безпека і відповідальне використання
Основна ідея: Scikit-learn дає готові, перевірені й зручні інструменти машинного навчання для Python, щоб не реалізовувати базові алгоритми, метрики й preprocessing з нуля.; Приклади leakage:
істотно: підбір гіперпараметрів потрібно робити тільки на training/cross-validation даних, не підглядаючи в фінальний test set.; from sklearn.compose import ColumnTransformer
Суть transformer: він не обов’язково робить прогноз, але готує або змінює інформаційні дані для наступних етапів.;</syntaxhighlight>
Критично: ML-модель не повинна безконтрольно приймати важливі рішення для бізнесу про людей або бізнес-середовище без перевірки, моніторингу і людської відповідальності.; Pipeline — це спосіб об’єднати preprocessing і модель в один послідовний бізнес-процес.; :contentReference [oaicite:3]{index=3}
Суть regression: модель повертає число, а не категорію.;X_scaled = scaler.fit_transform(X_train)
])
'''Головна думка:''' Scikit-learn — це практична основа для класичного машинного навчання в Python, але успішна модель потребує правильної постановки задачі, якісних даних, чесного оцінювання і контролю після впровадження.;<syntaxhighlight lang="python">
Train data застосовується для навчання, а test data — для чесної фінальної перевірки.;<div style="background:#fef2f2; border-left:6px solid #ef4444; padding:12px; margin:12px 0;">
Приклади estimators:
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
* якість даних;
* bias у даних;
* приватність;
* коректність метрик;
* explainability;
* наслідки помилкових прогнозів;
* drift даних;
* моніторинг після deployment;
* обмеження моделі;
* права на інформаційні дані;
* етичні ризики.;== Приклад простої classification-моделі ==
'''істотно:''' поганий preprocessing має змогу зіпсувати навіть хорошу модель.;
</syntaxhighlight>
("preprocessor", preprocessor),
Приклади encoding:
Основні функціональні можливості
Приклади методів:
- spam або not spam;
- замовник купить або не купить;
- заявка ризикована або не ризикована;
- товар належить до категорії;
- документ належить до теми;
- зображення належить до класу;
- користувач системи залишиться або піде.; Основні напрями:
Практична роль: scikit-learn часто застосовується як основа ML-процесу, а XGBoost — як одна з моделей для порівняння.; from sklearn.preprocessing import OneHotEncoder, StandardScaler Cross-validation — це метод оцінювання моделі на кількох розбиттях даних.;</syntaxhighlight>
істотно: Scikit-learn не є собою магічним інструментом.; Побудувати модель, яка прогнозує, чи замовник купить програмний продукт.;== Типові помилки користувачів ==
fit — навчити модель або transformer на даних.; from sklearn.metrics import accuracy_score
random_state=42
Classification
from sklearn.ensemble import RandomForestClassifier
Model selection
from sklearn.linear_model import LogisticRegression
Metrics — це показники якості моделі.;== Тематичні мітки == |- | Тип | Широка ML-бібліотека | Спеціалізована бібліотека gradient boosting |- | Алгоритми | Багато різних моделей | ключовий фокус на boosted trees |- | API | Єдиний sklearn-style API | Має sklearn-compatible API |- | Типова роль | Preprocessing, baseline, model selection, pipeline | Сильна модель для табличних задач |}
ML-моделі можуть впливати на рішення для бізнесу, з цієї причини Scikit-learn потрібно використовувати відповідально.; pandas зручний для:
Числові колонки → StandardScaler
Підказка: перед вибором алгоритму потрібно чітко визначити задачу: classification, regression, clustering або інший тип ML-проблеми.; Якість моделі залежить від даних, ознак, постановки задачі, метрик, тестування і правильного використання алгоритмів.;У документації та коді часто використовують назви: model = RandomForestClassifier() from sklearn.model_selection import train_test_split from sklearn.pipeline import Pipeline
ліцензійний пакет
- офіційно затверджений сайт Scikit-learn.; Це потрібно для:
X,
scores = cross_val_score(model, X, y, cv=5)
Scaling
Типові задачі:
predict — зробити прогноз.; інформаційні дані: категорія, бренд, характеристики, історична ціна.; Приклади моделей regression у scikit-learn:
Приклади clustering: Overfitting — це ситуація, коли модель занадто добре запам’ятала training data і погано функціонує на нових даних.; Приклади алгоритмів clustering у scikit-learn: X_train, X_test, y_train, y_test = train_test_split(
from sklearn.linear_model import LogisticRegression
"max_depth": [None, 5, 10]
Висновок: Scikit-learn зручний для класичного ML, а PyTorch — для гнучкого створення neural networks.; Суть scaling: якщо одна ознака вимірюється в тисячах, а інша в одиницях, модель має змогу неправильно оцінювати їхню важливість.;== Transformer ==
("classifier", LogisticRegression())
ColumnTransformer
Джерела
інформаційні дані: вік, місто, історичний розвиток покупок, канал залучення.; Помилка: обирати модель лише за найвищою метрикою без перевірки стабільності, інтерпретації, ризиків і поведінки на реальних даних.; Приклад:
Clustering
Regression
Головне правило: хороший ML-процес у scikit-learn — це не лише вибір алгоритму, а повний pipeline від даних до оцінювання і контролю в реальному використанні.; Приклади regression:
Типові сценарії використання
search.fit(X_train, y_train)
</div>
Ознаки overfitting:
Типовий стиль:
from sklearn.preprocessing import OneHotEncoder
== переважні аспекти Scikit-learn ==
</div>
{| class="wikitable"
* уникати data leakage;
* організувати кроки обробки;
* поєднати transformers і estimator;
* повторно використовувати workflow;
* робити cross-validation правильно;
* підбирати гіперпараметри всієї схеми;
* спростити production-використання.; XGBoost
'''Практична роль:''' ColumnTransformer особливо важливий для табличних даних, де різні колонки потребують різної обробки.; numeric_features = ["age", "income"]
<syntaxhighlight lang="text">
Scikit-learn охоплює багато розділів машинного навчання.; * OneHotEncoder;
* OrdinalEncoder;
* LabelEncoder для цільових міток;
* custom mapping.;== Приклад Pipeline з preprocessing ==
Типові задачі supervised learning:
Приклад:
model.fit(X_train, y_train)
До них належать:
- завантажується dataset;
- інформаційні дані діляться на train і test;
- навчається RandomForestClassifier;
- модель робить прогноз;
- якість оцінюється через accuracy.; * Scikit-learn GitHub repository.; істотно: навіть якщо scikit-learn має permissive license, інформаційні дані й моделі, створені з його допомогою, можуть мати окремі обмеження.; :contentReference [oaicite:6]{index=6}
- mean absolute error;
- mean squared error;
- root mean squared error;
- R²;
- median absolute error.; Unsupervised learning — це навчання без учителя, коли в даних немає готової правильної відповіді.; офіційно затверджений User Guide структурує scikit-learn за напрямами supervised learning.;== Estimator ==
from sklearn.preprocessing import StandardScaler
Pipeline
Metrics
Estimator — це об’єкт, який навчається на даних через метод fit.; Перед використанням у продукті потрібно перевіряти:
Метрики: MAE, RMSE, R².; * не є собою основним фреймворком для deep learning;
- не найкращий вибір для дуже великих datasets без додаткових інструментів;
- не вирішує проблему поганих даних;
- не автономно запобігає data leakage;
- не замінює domain expertise;
- не всі алгоритми підходять для production на великих навантаженнях;
- потрібне розуміння метрик;
- потрібна перевірка fairness і bias;
- потрібна правильна інтерпретація результатів.; from sklearn.ensemble import RandomForestClassifier
Preprocessing
Classification — це задача передбачення категорії або класу.; Критерій y_pred = model.predict(X_test) Для classification можуть використовуватися:
Приклад:
</syntaxhighlight>
- вхідні ознаки;
- цільова змінна;
- training data;
- модель;
- прогноз;
- метрика якості.; * preprocessing fit зроблено на всіх даних до train/test split;
- у features є собою майбутня відомості;
- test set використаний для вибору параметрів;
- дублікати одного об’єкта потрапили і в train, і в test;
- target випадково закодований у feature;
- статистики обчислені на всьому датасеті.; * таблиць;
- DataFrame;
- читання CSV;
- очищення даних;
- групування;
- аналізу колонок;
- підготовки features.; * LogisticRegression;
- RandomForestClassifier;
- KMeans;
- PCA;
- StandardScaler;
- Pipeline.;== Dimensionality reduction ==
- classification;
- regression;
- ranking у деяких сценаріях;
- прогнозування ризику;
- передбачення попиту;
- категоризація об’єктів.; Приклад логіки:
) preprocessor = ColumnTransformer([ Можливі складнощі: |- | ключовий фокус | Готові класичні ML-алгоритми | Deep learning і tensor computations |- | Типове використання | Табличні інформаційні дані, baseline, preprocessing, model selection | Neural networks, research, custom architectures |- | Рівень абстракції | Високорівневий API для моделей | Гнучкі tensor operations і neural modules |- | Для новачків | Часто простіше для ML-старту | Потребує розуміння neural networks і tensors |}
== Висновок ==
Preprocessing має змогу включати:
<div style="background:#e8f8f5; border-left:6px solid #16a085; padding:12px; margin:12px 0;">
sklearn — це назва Python-пакета, через який зазвичай імпортують scikit-learn у коді.; * LogisticRegression;
- RandomForestClassifier;
- DecisionTreeClassifier;
- SVC;
- KNeighborsClassifier;
- GradientBoostingClassifier;
- Naive Bayes.; :contentReference [oaicite:5]{index=5}
Estimator — це базове поняття scikit-learn API.; Приклади: scaler.fit(X_train) Приклад:
from sklearn.model_selection import cross_val_score
Scikit-learn часто застосовується разом із pandas і NumPy.; Scikit-learn
X,
Пояснення: це мінімальний приклад ML-процесу: інформаційні дані → розбиття → модель → навчання → прогноз → метрика.; cv=5
Для чого застосовується Scikit-learn
from sklearn.model_selection import train_test_split
Scikit-learn і PyTorch
Scikit-learn можна використовувати в різних сценаріях.; Вона надає єдиний API для моделей, transformers, preprocessing, pipelines, metrics, model selection і evaluation.; Головне правило: метрика має відповідати бізнес-задачі.; encoder = OneHotEncoder(handle_unknown="ignore")
Scikit-learn — одна з найпопулярніших бібліотек Python для класичного машинного навчання.;"n_estimators": [100, 200],
- прогноз ціни;
- прогноз попиту;
- прогноз витрат;
- прогноз часу доставки;
- оцінка ймовірного доходу;
- передбачення температури;
- прогноз кількості замовлень.; * Scikit-learn API Reference.;
- ліцензію scikit-learn;
- ліцензії залежностей;
- ліцензії датасетів;
- ліцензії моделей;
- політики компанії;
- вимоги до attribution;
- обмеження використання даних.; !; * Документація щодо preprocessing, model selection, metrics і pipelines.;</syntaxhighlight>
Cross-validation
fit, predict і transform
Це має змогу бути істотно для:
GridSearchCV перебирає задану сітку параметрів.; як ілюстрація:
Scikit-learn і TensorFlow
{{SEO