发布于 2026-01-06 4 阅读
0

面向初学者的机器学习入门指南

面向初学者的机器学习入门指南

如果你像我当初刚开始用 Python 学习机器学习时一样感到困惑,那就留下来吧,因为今天我将尽我所能为你揭开机器学习的神秘面纱,并简化它!


首先,我假设您学习机器学习的原因如下:

  1. 处理数据集
  2. 数据可视化
  3. 预测数据
  4. 数据分类

在本教程中,我们将编写一个 Python 脚本,该脚本将执行以下操作:

  • 加载数据集
  • 将数据集可视化
  • 根据数据集对新数据进行分类

我们开始吧!

首先,让我们导入所需的库:

import pandas
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.neighbors import KNeighborsClassifier
from sklearn import preprocessing
Enter fullscreen mode Exit fullscreen mode

如果您尚未安装其中一些软件,可以使用pip install以下命令进行安装:pip3 install


接下来,我们将加载本项目要使用的数据集:

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')
Enter fullscreen mode Exit fullscreen mode

本项目将使用经典的鸢尾花数据集,您可以点击此处下载。


现在到了棘手的部分……

将以下代码添加到您的 Python 脚本中:

model = KNeighborsClassifier(n_neighbors=3)

features = list(zip(df["sepal_length"], df["sepal_width"]))

model.fit(features,df["species"])
Enter fullscreen mode Exit fullscreen mode

让我解释一下……

  • 首先,我们定义我们的模型,并给它赋予 3 个可能的类别,可以将新的数据归入其中。
  • 然后我们定义“features”变量,它将以“sepal_length”和“sepal_width”列作为特征,以便对新数据进行分类。
  • 最后,我们用 3 种鸢尾花的名称以及它们对应的“sepal_length”和“sepal_width”值来拟合我们的模型。

在开始预测新数据之前,我们先用散点图绘制数据集。图中,X 轴代表“萼片长度”,Y 轴代表“萼片宽度”。我们还将通过添加颜色来区分不同种类的鸢尾花。hue='species'最后,我们将要绘制的数据集定义为鸢尾花数据集,并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()
Enter fullscreen mode Exit fullscreen mode

散点图应该如下所示:
分散


要开始对新数据进行分类,首先需要注释掉最后一段代码,如下所示:

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()
"""
Enter fullscreen mode Exit fullscreen mode

然后将这两行代码添加到脚本末尾:

predicted = model.predict([[4.6,5.8]]) 
print(predicted) 
Enter fullscreen mode Exit fullscreen mode

这将简单地预测哪种鸢尾花的萼片长度为 4.6,萼片宽度为 5.8。


现在运行你的代码,输出结果应该如下所示:

['Iris-setosa']
Enter fullscreen mode Exit fullscreen mode

这意味着我们发现的这种神秘鸢尾花已被归类为“山鸢尾”。


恭喜!

你已经完成了你的第一个机器学习项目!


现在您可以尝试使用这段代码,也可以尝试一些新的数据集(您可以在https://www.kaggle.com/上找到很多很棒的数据集)。


拜拜👋

文章来源:https://dev.to/code_jedi/demystifying-machine-learning-for-beginners-by-making-stuff-7de