<jupyter_start><jupyter_text>END TO END Machine learning Project deployment on Flask serverData Scientists Jr.: Dr.Eddy <NAME><jupyter_code>from google.colab import drive
drive.mount('/content/drive')
# Importamos as nossas bibliotecas

import pandas as pd
import numpy as np
from sklearn import linear_model


import warnings
warnings.filterwarnings("ignore")

# Reading CSV

df = pd.read_csv('/content/drive/MyDrive/5_Scripts_in_Python_Eddy/End-to-End_ML_Project_deployment_on_Flask_server/car_data.csv')
df.sample(10)

# shape

df.shape
# Creating DataFrame

inputs = df.drop(['Car_Name', 'Seller_Type'], axis='columns')

target = df.Selling_Price
target
df.head()
# Encoding

from sklearn.preprocessing import LabelEncoder

Numerics = LabelEncoder()
# New encoded columns

inputs['Fuel_Type_n'] = Numerics.fit_transform(inputs['Fuel_Type'])
inputs['Transmission_n'] = Numerics.fit_transform(inputs['Transmission'])

inputs
# Dropping string columns

inputs_n = inputs.drop(['Fuel_Type', 'Transmission','Selling_Price'], axis='columns')
inputs_n.head(6)

# Em base a estas 6 características fazeremos as nossas previsões. 
inputs_n.shape
# Linear Regression

model = linear_model.LinearRegression()
# Training

model.fit(inputs_n, target)
# prediction

pred = model.predict([[2014, 5.59, 27000, 0, 2, 1]])
print(pred)<jupyter_output>[3.42552752]<jupyter_text>Precisamos converter este código grande em um único arquivo, em **Python** existe uma biblioteca chamada ``pickle``, é uma famosa biblioteca em Python. A maioria de Data Scientists usaram essa biblioteca para converter seu modelo de aprendizado de máquina em um único arquivo.<jupyter_code># Importamos a biblioteca

import pickle<jupyter_output><empty_output><jupyter_text>``pickle.dump()``: e neste objeto você precisa passar os dois argumentoso primeiro é o modelo de aprendizado de máquina que você já criou e depois deve nomear este arquivo como o ``model.pkl``. Ao executar este código, você pode ver o arquivo model.pkl no diretóriodo notebook jupyter Agora vamos fazer o upload deste arquivo para o ``servidor flask``.<jupyter_code>pickle.dump(model, open('model.pkl', 'wb'))<jupyter_output><empty_output><jupyter_text>Antes disso, precisamos verificar como esse arquivo de modelo funciona e como ele prevê os dados. Digite:> pickle.load(open(('model.pkl', 'rb'))Esta sintaxe irá ajudá-lo a carregar o arquivo pickle.Vamos verificar como ele vai prever os preços dos carros. Então aqui eu dei os seis valores cada valoer representa características que estão presentes no conjunto de dados. Pode ver o preço previsto do carro!Nosso modelo de aprendizado de máquina funciona perfeitamente. Vamos fazer o upload desse modelo no ``servidor flask``.<jupyter_code>pickle.load(open('/content/drive/MyDrive/5_Scripts_in_Python_Eddy/End-to-End_ML_Project_deployment_on_Flask_server/model.pkl', 'rb'))
# prediction com o nosso modelo que carregamos

print(model.predict([[2014, 5.59, 27000, 0, 2, 1]]))
print(model.predict([[2013, 9.54, 43000, 0, 1, 1]]))<jupyter_output>[6.45188696]
{'fraction_non_alphanumeric': 0.09924416694051923, 'fraction_numerical': 0.022674991784423268, 'mean_word_length': 6.388349514563107, 'pattern_counts': {'":': 0, '<': 16, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '4', 'dir': 'jupyter-structured-clean-dedup', 'id': '308931', 'license': 'MIT', 'n_tokens_mistral': 1121, 'n_tokens_neox': 1048, 'n_words': 303, 'path': 'Flask_Machine_Learning_Project.ipynb', 'repo_name': 'EddyGiusepe/Flask_Machine_Learning_Project', 'size': '3060'}