小编JCh*_*hat的帖子

在 Python 中基于较小的数据集生成较大的合成数据集

我有一个包含 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)

python machine-learning scikit-learn imputation

6
推荐指数
1
解决办法
4713
查看次数

如何在 Google Colab 中进行文本到语音转换?

我知道像 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

5
推荐指数
1
解决办法
1万
查看次数

如何根据特定条件从 Pandas 数据框中随机选择行?

假设我有一个 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。有什么好方法可以达到这个目标吗?

python random dataframe pandas

4
推荐指数
1
解决办法
1664
查看次数

从 pandas 数据帧中提取子集确保不重叠?

假设我有 2 个df具有297232 x 122维度和df_raw维度的Pandas 数据框840380x122df已经是 的子集df_raw。两个数据帧的索引均为DateTime。我想对70%来自 和df30%值进行采样df_raw(如果需要,可以随机采样),同时确保采样的数据帧子集在索引方面没有重叠。

更准确地说,df_subset将从70%中随机选择值df, 并从 中随机df_raw_subset选择30%df_raw,但df_subsetdf_raw_subset不应该包含采样行的重叠,即它们应该具有唯一的DateTime索引。

python datetime sampling dataframe pandas

4
推荐指数
1
解决办法
811
查看次数

如何自动命名 Pandas 数据框列?

我有一个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自动,而不是单独重命名每个列名?

python rename dataframe pandas

4
推荐指数
1
解决办法
1893
查看次数

如何用最少的代码在 Python 中绘制不同类型的混淆矩阵?

我有 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 和其他文档,但找不到具有最少代码的综合示例,这可以帮助我完成以下操作:-

  1. 形成一个混淆矩阵图(使用matplotlibSeaborn,其中显示每个类的实际样本数,旁边有 0 asClass A和 1 as 的名称标签Class B
  2. 绘制一个类似的混淆矩阵图,其中在混淆矩阵中显示每个类中的样本百分比(例如真阳性率、假阳性率等)。
  3. 绘制一个进一步的混淆矩阵,显示混淆矩阵,以及右侧显示样本数量的比例(像这样)https://scikit-learn.org/stable/_images/sphx_glr_plot_confusion_matrix_001.png。为规范化的情况形成类似的混淆矩阵,如https://scikit-learn.org/stable/_images/sphx_glr_plot_confusion_matrix_001.png

此外,正如问题中所述,目的是完成将 Class 0 标记为Class AClass 1 as Class B,因为目前这些仅显示为01,看起来不太连贯。我更喜欢用最少的代码来完成相同的工作,并生成连贯且美观的混淆矩阵图。高度赞赏这方面的任何帮助。

python matplotlib confusion-matrix scikit-learn seaborn

2
推荐指数
1
解决办法
6964
查看次数