低秩矩阵学习库。一个python库,用于机器学习中的低秩矩阵方法,如矩阵完成、鲁棒PCA和CUR因子分解

LRMatLearnLib的Python项目详细描述


LRMATEARNLIB公司

利用矩阵补全法进行电影改编

首先加载MovieLens1M数据集

data=np.loadtxt('ml-1m/ratings.dat',delimiter='::')X=data[:,[0,1]].astype(int)-1y=data[:,2]n_users=max(X[:,0])+1n_movies=max(X[:,1])+1print((n_users,n_movies))
^{pr2}$

所以,我们有6040个用户和3952部电影。总共有2300万的潜在收视率,其中我们知道有100万。我们将保留20万的收视率来测试我们的结果。在

fromsklearn.model_selectionimporttrain_test_splitX_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)

进口MC.py公司并进行数据拟合

fromMCimport*fromstatisticsimportmeanmc_model=MC(n_users,n_movies,5)mc_model.fit(np.array(X_train).transpose(),y_train)y_predict=mc_model.predict((np.array(X_test).transpose()))print("MAE:",mean(abs(y_test-y_predict)))print("Percent of predictions off my less than 1: ",np.sum(abs(y_test-y_predict)<1)/len(y_test))
MAE: 0.6910439339771605
Percent of predictions off my less than 1:  0.7603603243318903

稳健主成分分析在背景锻件分离中的应用

导入包,打开视频文件,并将帧展平为向量。在

importsyssys.path.append('../')fromLRMatLearnLib.datasets.data_loaderimport*fromLRMatLearnLib.RPCA.algorithmsimport*importmatplotlib.pyplotaspltimportmatplotlib.animationasanimationv=load_video("../datasets/videos/escalator.avi")(n_frames,d1,d2)=v.shapev=v.reshape(n_frames,d1*d2)

运行altProjNiave,一个基本的RPCA算法。第一个问题是要分解的矩阵,第二个是低秩矩阵的秩,第三个是稀疏矩阵中的项数。在

(L,S)=altProjNiave(v,2,100*n_frames)

将框架重新塑造成图像并绘制它们。在

L=L.reshape(n_frames,d1,d2)S=S.reshape(n_frames,d1,d2)v=v.reshape(n_frames,d1,d2)all=np.concatenate((v,L,S),axis=2)plt.imshow(all[1,:,:])plt.show()

png

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JFrame中的Java多线程   java Servlet异常映射   java无法从输出流读取   swing Java带来的小程序GUI问题   java什么原因导致错误“'void'类型此处不允许”以及如何修复它?   Java选择器select(长)与selectNow的区别   java自定义arraylist<mygames>获得不同   java Icepdf注释让页面消失   java反向整数数组   java I在生成同步“无法解析配置的所有依赖项”时遇到此错误:app:debugRuntimeClasspath   多个虚拟机上的java线程访问单个DB实例上的表,有时会导致性能低下和异常   swing更改Java中的默认按钮,使其看起来“更好”   java慢速MQ主题订阅。并行化不能提高性能   java运行Boggle Solver需要一个多小时。我的代码怎么了?   数据库中的java循环与应用程序中的java循环   正则表达式匹配${123…456}并在Java中提取2个数字?   java如何制作我们软件的试用版   Java内存参数计算   从另一个类调用方法时出现java问题