我有一个包含 21000 行(数据样本)和 102 列(特征)的数据集。我想根据当前数据集生成一个更大的合成数据集,比如 100000 行,这样我就可以将它用于机器学习目的。
我一直在参考@Prashant 在这篇文章中的回答https://stats.stackexchange.com/questions/215938/generate-synthetic-data-to-match-sample-data,但我无法让它工作为我的数据生成更大的合成数据集。
import numpy as np
from random import randrange, choice
from sklearn.neighbors import NearestNeighbors
import pandas as pd
#referring to https://stats.stackexchange.com/questions/215938/generate-synthetic-data-to-match-sample-data
df = pd.read_pickle('df_saved.pkl')
df = df.iloc[:,:-1] # this gives me df, the final Dataframe which I would like to generate a larger dataset based on. This is the smaller Dataframe with 21000x102 dimensions.
def SMOTE(T, N, k):
# """
# Returns (N/100) * n_minority_samples synthetic minority samples.
#
# …Run Code Online (Sandbox Code Playgroud) 我知道像 Google Text to Speech 这样的库。然而,这在 Colab 中却不起作用。我最近在 Colab https://colab.research.google.com/github/tugstugi/pytorch-dc-tts/blob/master/notebooks/EnglishTTS.ipynb#scrollTo=jLU2p4Gq_12d中遇到了一个复杂的笔记本,我们可以在其中转换文本到演讲。但是,是否有一种简单的方法可以使用 Google Text to Speech 或 Google Colab 中的其他库?
这样我就提供了一个 String-"My name is XYZ"并在 Colab 笔记本中读出它。(这发生在我提供的链接中,但相当复杂)。
PS 如果可能的话,我希望音频能够自动播放,就像 GTTS 那样。在此笔记本中,我们需要单击“播放”按钮来输出语音。
python text-to-speech google-cloud-platform google-colaboratory gtts
假设我有一个 Pandas 数据框,df它具有以下结构:-
Column 1 Column 2 .... Column 100
Row 1 0.233 0.555 0
Row 2 0.231 0.514 2
..
Row 15000 0.232 0.455 3
Run Code Online (Sandbox Code Playgroud)
Column 100表示每一行所属的特定类(可以来自0-14)。每个类别/类都有1000与之关联的行。对于每个类别(由 中的整数表示Column 100),我只想200随机选择样本,并创建一个新的数据框df_new,该数据框的新维度为15x200 = 3000 rows。有什么好方法可以达到这个目标吗?
假设我有 2 个df具有297232 x 122维度和df_raw维度的Pandas 数据框840380x122。df已经是 的子集df_raw。两个数据帧的索引均为DateTime。我想对70%来自 和df的30%值进行采样df_raw(如果需要,可以随机采样),同时确保采样的数据帧子集在索引方面没有重叠。
更准确地说,df_subset将从70%中随机选择值df, 并从 中随机df_raw_subset选择30%值df_raw,但df_subset和df_raw_subset不应该包含采样行的重叠,即它们应该具有唯一的DateTime索引。
我有一个df包含102列的 Pandas 数据框。每列都以不同的方式命名,例如A, B, C等,以提供以下结构的原始数据框
Column A. Column B. Column C. ....
Row 1.
Row 2.
---
Row n
Run Code Online (Sandbox Code Playgroud)
我想将列名称从A, B, Cetc.更改为F1, F2, F3, ...., F102. 我尝试使用 df.columns 但没有成功地以这种方式重命名它们。有什么简单的方法可以将所有列名自动重命名为F1 to F102自动,而不是单独重命名每个列名?
我有 2 个numpy数组,y_actual(实际值)和y_pred(ML 模型预测),都具有二进制值,0 或 1。
目前,我正在confusion matrix根据以下语法形成一个:-
df_confusion = pd.crosstab(y_actual, y_pred, rownames=['Actual'], colnames=['Predicted'], margins=True)
print('Confusion Matrix:')
print(df_confusion)
Run Code Online (Sandbox Code Playgroud)
但是,我查看了 SO 和其他文档,但找不到具有最少代码的综合示例,这可以帮助我完成以下操作:-
matplotlib或Seaborn,其中显示每个类的实际样本数,旁边有 0 asClass A和 1 as 的名称标签Class B。此外,正如问题中所述,目的是完成将 Class 0 标记为Class AClass 1 as Class B,因为目前这些仅显示为0和1,看起来不太连贯。我更喜欢用最少的代码来完成相同的工作,并生成连贯且美观的混淆矩阵图。高度赞赏这方面的任何帮助。
python ×6
dataframe ×3
pandas ×3
scikit-learn ×2
datetime ×1
gtts ×1
imputation ×1
matplotlib ×1
random ×1
rename ×1
sampling ×1
seaborn ×1