特征降维
低方差过滤
方差低的特征,可能没有分类的价值。API:VarianceThreshold进行低方差特征过滤。
from sklearn.feature_selection import VarianceThreshold
def VT():
Vt = VarianceThreshold(threshold= 0)
data = Vt.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])
print(data)
return None
PCA主成分分析
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。 高维度数据容易出现的问题:特征之间通常是线性相关的。 降维原理:先将每一列均值去平均值,然后计算协方差矩阵的特征向量,根据特征向量的特征值进行排序,选择目标维数的特征向量组成矩阵与原特征矩阵相乘,得到目标矩阵。
from sklearn.decomposition import PCA
def PCA():
pca = PCA(n_components= 0.9)
data =pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
print(data)
return None
数据集处理
数据集划分
机器学习的数据分为训练集和测试集,训练集用于构建模型,测试集用于评估模型是否有效。 数据集划分API:sklearn.model_selection.train_test_split(),函数的返回值是固定的,x_train,x_test,y_train,y_test。 加载数据API: sklearn.datasets。加载后数据集包含:data,target,DESCR,feature_names,target_names。
from sklearn.datasets import load_iris,fetch_20newsgroups,load_boston
from sklearn.model_selection import train_test_split
li = load_iris()
x_train,x_test,y_train,y_test = train_test_split(li.data,li.target,test_size=0.25)
print('训练集目标值和特征值:',x_train,y_train)
boston = load_boston()
print(boston.target)
转换器和估计器
在sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator,是一类实现了算法的API。转换器是Transform。
|