无监督学习和聚类45页PPT
- 格式:ppt
- 大小:3.03 MB
- 文档页数:45
⽆监督学习-主成分分析和聚类分析聚类分析(cluster analysis)是将⼀组研究对象分为相对同质的群组(clusters)的统计分析技术,即将观测对象的群体按照相似性和相异性进⾏不同群组的划分,划分后每个群组内部各对象相似度很⾼,⽽不同群组之间的对象彼此相异度很⾼。
回归、分类、聚类的区别:有监督学习 --->> 回归、分类 / ⽆监督学习 --->>聚类回归 -->>产⽣连续结果,可⽤于预测分类 -->>产⽣连续结果,可⽤于预测聚类 -->>产⽣⼀组集合,可⽤于降维⼀、PCA主成分分析⼆、PCA主成分的python实现⽅法通过sklearn的PCA类实现,from sklearn.decomposition import PCApca = PCA(n_components=1) # n_components参数表⽰最终维度pca.fit(data) #创建模型data_pca = pca.transform(data) #降维,创建模型和降维可通过⼀步实现fit_transformdata_inverse = pca.inverse_transform(data_pca) #根据降维结果反算原始数据1.⼆维数据降维rng = np.random.RandomState(8)data = np.dot(rng.rand(2,2),rng.randn(2,200)).T #矩阵相乘df = pd.DataFrame({'X1':data[:,0],'X2':data[:,1]})print(df.shape)print(df.head())plt.scatter(df['X1'],df['X2'],alpha = 0.8,marker = '.')plt.axis('equal') #坐标轴每个单位表⽰的刻度相同# (200, 2)# X1 X2# 0 -1.174787 -1.404131# 1 -1.374449 -1.294660# 2 -2.316007 -2.166109# 3 0.947847 1.460480# 4 1.762375 1.640622from sklearn.decomposition import PCApca = PCA(n_components=1) # n_components参数表⽰最终维度pca.fit(df)print(pca.explained_variance_)print(ponents_)# print(pca.n_components) #返回保留的成分个数# print(pca.explained_variance_ratio_)# 结果降为⼏个维度,就有⼏个特征值;原始数据有⼏个维度,就有⼏个特征向量# explained_variance_:特征值# components_:返回具有最⼤⽅差的成分,即特征向量# 这⾥是shape(200,2)降为shape(200,1),只有1个特征值,对应2个特征向量# 降维后主成分 A1 = 0.7788006 * X1 + 0.62727158 * X2# 成分的结果值 = 2.80 * (-0.77*x1 -0.62 * x2) #通过这个来筛选它的主成分df_pca = pca.transform(df) # 数据转换,将原始⼆维数据转换为降维后的⼀维数据df_inverse = pca.inverse_transform(df_pca) # 数据转换,将降维后的⼀维数据转换成原始的⼆维数据print('original shape:',df.shape)print('transformed shape:',df_pca.shape)print(df.head(10))print(df_pca[:10])print(df_inverse[:10])plt.scatter(df['X1'],df['X2'], alpha = 0.8, marker = '.') #原始数据散点;plt.scatter(x_inverse[:,0],x_inverse[:,1], alpha = 0.8, marker = '.',color = 'r') #转换之后的散点,红⾊的就是最后的特征数据plt.axis('equal')2.多维数据降维多维数据降维,使⽤⾃带的图像数据进⾏测试。