You are on page 1of 2

1ο ΤΕΣΤ ΜΗΧΑΝΙΚΗ ΜΑΘΗΣΗ

24.11.2022, 5-8μμ
ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ
Διδάσκων: Δ. Κάβουρας

I)Γραπτή εξέταση (βαθμός x 0.3)


Σε μία μελέτη πραγματοποιήθηκαν μετρήσεις μίας παραμέτρου σε 5 ασθενείς πριν και μετά την χορήγηση θεραπείας ως
ακολούθως:
Πριν την θεραπεία : a1, a2, a3, a4, a5
Μετά την θεραπεία: a1, a2, a3, a4, a5
Ζητείται να ευρεθεί αν η θεραπεία είναι αποτελεσματική, θεωρώντας κανονική κατανομή όλων των δεδομένων
(Οι τιμές καθενός ευρίσκονται στο xlxs αρχείο 1st_test_ML_Students_Data.xlsx)

II)Προγράμματα Python σε ΗΥ (βαθμός x0.7)


1)Να γραφεί πρόγραμμα που να υλοποιεί την ανωτέρω γραπτή εξέταση

2) Έστω οι ακόλουθες μετρήσεις παραμέτρων μεταξύ 2 κατηγοριών ασθενών (class1=Φυσιολογικοί και class2=με Ca μαστού).
Ζητείται:
Να γραφεί πρόγραμμα το οποίο
(α)να ελέγχει αν σε κάθε παράμετρο τα δεδομένα και των 2 κατηγοριών ακολουθούν κανονική κατανομή , βλέπε παρακάτω
συνάρτηση) και ανάλογα με το αποτέλεσμα (δηλαδή αν υπάρχει ή όχι κανονική κατανομή) να εφαρμόζεται το κατάλληλο
στατιστικό τεστ (t-test ή Wilcoxon) και να απεικονίζονται τα Boxplots των παραμέτρων μόνο όσων παραμέτρων διαφέρουν
στατιστικά σημαντικά μεταξύ των 2 κλάσεων

(β)Όσοι παράμετροι έχουν στατιστικά σημαντική διαφορά μεταξύ των 2 κατηγοριών να συνδυαστούν ανά 2 και να
απεικονιστούν τα διαγράμματα διασποράς (scatter diagrams).

Τα σχήματα να έχουν title, xlabel, ylabel.

**** Χρησιμοποιήστε το ακόλουθο πρόγραμμα (δίνεται και σαν ξεχωριστό script “test1_start.py” στο eclass).

import numpy as np
import moduleUtils as U
import scipy as sc
from scipy import stats
import matplotlib.pyplot as plt

def q2_students_data():

#1. Let 2 subsets of classes of data from Coimbra Data set of breast cancer class1=normal, class2= Ca
class1=[
[48, 23.5, 70, 2.7, 0.467408667, 8.8071, 9.7024, 7.99585, 417.114, 1],
[83, 20.69049454, 92, 3.1, 0.706897333, 8.8438, 5.429285, 4.06405, 468.786, 1],
[82, 23.12467037, 91, 4.5, 1.009651067, 17.939, 22.43204, 9.27715, 554.697, 1],
[68, 21.36752137, 77, 3.2, 0.612724933, 9.8827, 7.16956, 12.766, 928.22, 1],
[86, 21.11111111, 92, 3.6, 0.8053864, 6.6994, 4.81924, 10.57635, 773.92, 1],
[49, 22.85445769, 92, 3.2, 0.732086933, 6.8317, 13.67975, 10.3176, 530.41, 1],
[89, 22.7, 77, 4.7, 0.890787333, 6.964, 5.589865, 12.9361, 1256.083,1],
[76, 23.8, 118, 6.5, 1.883201333, 4.311, 13.25132, 5.1042, 280.694, 1],
[73, 22, 97, 3.4, 0.801543333, 4.47, 10.358725, 6.28445, 136.855, 1]]

class2=[
[45, 21.30394858, 102, 13.852, 3.4851632, 7.6476, 21.056625, 23.03408, 552.444, 2],
[45, 20.82999519, 74, 4.56, 0.832352, 7.7529, 8.237405, 28.0323, 382.955, 2],
[49, 20.9566075, 94, 12.305, 2.853119333, 11.2406, 8.412175, 23.1177, 573.63, 2],
[34, 24.24242424, 92, 21.699, 4.9242264, 16.7353, 21.823745, 12.06534, 481.949, 2],
[42, 21.35991456, 93, 2.999, 0.6879706, 19.0826, 8.462915, 17.37615, 321.919, 2],
[68, 21.08281329, 102, 6.2, 1.55992, 9.6994, 8.574655, 13.74244, 448.799, 2],
[51, 19.13265306, 93, 4.364, 1.0011016, 11.0816, 5.80762, 5.57055, 90.6, 2],
[62, 22.65625, 92, 3.482, 0.790181867, 9.8648, 11.236235, 10.69548, 703.973, 2],
[38, 22.4996371, 95, 5.261, 1.232827667, 8.438, 4.77192, 15.73606, 199.055, 2]]
fNames=['Age', 'BMI', 'Glucose', 'Insulin', 'HOMA', 'Leptin', 'Adiponectin',
'Resistin', 'MCP.1', 'Classification']
class1=np.asarray(class1,dtype=object);class2=np.asarray(class2,dtype=object)
return(class1,class2,fNames)
#-------------------------------------------------------------------------------------------
import warnings
warnings.filterwarnings('ignore')
#================= MAIN PROGRAM ========================
(class1,class2,fNames)=q2_students_data()
for j in range(c1-1):
x1=list(class1[:, j]);x2=list(class2[:, j])
(kstest,pNorm1)=stats.kstest(x1,'norm')
(kstest,pNorm2)=stats.kstest(x2,'norm')
# ............................

Να αναρτήσετε τον κώδικα σας στο e-class ΚΑΛΗ ΕΠΙΤΥΧΙΑ

You might also like