Этот пост служит отправной точкой в вашем путешествии по 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)