详解 Scikit-learn 的 datasets.load_iris函数:加载鸢尾花数据集

  • Post category:Python

sklearn.datasets.load_iris函数的作用是从sklearn自带的数据集中加载经典的鸢尾花数据集。鸢尾花数据集包含了三种不同种类的鸢尾花以及它们的四个不同特征的测量值,其中每个类别对应了50个样本。通过加载这个数据集,我们可以训练机器学习算法来预测鸢尾花的种类。

下面是sklearn.datasets.load_iris的使用方法:

  1. 导入sklearn.datasets.load_iris函数
from sklearn.datasets import load_iris
  1. 加载鸢尾花数据集
iris = load_iris()

这样就可以成功的将鸢尾花数据集加载到iris变量中了。

  1. 查看数据集信息
print(iris.DESCR)

运行上述代码将会输出鸢尾花数据集的详细信息,包括数据集的大小、特征数量以及数据集的类别信息等。

  1. 获取数据集的特征和标签
X = iris.data
y = iris.target

这样就可以成功地获取到鸢尾花数据集的特征和标签了。其中,X表示数据集的特征,y表示数据集的标签。

下面是两个使用sklearn.datasets.load_iris的实例:

实例一:使用决策树算法预测鸢尾花的种类

# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

# 加载鸢尾花数据集
iris = load_iris()

# 获取数据集的特征和标签
X = iris.data
y = iris.target

# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建决策树分类器
clf = DecisionTreeClassifier()

# 训练模型并进行预测
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)

# 输出模型的准确率
print("Accuracy:", clf.score(X_test, y_test))

实例二:使用朴素贝叶斯算法预测鸢尾花的种类

# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split

# 加载鸢尾花数据集
iris = load_iris()

# 获取数据集的特征和标签
X = iris.data
y = iris.target

# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建高斯朴素贝叶斯分类器
clf = GaussianNB()

# 训练模型并进行预测
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)

# 输出模型的准确率
print("Accuracy:", clf.score(X_test, y_test))

这两个实例分别使用了决策树算法和朴素贝叶斯算法来对鸢尾花数据集进行分类。其中,第一个实例使用了sklearn.tree.DecisionTreeClassifier类来创建决策树分类器,第二个实例则使用了sklearn.naive_bayes.GaussianNB类来创建高斯朴素贝叶斯分类器。在模型训练完毕后,使用model.score(X_test, y_test)函数可以输出模型在测试集上的准确率。