Agri_Tech_App_Updated / retrain_Crop_yield.py
Prajwal3009's picture
Upload 11 files
aaa0633 verified
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
import pickle
warnings.filterwarnings('ignore')
def Crop_yel():
data = pd.read_csv('crop_yield.csv')
columns = ['Crop', 'Season', 'State']
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
for col in columns:
data[col] = encoder.fit_transform(data[col])
X = data.iloc[:,:-1]
y = data.iloc[:,-1]
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state= 42, test_size= 0.2)
from sklearn.ensemble import ExtraTreesRegressor
from sklearn.metrics import r2_score
model = ExtraTreesRegressor(
n_estimators=200,
criterion='squared_error',
max_depth=20,
min_samples_split=2,
min_samples_leaf=1,
max_features=5,
bootstrap=True,
random_state=42
)
model.fit(X_train, y_train)
pickle.dump(model,open('crop_yield_model.pkl','wb'))