-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathcommodity.py
44 lines (35 loc) · 1.13 KB
/
commodity.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import numpy as np
import pandas as pd
import seaborn as sns
from datetime import datetime
from sklearn.tree import DecisionTreeRegressor
import random
class Commodity:
def __init__(self, csv_name):
self.name = csv_name
dataset = pd.read_csv(csv_name)
self.X = dataset.iloc[:, :-1].values
self.Y = dataset.iloc[:, 3].values
from sklearn.tree import DecisionTreeRegressor
depth = random.randrange(7,18)
self.regressor = DecisionTreeRegressor(max_depth=depth)
self.regressor.fit(self.X, self.Y)
def getPredictedValue(self, value):
if value[1]>=2019:
fsa = np.array(value).reshape(1, 3)
return self.regressor.predict(fsa)[0]
else:
c=self.X[:,0:2]
x=[]
for i in c:
x.append(i.tolist())
fsa = [value[0], value[1]]
ind = 0
for i in range(0,len(x)):
if x[i]==fsa:
ind=i
break
return self.Y[i]
def getCropName(self):
a = self.name.split('.')
return a[0]