반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

bro's coding

sklearn.datasets.fetch_lfw_people 본문

[AI]/python.sklearn

sklearn.datasets.fetch_lfw_people

givemebro 2020. 4. 22. 11:33
반응형
people=fetch_lfw_people(min_faces_per_person=20,resize=0.7)

 

dir(people)
people.target_names
array(['Alejandro Toledo', 'Alvaro Uribe', 'Amelie Mauresmo',
       'Andre Agassi', 'Angelina Jolie', 'Ariel Sharon',
       'Arnold Schwarzenegger', 'Atal Bihari Vajpayee', 'Bill Clinton',
       'Carlos Menem', 'Colin Powell', 'David Beckham', 'Donald Rumsfeld',
       'George Robertson', 'George W Bush', 'Gerhard Schroeder',
       'Gloria Macapagal Arroyo', 'Gray Davis', 'Guillermo Coria',
       'Hamid Karzai', 'Hans Blix', 'Hugo Chavez', 'Igor Ivanov',
       'Jack Straw', 'Jacques Chirac', 'Jean Chretien',
       'Jennifer Aniston', 'Jennifer Capriati', 'Jennifer Lopez',
       'Jeremy Greenstock', 'Jiang Zemin', 'John Ashcroft',
       'John Negroponte', 'Jose Maria Aznar', 'Juan Carlos Ferrero',
       'Junichiro Koizumi', 'Kofi Annan', 'Laura Bush',
       'Lindsay Davenport', 'Lleyton Hewitt', 'Luiz Inacio Lula da Silva',
       'Mahmoud Abbas', 'Megawati Sukarnoputri', 'Michael Bloomberg',
       'Naomi Watts', 'Nestor Kirchner', 'Paul Bremer', 'Pete Sampras',
       'Recep Tayyip Erdogan', 'Ricardo Lagos', 'Roh Moo-hyun',
       'Rudolph Giuliani', 'Saddam Hussein', 'Serena Williams',
       'Silvio Berlusconi', 'Tiger Woods', 'Tom Daschle', 'Tom Ridge',
       'Tony Blair', 'Vicente Fox', 'Vladimir Putin', 'Winona Ryder'],
      dtype='<U25')

 

import matplotlib.pyplot as plt

plt.figure(figsize=[15,15])
for i in range(20):
    plt.subplot(4,5,i+1)
    plt.title(people.target_names[people.target[i]]+'('+str(people.target[i])+')')
    plt.imshow(people.images[i],cmap='gray')
    plt.axis('off')

 

 

import numpy as np
for i,(name,count) in enumerate(zip(people.target_names,np.bincount(people.target))):
    print('%02d %-30s %3d'%(i,name,count))
    
'''
for i in range(people.target_names.shape[0]):
    print('%02d %-30s %3d'%(i,people.target_names[i],len(people.target[people.target==i])))    
'''
00 Alejandro Toledo                39
01 Alvaro Uribe                    35
02 Amelie Mauresmo                 21
03 Andre Agassi                    36
04 Angelina Jolie                  20
05 Ariel Sharon                    77
06 Arnold Schwarzenegger           42
07 Atal Bihari Vajpayee            24
08 Bill Clinton                    29
09 Carlos Menem                    21
10 Colin Powell                   236
11 David Beckham                   31
12 Donald Rumsfeld                121
13 George Robertson                22
14 George W Bush                  530
15 Gerhard Schroeder              109
16 Gloria Macapagal Arroyo         44
17 Gray Davis                      26
18 Guillermo Coria                 30
19 Hamid Karzai                    22
20 Hans Blix                       39
21 Hugo Chavez                     71
22 Igor Ivanov                     20
23 Jack Straw                      28
24 Jacques Chirac                  52
25 Jean Chretien                   55
26 Jennifer Aniston                21
27 Jennifer Capriati               42
28 Jennifer Lopez                  21
29 Jeremy Greenstock               24
30 Jiang Zemin                     20
31 John Ashcroft                   53
32 John Negroponte                 31
33 Jose Maria Aznar                23
34 Juan Carlos Ferrero             28
35 Junichiro Koizumi               60
36 Kofi Annan                      32
37 Laura Bush                      41
38 Lindsay Davenport               22
39 Lleyton Hewitt                  41
40 Luiz Inacio Lula da Silva       48
41 Mahmoud Abbas                   29
42 Megawati Sukarnoputri           33
43 Michael Bloomberg               20
44 Naomi Watts                     22
45 Nestor Kirchner                 37
46 Paul Bremer                     20
47 Pete Sampras                    22
48 Recep Tayyip Erdogan            30
49 Ricardo Lagos                   27
50 Roh Moo-hyun                    32
51 Rudolph Giuliani                26
52 Saddam Hussein                  23
53 Serena Williams                 52
54 Silvio Berlusconi               33
55 Tiger Woods                     23
56 Tom Daschle                     25
57 Tom Ridge                       33
58 Tony Blair                     144
59 Vicente Fox                     32
60 Vladimir Putin                  49
61 Winona Ryder                    24

 

mask=np.zeros(len(people.target),dtype=bool)
mask.shape

# 사람당 50개의 사진만 뽑는 방법
for i in np.unique(people.target):
    mask[np.where(people.target==i)[0][:50]]=True
    
mask

array([ True,  True,  True, ..., False, False, False])
반응형
Comments