{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "Cad-POdXV7kC" }, "source": [ "## Data\n", "\n", "\n", "\n", "* dob: date of birth (Matlab serial date number)\n", "*photo_taken: year when the photo was taken\n", "*full_path: path to file\n", "*gender: 0 for female and 1 for male, NaN if unknown\n", "*name: name of the celebrity\n", "*face_location: location of the face. \n", "*face_score: detector score (the higher the better). Inf implies that no face was found in the image and the face_location then just returns the entire image\n", "*second_face_score: detector score of the face with the second highest score. This is useful to ignore images with more than one face. second_face_score is NaN if no second face was detected.\n", "*celeb_names (IMDB only): list of all celebrity names\n", "*celeb_id (IMDB only): index of celebrity name\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "N8p-PTdI34e4", "outputId": "e5290e36-00e0-48e9-ed7d-fb5b9d5dfec0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[['723671.0' '703186.0' '711677.0' ... '720620.0' '723893.0' '713846.0']\n", " ['2009.0' '1964.0' '2008.0' ... '2013.0' '2011.0' '2008.0']\n", " ['17/10000217_1981-05-05_2009.jpg' '48/10000548_1925-04-04_1964.jpg'\n", " '12/100012_1948-07-03_2008.jpg' ... '09/9998109_1972-12-27_2013.jpg'\n", " '00/9999400_1981-12-13_2011.jpg' '80/999980_1954-06-11_2008.jpg']\n", " ...\n", " [array(['Sami Jauhojärvi'], dtype='\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takenfull_pathgendernameface_scoresecond_face_score
0723671.02009.017/10000217_1981-05-05_2009.jpg1.0[Sami Jauhojärvi]4.300962NaN
1703186.01964.048/10000548_1925-04-04_1964.jpg1.0[Dettmar Cramer]2.6456391.949248
2711677.02008.012/100012_1948-07-03_2008.jpg1.0[Marc Okrand]4.329329NaN
3705061.01961.065/10001965_1930-05-23_1961.jpg1.0[Aleksandar Matanović]-infNaN
4720044.02012.016/10002116_1971-05-31_2012.jpg0.0[Diana Damrau]3.408442NaN
........................
62323707582.01963.049/9996949_1937-04-17_1963.jpg1.0[Guus Haak]4.029268NaN
62324711338.01970.032/9997032_1947-07-30_1970.jpg1.0[Nico Rijnders]-infNaN
62325720620.02013.009/9998109_1972-12-27_2013.jpg1.0[Michael Wiesinger]3.494303NaN
62326723893.02011.000/9999400_1981-12-13_2011.jpg1.0[Johann Grugger]-infNaN
62327713846.02008.080/999980_1954-06-11_2008.jpg0.0[Greta Van Susteren]5.486917NaN
\n", "

62328 rows × 7 columns

\n", "" ], "text/plain": [ " dob photo_taken full_path gender \\\n", "0 723671.0 2009.0 17/10000217_1981-05-05_2009.jpg 1.0 \n", "1 703186.0 1964.0 48/10000548_1925-04-04_1964.jpg 1.0 \n", "2 711677.0 2008.0 12/100012_1948-07-03_2008.jpg 1.0 \n", "3 705061.0 1961.0 65/10001965_1930-05-23_1961.jpg 1.0 \n", "4 720044.0 2012.0 16/10002116_1971-05-31_2012.jpg 0.0 \n", "... ... ... ... ... \n", "62323 707582.0 1963.0 49/9996949_1937-04-17_1963.jpg 1.0 \n", "62324 711338.0 1970.0 32/9997032_1947-07-30_1970.jpg 1.0 \n", "62325 720620.0 2013.0 09/9998109_1972-12-27_2013.jpg 1.0 \n", "62326 723893.0 2011.0 00/9999400_1981-12-13_2011.jpg 1.0 \n", "62327 713846.0 2008.0 80/999980_1954-06-11_2008.jpg 0.0 \n", "\n", " name face_score second_face_score \n", "0 [Sami Jauhojärvi] 4.300962 NaN \n", "1 [Dettmar Cramer] 2.645639 1.949248 \n", "2 [Marc Okrand] 4.329329 NaN \n", "3 [Aleksandar Matanović] -inf NaN \n", "4 [Diana Damrau] 3.408442 NaN \n", "... ... ... ... \n", "62323 [Guus Haak] 4.029268 NaN \n", "62324 [Nico Rijnders] -inf NaN \n", "62325 [Michael Wiesinger] 3.494303 NaN \n", "62326 [Johann Grugger] -inf NaN \n", "62327 [Greta Van Susteren] 5.486917 NaN \n", "\n", "[62328 rows x 7 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "df_fields = ('dob', 'photo_taken', 'full_path', 'gender', 'name', \n", " 'face_score', 'second_face_score')\n", "\n", "df = pd.DataFrame(data).transpose()\n", "df.columns = df_fields\n", "df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dob 0\n", "photo_taken 0\n", "full_path 0\n", "gender 0\n", "name 0\n", "face_score 0\n", "second_face_score 58232\n", "dtype: int64" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takenfull_pathgendernameface_scoresecond_face_score
34976718907.02008.033/3553733_1968-04-19_2008.jpg1.0[Shai Agassi]7.081268NaN
9398725093.02014.011/44164711_1985-03-27_2014.jpg0.0[Yuliya Biryukova]7.031374NaN
34168726540.02011.081/14584481_1989-03-13_2011.jpg1.0[Robert Wickens]7.019926NaN
32782724750.02010.077/1254277_1984-04-18_2010.jpg0.0[America Ferrera]7.010399NaN
26105729769.02010.001/41464801_1998-01-14_2010.jpgnan[Nick Romeo Reimann]6.954115NaN
........................
22717723673.01980.088/2638488_1981-05-07_1980.jpg1.0[Guillaume Lefebvre]-infNaN
22718700991.01941.011/26385011_1919-04-01_1941.jpg1.0[James MacLachlan]-infNaN
22719702955.01953.087/26386187_1924-08-16_1953.jpg0.0[Inez Voyce]-infNaN
3228727410.02014.036/44053236_1991-07-31_2014.jpg1.0[Keith Reaser]-infNaN
31164697115.01950.095/4947095_1908-08-20_1950.jpg0.0[Ursula Mommens]-infNaN
\n", "

62328 rows × 7 columns

\n", "
" ], "text/plain": [ " dob photo_taken full_path gender \\\n", "34976 718907.0 2008.0 33/3553733_1968-04-19_2008.jpg 1.0 \n", "9398 725093.0 2014.0 11/44164711_1985-03-27_2014.jpg 0.0 \n", "34168 726540.0 2011.0 81/14584481_1989-03-13_2011.jpg 1.0 \n", "32782 724750.0 2010.0 77/1254277_1984-04-18_2010.jpg 0.0 \n", "26105 729769.0 2010.0 01/41464801_1998-01-14_2010.jpg nan \n", "... ... ... ... ... \n", "22717 723673.0 1980.0 88/2638488_1981-05-07_1980.jpg 1.0 \n", "22718 700991.0 1941.0 11/26385011_1919-04-01_1941.jpg 1.0 \n", "22719 702955.0 1953.0 87/26386187_1924-08-16_1953.jpg 0.0 \n", "3228 727410.0 2014.0 36/44053236_1991-07-31_2014.jpg 1.0 \n", "31164 697115.0 1950.0 95/4947095_1908-08-20_1950.jpg 0.0 \n", "\n", " name face_score second_face_score \n", "34976 [Shai Agassi] 7.081268 NaN \n", "9398 [Yuliya Biryukova] 7.031374 NaN \n", "34168 [Robert Wickens] 7.019926 NaN \n", "32782 [America Ferrera] 7.010399 NaN \n", "26105 [Nick Romeo Reimann] 6.954115 NaN \n", "... ... ... ... \n", "22717 [Guillaume Lefebvre] -inf NaN \n", "22718 [James MacLachlan] -inf NaN \n", "22719 [Inez Voyce] -inf NaN \n", "3228 [Keith Reaser] -inf NaN \n", "31164 [Ursula Mommens] -inf NaN \n", "\n", "[62328 rows x 7 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_values(by=['face_score'], ascending=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Data cleaning" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takenfull_pathgendernameface_scoresecond_face_score
0723671.02009.017/10000217_1981-05-05_2009.jpg1.0[Sami Jauhojärvi]4.300962NaN
1703186.01964.048/10000548_1925-04-04_1964.jpg1.0[Dettmar Cramer]2.6456391.949248
2711677.02008.012/100012_1948-07-03_2008.jpg1.0[Marc Okrand]4.329329NaN
4720044.02012.016/10002116_1971-05-31_2012.jpg0.0[Diana Damrau]3.408442NaN
5716189.02012.002/10002702_1960-11-09_2012.jpg0.0[Krista Tippett]4.748056NaN
........................
62321707521.01968.038/9996938_1937-02-15_1968.jpg1.0[Coen Moulijn]3.868307NaN
62322709971.01968.046/9996946_1943-11-01_1968.jpg1.0[Theo van Duivenbode]3.735573NaN
62323707582.01963.049/9996949_1937-04-17_1963.jpg1.0[Guus Haak]4.029268NaN
62325720620.02013.009/9998109_1972-12-27_2013.jpg1.0[Michael Wiesinger]3.494303NaN
62327713846.02008.080/999980_1954-06-11_2008.jpg0.0[Greta Van Susteren]5.486917NaN
\n", "

44312 rows × 7 columns

\n", "
" ], "text/plain": [ " dob photo_taken full_path gender \\\n", "0 723671.0 2009.0 17/10000217_1981-05-05_2009.jpg 1.0 \n", "1 703186.0 1964.0 48/10000548_1925-04-04_1964.jpg 1.0 \n", "2 711677.0 2008.0 12/100012_1948-07-03_2008.jpg 1.0 \n", "4 720044.0 2012.0 16/10002116_1971-05-31_2012.jpg 0.0 \n", "5 716189.0 2012.0 02/10002702_1960-11-09_2012.jpg 0.0 \n", "... ... ... ... ... \n", "62321 707521.0 1968.0 38/9996938_1937-02-15_1968.jpg 1.0 \n", "62322 709971.0 1968.0 46/9996946_1943-11-01_1968.jpg 1.0 \n", "62323 707582.0 1963.0 49/9996949_1937-04-17_1963.jpg 1.0 \n", "62325 720620.0 2013.0 09/9998109_1972-12-27_2013.jpg 1.0 \n", "62327 713846.0 2008.0 80/999980_1954-06-11_2008.jpg 0.0 \n", "\n", " name face_score second_face_score \n", "0 [Sami Jauhojärvi] 4.300962 NaN \n", "1 [Dettmar Cramer] 2.645639 1.949248 \n", "2 [Marc Okrand] 4.329329 NaN \n", "4 [Diana Damrau] 3.408442 NaN \n", "5 [Krista Tippett] 4.748056 NaN \n", "... ... ... ... \n", "62321 [Coen Moulijn] 3.868307 NaN \n", "62322 [Theo van Duivenbode] 3.735573 NaN \n", "62323 [Guus Haak] 4.029268 NaN \n", "62325 [Michael Wiesinger] 3.494303 NaN \n", "62327 [Greta Van Susteren] 5.486917 NaN \n", "\n", "[44312 rows x 7 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "numeric_fields = [\"dob\", \"photo_taken\", \"gender\", \"face_score\", \"second_face_score\"]\n", "\n", "df[numeric_fields] = df[numeric_fields].apply(pd.to_numeric, errors='coerce')\n", "df = df[df['face_score'] != -np.inf]\n", "df" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dob 0\n", "photo_taken 0\n", "full_path 0\n", "gender 860\n", "name 0\n", "face_score 0\n", "second_face_score 40216\n", "dtype: int64" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.isnull().sum()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takengenderface_scoresecond_face_score
count44312.00000044312.00000043452.00000044312.0000004096.000000
mean717027.7678962001.0057550.7514043.2191572.009050
std10039.64879919.8130710.4322041.2446760.981277
min4077.0000001940.0000000.0000000.7314300.731419
25%710828.0000002005.0000001.0000002.2650311.164925
50%719640.5000002010.0000001.0000003.2374641.839065
75%724816.0000002012.0000001.0000004.1531912.655757
max735650.0000002015.0000001.0000007.0812685.463147
\n", "
" ], "text/plain": [ " dob photo_taken gender face_score \\\n", "count 44312.000000 44312.000000 43452.000000 44312.000000 \n", "mean 717027.767896 2001.005755 0.751404 3.219157 \n", "std 10039.648799 19.813071 0.432204 1.244676 \n", "min 4077.000000 1940.000000 0.000000 0.731430 \n", "25% 710828.000000 2005.000000 1.000000 2.265031 \n", "50% 719640.500000 2010.000000 1.000000 3.237464 \n", "75% 724816.000000 2012.000000 1.000000 4.153191 \n", "max 735650.000000 2015.000000 1.000000 7.081268 \n", "\n", " second_face_score \n", "count 4096.000000 \n", "mean 2.009050 \n", "std 0.981277 \n", "min 0.731419 \n", "25% 1.164925 \n", "50% 1.839065 \n", "75% 2.655757 \n", "max 5.463147 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takenfull_pathgendernameface_scoresecond_face_score
34976718907.02008.033/3553733_1968-04-19_2008.jpg1.0[Shai Agassi]7.081268NaN
9398725093.02014.011/44164711_1985-03-27_2014.jpg0.0[Yuliya Biryukova]7.031374NaN
34168726540.02011.081/14584481_1989-03-13_2011.jpg1.0[Robert Wickens]7.019926NaN
32782724750.02010.077/1254277_1984-04-18_2010.jpg0.0[America Ferrera]7.010399NaN
26105729769.02010.001/41464801_1998-01-14_2010.jpgNaN[Nick Romeo Reimann]6.954115NaN
........................
1548719344.02006.098/22035798_1969-06-30_2006.jpg0.0[Stacy Head]0.731882NaN
13904708344.02007.096/222096_1939-05-19_2007.jpg1.0[Sonny Fortune]0.731840NaN
17366728244.02013.011/37233711_1993-11-11_2013.jpg1.0[David Vranković]0.731580NaN
32436686581.01953.029/41516229_1879-10-17_1953.jpg1.0[Harumichi Tanabe]0.731468NaN
41955728203.02012.002/36670502_1993-10-01_2012.jpg1.0[Teklit Teweldebrhan]0.731430NaN
\n", "

44312 rows × 7 columns

\n", "
" ], "text/plain": [ " dob photo_taken full_path gender \\\n", "34976 718907.0 2008.0 33/3553733_1968-04-19_2008.jpg 1.0 \n", "9398 725093.0 2014.0 11/44164711_1985-03-27_2014.jpg 0.0 \n", "34168 726540.0 2011.0 81/14584481_1989-03-13_2011.jpg 1.0 \n", "32782 724750.0 2010.0 77/1254277_1984-04-18_2010.jpg 0.0 \n", "26105 729769.0 2010.0 01/41464801_1998-01-14_2010.jpg NaN \n", "... ... ... ... ... \n", "1548 719344.0 2006.0 98/22035798_1969-06-30_2006.jpg 0.0 \n", "13904 708344.0 2007.0 96/222096_1939-05-19_2007.jpg 1.0 \n", "17366 728244.0 2013.0 11/37233711_1993-11-11_2013.jpg 1.0 \n", "32436 686581.0 1953.0 29/41516229_1879-10-17_1953.jpg 1.0 \n", "41955 728203.0 2012.0 02/36670502_1993-10-01_2012.jpg 1.0 \n", "\n", " name face_score second_face_score \n", "34976 [Shai Agassi] 7.081268 NaN \n", "9398 [Yuliya Biryukova] 7.031374 NaN \n", "34168 [Robert Wickens] 7.019926 NaN \n", "32782 [America Ferrera] 7.010399 NaN \n", "26105 [Nick Romeo Reimann] 6.954115 NaN \n", "... ... ... ... \n", "1548 [Stacy Head] 0.731882 NaN \n", "13904 [Sonny Fortune] 0.731840 NaN \n", "17366 [David Vranković] 0.731580 NaN \n", "32436 [Harumichi Tanabe] 0.731468 NaN \n", "41955 [Teklit Teweldebrhan] 0.731430 NaN \n", "\n", "[44312 rows x 7 columns]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_values(by=['face_score'], ascending=False)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([3494., 5046., 6489., 7536., 7897., 6722., 4596., 2019., 467.,\n", " 46.]),\n", " array([0.73143021, 1.36641401, 2.00139781, 2.63638161, 3.27136541,\n", " 3.90634921, 4.54133301, 5.17631681, 5.81130062, 6.44628442,\n", " 7.08126822]),\n", " )" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "plt.hist(df['face_score'])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takenfull_pathgendernameface_scoresecond_face_score
34976718907.02008.033/3553733_1968-04-19_2008.jpg1.0[Shai Agassi]7.081268NaN
9398725093.02014.011/44164711_1985-03-27_2014.jpg0.0[Yuliya Biryukova]7.031374NaN
34168726540.02011.081/14584481_1989-03-13_2011.jpg1.0[Robert Wickens]7.019926NaN
32782724750.02010.077/1254277_1984-04-18_2010.jpg0.0[America Ferrera]7.010399NaN
26105729769.02010.001/41464801_1998-01-14_2010.jpgNaN[Nick Romeo Reimann]6.954115NaN
........................
33737714990.02011.082/33530382_1957-07-29_2011.jpg0.0[Ginni Rometty]5.501967NaN
32434709835.01967.077/4151577_1943-06-18_1967.jpg1.0[Barry Evans]5.501797NaN
2856718531.02007.008/2400008_1967-04-09_2007.jpg1.0[Sam Harris]5.501653NaN
20113723757.02009.096/1237996_1981-07-30_2009.jpg1.0[Nicky Hayden]5.501266NaN
13913718497.02013.066/2221466_1967-03-06_2013.jpg0.0[Connie Britton]5.500201NaN
\n", "

1217 rows × 7 columns

\n", "
" ], "text/plain": [ " dob photo_taken full_path gender \\\n", "34976 718907.0 2008.0 33/3553733_1968-04-19_2008.jpg 1.0 \n", "9398 725093.0 2014.0 11/44164711_1985-03-27_2014.jpg 0.0 \n", "34168 726540.0 2011.0 81/14584481_1989-03-13_2011.jpg 1.0 \n", "32782 724750.0 2010.0 77/1254277_1984-04-18_2010.jpg 0.0 \n", "26105 729769.0 2010.0 01/41464801_1998-01-14_2010.jpg NaN \n", "... ... ... ... ... \n", "33737 714990.0 2011.0 82/33530382_1957-07-29_2011.jpg 0.0 \n", "32434 709835.0 1967.0 77/4151577_1943-06-18_1967.jpg 1.0 \n", "2856 718531.0 2007.0 08/2400008_1967-04-09_2007.jpg 1.0 \n", "20113 723757.0 2009.0 96/1237996_1981-07-30_2009.jpg 1.0 \n", "13913 718497.0 2013.0 66/2221466_1967-03-06_2013.jpg 0.0 \n", "\n", " name face_score second_face_score \n", "34976 [Shai Agassi] 7.081268 NaN \n", "9398 [Yuliya Biryukova] 7.031374 NaN \n", "34168 [Robert Wickens] 7.019926 NaN \n", "32782 [America Ferrera] 7.010399 NaN \n", "26105 [Nick Romeo Reimann] 6.954115 NaN \n", "... ... ... ... \n", "33737 [Ginni Rometty] 5.501967 NaN \n", "32434 [Barry Evans] 5.501797 NaN \n", "2856 [Sam Harris] 5.501653 NaN \n", "20113 [Nicky Hayden] 5.501266 NaN \n", "13913 [Connie Britton] 5.500201 NaN \n", "\n", "[1217 rows x 7 columns]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = df[df['face_score'] > 5.5] \n", "df.sort_values(by=['face_score'], ascending=False)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([540., 0., 0., 0., 0., 0., 0., 0., 0., 644.]),\n", " array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]),\n", " )" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(df['gender'])" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([ 9., 12., 23., 33., 52., 81., 137., 310., 498., 62.]),\n", " array([690514. , 694698.1, 698882.2, 703066.3, 707250.4, 711434.5,\n", " 715618.6, 719802.7, 723986.8, 728170.9, 732355. ]),\n", " )" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(df['dob'])" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/var/folders/z4/94ds6m155c3bmc0n3cj83tlh0000gn/T/ipykernel_64311/888538507.py:3: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " df[\"dob\"] = df[\"dob\"].apply(lambda matlab_datenum: datetime.fromordinal(int(matlab_datenum)) + timedelta(days=matlab_datenum%1) - timedelta(days = 366))\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takenfull_pathgendernameface_scoresecond_face_scoredate_of_birth
111933-06-121969.056/1000456_1933-06-12_1969.jpg1.0[Eddie Adams]5.551841NaN1933-06-12
321968-10-112010.095/10014795_1968-10-11_2010.jpg1.0[Chandrachur Singh]5.837994NaN1968-10-11
331977-03-012007.079/10015679_1977-03-01_2007.jpg1.0[Maksim Buznikin]5.640263NaN1977-03-01
2151986-05-192012.006/20013406_1986-05-19_2012.jpg1.0[Facundo Pieres]5.538994NaN1986-05-19
2731972-10-222008.090/2005290_1972-10-22_2008.jpg0.0[Saffron Burrows]6.182738NaN1972-10-22
...........................
621051995-02-152013.076/39937376_1995-02-15_2013.jpg0.0[Sara Däbritz]5.611729NaN1995-02-15
621691975-08-022014.001/39990201_1975-08-02_2014.jpg1.0[Nicholas M. Loeb]5.953358NaN1975-08-02
622261982-05-092012.093/599593_1982-05-09_2012.jpg0.0[Rachel Boston]5.822911NaN1982-05-09
622331949-05-202010.038/599838_1949-05-20_2010.jpg1.0[Dave Thomas]5.7397233.3279861949-05-20
623051992-03-132013.002/9994102_1992-03-13_2013.jpg1.0[George MacKay]5.978161NaN1992-03-13
\n", "

1217 rows × 8 columns

\n", "
" ], "text/plain": [ " dob photo_taken full_path gender \\\n", "11 1933-06-12 1969.0 56/1000456_1933-06-12_1969.jpg 1.0 \n", "32 1968-10-11 2010.0 95/10014795_1968-10-11_2010.jpg 1.0 \n", "33 1977-03-01 2007.0 79/10015679_1977-03-01_2007.jpg 1.0 \n", "215 1986-05-19 2012.0 06/20013406_1986-05-19_2012.jpg 1.0 \n", "273 1972-10-22 2008.0 90/2005290_1972-10-22_2008.jpg 0.0 \n", "... ... ... ... ... \n", "62105 1995-02-15 2013.0 76/39937376_1995-02-15_2013.jpg 0.0 \n", "62169 1975-08-02 2014.0 01/39990201_1975-08-02_2014.jpg 1.0 \n", "62226 1982-05-09 2012.0 93/599593_1982-05-09_2012.jpg 0.0 \n", "62233 1949-05-20 2010.0 38/599838_1949-05-20_2010.jpg 1.0 \n", "62305 1992-03-13 2013.0 02/9994102_1992-03-13_2013.jpg 1.0 \n", "\n", " name face_score second_face_score date_of_birth \n", "11 [Eddie Adams] 5.551841 NaN 1933-06-12 \n", "32 [Chandrachur Singh] 5.837994 NaN 1968-10-11 \n", "33 [Maksim Buznikin] 5.640263 NaN 1977-03-01 \n", "215 [Facundo Pieres] 5.538994 NaN 1986-05-19 \n", "273 [Saffron Burrows] 6.182738 NaN 1972-10-22 \n", "... ... ... ... ... \n", "62105 [Sara Däbritz] 5.611729 NaN 1995-02-15 \n", "62169 [Nicholas M. Loeb] 5.953358 NaN 1975-08-02 \n", "62226 [Rachel Boston] 5.822911 NaN 1982-05-09 \n", "62233 [Dave Thomas] 5.739723 3.327986 1949-05-20 \n", "62305 [George MacKay] 5.978161 NaN 1992-03-13 \n", "\n", "[1217 rows x 8 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from datetime import datetime, timedelta\n", "\n", "df[\"dob\"] = df[\"dob\"].apply(lambda matlab_datenum: datetime.fromordinal(int(matlab_datenum)) + timedelta(days=matlab_datenum%1) - timedelta(days = 366))\n", "df" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/var/folders/z4/94ds6m155c3bmc0n3cj83tlh0000gn/T/ipykernel_64311/1048137830.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", " df[\"age\"] = df.apply(lambda x: x.photo_taken - x.dob.year, axis=1)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
dobphoto_takenfull_pathgendernameface_scoresecond_face_scoredate_of_birthage
111933-06-121969.056/1000456_1933-06-12_1969.jpg1.0[Eddie Adams]5.551841NaN1933-06-1236.0
321968-10-112010.095/10014795_1968-10-11_2010.jpg1.0[Chandrachur Singh]5.837994NaN1968-10-1142.0
331977-03-012007.079/10015679_1977-03-01_2007.jpg1.0[Maksim Buznikin]5.640263NaN1977-03-0130.0
2151986-05-192012.006/20013406_1986-05-19_2012.jpg1.0[Facundo Pieres]5.538994NaN1986-05-1926.0
2731972-10-222008.090/2005290_1972-10-22_2008.jpg0.0[Saffron Burrows]6.182738NaN1972-10-2236.0
..............................
621051995-02-152013.076/39937376_1995-02-15_2013.jpg0.0[Sara Däbritz]5.611729NaN1995-02-1518.0
621691975-08-022014.001/39990201_1975-08-02_2014.jpg1.0[Nicholas M. Loeb]5.953358NaN1975-08-0239.0
622261982-05-092012.093/599593_1982-05-09_2012.jpg0.0[Rachel Boston]5.822911NaN1982-05-0930.0
622331949-05-202010.038/599838_1949-05-20_2010.jpg1.0[Dave Thomas]5.7397233.3279861949-05-2061.0
623051992-03-132013.002/9994102_1992-03-13_2013.jpg1.0[George MacKay]5.978161NaN1992-03-1321.0
\n", "

1217 rows × 9 columns

\n", "
" ], "text/plain": [ " dob photo_taken full_path gender \\\n", "11 1933-06-12 1969.0 56/1000456_1933-06-12_1969.jpg 1.0 \n", "32 1968-10-11 2010.0 95/10014795_1968-10-11_2010.jpg 1.0 \n", "33 1977-03-01 2007.0 79/10015679_1977-03-01_2007.jpg 1.0 \n", "215 1986-05-19 2012.0 06/20013406_1986-05-19_2012.jpg 1.0 \n", "273 1972-10-22 2008.0 90/2005290_1972-10-22_2008.jpg 0.0 \n", "... ... ... ... ... \n", "62105 1995-02-15 2013.0 76/39937376_1995-02-15_2013.jpg 0.0 \n", "62169 1975-08-02 2014.0 01/39990201_1975-08-02_2014.jpg 1.0 \n", "62226 1982-05-09 2012.0 93/599593_1982-05-09_2012.jpg 0.0 \n", "62233 1949-05-20 2010.0 38/599838_1949-05-20_2010.jpg 1.0 \n", "62305 1992-03-13 2013.0 02/9994102_1992-03-13_2013.jpg 1.0 \n", "\n", " name face_score second_face_score date_of_birth age \n", "11 [Eddie Adams] 5.551841 NaN 1933-06-12 36.0 \n", "32 [Chandrachur Singh] 5.837994 NaN 1968-10-11 42.0 \n", "33 [Maksim Buznikin] 5.640263 NaN 1977-03-01 30.0 \n", "215 [Facundo Pieres] 5.538994 NaN 1986-05-19 26.0 \n", "273 [Saffron Burrows] 6.182738 NaN 1972-10-22 36.0 \n", "... ... ... ... ... ... \n", "62105 [Sara Däbritz] 5.611729 NaN 1995-02-15 18.0 \n", "62169 [Nicholas M. Loeb] 5.953358 NaN 1975-08-02 39.0 \n", "62226 [Rachel Boston] 5.822911 NaN 1982-05-09 30.0 \n", "62233 [Dave Thomas] 5.739723 3.327986 1949-05-20 61.0 \n", "62305 [George MacKay] 5.978161 NaN 1992-03-13 21.0 \n", "\n", "[1217 rows x 9 columns]" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"age\"] = df.apply(lambda x: x.photo_taken - x.dob.year, axis=1)\n", "df" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "df.to_csv(\"./datasets/wiki_faces.csv\")" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "import os, shutil\n", "\n", "for index, row in df.iterrows():\n", " original = \"./datasets/wiki_crop/\" + row[\"full_path\"]\n", " target = \"./datasets/faces/\" + row[\"full_path\"]\n", " os.makedirs(os.path.dirname(target), exist_ok=True)\n", " shutil.copyfile(original, target)" ] } ], "metadata": { "colab": { "authorship_tag": "ABX9TyP3QrLYzuRpaXcYfFN083H1", "include_colab_link": true, "name": "FnV - Experiment.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.2" } }, "nbformat": 4, "nbformat_minor": 4 }