Загрузка встроенных наборов данных в scikit-learn
В scikit-learn, популярной библиотеке машинного обучения для Python, есть несколько встроенных наборов данных, которые можно использовать для обучения и тестирования моделей машинного обучения.
В этой статье я покажу, как загружать и использовать эти встроенные наборы данных для создания моделей машинного обучения.
Одной из самых известных встроенных баз данных в scikit-learn является набор данных о цветах ирисов (Iris dataset). Этот набор данных содержит измерения для 150 ирисов из трех разных видов. Каждый экземпляр ириса в наборе данных имеет четыре признака: длину и ширину лепестков, длину и ширину чашелистников. Целью является классификация ирисов по видам на основе этих четырех признаков.
Загрузка набора данных о цветах ириса:
from sklearn.datasets import load_iris
# Загрузка набора данных
iris = load_iris()
# Печатаем информацию о наборе данных
print("Набор данных о цветах ирисов")
print("Форма набора данных: ", iris.data.shape)
print("Первые 5 строк набора данных:\n", iris.data[:5])
print("Имена признаков: ", iris.feature_names)
print("Имена классов: ", iris.target_names)
В этом коде мы сначала импортируем функцию load_iris
из модуля sklearn.datasets
. Затем мы используем эту функцию для загрузки набора данных о цветах ирисов. Загруженный набор данных содержит словарь с ключами, которые предоставляют доступ к информации о наборах данных, включая матрицу признаков (data
), вектор целевых переменных (target
), имена признаков (feature_names
) и имена классов (target_names
).
Вывод кода:
Набор данных о цветах ирисов
Форма набора данных: (150, 4)
Первые 5 строк набора данных:
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
[4.6 3.1 1.5 0.2]
[5. 3.6 1.4 0.2]]
Имена признаков: ['length' 'width' 'height' 'width']
Имена классов: ['setosa' 'versicolor' 'virginica']
Как видите, у нас есть 150 экземпляров ирисов с 4 признаками каждый. Первые 5 строк матрицы признаков отпечатаны, а также имена признаков и классов.
Теперь, когда у нас есть набор данных, мы можем использовать его для создания и обучения модели машинного обучения. Например, давайте создадим простую модель классификации на основе метода k-Nearest Neighbors (k-Ближайших Соседей):
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# Разделение данных на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)
# Создание и обучение модели k-Ближайших Соседей
knn = KNeighborsClassifier(n_neighbors=3)
knn.fit(X_train, y_train)
# Предсказание на тестовой выборке
y_pred = knn.predict(X_test)
# Вычисление точности модели
accuracy = accuracy_score(y_test, y_pred)
print("Точность модели: {:.2f}".format(accuracy))
В этом коде мы сначала разделили наш набор данных на обучающую и тестовую выборки с помощью функции train_test_split
. Затем мы создали модель KNeighborsClassifier
с 3 ближайшими соседями и обучили ее с помощью обучающей выборки. После этого мы использовали обученную модель для предсказания классов на тестовой выборке и вычислили точность модели, сравнив предсказанные значения с реальными значениями.
Этот пример показывает, как легко загружать и использовать встроенные наборы данных в scikit-learn для создания и оценки моделей машинного обучения. Вы можете использовать другие наборы данных и методы машинного обучения из библиотеки scikit-learn, чтобы исследовать и экспериментировать с различными алгоритмами и техниками.
Какие существуют встроенные датасеты в scikit-learn?
В scikit-learn существует несколько встроенных наборов данных, которые можно использовать для обучения и тестирования моделей машинного обучения. Некоторые из них включают:
- Набор данных о цветах ирисов (Iris dataset): Этот набор данных содержит измерения для 150 ирисов из трех разных видов. Каждый экземпляр ириса имеет четыре признака: длину и ширину лепестков, а также длину и ширину чашелистников.
- Набор данных о диабете (Diabetes dataset): Этот набор данных содержит информацию о пациентах с диабетом. Он включает в себя различные признаки, такие как уровень глюкозы в крови, артериальное давление и другие медицинские показатели.
- Набор данных о динозаврах (Dinosaur dataset): Этот набор данных содержит информацию о различных видов динозавров. Он включает в себя признаки, такие как длина, ширина и высота динозавров.
- Набор данных о домах в Бостоне (Boston Housing dataset): Этот набор данных содержит информацию о различных характеристиках домов в Бостоне, таких как уровень преступности, среднее количество комнат и другие факторы, которые могут влиять на стоимость жилья.
- Набор данных о рукописных цифрах (Digits dataset): Этот набор данных содержит изображения рукописных цифр от 0 до 9. Он может использоваться для обучения моделей распознавания рукописного текста.
Это только некоторые из встроенных наборов данных в scikit-learn. Вы можете найти больше информации о доступных наборах данных и их использовании в документации scikit-learn.
Надеюсь, эта статья была полезной и вдохновила вас на дальнейшее изучение машинного обучения с помощью scikit-learn!