Separate each part of the lab in a folder
This commit is contained in:
		
							parent
							
								
									280c96f7c9
								
							
						
					
					
						commit
						f49764bf41
					
				
							
								
								
									
										
											BIN
										
									
								
								docs/assets/attribute's_correlation.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/assets/attribute's_correlation.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 65 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								docs/assets/confusion_matrix.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/assets/confusion_matrix.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 25 KiB  | 
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 64 KiB  | 
							
								
								
									
										49
									
								
								src/P2/preprocessing.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								src/P2/preprocessing.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,49 @@
 | 
			
		||||
from pandas import read_csv
 | 
			
		||||
from sklearn.model_selection import KFold
 | 
			
		||||
from sklearn.preprocessing import LabelEncoder
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def replace_values(df):
 | 
			
		||||
    columns = ["BI-RADS", "Margin", "Density", "Age"]
 | 
			
		||||
    for column in columns:
 | 
			
		||||
        df[column].fillna(value=df[column].mean(), inplace=True)
 | 
			
		||||
    return df
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def process_na(df, action):
 | 
			
		||||
    if action == "drop":
 | 
			
		||||
        return df.dropna()
 | 
			
		||||
    elif action == "fill":
 | 
			
		||||
        return replace_values(df)
 | 
			
		||||
    else:
 | 
			
		||||
        print("Unknown action selected. The choices are: ")
 | 
			
		||||
        print("fill: fills the na values with the mean")
 | 
			
		||||
        print("drop: drops the na values")
 | 
			
		||||
        exit()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def encode_columns(df):
 | 
			
		||||
    label_encoder = LabelEncoder()
 | 
			
		||||
    encoded_df = df.copy()
 | 
			
		||||
    encoded_df["Shape"] = label_encoder.fit_transform(df["Shape"])
 | 
			
		||||
    encoded_df["Severity"] = label_encoder.fit_transform(df["Severity"])
 | 
			
		||||
    return encoded_df
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def split_train_target(df):
 | 
			
		||||
    train_data = df.drop(columns=["Severity"])
 | 
			
		||||
    target_data = df["Severity"]
 | 
			
		||||
    return train_data, target_data
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def split_k_sets(df):
 | 
			
		||||
    k_fold = KFold(shuffle=True, random_state=42)
 | 
			
		||||
    return k_fold.split(df)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def parse_data(source, action):
 | 
			
		||||
    df = read_csv(filepath_or_buffer=source, na_values="?")
 | 
			
		||||
    processed_df = process_na(df=df, action=action)
 | 
			
		||||
    encoded_df = encode_columns(df=processed_df)
 | 
			
		||||
    test_data, target_data = split_train_target(df=encoded_df)
 | 
			
		||||
    return test_data, target_data
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user