资源简介
代码片段和文件信息
# -*- coding: utf-8 -*-
“““
Created on Wed Nov 11 14:16:56 2020
@author: lenovo
“““
“““
#方法一
import numpy as np
import matplotlib.pyplot as plt
#将二维数据降成一维
num = [(2.5 2.4) (0.5 0.7) (2.2 2.9) (1.9 2.2) (3.1 3.0) (2.3 2.7)
(2 1.6) (1 1.1) (1.5 1.6) (1.1 0.9)]
num_array = np.array(num)
n1_avg n2_avg = np.mean(num_array[: 0]) np.mean(num_array[: 1])
new_num_array = np.c_[num_array[: 0] - n1_avg num_array[: 1] - n2_avg]
num_cov = np.cov(new_num_array[: 0] new_num_array[: 1])
ab = np.linalg.eig(num_cov)
w = b[: np.argmax(a)]
zl_num =new_num_array.dot(w.T)
print(zl_num)
plt.plot(zl_num‘ro‘)
#plt.scatter(num[:0]num[:1]) #元组不行,列表才行,所以无法显示
plt.show()
“““
#====================================================
“““
#方法二,使用sklearn中的PCA
import numpy as np
from sklearn.decomposition import PCA
num = [(2.5 2.4) (0.5 0.7) (2.2 2.9) (1.9 2.2) (3.1 3.0) (2.3 2.7)
(2 1.6) (1 1.1) (1.5 1.6) (1.1 0.9)]
num_array = np.array(num)
pca = PCA(n_components = 1)
z2_num =pca.fit_transform(num_array)
#print(z2_num)
#==============================================
#题目二
x = np.array([[-1266-1][-2658-1][-3845-2][19361][210621]
[35832]])
pca = PCA(n_components = 2) #降到二维
pca.fit(x) #训练
newx = pca.fit_transform(x) #降维后的数据
print(pca.explained_variance_ratio_) #输出贡献率
print(newx)
plt.scatter(newx[:0]newx[:1]) #只能输出列表,元组不可以输出
“““
#==================
#题目三:鸢尾花数据可视化
import numpy as np
import pandas as pd
from sklearn.decomposition import PCA #sklearn闪点图
import matplotlib.pyplot as plt
text = pd.Dataframe(pd.read_csv(“iris.csv“))#读取iris.csv文件中的数据
num = text.head(10)#取10行的数据
#print(num)
#print(text.describe()) #查看统计分布
#print(text.isnull().sum()) #查看数据缺失
“““
text.hist(figsize = (108) ) #hist树状图 figsize画布大小
plt.show()
“““
#鸢尾花数据可视化图
x = text.iloc[::4]
y = text.iloc[:-1]
model = PCA(n_components = 2 random_state = 42) #random_state按固定的比例划分
newx = model.fit_transform(x)
#print(newx) #显示降维的结果
red_x red_y = [] []
blue_x blue_y = [] []
green_x green_y = [] []
for i in range(len(newx)):
if y[i] == ‘setosa‘:
red_x.append(newx[i][0])
red_y.append(newx[i][1])
elif y[i] == ‘versicolor‘:
blue_x.append(newx[i][0])
blue_y.append(newx[i][1])
else:
green_x.append(newx[i][0])
green_y.append(newx[i][1])
plt.scatter(red_x red_y c=‘r‘ label=‘setosa‘)
plt.scatter(blue_x blue_y c=‘b‘ label=‘versicolor‘)
plt.scatter(green_x green_y c=‘g‘ label=‘virginica‘)
plt.legend();
plt.show()
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4972 2020-11-11 14:04 iris.csv
文件 2940 2020-11-18 15:02 PCmean.py
- 上一篇:蚁群算法解决tsp问题
- 下一篇:python 批量修改文件后缀
相关资源
- 二维码识别+RGB识别+色环识别+通过串
- 基于PyQt实现可视化宽度优先、深度优
- 用python的pyecharts模块绘制世界地图疫
- Python3.x+PyQtChart实现数据可视化界面
- Python数据爬虫及可视化分析
- Python数据可视化编程实战+中文pdf扫描
- Python 数据可视化 matplotlib-3.1.1-cp37-c
- Python爬虫、Flask框架与ECharts实现数据
- Python-基于知识图谱的红楼梦人物关系
- 人脸识别算法,双2D2DPCALBP余弦相似度
- MATLAB版本的2Dpca和欧式距离算法
- Python-PCA降维人脸识别,已包含yale数据
- python数据可视化编程实战 pdf 中文完整
- 人脸识别-python-特征脸-PCA
- [知识图谱实战篇] 六.HTML+D3实现点击节
- PCA 算法实验代码python
- python爬取淘宝粽子销售数据并分析
- 豆瓣电影大数据分析-
- PCA+PSO-ELM.rar
- 使用python爬取猫眼影评并进行可视化
- python_点云的地面分割,以及非点云数
- python爬取拉勾网存excel+数据可视化w
- python爬取前程无忧存mogondb+数据可视化
- 深度网络特征可视化工具
- grpcio-1.32.0-cp37-cp37m-linux_aarch64.whl
- python数据可视化编程实战英文第二版
- PYTHON数据可视化编程实战PDF
- gtk+-bundle_3.10.4-201412_win64.zip
- grpcio-1.24.3-cp37-cp37m-linux_armv7l.whl
- PYTHON数据可视化编程实战matplotlib中文
评论
共有 条评论