小编ame*_*ian的帖子

如何使用 seaborn 绘制堆积 100% 条形图以获取分类数据

我有一个如下所示的数据集(假设 中有 4 个类别Clickedhead(10)仅显示 2 个类别):

    Rank Clicked
0   2.0 Cat4
1   2.0 Cat4
2   2.0 Cat4
3   1.0 Cat1
4   1.0 Cat4
5   2.0 Cat4
6   2.0 Cat4
7   3.0 Cat4
8   5.0 Cat4
9   5.0 Cat4
Run Code Online (Sandbox Code Playgroud)

这是返回该图的代码:

eee = (df.groupby(['Rank','Clicked'])['Clicked'].count()/df.groupby(['Rank'])['Clicked'].count())
eee.unstack().plot.bar(stacked=True)
plt.legend(['Cat1','Cat2','Cat3','Cat4'])
plt.xlabel('Rank')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有没有办法用seaborn(或matplotlib)而不是pandas绘图功能来实现这一点?我尝试了几种方法,包括运行seaborn代码和预处理数据集以使其格式正确,但没有成功。

python plot matplotlib pandas seaborn

9
推荐指数
2
解决办法
7117
查看次数

GroupSplitShuffle 和 GroupKFolds 之间的区别

正如标题所说,我想知道sklearnGroupKFoldGroupShuffleSplit.

两者都针对具有组 ID 的数据进行训练-测试分割,因此组不会在分割中分离。我检查了每个函数的一个训练/测试集,它们看起来都做了很好的分层,但如果有人可以确认所有分割都这样做,那就太好了。

我对两者进行了 10 次分割测试:

gss = GroupShuffleSplit(n_splits=10, train_size=0.8, random_state=42)

 

for train_idx, test_idx in gss.split(X,y,groups):

    print("train:", train_idx, "test:", test_idx)

train: [ 1  2  3  4  5 11 12 13 14 15 16 17 19 20] test: [ 0  6  7  8  9 10 18]

train: [ 1  2  3  4  5  6  7  8  9 10 12 13 14 18 19 20] test: [ 0 11 15 16 17]

train: [ 0  1  3 …
Run Code Online (Sandbox Code Playgroud)

python split scikit-learn cross-validation k-fold

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