ML
Disunknown
plain_text
a year ago
2.2 kB
9
Indexable
import zipfile
import csv
import os
# Function to read data from a CSV file with specified encoding
def read_data(filename):
with open(filename, 'r', encoding='utf-8') as csvfile:
datareader = csv.reader(csvfile, delimiter=',')
traindata = []
for row in datareader:
traindata.append(row)
return traindata
# Function to check if a hypothesis is consistent with a data instance
def isConsistent(h, d):
if len(h) != len(d) - 1:
print('Number of attributes are not the same in hypothesis.')
return False
else:
matched = 0
for i in range(len(h)):
if h[i] == d[i] or h[i] == 'any':
matched += 1
return matched == len(h)
# Function to make the hypothesis consistent with a data instance
def makeConsistent(h, d):
for i in range(len(h)):
if h[i] == 'phi':
h[i] = d[i]
elif h[i] != d[i]:
h[i] = 'any'
return h
# Path to the zip file
zip_file_path = r'C:\Users\21BCE8157\Downloads\GlobalLandTemperaturesByCity.csv.zip'
# Path where the extracted files should be stored
extract_to_path = r'C:\Users\21BCE8157\Downloads'
# Extract the zip file
with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
zip_ref.extractall(extract_to_path)
# Assuming the extracted file is named 'GlobalLandTemperaturesByCity.csv'
csv_file_name = 'GlobalLandTemperaturesByCity.csv'
csv_file_path = os.path.join(extract_to_path, csv_file_name)
# Initialize the most specific hypothesis
h = ['phi', 'phi', 'phi', 'phi', 'phi', 'phi']
# Read data
data = read_data(csv_file_path)
print('Begin: Hypothesis:', h)
for d in data:
if d[-1] == 'Yes': # Assuming the last column is the class label
if isConsistent(h, d):
pass
else:
h = makeConsistent(h, d)
print('Training data:', d)
print('Updated Hypothesis:', h)
print()
print('---')
print('Maximally specific hypothesis: End:', h)Editor is loading...
Leave a Comment