面向初学者的机器学习入门指南
如果你像我当初刚开始用 Python 学习机器学习时一样感到困惑,那就留下来吧,因为今天我将尽我所能为你揭开机器学习的神秘面纱,并简化它!
首先,我假设您学习机器学习的原因如下:
- 处理数据集
- 数据可视化
- 预测数据
- 数据分类
在本教程中,我们将编写一个 Python 脚本,该脚本将执行以下操作:
- 加载数据集
- 将数据集可视化
- 根据数据集对新数据进行分类
我们开始吧!
首先,让我们导入所需的库:
import pandas
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.neighbors import KNeighborsClassifier
from sklearn import preprocessing
如果您尚未安装其中一些软件,可以使用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')
本项目将使用经典的鸢尾花数据集,您可以点击此处下载。
现在到了棘手的部分……
将以下代码添加到您的 Python 脚本中:
model = KNeighborsClassifier(n_neighbors=3)
features = list(zip(df["sepal_length"], df["sepal_width"]))
model.fit(features,df["species"])
让我解释一下……
- 首先,我们定义我们的模型,并给它赋予 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()
要开始对新数据进行分类,首先需要注释掉最后一段代码,如下所示:
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()
"""
然后将这两行代码添加到脚本末尾:
predicted = model.predict([[4.6,5.8]])
print(predicted)
这将简单地预测哪种鸢尾花的萼片长度为 4.6,萼片宽度为 5.8。
现在运行你的代码,输出结果应该如下所示:
['Iris-setosa']
这意味着我们发现的这种神秘鸢尾花已被归类为“山鸢尾”。
恭喜!
你已经完成了你的第一个机器学习项目!
现在您可以尝试使用这段代码,也可以尝试一些新的数据集(您可以在https://www.kaggle.com/上找到很多很棒的数据集)。
拜拜👋
文章来源:https://dev.to/code_jedi/demystifying-machine-learning-for-beginners-by-making-stuff-7de
