1、Scikit learn简介
Scikit learn 的简称是 SKlearn,专门提供了 Python 中实现机器学习的模块。Sklearn 是一个简单高效的数据分析算法工具,建立在 NumPy、SciPy和 Matplotlib 的基础上。SKlearn 包含许多目前最常见的机器学习算法,例如分类、回归、聚类、数据降维,数据预处理等,每个算法都有详细的说明文档。
对于大多数机器学习,通常有以下四个数据集。
- train_ data.训练数据集。
- train target:训练数据的真实结果集。
- test_data:测试数据集。
- test_ target:测试数据集所对应的真实结果,用来检测预测的正确性。
用各算法解决问题时,也大都有两个共同的核心两数:训练函数fit()和测试函数predict()。
2、主要步骤
Sklearn针对机器学习的过程,提供了一个一般步骤,该步骤主要过程如下:
- 获取数据,创建数据集。在Sklearn中提供了很多经典的数据集可以直接使用,通过Sklearn的datasets模块来使用里面的相关数据集,包括经典的鸢尾花数据集、波士顿房价数据集等。
- 数据预处理。这一步骤专门针对数据进行预处理,使数据能够有效地被模型或者评估器识别。
- 数据集拆分。该步骤主要将数据集拆分为训练数据集与验证数据集,训练集用于训练模型,验证集用于验证模型性能。
- 训练模型。针对需要处理的问题,选择适当的模型并进行定义,同时使用训练数据集对定义好的模型进行训练。
- 性能评估。使用相关的评估标准对训练好的模型性能进行评估。
3、数据预处理
在Sklearn的datasets模块提供了一些常见的数据集。
数据集 | 描述 |
---|---|
datasets.fetch_california_housing | 加利福尼亚住房数据集 |
datasets.fetch_lfw_people | 有标签的人脸数据集 |
datasets.load_boston | 波士顿房价数据集 |
datasets.load_breast_cancer | 乳腺癌数据集 |
datasets.load_diabetes | 糖尿病数据集 |
datasets.load_iris | 鸢尾花数据集 |
datasets.load_wine | 葡萄酒数据集 |
鸢尾花数据集的加载:
from sklearn.datasets import load_iris
import pandas as pd
iris_data = load_iris()
x=pd.DataFrame(iris_data.data)
print(x) #输出鸢尾花数据集每条数据包含的属性数据值
y=iris_data.target
print(y) #输出鸢尾花数据集的类别标签
葡萄酒数据集的加载:
from sklearn.datasets import load_wine
import pandas as pd
wine_data = load_wine()
x=pd.DataFrame