分类算法——sklearn转换器和估计器(一)

时间:2024-04-16 10:05:51

转换器(特征工程的父类)

  • 实例化(实例化的是一个转换器类(Transformer))
  • 调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)

把特征工程的接口称之为转换器,其中转换器调用有这么几种形式:
标准化:(X- mean) / std

  • fit_transform( )
  • fit()——计算每一列的平均值、标准差
  • transform()——(X- mean) /std进行最终的转换
In [1] : from sklearn.preprocessing import StandardScaler
In [2] : std1=StandardScaler()
In [3] : a=[[1,2,3],[4,5,6]]
In [4] : std1.ft_transform( a)
out [4] :
array ([[-1.,-1.,-1.][1.,1.,1.]])
	   
In [5] : std2=StandardScaler()
In [6] : std2.fit(a)
out[6] : StandardScaler(copy=True,with_mean=True,with_std=True)

In [7] : std2.transform(a)
out[7] :
array([[-1.,-1.,-1.],
	  [1.,1.,1.]])

从中可以看出,fit_transform的作用相当于transform加上fit。

In [8] : b=[[7,8,9],[10,11,12]]
In [9] : std2.transform(b)
out [9] :
array([[3.,3.,3.],
	  [5., 5.,5.]])
	  
In [10] : std2.fit_transform(b)
out [10] :
array([[-1.,-1.,-1.],
	  [1.,1.,1.]])

估计器(sklearn机器学习算法的实现)

在sklearn中,估计器(estimator)是一个重要的角色,是一类实现了算法的API

  • 1用于分类的估计器:
    • sklearn.neighbors k-近邻算法
    • sklearn.naive_bayes 贝叶斯
    • sklearn.linear_model.LogisticRegression 逻辑回归
    • sklearn.tree 决策树与随机森林
  • 2用于回归的估计器:
    • sklearn.linear_model.LinearRegression 线性回归
    • sklearn.linear_model.Ridge 岭回归
  • 3用于无监督学习的估计器:
    • sklearn.cluster.KMeans 聚类

估计器工作流程
在这里插入图片描述

  • 实例化一个estimator
  • estimator.fit(x train, y train) 计算
    一调用完毕,模型生成
  • 3模型评估:
    • ①直接比对真实值和预测值
      y_predict = estimator. predict(x_test)
      y_test == y_predict
    • ②计算准确率
      accuracy = estimator.score(x_test, y_test)