使用sklearn.datasets加载酒类数据集
酒类数据集是一个常见的用于机器学习任务的数据集,可以用于分类和回归问题。在这个数据集中,每个样本都被描述为一瓶酒,包括几种不同的特征,例如酒精含量、酸度、灰分等。每个样本还有一个对应的标签,表示酒的品种。
为了加载这个数据集,我们可以使用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库加载了酒类数据集,并实际应用于分类任务中的逻辑回归模型。使用这个数据集,可以进行更多的机器学习实验和算法比较。
