欢迎访问宙启技术站
智能推送

使用sklearn.datasets加载酒类数据集

发布时间:2024-01-17 04:13:42

酒类数据集是一个常见的用于机器学习任务的数据集,可以用于分类和回归问题。在这个数据集中,每个样本都被描述为一瓶酒,包括几种不同的特征,例如酒精含量、酸度、灰分等。每个样本还有一个对应的标签,表示酒的品种。

为了加载这个数据集,我们可以使用sklearn中的datasets模块。具体的步骤如下:

Step 1:导入需要的库和模块

from sklearn import datasets

Step 2:加载数据集

wine = datasets.load_wine()

加载完成后,数据集wine将包含以下几个属性:

- data:特征矩阵,包含每个样本的特征信息,维度为(n_samples, n_features)。

- target:标签向量,包含每个样本的标签信息,维度为(n_samples,)。

- feature_names:特征的名称列表,维度为(n_features,)。

- target_names:标签的名称列表,维度为(n_targets,)。

- DESCR:数据集的描述信息。

接下来,我们可以通过打印这些属性来了解数据集的详细信息,以及查看一些样本和标签的示例。

print(wine.feature_names)
print(wine.target_names)
print(wine.data.shape)
print(wine.target.shape)
print(wine.DESCR)

print(wine.data[0])
print(wine.target[0])

运行上述代码后,将会输出以下信息:

['alcohol', 'malic_acid', 'ash', 'alcalinity_of_ash', 'magnesium', 'total_phenols', 'flavanoids', 'nonflavanoid_phenols', 'proanthocyanins', 'color_intensity', 'hue', 'od280/od315_of_diluted_wines', 'proline']
['class_0' 'class_1' 'class_2']
(178, 13)
(178,)
.. _wine_dataset:

Wine recognition dataset
------------------------

**Data Set Characteristics:**

    :Number of Instances: 178 (50 in each of three classes)
    :Number of Attributes: 13 numeric, predictive attributes and the class
    :Attribute Information:
    	- alcohol
    	- malic_acid
    	- ash
    	- alcalinity_of_ash
    	- magnesium
    	- total_phenols
    	- flavanoids
    	- nonflavanoid_phenols
    	- proanthocyanins
    	- color_intensity
    	- hue
    	- od280/od315_of_diluted_wines
    	- proline
     
..

[14.23  1.71  2.43 15.6  127.    2.8   3.06  0.28  2.29  5.64  1.04  3.92
  1.065]
0

从输出结果可以看出,数据集共有178个样本,每个样本具有13个特征值。标签分为3个类别,分别是class_0、class_1和class_2。

通过打印wine.data[0]wine.target[0],我们可以看到 个样本的特征值和标签。具体来说, 个样本的特征值为[14.23, 1.71, 2.43, 15.6, 127., 2.8, 3.06, 0.28, 2.29, 5.64, 1.04, 3.92, 1.065],标签为0。

接下来,我们可以使用这个酒类数据集进行分类或回归任务。例如,我们可以使用逻辑回归算法对这个数据集进行分类:

from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(wine.data, wine.target, test_size=0.2, random_state=42)

# 创建逻辑回归模型
model = LogisticRegression()

# 在训练集上训练模型
model.fit(X_train, y_train)

# 在测试集上进行预测
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

运行以上代码,将会输出逻辑回归在测试集上的准确率。

通过以上例子,我们使用sklearn.datasets库加载了酒类数据集,并实际应用于分类任务中的逻辑回归模型。使用这个数据集,可以进行更多的机器学习实验和算法比较。