Python:Semeion数据集标签处理

import numpy as np
import pandas as pd

label = np.array(pd.read_csv(r'E:\dataset\未处理数据集\Semeion\label.csv',header=None))
L = []
n = label.shape[0]
m = label.shape[1]
for i in range(n):
    for j in range(m):
        if label[i][j] == 1:
            L.append(int(j))
            break
L = np.array(L)
print(L.shape)
L = np.vstack(L)
print(L.shape)
# np.savetxt(r"E:\dataset\未处理数据集\Semeion\L.csv",L,delimiter=',')
L = pd.DataFrame(L)
L.to_csv(r"E:\dataset\未处理数据集\Semeion\L.csv",header=None,index=None)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这是一个比较复杂的问题,需要较长的代码实现和数据处理,下面是一个简单的代码示例,用于演示如何使用Python进行非负矩阵分解和图非负矩阵分解: ```python import numpy as np from sklearn.decomposition import NMF from sklearn.decomposition import non_negative_factorization from scipy.io import loadmat import matplotlib.pyplot as plt # 加载数据集 data = loadmat('Alphadigit.mat') X = data['X'] # 图像数据 # 定义NMF模型,并训练模型 model = NMF(n_components=20, init='random', random_state=0) W = model.fit_transform(X) H = model.components_ # 绘制目标函数收敛曲线 plt.plot(model.loss_, label='NMF') plt.legend() plt.show() # 定义图NMF模型,并训练模型 W, H, _ = non_negative_factorization(X, n_components=20, init='random', random_state=0, update_H=True) model = (W, H) # 绘制目标函数收敛曲线 plt.plot(model[2], label='Graph NMF') plt.legend() plt.show() # 显示基矩阵 fig, axes = plt.subplots(4, 5, figsize=(8, 8)) for i, ax in enumerate(axes.flat): ax.imshow(model[1][i].reshape((16, 16)), cmap='gray') ax.set(xticks=[], yticks=[]) plt.show() # 主成分分析求解特征 from sklearn.decomposition import PCA pca = PCA(n_components=20) pca.fit(X) print(pca.explained_variance_ratio_) ``` 这个示例代码可以加载Alphadigit.mat数据集,并使用NMF和图NMF算法分别进行非负矩阵分解。两种算法的目标函数收敛曲线可以通过Matplotlib进行绘制。同时,可以使用Matplotlib显示两种算法分解得到的基矩阵(基向量变为图像大小)。最后,使用sklearn库的PCA方法求解主成分,得到特征。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeniuHe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值