转换器(特征工程的父类)
- 实例化(实例化的是一个转换器类(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)
- ①直接比对真实值和预测值