1 Star 0 Fork 0

wjx99/newprogess

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
pca_gotmd.py 1.81 KB
一键复制 编辑 原始数据 按行查看 历史
wjx99 提交于 2024-06-25 19:22 . feat: finish progress
import torch
import numpy as np
from torch.utils.data import Dataset
from torch.utils.data import DataLoader
import pandas as pd
from sklearn.decomposition import PCA
class TfDataset(Dataset):
def __init__(self, filepath, save_filepath=None):
# xy = np.loadtxt(filepath, delimiter=',', dtype=np.float32, encoding='utf-8')
xy = np.genfromtxt(filepath, delimiter=',', dtype=np.float32, skip_header=1, encoding='utf-8')
# print(xy)
# exit()
self.len = xy.shape[0]
# self.x_data = torch.from_numpy(xy[:, :-1])
# self.y_data = torch.from_numpy(xy[:, [-1]])
self.x_data = torch.from_numpy(xy[1:, :-1])
self.y_data = torch.from_numpy(xy[1:, [-5]])
# 使用 PCA 进行降维
pca = PCA(n_components=12)
reduced_data = pca.fit_transform(self.x_data.numpy())
# 将降维后的数据设置为新的 x_data
self.x_data = torch.from_numpy(reduced_data)
# 将降维后的数据保存为 CSV 文件(如果提供了保存路径)
if save_filepath:
df_reduced = pd.DataFrame(reduced_data,
columns=['PC1', 'PC2', 'PC1', 'PC2', 'PC1', 'PC2', 'PC1', 'PC2', 'PC1',
'PC2', 'PC1', 'PC1'])
df_reduced['label'] = self.y_data.numpy()
df_reduced['dborgot'] = 1 # 添加一列值为1的列,代表为痛风数据集
df_reduced.to_csv(save_filepath, index=False)
def __getitem__(self, index):
return self.x_data[index], self.y_data[index]
def __len__(self):
return self.len
# 初始化数据集并保存降维后的数据为 CSV 文件
train_dataset = TfDataset('./gotmdfillzero.csv', save_filepath='./reduced_gotmd.csv')
#
# train_dataset = tfDataset('../data/resample.csv')
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wjx99520/newprogess.git
git@gitee.com:wjx99520/newprogess.git
wjx99520
newprogess
newprogess
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385