scikit-learn 估计器接口

2019-06-19 18:18:06 浏览数 (1)

scikit-learn 中的所有算法——无论 是预处理、监督学习还是无监督学习算法——都被实现为类。 这些类在 scikit-learn 中叫作 估计器(estimator)

为了应用算法,你首先需要将特定类的对象实例化:

代码语言:javascript复制
      from sklearn.linear_model import LogisticRegression
      logreg = LogisticRegression()

估计器类包含算法,也保存了利用算法从数据中学到的模型。

在构建模型对象时,你应该设置模型的所有参数。这些参数包括正则化、复杂度控制、 要找到的簇的数量,等等。 所有估计器都有 fit 方法,用于构建模型。fit 方法要求 第一个参数总是数据 X,用一个 NumPy 数组或 SciPy 稀疏矩阵表示,其中每一行代表 一个数据点。数据 X 总被假定为具有连续值(浮点数)的 NumPy 数组或 SciPy 稀疏矩 阵。监督算法还需要有一个 y 参数,它是一维 NumPy 数组,包含回归或分类的目标值 (即已知的输出标签或响应)。

在 scikit-learn 中,应用学到的模型主要有两种方法。

  • 要想创建一个新输出形式(比 如 y)的预测,可以用 predict 方法。
  • 要想创建输入数据 X 的一种新表示,可以用 transform 方法。

predict 方法和 transform 方法的使用场景。

代码语言:javascript复制
estimator.fit(X_train, [y_train])

estimator.predict(X_test)

estimator.transform(X_test)

分类

预处理

回归

降维

聚类

特征提取

特征选择

此外,所有监督模型都有 score(X_test, y_test)方法,可以评估模型。X_trainy_train 指的是训练数据和训练标签,而 X_testy_test 指的是测试数据 和测试标签。

参考:《Python 机器学习基础教程》

0 人点赞