Пример Python Scikit Learn для начинающих

Scikit-learn — это библиотека машинного обучения для Python. Он имеет множество функций, таких как алгоритмы регрессии, классификации и кластеризации, включая SVM, повышение градиента, k-средних, случайные леса и DBSCAN.

Он предназначен для работы с библиотеками Numpy и Pandas. Scikit learn написан на Python (большая его часть), а некоторые из его основных алгоритмов написаны на Cython (расширения C для Python) для еще большей производительности.

Scikit-learn используется для построения моделей машинного обучения, и не рекомендуется использовать его для чтения, обработки и обобщения данных, поскольку для этой цели доступны более подходящие фреймворки, такие как Pandas и NumPy .

Пример обучения Python Scikit

В этом примере мы будем использовать два способа запустить Scikit learn на вашем компьютере.

Теперь, если вы не знаете, как создать виртуальную среду с помощью Python, ознакомьтесь с моей статьей.

Если вы успешно установили виртуальную среду, перейдите в эту папку и активируйте его с помощью следующей команды.

 source bin/activate 

My virtualenv запущен, и теперь я могу перечислить пакеты, которые я установил в этой среде, с помощью следующей команды.

 pip list 

У меня уже есть установил пакет Scikit Learn.

Вы можете установить его, используя следующую команду .

 pip install scikit-learn 

Теперь, если вы используете Python Jupyter Notebook, то, скорее всего, вы уже установили пакет Scikit learn.

Пример изучения Python Scikit

Теперь у вас есть два варианта. Если вы хотите использовать Jupyter Notebook, вы можете использовать это, и если вы используете virtualenv и пишете код в редакторе кода, таком как Visual Studio Code, и запускаете файл в консоли.

Для этого Например, я использую Python Jupyter Notebook. Итак, откройте блокнот.

Давайте углубимся в код и посмотрим, как Scikit изучает в действии.

Если нам нужно работать с Scikit Learn, тогда мы нужны данные.

Давайте создадим данные с помощью NumPy

Шаг 1. Импортируйте NumPy и научитесь Scikit

Итак, давайте импортируем две библиотеки.

 import numpy as npfrom sklearn.preprocessing import MinMaxScaler 

Сначала мы импортировали библиотеку NumPy, , а затем мы импортировали модуль MinMaxScaler из библиотеки sklearn.preprocessing .

MinMaxScaler используется, когда нам нужно выполнить масштабирование функции для данных.

Масштабирование функции означает, что в конкретном столбце вы найдете максимальное значение и разделите все значения на это максимальное значение . Это означает, что теперь в вашем столбце есть только значения от 0 до 1..

MinMaxScaler , вероятно, самый популярный алгоритм масштабирования, когда мы работаем с большими наборами данных, особенно при построении модели машинного обучения.

Шаг 2. Создайте демонстрационные данные с помощью NumPy

Давайте создадим данные с помощью библиотеки NumPy.

Напишите следующий код в следующей ячейке.

 demoData = np.random.randint (10, 100, (10, 2)) demoData 

Итак, мы создали случайные целочисленные данные от 10 до 100 с десятью строками и двумя столбцами. Данные представляют собой случайное число, сгенерированное таким образом, что ваше может быть другим. Но сосредоточьтесь на алгоритмах Sklearn.

См. Результат.

Шаг 3. Давайте преобразуем данные

Поскольку мы создали демонстрационные данные, теперь пришло время масштабировать эти данные. Итак, воспользуемся масштабированием функции.

Сначала создайте объект MinMaxScalar.

Затем передайте demoData этой функции MinMaxScalar fit_transform.

 scalar_model = MinMaxScaler (  ) scalar_model.fit_transform (demoData) 

См. вывод.

Игнорируйте красное предупреждение; он просто сообщает нам, что мы конвертируем целочисленные данные в плавающие, когда мы преобразовали значение с помощью MinMaxScalar.

Шаг 4: Создайте DataFrame

Для разделения данных сначала нам нужно создать DataFrame, а для этого нам нужно импортировать библиотеку Pandas .

Теперь мы снова создадим демонстрационные данные, но на этот раз мы создадим большой набор данных, а затем создадим DataFrame из этих данных, а затем разделим эти данные для обучения и тестирования.

Напишите следующее. код по одной ячейке.

 import numpy as npfrom sklearn.preprocessing import MinMaxScaler 

Затем напишите следующий код в следующей ячейке.

 demoData = np.random.randint (1, 500, (20, 4)) demoData 

Теперь преобразуйте данные для создания масштабируемой функции. Итак, напишите следующий код внутри ячейки.

 scalar_model = MinMaxScaler () feature_data = scalar_model.fit_transform (demoData) feature_data 

Он отобразит масштабированные данные.

См. результат.

Следующим шагом является создание DataFrame из приведенных выше данных.

Итак, напишите следующий код в следующей ячейке.

 импортируйте панды как pddf = pd  .DataFrame (data = feature_data, columns = ['k1', 'k2', 'k3', 'labels']) df 

Мы импортировали pandas и создали DataFrame из приведенных выше feature_data . Мы также определили столбцы для данных. См. Масштабированные данные.

У нас есть три столбца избранных данные, и одна метка столбца предназначена для прогнозирования значений. Это контролируемая проблема.

Шаг 6: Разделите данные на обучение и тестирование

Во-первых, давайте разделим данные между особенности и метки.

Итак, напишите следующий код в следующей ячейке.

 X = df [['k1', 'k2', 'k3']] y = df  ['label'] 

Теперь распечатайте X и y и посмотрите результат.

См. y в выводе.

Итак, теперь у нас есть функция X и мы предсказываем метку данных y.

Давайте проведем обучение и протестируем разделить.

 from sklearn.model_selection import train_test_split 

Теперь напишите следующий код в следующей ячейке.

 X_train, X_test,  y_train, y_test = train_test_split (X, y, test_size = 0.30, random_state = 42) 

Запускает ячейку.

Приведенный выше код разделяет данные между X_train и X_test с соотношением 1: 3. Означает, что обучающие данные получают 70%, а тестовые данные получают 30% от DataFrame.

Вы можете изменить процентное соотношение, которое вы хотите для тестовых и обучающих данных, но это соотношение является стандартным соотношением для разделения данные между поездом и тестом.

Мы можем проверить, сколько данных мы получаем для поезда и тестовых данных.

Введите следующий код в следующую ячейку.

 X_train.shape 

Теперь просмотрите данные Y_train. Смотрите результат.

Вы можете видеть, что, X_train получил 14 строк, а Y_train получил шесть строк. Итак, он разделен на 70:30.

Подробнее об атрибуте shape можно узнать здесь.

Итак, масштабирование и разделение набора данных является наиболее важным шагом в Машинное обучение, и если вы хотите узнать, как подготовить набор данных в машинном обучении, ознакомьтесь с этой статьей.

Наконец, основы Scikit learn for Machine Learning подошли к концу. Надеюсь, вам понравился учебник Python Scikit Learn для начинающих с примерами с нуля.

Оцените статью
nanomode.ru
Добавить комментарий