Отбор проб с пандами - PullRequest
0 голосов
/ 24 апреля 2018
vsample_data = credit_card.sample(n=520, replace='False')

print(vsample_data)

Здесь я пытался выбрать 520 точек данных из набора данных, но не смог получить правильные данные выборки, так что существует равная вероятность наличия двух классов из набора данных о мошенничестве с кредитными картами, то есть класса 0 (не Мошенничество) и Class-1 (Мошенничество).

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

Создание мошенничества Dataframe

Я буду использовать 10% вероятности случаев мошенничества:

data = pd.DataFrame({'val':[random.randint(0,1000) for _ in range(1000)], 
                 'fraud':list(np.random.binomial(1, 0.1, 1000))})
data.head(10)

[вне]

fraud   val
0   0   359
1   0   731
2   0   146
3   0   975
4   0   295
5   0   467
6   0   366
7   1   69
8   0   18
9   0   297

Случаи мошенничества должны быть передискретизированы в 9 раз по сравнению с случаями без мошенничества.

data['weights'] = data.fraud * 9
data['weights'] += 1

Взвешенные образцы

spl = data.sample(100,weights=data.weights)
sum(spl.fraud)

[вне]

45

Случаи мошенничества составляют около 50% от общего числа образцов.

0 голосов
/ 24 апреля 2018
d = {'actions': [1, 2, 1, 6, 4], 'fraud': [True, False, True, True, False]}
df = pd.DataFrame(data=d)
print (pd.concat([frauds.sample(n = 1, replace = 'False'), normal.sample(n = 1, replace = 'False')]))
...