我有movielens数据集,我希望使用PCA算法应用维数减少,首先我计算数据集的便利矩阵,然后计算我数据集的特征值但是;这是我打印结果的问题我不明白哪个特征值属于哪个电影我用numpy来计算特征值。
这是我的代码
#Load movie names and movie ratings
movies = pd.read_csv('movies.csv')
ratings = pd.read_csv('ratings.csv')
ratings.drop(['timestamp'], axis=1, inplace=True)
def replace_name(x):
return movies[movies['movieId']==x].title.values[0]
ratings.movieId = ratings.movieId.map(replace_name)
M = ratings.pivot_table(index=['userId'], columns=['movieId'], values='rating')
m = M.shape
df1 = M.replace(np.nan, 0, regex=True)
#Perform eigendecomposition on covariance matrix
cov_mat = np.cov(X_std.T)
eig_vals, eig_vecs = np.linalg.eig(cov_mat)
print('\nEigenvalues \n%s' %eig_vals)
我的代码产生的特征值的数量等于电影的数量,但我不知道哪个特征值属于哪部电影?