File size: 1,062 Bytes
ca51891 |
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 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'))
|