| import pandas as pd |
| import numpy as np |
| import gradio as gr |
| from sklearn.preprocessing import LabelEncoder |
| from sklearn.model_selection import train_test_split |
| from sklearn.neighbors import KNeighborsClassifier |
|
|
|
|
| data = pd.read_excel('crop.xlsx') |
| le=LabelEncoder() |
| data['CROP_EN']=le.fit_transform(data['CROP']) |
| x=data.iloc[:,:-2] |
| y=data['CROP_EN'] |
| x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0) |
| model=KNeighborsClassifier(n_neighbors=3) |
| model.fit(x_train,y_train) |
| y_pred=model.predict(x_test) |
| res = [ |
| 'apple', 'banana', 'blackgram', 'chickpea', 'coconut', 'coffee', 'cotton', |
| 'grapes', 'jute', 'kidneybeans', 'lentil', 'maize', 'mango', 'mothbeans', |
| 'mungbean', 'muskmelon', 'orange', 'papaya', 'pigeonpeas', 'pomegranate', |
| 'rice', 'watermelon' |
| ] |
| def predict(n,p,k,temp,hum,ph,rain): |
| pred = model.predict([[n,p,k,temp,hum,ph,rain]]) |
| return res[pred[0]] |
|
|
| interface = gr.Interface( |
| fn=predict, |
| inputs=[ |
| gr.Number(label="Nitrogen"), |
| gr.Number(label="PHOSPHORUS"), |
| gr.Number(label="Potassium"), |
| gr.Number(label="Temperature"), |
| gr.Number(label="Humidity"), |
| gr.Number(label="Soil PH"), |
| gr.Number(label="Rainfall"), |
| ], |
| outputs=[ |
| gr.Textbox(label="Predicted Crop"), |
| ], |
| title="Crop Prediction Using machine Learning", |
| |
| ) |
|
|
|
|
| interface.launch() |
|
|
|
|