Tenemos la mejor solución que descubrimos por todo internet. Esperamos que te sea de ayuda y si puedes compartir alguna mejora hazlo con total libertad.
Ejemplo: código de Python del algoritmo de eliminación de candidatos
import numpy as np
import pandas as pd
data = pd.read_csv(path+'/enjoysport.csv')
concepts = np.array(data.iloc[:,0:-1])print("nInstances are:n",concepts)
target = np.array(data.iloc[:,-1])print("nTarget Values are: ",target)
def learn(concepts, target):
specific_h = concepts[0].copy()print("nInitialization of specific_h and genearal_h")print("nSpecific Boundary: ", specific_h)
general_h = [["?" for i in range(len(specific_h))] for i in range(len(specific_h))]
print("nGeneric Boundary: ",general_h)
for i, h in enumerate(concepts):print("nInstance", i+1,"is ", h)
if target[i] == "yes":print("Instance is Positive ")
for x in range(len(specific_h)):
if h[x]!= specific_h[x]:
specific_h[x] ='?'
general_h[x][x] ='?'
if target[i] == "no":print("Instance is Negative ")
for x in range(len(specific_h)):
if h[x]!= specific_h[x]:
general_h[x][x] = specific_h[x]
else:
general_h[x][x] = '?'print("Specific Bundary after ", i+1,"Instance is ", specific_h)print("Generic Boundary after ", i+1,"Instance is ", general_h)print("n")
indices = [i for i, val in enumerate(general_h) if val == ['?','?','?','?','?','?']]
for i in indices:
general_h.remove(['?','?','?','?','?','?'])
return specific_h, general_h
s_final, g_final = learn(concepts, target)print("Final Specific_h: ", s_final, sep="n")print("Final General_h: ", g_final, sep="n")
Ten en cuenta mostrar esta reseña si lograste el éxito.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)