Этот пост служит отправной точкой в ​​​​вашем путешествии по XGBoost.

XGBoost – это оптимизированная программная библиотека с открытым исходным кодом, в которой реализованы оптимизированные алгоритмы машинного обучения для повышения распределенного градиента в рамках платформы Gradient Boosting. XGBoost был создан Tianqi Chen и первоначально поддерживался группой Distributed (Deep) Machine Learning Community (DMLC). Это наиболее распространенный алгоритм, используемый для прикладного машинного обучения на соревнованиях, и он завоевал популярность благодаря выигрышным решениям в структурированных и табличных данных.

Установка XGB

пип установить xgboost

Импорт пакетов и библиотек

# import statements
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import xgboost as xgb
from sklearn.cross_validation import train_test_split
#load Dataset
data = pd.read_csv('../input/diabetes.csv')
data.head()

Теперь мы разделяем набор данных и создаем наши обучающие и тестовые наборы!

#Split the dataset into train and Test
seed = 7
test_size = 0.3
X_trian, X_test, y_train, y_test = train_test_split(X_data, y, test_size=test_size, random_state=seed)

Обучение модели

#Train the XGboost Model for Classification
model1 = xgb.XGBClassifier()
model2 = xgb.XGBClassifier(n_estimators=100, max_depth=8, learning_rate=0.1, subsample=0.5)

train_model1 = model1.fit(X_trian, y_train)
train_model2 = model2.fit(X_trian, y_train)

Печать отчета о классификации

#prediction and Classification Report
from sklearn.metrics import classification_report

pred1 = train_model1.predict(X_test)
pred2 = train_model2.predict(X_test)

print('Model 1 XGboost Report %r' % (classification_report(y_test, pred1)))
print('Model 2 XGboost Report %r' % (classification_report(y_test, pred2)))

Теперь, когда мы сделали основы, давайте перейдем к настройке гиперпараметров.

#Let's do a little Gridsearch, Hyperparameter Tunning
model3 = xgb.XGBClassifier(
 learning_rate =0.1,
 n_estimators=1000,
 max_depth=5,
 min_child_weight=1,
 gamma=0,
 subsample=0.8,
 colsample_bytree=0.8,
 objective= 'binary:logistic',
 nthread=4,
 scale_pos_weight=1,
 seed=27)

Обучение новой Модели

train_model3 = model3.fit(X_trian, y_train)
pred3 = train_model3.predict(X_test)
print("Classification Reportfor model 3: %.2f" % (classification_report(y_test, pred3) * 100))

Этот код должен служить хорошей отправной точкой! Протяните руку и прокомментируйте, если вы застряли!

Другие статьи, которые могут быть интересны:
Начало работы с Apache Spark — I | Сэм | компьютерная культура | январь 2022 г. | Medium
- Начало работы с Apache Spark II | Сэм | компьютерная культура | январь 2022 г. | Medium
- Начало работы с Apache Spark III | Сэм | компьютерная культура | январь 2022 г. | Medium
- Пингвины Стримлит и Палмер. Нетипичное пьянство на прошлой неделе на Netflix… | Сэм | компьютерная культура | Medium
- «Начало работы со Streamlit. Используйте Streamlit, чтобы объяснить свой EDA и… | Сэм | компьютерная культура | Середина"

Ура и следите за большим количеством такого контента! :)

Теперь вы тоже можете угостить меня кофе, если вам понравился контент!
samunderscore12 создает контент по науке о данных! (buymeacoffee.com)