TP1 2024
TP1 2024
TP1 2024
Semana 1: pontos 1, 2, 3 e 4.
Semana 2: pontos 5 e 6.
Cronograma de
Semana 3: pontos 7 e 8.
execução
Semana 4: pontos 9 a 11.
Semana 5: relatório.
Data de entrega Sábado 02/11/2024 - 23:59h
Formato de Entrega Código completo e Relatório: submeter no InforEstudante
- Avaliação contínua em cada de aula
Métodos de
- Avaliação do código e relatório
avaliação
- Defesa individual: 4/11/2024 a 08/11/2024
Adquirir sensibilidade para as questões fundamentais de
Objetivo teoria de informação, em particular entropia e informação
mútua, assim como as suas aplicações práticas.
Introdução
Para a execução do presente trabalho, é disponibilizado um conjunto de dados
relacionados com o consumo de combustível de diferentes modelos de carros. O
rendimento do combustível (MPG, miles per gallon) irá depender de diferentes
características como a aceleração do carro (Acceleration), o número de cilindros do
motor (Cylinders), o deslocamento ou volume de ar descarregado por curso do pistão
(Displacement), os cavalos de potência (Horsepower), o ano de fabrico (Model Year), e
o peso do carro (Weight). Toda esta informação é disponibilizada no ficheiro
CarDataset.xlsx, contendo dados para 407 modelos de carros.
Nota: para uma melhor execução do trabalho, os dados fornecidos no ficheiro excel
foram alterados em relação aos dados originais, disponibilizados pela University of
California, Irvine (https://archive.ics.uci.edu/dataset/9/auto+mpg).
1
T, TP: Professor Rui Pedro Paiva
PLs: Professores Ismael Jesus, Lorena Petrella, Rui Paiva
1. Carregar o conjunto de dados contido no ficheiro CarDataset.xlsx
import pandas as pd
data =
pd.read_excel(path+'CarDataset.xlsx')
varNames=data.columns.values.tolist()
2
T, TP: Professor Rui Pedro Paiva
PLs: Professores Ismael Jesus, Lorena Petrella, Rui Paiva
3. Definir um alfabeto apropriado para o conjunto de dados.
a. Converter os dados para o tipo uint16.
b. Definir o respetivo alfabeto.
3
T, TP: Professor Rui Pedro Paiva
PLs: Professores Ismael Jesus, Lorena Petrella, Rui Paiva
b. A escolha do símbolo mais representativo para cada intervalo, e que irá
substituir todos os elementos desse intervalo, deverá ser aquele com
maior número de ocorrências.
c. Uma vez feita a substituição, deverá repetir os pontos 4 e 5, para estas
três variáveis.
d. Para a variável Weight, deve considerar binning de 40 símbolos
consecutivos, começando pelo primeiro elemento do alfabeto. Este
parâmetro deverá ser inserido como variável de entrada da função.
e. Para as variáveis Displacement e Horsepower deverá considerar um
binning de 5 símbolos consecutivos, começando pelo primeiro elemento
do alfabeto.
7. Implemente uma função que permita realizar o cálculo do valor médio (teórico)
de bits por símbolo.
a. Aplicar o cálculo para cada uma das variáveis.
b. Aplicar o cálculo para o conjunto de dados completo.
c. Comentar os resultados.
8. Determine o número médio de bits por símbolo, para cada variável e para o
conjunto de dados completo, utilizando codificação de Huffman, com as
funções fornecidas em huffmancodec.py. Exemplo:
codec=huffc.HuffmanCodec.from_data(S)
symbols, lengths=codec.get_code_len()
4
T, TP: Professor Rui Pedro Paiva
PLs: Professores Ismael Jesus, Lorena Petrella, Rui Paiva
9. Calcular os coeficientes de correlação de Pearson entre a variável MPG e as
restantes variáveis.
a. Utilize a função corrcoef do Numpy.
10. Implemente uma função que permita o cálculo da informação mútua (MI) entre
a variável MPG e as restantes variáveis.
a. Para as variáveis Weight, Displacement e Horsepower considerar os
dados após o binning.
b. Comparar os resultados com os coeficientes de correlação obtidos
no ponto anterior.
11. Os valores de MPG podem ser estimados em função das restantes variáveis,
utilizando uma relação (simples) como a apresentada a seguir:
5
T, TP: Professor Rui Pedro Paiva
PLs: Professores Ismael Jesus, Lorena Petrella, Rui Paiva