decision tree integration + some fixes
This commit is contained in:
parent
795ed2dcc1
commit
4a9d18f710
@ -5,4 +5,6 @@ scikit-learn
|
|||||||
IPython
|
IPython
|
||||||
pydotplus
|
pydotplus
|
||||||
torch
|
torch
|
||||||
tensorflow
|
tensorflow
|
||||||
|
Pillow
|
||||||
|
keras
|
@ -13,9 +13,9 @@ model = load_model(model_path)
|
|||||||
class_names = os.listdir(dataset_dir)
|
class_names = os.listdir(dataset_dir)
|
||||||
|
|
||||||
# Путь к файло проверки
|
# Путь к файло проверки
|
||||||
dataset_dir = "rdy-dataset\\test\\rose\\377277099_544769262c_c.jpg"
|
dataset_dir = "dataset\iris\\71766650_e2d423bea7_c.jpg"
|
||||||
|
|
||||||
image_path = 'rdy-dataset\\test\\rose\\377277099_544769262c_c.jpg' # Replace with the path to your image
|
image_path = 'dataset\iris\\71766650_e2d423bea7_c.jpg' # Replace with the path to your image
|
||||||
image = cv2.imread(image_path)
|
image = cv2.imread(image_path)
|
||||||
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Convert image to RGB format
|
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Convert image to RGB format
|
||||||
image = cv2.resize(image, (64, 64)) # Resize image to match the input size of the model
|
image = cv2.resize(image, (64, 64)) # Resize image to match the input size of the model
|
||||||
|
@ -60,6 +60,10 @@ class Field:
|
|||||||
for y in range(len(self.Nodes[0])):
|
for y in range(len(self.Nodes[0])):
|
||||||
print(self.Nodes[x][y].Values, end=' ')
|
print(self.Nodes[x][y].Values, end=' ')
|
||||||
|
|
||||||
|
def set_type(self, pos, type):
|
||||||
|
X,Y = pos
|
||||||
|
self.Nodes[X][Y].Type = type
|
||||||
|
|
||||||
|
|
||||||
def Neighbors(field, pos):
|
def Neighbors(field, pos):
|
||||||
x, y, dir = pos
|
x, y, dir = pos
|
||||||
|
35
src/main.py
35
src/main.py
@ -1,5 +1,9 @@
|
|||||||
|
import pandas as pd
|
||||||
import pygame
|
import pygame
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
from sklearn.preprocessing import LabelEncoder
|
||||||
|
|
||||||
#import Flower
|
#import Flower
|
||||||
import Beehive
|
import Beehive
|
||||||
import Frames
|
import Frames
|
||||||
@ -240,9 +244,26 @@ print(len(check_path_A))
|
|||||||
current_node = 0
|
current_node = 0
|
||||||
step = 1
|
step = 1
|
||||||
comeback = False
|
comeback = False
|
||||||
|
weather = random.choice(['Sunny', 'Rainy', 'Cloudy'])
|
||||||
|
temperature = random.choice(['High', 'Medium', 'Low'])
|
||||||
|
windspeed = random.choice(['Strong', 'Weak'])
|
||||||
|
pollenavailability = random.choice(['Low', 'Medium', 'High'])
|
||||||
|
beepopulation = random.choice(['Low','Moderate', 'High'])
|
||||||
|
timeofday = random.choice(['Morning', 'Afternoon', 'Evening'])
|
||||||
|
if len(check_path_A)>80:
|
||||||
|
flowerdistance = 'Far'
|
||||||
|
elif len(check_path_A)>50:
|
||||||
|
flowerdistance = 'Medium'
|
||||||
|
else:
|
||||||
|
flowerdistance = 'Close'
|
||||||
|
humidity = random.choice(['High','Normal'])
|
||||||
|
predictiondata = [[weather, temperature, windspeed, pollenavailability, beepopulation, timeofday, flowerdistance, humidity]]
|
||||||
|
feature_cols = ['Weather','Temperature','WindSpeed','PollenAvailability','BeePopulation','TimeOfDay','FlowerDistance','Humidity']
|
||||||
|
le = LabelEncoder()
|
||||||
|
le.fit(feature_cols)
|
||||||
|
encoded_data = pd.DataFrame(predictiondata, columns=feature_cols).apply(le.fit_transform)
|
||||||
|
prediction = clf.predict(encoded_data)
|
||||||
|
font = pygame.font.Font(None,32)
|
||||||
while True:
|
while True:
|
||||||
# check for events
|
# check for events
|
||||||
for event in pygame.event.get():
|
for event in pygame.event.get():
|
||||||
@ -268,6 +289,7 @@ while True:
|
|||||||
|
|
||||||
dis.blit(bee_image, (bee_x * tileSize, bee_y * tileSize))
|
dis.blit(bee_image, (bee_x * tileSize, bee_y * tileSize))
|
||||||
pygame.display.update()
|
pygame.display.update()
|
||||||
|
|
||||||
if (bee_x,bee_y) in flower_positions:
|
if (bee_x,bee_y) in flower_positions:
|
||||||
if field.get_type((bee_x,bee_y)) == FLOWER:
|
if field.get_type((bee_x,bee_y)) == FLOWER:
|
||||||
if chek_flower(pygame.image.load(field.get_image((bee_x,bee_y)))) not in ['western-poison-oak', 'water_lily']:
|
if chek_flower(pygame.image.load(field.get_image((bee_x,bee_y)))) not in ['western-poison-oak', 'water_lily']:
|
||||||
@ -276,7 +298,12 @@ while True:
|
|||||||
field.set_type((bee_x,bee_y), SHORT)
|
field.set_type((bee_x,bee_y), SHORT)
|
||||||
else:
|
else:
|
||||||
field.set_type((bee_x,bee_y), SHORT)
|
field.set_type((bee_x,bee_y), SHORT)
|
||||||
|
if prediction[0] == 0:
|
||||||
|
text = font.render('The bee refused to fly out for honey', True, (255, 0, 0))
|
||||||
|
text_rect = text.get_rect(center=(disX // 2, disY // 2))
|
||||||
|
dis.blit(text, text_rect)
|
||||||
|
pygame.display.update()
|
||||||
|
pygame.time.wait(10000000)
|
||||||
|
|
||||||
clock.tick(10)
|
clock.tick(10)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user