Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

# -*- coding: utf-8 -*- 

""" 

@file 

@brief Jeux de données reliés aux vins. 

""" 

import os 

import pandas 

from numpy.random import permutation 

from .data_helper import get_data_folder 

 

 

__all__ = ['load_wines_dataset'] 

 

 

def load_wines_dataset(download=False, shuffle=False): 

""" 

Retourne le jeu de données 

`wines quality <https://archive.ics.uci.edu/ml/datasets/wine+quality>`_. 

Notebooks associés à ce jeu de données : 

 

.. runpython:: 

:rst: 

 

from papierstat.datasets.documentation import list_notebooks_rst_links 

links = list_notebooks_rst_links('lectures', 'wines') 

links = [' * %s' % s for s in links] 

print('\\n'.join(links)) 

 

@param download télécharge le jeu de données ou considères une copie en local. 

@param shuffle permute aléatoire les données (elles ne le sont pas) 

@return :epkg:`pandas:DataFrame` 

""" 

if download: 

url = "https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/" 

red = pandas.read_csv(url + "winequality-red.csv", sep=';') 

white = pandas.read_csv(url + "winequality-white.csv", sep=';') 

red['color'] = 'red' 

white['color'] = 'white' 

df = pandas.concat([red, white]) 

df.columns = [_.replace(' ', '_') for _ in df.columns] 

else: 

fold = get_data_folder() 

data = os.path.join(fold, 'wines-quality.csv') 

df = pandas.read_csv(data) 

if shuffle: 

df = df.reset_index(drop=True) 

ind = permutation(df.index) 

df = df.iloc[ind, :].reset_index(drop=True) 

return df 

 

 

def load_wine_dataset(download=False, shuffle=False): 

""" 

Retourne le jeu de données 

`wine quality <https://archive.ics.uci.edu/ml/datasets/wine>`_. 

Notebooks associés à ce jeu de données : 

 

.. runpython:: 

:rst: 

 

from papierstat.datasets.documentation import list_notebooks_rst_links 

links = list_notebooks_rst_links('encours', 'linreg') 

links = [' * %s' % s for s in links] 

print('\\n'.join(links)) 

 

@param download télécharge le jeu de données ou considères une copie en local. 

@param shuffle permute aléatoire les données (elles ne le sont pas) 

@return :epkg:`pandas:DataFrame` 

""" 

if download: 

url = "https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data" 

df = pandas.read_csv(url, header=None) 

else: 

fold = get_data_folder() 

data = os.path.join(fold, 'wine.data.txt') 

df = pandas.read_csv(data, header=None) 

s = "index Alcohol Malica_cid Ash Alcalinity_of_ash Magnesium Total_phenols Flavanoids" 

s += " Nonflavanoid_phenols Proanthocyanins Color_intensity Hue" 

s += " OD280_OD315_diluted_wine Proline" 

df.columns = s.split() 

if shuffle: 

df = df.reset_index(drop=True) 

ind = permutation(df.index) 

df = df.iloc[ind, :].reset_index(drop=True) 

return df