pca.py-20170728

由于博客内容为空,无法提供包含关键信息的摘要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Jul 18 20:20:39 2017

@author: vicky
"""


import numpy as np
x=np.array([2.5,0.5,2.2,1.9,3.1,2.3,2,1,1.5,1.1])
y=np.array([2.4,0.7,2.9,2.2,3,2.7,1.6,1.1,1.6,0.9])
mean_x=np.mean(x)
mean_y=np.mean(y)
scaled_x=x-mean_x
scaled_y=y-mean_y
data=np.matrix([[scaled_x[i],scaled_y[i]] for i in range(len(scaled_x))])

import matplotlib.pyplot as plt
plt.plot(scaled_x,scaled_y,'o')

cov=np.cov(scaled_x,scaled_y)

np.dot(np.transpose(data),data)

eig_val, eig_vec = np.linalg.eig(cov)

plt.plot(scaled_x,scaled_y,'o',)
xmin ,xmax = scaled_x.min(), scaled_x.max()
ymin, ymax = scaled_y.min(), scaled_y.max()
dx = (xmax - xmin) * 0.2
dy = (ymax - ymin) * 0.2
plt.xlim(xmin - dx, xmax + dx)
plt.ylim(ymin - dy, ymax + dy)
plt.plot([eig_vec[:,0][0],0],[eig_vec[:,0][1],0],color='red')
plt.plot([eig_vec[:,1][0],0],[eig_vec[:,1][1],0],color='red')

new_data=np.transpose(np.dot(eig_vec,np.transpose(data)))

eig_pairs = [(np.abs(eig_val[i]), eig_vec[:,i]) for i in range(len(eig_val))]
eig_pairs.sort(reverse=True)

feature=eig_pairs[0][1]

new_data_reduced=np.transpose(np.dot(feature,np.transpose(data)))

plt.plot(scaled_x,scaled_y,'o',color='red')
plt.plot([eig_vec[:,0][0],0],[eig_vec[:,0][1],0],color='red')
plt.plot([eig_vec[:,1][0],0],[eig_vec[:,1][1],0],color='blue')
plt.plot(new_data[:,0],new_data[:,1],'^',color='blue')
plt.plot(new_data_reduced[:,0],[1.2]*10,'*',color='green')

import numpy as np
def pca(X,k):#k is the components you want
  #mean of each feature
  n_samples, n_features = X.shape
  mean=np.array([np.mean(X[:,i]) for i in range(n_features)])
  #normalization
  norm_X=X-mean
  #scatter matrix
  scatter_matrix=np.dot(np.transpose(norm_X),norm_X)
  #Calculate the eigenvectors and eigenvalues
  eig_val, eig_vec = np.linalg.eig(scatter_matrix)
  eig_pairs = [(np.abs(eig_val[i]), eig_vec[:,i]) for i in range(n_features)]
  # sort eig_vec based on eig_val from highest to lowest
  eig_pairs.sort(reverse=True)
  # select the top k eig_vec
  feature=np.array([ele[1] for ele in eig_pairs[:k]])
  #get new data
  data=np.dot(norm_X,np.transpose(feature))
  return data

from sklearn.decomposition import PCA
X = np.array([[-1, 1], [-2, -1], [-3, -2], [1, 1], [2, 1], [3, 2]])
pca=PCA(n_components=1)
pca.fit(X)
pca.transform(X)

 

--------------------------------------------------------------------------- FileNotFoundError Traceback (most recent call last) Cell In[8], line 5 1 # Load COCO data from disk into a dictionary. 2 # We'll work with dimensionality-reduced features for the remainder of this assignment, 3 # but you can also experiment with the original features on your own by changing the flag below. 4 # 在调用函数时直接指定路径 ----> 5 data = load_coco_data( 6 base_dir='D:\\cs231n.github.io-master\\assignments\\2021\\assignment3_colab\\assignment3\\cs231n\\datasets\\coco_captioning', # 替换为您的实际路径 7 pca_features=True 8 ) 10 # Print out all the keys and values from the data dictionary. 11 for k, v in data.items(): File D:\cs231n.github.io-master\assignments\2021\assignment3_colab\assignment3\cs231n\coco_utils.py:169, in load_coco_data(base_dir, pca_features, dataset_version, load_train, load_val, load_test) 167 # 加载训练集 168 if load_train: --> 169 train_feature_path = _build_feature_path(base_dir, config, feature_suffix, "train") 170 with h5py.File(train_feature_path, 'r') as f: 171 data['train_features'] = np.array(f['features']) File D:\cs231n.github.io-master\assignments\2021\assignment3_colab\assignment3\cs231n\coco_utils.py:88, in _build_feature_path(base_dir, config, suffix, split) 85 if os.path.exists(path): 86 return path ---> 88 raise FileNotFoundError( 89 f"找不到特征文件 '{filename}'. 尝试路径:\n" + 90 "\n".join(f"- {p}" for p in possible_paths) 91 ) FileNotFoundError: 找不到特征文件 'features2017_train_pca.h5'. 尝试路径: - D:\cs231n.github.io-master\assignments\2021\assignment3_colab\assignment3\cs231n\datasets\coco_captioning\features2017_train_pca.h5 - D:\cs231n.github.io-master\assignments\2021\assignment3_colab\assignment3\cs231n\datasets\coco_captioning\features\features2017_train_pca.h5 - D:\cs231n.github.io-master\assignments\2021\assignment3_colab\assignment3\cs231n\datasets\coco_captioning\extracted_features\features2017_train_pca.h5
07-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值