вывод для алгоритма find-s - PullRequest
       8

вывод для алгоритма find-s

0 голосов
/ 05 октября 2019

Я пытаюсь вывести максимально конкретную гипотезу в качестве вывода для алгоритма find-S.

Я получаю неправильный вывод

Я написал базовый код на python, чтобы сделатьитак.

import csv
with open('C:/Users/User_name/tennis.csv','r')as f:
 reader=csv.reader(f)   
 your_list=list(reader)

 h=[['0','0','0','0','0','0']]
 for i in your_list:
     print(i)
     if i[-1] =="True":
         j=0
         for x in i:
             if x !="True":
                 if x !=h[0][j] and h[0][j]=='0':
                     h[0][j]=x
                 elif x!=h[0][j] and h[0][j]!='0':
                     h[0][j]='?'
                 else:
                     pass
         j=j+1
 print("the maximally specific hypothesis is",h) 

['sky', 'temp', 'humidity', 'wind', 'water', 'forecast', 'target']
['sunny', 'warm', 'normal', 'strong', 'warm', 'same', 'True']
['sunny', 'warm', 'high', 'strong', 'warm', 'same', 'True']
['rainy', 'cold', 'high', 'strong', 'warm', 'change', 'False']
['sunny', 'warm', 'high', 'strong', 'cool', 'change', 'True']

Максимально специфическая гипотеза:

[['?', '0', '0', '0', '0', '0']]

Это вывод, который я получаю, но это вывод, который я должен получить:

[['sunny','warm','?','strong','?','?']]

1 Ответ

0 голосов
/ 05 октября 2019

Ваш код почти правильный. Переместите j=j+1 в цикл for.

import csv
with open('C:/Users/User_name/tennis.csv','r')as f:
 reader=csv.reader(f)   
 your_list=list(reader)

 h=[['0','0','0','0','0','0']]
 for i in your_list:
     print(i)
     if i[-1] =="True":
         j=0
         for x in i:
             if x !="True":
                 if x !=h[0][j] and h[0][j]=='0':
                     h[0][j]=x
                 elif x!=h[0][j] and h[0][j]!='0':
                     h[0][j]='?'
             j=j+1
 print("the maximally specific hypothesis is",h) 

['sky', 'temp', 'humidity', 'wind', 'water', 'forecast', 'target']
['sunny', 'warm', 'normal', 'strong', 'warm', 'same', 'True']
['sunny', 'warm', 'high', 'strong', 'warm', 'same', 'True']
['rainy', 'cold', 'high', 'strong', 'warm', 'change', 'False']
['sunny', 'warm', 'high', 'strong', 'cool', 'change', 'True']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...