Если вы смущенный новичком, как я, когда я был, когда только начинал с машиной, изучающей в Python, затем придерживайтесь, потому что сегодня я буду пытаться изо всех сил на демистификации и упрощении машины для вас!
Чтобы начать, я предполагаю, что вы хотели бы узнать машинное обучение по следующим причинам:
- Работа с наборами данных
- Визуализация данных
- Прогнозировать данные
- Классификация данных
В этом руководстве мы собираемся сделать сценарий Python, который будет:
- Загрузить набор данных
- Визуализируйте набор данных
- Классифицировать новый элемент данных, учитывая набор данных
Давайте начнем!
Во-первых, давайте импомнем необходимые библиотеки:
import pandas import matplotlib.pyplot as plt import seaborn as sns from sklearn.neighbors import KNeighborsClassifier from sklearn import preprocessing
Если у вас нет некоторых из них, вы можете установить их с помощью Установка PIP или Установка PIP3
Далее мы собираемся загрузить набор данных, который мы собираемся использовать для этого проекта:
import pandas import matplotlib.pyplot as plt import seaborn as sns from sklearn.neighbors import KNeighborsClassifier from sklearn import preprocessing df = pandas.read_csv('IRIS.csv')
Для этого проекта мы собираемся использовать классический набор данных IRIS который вы можете скачать здесь
Теперь приходит сложный бит …
Добавьте эти строки кода в ваш сценарий Python:
model = KNeighborsClassifier(n_neighbors=3) features = list(zip(df["sepal_length"], df["sepal_width"])) model.fit(features,df["species"])
Позволь мне объяснить…
- Во-первых, мы определяем нашу модель и даем ей 3 возможных класса, в которые можно классифицировать новый элемент данных.
- Затем мы определяем переменную «Особенности», которая собирается взять столбцы «Sepal_Length» и «Sepal_width» как характеристики, которые мы собираемся сравнить, чтобы классифицировать новые детали данных.
- Наконец, мы подходим нашу модель с именами 3 ирисных видов, а также их соответствующих значений «sepal_length» и “sepal_width”.
Раньше мы начинаем прогнозировать новые данные данных, давайте графически наш набор набора данных, используя график разброса. На нашем графике ось X будет представлять собой «Sepal_Length», а ось Y будет представлять «sepal_width». Мы также собираемся в цветовой код разные виды цветов ириса, добавив Hue = «виды»
Отказ И тогда, наконец, мы определим данные, которые мы собираемся быть графиком как наш набор данных IRIS, добавив data = df
к концу:
sns.scatterplot(x='sepal_length', y='sepal_width', hue='species', data=df, ) # Placing Legend outside the Figure plt.legend(bbox_to_anchor=(1, 1), loc=1) plt.show()
Вот как график разброса должен выглядеть:
Чтобы начать классификацию новых деталей данных, сначала прокомментируйте последний фрагмент кода, как так:
import pandas import matplotlib.pyplot as plt import seaborn as sns from sklearn.neighbors import KNeighborsClassifier from sklearn import preprocessing df = pandas.read_csv('IRIS.csv') model = KNeighborsClassifier(n_neighbors=3) features = list(zip(df["sepal_length"], df["sepal_width"])) model.fit(features,df["species"]) """sns.scatterplot(x='sepal_length', y='sepal_width', hue='species', data=df, ) # Placing Legend outside the Figure plt.legend(bbox_to_anchor=(1, 1), loc=1) plt.show() """
Затем добавьте эти 2 строки кода до конца вашего скрипта:
predicted = model.predict([[4.6,5.8]]) print(predicted)
Это будет просто предсказать, какие виды цветка Iris – это то, что имеет Sepal_Length 4,6 и Sepal_width 5,8.
Теперь, если вы запустите свой код, ваш выход должен выглядеть так:
['Iris-setosa']
Это означает, что наша новая загадка цветка Iris была классифицирована как «Iris-Setosa».
Поздравляю!
Вы сделали свой первый проект машинного обучения!
Теперь вы можете экспериментировать с этим кодом, а также попробуйте новые наборы данных (вы можете найти много отличных на https://www.kaggle.com/ ).
Если вы начинающий, кто любит открывать новые вещи о Python, попробуйте моя еженедельная рассылка Python
Byeeeee👋.
Оригинал: “https://dev.to/code_jedi/demystifying-machine-learning-for-beginners-by-making-stuff-7de”