sklearn的学习使用

转载请注明作者和出处: https://blog.csdn.net/fanhl111/article/details/88182335

参考:https://www.cnblogs.com/lianyingteng/p/7811126.html、

传统的机器学习任务从开始到建模的一般流程是:获取数据 -> 数据预处理 -> 训练建模 -> 模型评估 -> 预测,分类。本文我们将依据传统机器学习的流程,看看在每一步流程中都有哪些常用的函数以及它们的用法是怎么样的。

1. 获取数据

1.1 导入sklearn数据集

sklearn中包含了大量的优质的数据集,在你学习机器学习的过程中,你可以通过使用这些数据集实现出不同的模型,从而提高你的动手实践能力,同时这个过程也可以加深你对理论知识的理解和把握。

首先呢,要想使用sklearn中的数据集,必须导入datasets模块:

from sklearn import datasets

以下两张图包含了大部分sklearn中数据集,调用方式也在图中给出。在这里插入图片描述
在这里插入图片描述
这里我们拿iris的数据来举个例子:

iris = datasets.load_iris() # 导入数据集
X = iris.data # 获得其特征向量
y = iris.target # 获得样本label

1.2 创建数据集

除了可以使用sklearn自带的数据集外,还可以自己去创建训练样本,sklearn的datasets具体用法可见:[数据加载工具](https://scikit-learn.org/stable/datasets/),这里我们简单介绍一些,sklearn中的samples generator(样本生成器)包含的大量创建样本数据的方法:

在这里插入图片描述
在这里插入图片描述
具体的可以之后详细了解,暂不做研究。

下面我们拿分类问题的样本生成器举例子:

from sklearn.datasets.samples_generator import make_classification

X, y = make_classification(n_samples=6, n_features=5, n_informative=2, 
    n_redundant=2, n_classes=2, n_clusters_per_class=2, scale=1.0, 
    random_state=20)

# n_samples:指定样本数
# n_features:指定特征数
# n_classes:指定几分类
# random_state:随机种子,使得随机状可重

接下来

for x_,y_ in zip(X,y):
    print(y_,end=': ')
    print(x_)

zip的理解可以参考:zip介绍

2. 数据预处理

数据预处理阶段是机器学习中不可缺少的一环,它会使得数据更加有效的被模型或者评估器识别。下面我们来看一下sklearn中有哪些平时我们常用的函数:
from sklearn import preprocessing

preprocessing部分的使用可以参考:scikit-learn模块学习笔记(数据预处理模块preprocessing)

2.1数据归一化

  为了使得训练数据的标准化规则与测试数据的标准化规则同步,preprocessing中提供了很多Scaler:
data = [[0, 0], [0, 0], [1, 1], [1, 1]]

# 1. 基于mean和std的标准化
scaler = preprocessing.StandardScaler().fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)

# 2. 将每个特征值归一化到一个固定范围
scaler = preprocessing.MinMaxScaler(feature_range=(0, 1)).fit(train_data)
scaler.transform(train_data)
scaler.transform(test_data)
#feature_range: 定义归一化范围,注用()括起来

猜你喜欢

转载自blog.csdn.net/fanhl111/article/details/88807755
今日推荐