From 33d2d52d5300b69033885285ed7dda0813cebc39 Mon Sep 17 00:00:00 2001 From: pulkit2001 <44058714+pulkit2001@users.noreply.github.com> Date: Thu, 22 Nov 2018 09:22:29 +0530 Subject: [PATCH 1/3] Added project file --- Payroll Systems.py | 322 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 Payroll Systems.py diff --git a/Payroll Systems.py b/Payroll Systems.py new file mode 100644 index 0000000..c513f54 --- /dev/null +++ b/Payroll Systems.py @@ -0,0 +1,322 @@ +from tkinter import * +import random +import time +import random +import time +import datetime + +payroll= Tk() +payroll.geometry("1350x650+0+0") +payroll.title("Payroll Management Systems") + +def Exit(): + payroll.destroy() + +def Reset(): + EmployeeName.set("") + Address.set("") + Reference.set("") + EmployerName.set("") + CityWeighting.set("") + BasicSalary.set("") + OverTime.set("") + GrossPay.set("") + NetPay.set("") + Tax.set("") + Pension.set("") + StudentLoan.set("") + NIPayment.set("") + Deductions.set("") + PostCode.set("") + Gender.set("") + PayDate.set("") + TaxPeriod.set("") + NINumber.set("") + NICode.set("") + TaxablePay.set("") + PensionablePay.set("") + OtherPaymentsDue.set("") +def PayRef(): + PayDate.set(time.strftime("%d/%m/%Y")) + #PayDate.set(time.strftime("%x")) + Refpay = random.randint(20000, 709467) + Refpaid = ("PR"+str(Refpay)) + Reference .set(Refpaid) + + NIpay = random.randint(4200, 9467) + NIpaid = ("NI"+str(NIpay)) + NINumber .set(NIpaid) +def PayPeriod(): + i= datetime.datetime.now() + TaxPeriod.set(i.month) + + NCode = random.randint(1200, 4467) + CodeNI = ("NICode"+str(NCode)) + NICode.set(CodeNI) + +def MonthlySalary(): + BS = float(BasicSalary.get()) + CW = float(CityWeighting.get()) + OT = float(OverTime.get()) + + MTax = ((BS + CW + OT) * 0.3) + TTax= "Rs.", str('%.2f'%(MTax)) + Tax.set(TTax) + + + M_Pension = ((BS + CW + OT) * 0.02) + MM_Pension= "Rs.", str('%.2f'%(M_Pension)) + Pension.set(MM_Pension) + + M_StudentLoan = ((BS + CW + OT) * 0.12) + MM_StudentLoan= "Rs.", str('%.2f'%(M_StudentLoan)) + StudentLoan.set(MM_StudentLoan) + + M_NIPayment = ((BS + CW + OT) * 0.11) + MM_NIPayment= "Rs.", str('%.2f'%(M_NIPayment)) + NIPayment.set(MM_NIPayment) + + + Deduct= (MTax +M_Pension +M_StudentLoan + M_NIPayment) + Deduct_Payment="Rs.", str('%.2f'%(Deduct)) + Deductions.set(Deduct_Payment) + + Gross_Pay = "Rs.", str('%.2f' % (BS + CW + OT)) + GrossPay.set(Gross_Pay) + + NetPayAfter=(BS + CW + OT)- Deduct + NetAfter="Rs.", str('%.2f'%(NetPayAfter)) + NetPay.set(NetAfter) + + TaxablePay.set(TTax) + PensionablePay.set(MM_Pension) + OtherPaymentsDue.set("0.00") + +EmployeeName = StringVar() +Address = StringVar() +Reference=StringVar() +EmployerName = StringVar() +CityWeighting = StringVar() +BasicSalary = StringVar() +OverTime = StringVar() +GrossPay = StringVar() +NetPay = StringVar() +Tax = StringVar() +Pension = StringVar() +StudentLoan = StringVar() +NIPayment = StringVar() +Deductions = StringVar() +PostCode = StringVar() +Gender = StringVar() +PayDate = StringVar() +TaxPeriod = StringVar() +NINumber = StringVar() +NICode = StringVar() +TaxablePay = StringVar() +PensionablePay = StringVar() +OtherPaymentsDue = StringVar() + + +Tops=Frame(payroll, width =1350, height=50, bd=16, relief='raise') +Tops.pack(side=TOP) +LF=Frame(payroll, width =700, height=650, bd=16, relief='raise') +LF.pack(side=LEFT) +RF=Frame(payroll, width=600, height=650, bd=16, relief='raise') +RF.pack(side=RIGHT) + +lblInfo = Label(Tops, font=("arial", 50, 'bold' ), +text='Payroll Manangement Systems', fg='Steel Blue', bd=10, anchor='w') +lblInfo.grid(row=0, column=0) + +LeftInsideLF=Frame(LF, width=700, height=100,bd=8, relief='raise') +LeftInsideLF.pack(side=TOP) +LeftInsideLFLF=Frame(LF, width=325, height=400, bd=8, relief='raise') +LeftInsideLFLF.pack(side=LEFT) +LeftInsideRFRF=Frame(LF, width=325, height=400, bd=8, relief='raise') +LeftInsideRFRF.pack(side=RIGHT) + +RightInsideLF=Frame(RF, width=600, height=200, bd=8, relief='raise') +RightInsideLF.pack(side=TOP) +RightInsideLFLF=Frame(RF, width=300, height=400, bd=8, relief='raise') +RightInsideLFLF.pack(side=LEFT) +RightInsideRFRF=Frame(RF, width=300, height=400, bd=8, relief='raise') +RightInsideRFRF.pack(side=RIGHT) +#========================Left Side============================================ +lblEmployeeName = Label(LeftInsideLF, font=('arial', 12, 'bold'),text="Employee Name", + fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblEmployeeName.grid(row=0 , column=0) +txtEmployeeName=Entry(LeftInsideLF, font=('arial', 12, 'bold'), bd=20, width=54, + bg="powder blue", justify="left", textvariable=EmployeeName) +txtEmployeeName.grid(row=0, column=1) +lblAddress= Label(LeftInsideLF, font=("arial", 12, 'bold' ),text="Address", + fg="Steel Blue", bd=10, anchor='w', justify=LEFT) +lblAddress.grid(row=1 , column=0) +txtAddress=Entry(LeftInsideLF, font=('arial', 12, 'bold'), bd=20, width=54, + bg="powder blue", justify="left",textvariable=Address) +txtAddress.grid(row=1, column=1) + + + + +lblReference = Label(LeftInsideLF, font=('arial', 12, 'bold'),text="Reference", + fg='Steel Blue', bd=10, anchor='e') +lblReference.grid(row=2, column=0) +txtReference=Entry(LeftInsideLF, font=('arial', 12, 'bold'), bd=20, width=54, + bg="powder blue", justify='left', textvariable=Reference) +txtReference.grid(row=2, column=1) +lblEmployerName= Label(LeftInsideLF, font=("arial", 12, 'bold' ),text="Employer Name", + fg="Steel Blue", bd=10, anchor='w', justify=LEFT) +lblEmployerName.grid(row=3, column=0) +txtEmployerName=Entry(LeftInsideLF, font=('arial', 12, 'bold'), bd=20, width=54, + bg="powder blue", justify="left",textvariable=EmployerName) +txtEmployerName.grid(row=3, column=1) + + +#========================== +lblCity = Label(LeftInsideLFLF, font=('arial', 12, 'bold'),text="City Weighting", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblCity.grid(row=0, column=0) +lblCity=Entry(LeftInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=CityWeighting) +lblCity.grid(row=0, column=1) + +#--------------------------------- + +lblBasicSalary = Label(LeftInsideLFLF, font=('arial', 12, 'bold'),text="Basic Salary", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblBasicSalary.grid(row=1, column=0) +lblBasicSalary=Entry(LeftInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=BasicSalary) +lblBasicSalary.grid(row=1, column=1) + +#-------------------------------- +lblOverTime = Label(LeftInsideLFLF, font=('arial', 12, 'bold'),text="Over Time", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblOverTime.grid(row=2, column=0) +lblOverTime=Entry(LeftInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=OverTime) +lblOverTime.grid(row=2, column=1) +#-------------------------------- +lblGrossPay = Label(LeftInsideLFLF, font=('arial', 12, 'bold'),text="Gross Pay", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblGrossPay.grid(row=3, column=0) +lblGrossPay=Entry(LeftInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left", textvariable=GrossPay) +lblGrossPay.grid(row=3, column=1) + + +lblNetPay = Label(LeftInsideLFLF, font=('arial', 12, 'bold'),text="Net Pay", + fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblNetPay.grid(row=4, column=0) +lblNetPay=Entry(LeftInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=NetPay) +lblNetPay.grid(row=4, column=1) + + +#================================================================================== +#=================================== + +lblTax = Label(LeftInsideRFRF, font=('arial', 12, 'bold'),text="Tax", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblTax.grid(row=0, column=0) +lblTax=Entry(LeftInsideRFRF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=Tax) +lblTax.grid(row=0, column=1) + +#--------------------------------- + +lblPension = Label(LeftInsideRFRF, font=('arial', 12, 'bold'),text="Pension", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblPension.grid(row=1, column=0) +lblPension=Entry(LeftInsideRFRF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=Pension) +lblPension.grid(row=1, column=1) + +#-------------------------------- +lblStudentLoan= Label(LeftInsideRFRF, font=('arial', 12, 'bold'),text="Student Loan", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblStudentLoan.grid(row=2, column=0) +lblStudentLoan=Entry(LeftInsideRFRF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=StudentLoan) +lblStudentLoan.grid(row=2, column=1) +#-------------------------------- +lblPayment = Label(LeftInsideRFRF, font=('arial', 12, 'bold'),text="NI Paymet", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblPayment.grid(row=3, column=0) +lblPayment=Entry(LeftInsideRFRF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=NIPayment) +lblPayment.grid(row=3, column=1) + + +lblDeductions = Label(LeftInsideRFRF, font=('arial', 12, 'bold'),text="Deductions", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblDeductions.grid(row=4, column=0) +lblDeductions=Entry(LeftInsideRFRF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=Deductions) +lblDeductions.grid(row=4, column=1) + +#==============================Right side===================================== +lblPostCode = Label(RightInsideLF, font=('arial', 12, 'bold'),text="Post Code", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblPostCode.grid(row=0 , column=0) +txtlblPostCode=Entry(RightInsideLF, font=('arial', 12, 'bold'), bd=20, width=48, + bg="powder blue", justify="left",textvariable=PostCode) +txtlblPostCode.grid(row=0, column=1) +lblGender= Label(RightInsideLF, font=("arial", 12, 'bold' ),text="Gender", + fg="Steel Blue", bd=10, anchor='w',justify=LEFT) +lblGender.grid(row=1 , column=0) +txtGende=Entry(RightInsideLF, font=('arial', 12, 'bold'), bd=20, width=48, + bg="powder blue", justify="left",textvariable=Gender) +txtGende.grid(row=1, column=1) + + +#========================Right inner Side============================================ +lblPayDate = Label(RightInsideLFLF, font=('arial', 12, 'bold'),text="Pay Date", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblPayDate.grid(row=0 , column=0) +lblPayDate=Entry(RightInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=PayDate) +lblPayDate.grid(row=0, column=1) + +lblTaxPeriod = Label(RightInsideLFLF, font=('arial', 12, 'bold'),text="Tax Period", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblTaxPeriod.grid(row=1 , column=0) +lblTaxPeriod=Entry(RightInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=TaxPeriod) +lblTaxPeriod.grid(row=1, column=1) +#========================================= +lblNINumber = Label(RightInsideLFLF, font=('arial', 12, 'bold'),text="NI Number", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblNINumber.grid(row=2 , column=0) +lblNINumber=Entry(RightInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=NINumber) +lblNINumber.grid(row=2, column=1) +#================================================= +lblNICode = Label(RightInsideLFLF, font=('arial', 12, 'bold'),text="NI Code", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblNICode.grid(row=3 , column=0) +lblNICode=Entry(RightInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=NICode) +lblNICode.grid(row=3, column=1) +#=========================================== +lblTaxablePay = Label(RightInsideLFLF, font=('arial', 12, 'bold'),text="Taxable Pay", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblTaxablePay.grid(row=4 , column=0) +lblTaxablePay=Entry(RightInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=TaxablePay) +lblTaxablePay.grid(row=4, column=1) +#============================================= +lblPensionablePay = Label(RightInsideLFLF, font=('arial', 12, 'bold'),text="Pensionable Pay", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblPensionablePay.grid(row=5 , column=0) +lblPensionablePay=Entry(RightInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=PensionablePay) +lblPensionablePay.grid(row=5, column=1) + + +lblOtherPaymentsDue = Label(RightInsideLFLF, font=('arial', 12, 'bold'),text="Other Payments Due", fg='Steel Blue', bd=10, anchor='w', justify=LEFT) +lblOtherPaymentsDue.grid(row=6 , column=0) +lblOtherPaymentsDue=Entry(RightInsideLFLF, font=('arial', 12, 'bold'), bd=10, width=18, + bg="powder blue", justify="left",textvariable=OtherPaymentsDue ) +lblOtherPaymentsDue.grid(row=6, column=1) + + +btnWagePayment=Button(RightInsideRFRF, pady=8, bd=8 ,fg='black', font=('arial', 12, 'bold'), + width=14, text="Wage Payment", bg="sky blue",command=MonthlySalary).grid(row=0, column=0) +btnReset=Button(RightInsideRFRF, pady=8, bd=8 ,fg='black', font=('arial', 12, 'bold'), + width=14, text="Reset System", bg="sky blue",command=Reset).grid(row=1, column=0) +btnPayRef=Button(RightInsideRFRF, pady=8, bd=8 ,fg='black', font=('arial', 12, 'bold'), + width=14, text="Pay Refernece", bg="sky blue",command=PayRef).grid(row=2, column=0) +btnPayCode=Button(RightInsideRFRF, pady=8, bd=8 ,fg='black', font=('arial', 12, 'bold'), + width=14, text="Pay Code", bg="sky blue",command=PayPeriod).grid(row=3, column=0) +btnExit=Button(RightInsideRFRF, pady=8, bd=8 ,fg='black', font=('arial', 12, 'bold'), + width=14, text="Exit", bg="sky blue", command=Exit).grid(row=4, column=0) + + + + +payroll.mainloop() From 4b5aed28db2fc1909958e0180d7a04322ac29e19 Mon Sep 17 00:00:00 2001 From: Pulkit Jain <44058714+pulkit2001@users.noreply.github.com> Date: Wed, 2 Sep 2020 16:31:23 +0530 Subject: [PATCH 2/3] Created using Colaboratory --- DL_Lab_2_Part_2.ipynb | 1575 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1575 insertions(+) create mode 100644 DL_Lab_2_Part_2.ipynb diff --git a/DL_Lab_2_Part_2.ipynb b/DL_Lab_2_Part_2.ipynb new file mode 100644 index 0000000..787fdb1 --- /dev/null +++ b/DL_Lab_2_Part_2.ipynb @@ -0,0 +1,1575 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "DL_Lab 2 Part 2", + "provenance": [], + "authorship_tag": "ABX9TyNGcBcZ5ar/OT8kaYgj8RP/", + "include_colab_link": true + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + } + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "mZFgo1xROBuy", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 289 + }, + "outputId": "e5ea859e-8795-4bd7-9c91-afb8f6471f91" + }, + "source": [ + "!wget https://github.com/JWarmenhoven/ISLR-python/raw/master/Notebooks/Data/Advertising.csv" + ], + "execution_count": 29, + "outputs": [ + { + "output_type": "stream", + "text": [ + "--2020-09-02 09:25:33-- https://github.com/JWarmenhoven/ISLR-python/raw/master/Notebooks/Data/Advertising.csv\n", + "Resolving github.com (github.com)... 140.82.113.4\n", + "Connecting to github.com (github.com)|140.82.113.4|:443... connected.\n", + "HTTP request sent, awaiting response... 302 Found\n", + "Location: https://raw.githubusercontent.com/JWarmenhoven/ISLR-python/master/Notebooks/Data/Advertising.csv [following]\n", + "--2020-09-02 09:25:33-- https://raw.githubusercontent.com/JWarmenhoven/ISLR-python/master/Notebooks/Data/Advertising.csv\n", + "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...\n", + "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 5166 (5.0K) [text/plain]\n", + "Saving to: ‘Advertising.csv.1’\n", + "\n", + "Advertising.csv.1 100%[===================>] 5.04K --.-KB/s in 0s \n", + "\n", + "2020-09-02 09:25:34 (64.7 MB/s) - ‘Advertising.csv.1’ saved [5166/5166]\n", + "\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Zx3cR9YKOIIs", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 204 + }, + "outputId": "fd5cfbe5-0463-4108-b305-5fb40b60d051" + }, + "source": [ + "import pandas as pd\n", + "data = pd.read_csv('Advertising.csv')\n", + "data.head()" + ], + "execution_count": 30, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0TVRadioNewspaperSales
01230.137.869.222.1
1244.539.345.110.4
2317.245.969.39.3
34151.541.358.518.5
45180.810.858.412.9
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 TV Radio Newspaper Sales\n", + "0 1 230.1 37.8 69.2 22.1\n", + "1 2 44.5 39.3 45.1 10.4\n", + "2 3 17.2 45.9 69.3 9.3\n", + "3 4 151.5 41.3 58.5 18.5\n", + "4 5 180.8 10.8 58.4 12.9" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 30 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "gIuf7E3MOd6-", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "d99255fd-4b1c-469f-85ed-5b8303162126" + }, + "source": [ + "data.isnull().values.any()" + ], + "execution_count": 4, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "False" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 4 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "5z5ywvHXOy-E", + "colab_type": "code", + "colab": {} + }, + "source": [ + "sales_type = []\n", + "for i in data.Sales:\n", + " if i>=15:\n", + " sales_type.append(\"High\")\n", + " elif i>=5 and i<=15 :\n", + " sales_type.append(\"Medium\")\n", + " else:\n", + " sales_type.append(\"Low\")" + ], + "execution_count": 5, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "mWdgpwIeTjWn", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 419 + }, + "outputId": "09166aa1-d0a9-4f36-b3f0-e63da5d67efe" + }, + "source": [ + "data['Sales_type'] = sales_type\n", + "data" + ], + "execution_count": 31, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0TVRadioNewspaperSalesSales_type
01230.137.869.222.1High
1244.539.345.110.4Medium
2317.245.969.39.3Medium
34151.541.358.518.5High
45180.810.858.412.9Medium
.....................
19519638.23.713.87.6Medium
19619794.24.98.19.7Medium
197198177.09.36.412.8Medium
198199283.642.066.225.5High
199200232.18.68.713.4Medium
\n", + "

200 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 TV Radio Newspaper Sales Sales_type\n", + "0 1 230.1 37.8 69.2 22.1 High\n", + "1 2 44.5 39.3 45.1 10.4 Medium\n", + "2 3 17.2 45.9 69.3 9.3 Medium\n", + "3 4 151.5 41.3 58.5 18.5 High\n", + "4 5 180.8 10.8 58.4 12.9 Medium\n", + ".. ... ... ... ... ... ...\n", + "195 196 38.2 3.7 13.8 7.6 Medium\n", + "196 197 94.2 4.9 8.1 9.7 Medium\n", + "197 198 177.0 9.3 6.4 12.8 Medium\n", + "198 199 283.6 42.0 66.2 25.5 High\n", + "199 200 232.1 8.6 8.7 13.4 Medium\n", + "\n", + "[200 rows x 6 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 31 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "FlPy_wJoTnqQ", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 204 + }, + "outputId": "a5212ab6-d814-43d0-d8ac-1bbef03982aa" + }, + "source": [ + "dgb = data.groupby('Sales_type')\n", + "dgb.aggregate(['sum','mean'])" + ], + "execution_count": 11, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0TVRadioNewspaperSales
summeansummeansummeansummeansummean
Sales_type
High751097.53246816469.8213.8935062594.133.6896102720.635.3324681500.819.490909
Low29698.66666713.44.46666753.317.76666715.45.1333339.63.200000
Medium12294102.45000012925.3107.7108332005.416.7116673374.828.1233331294.110.784167
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 TV ... Newspaper Sales \n", + " sum mean sum ... mean sum mean\n", + "Sales_type ... \n", + "High 7510 97.532468 16469.8 ... 35.332468 1500.8 19.490909\n", + "Low 296 98.666667 13.4 ... 5.133333 9.6 3.200000\n", + "Medium 12294 102.450000 12925.3 ... 28.123333 1294.1 10.784167\n", + "\n", + "[3 rows x 10 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 11 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "u4e7LjKHVNjV", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 700 + }, + "outputId": "e8893c67-7189-4736-dab8-8a488b152381" + }, + "source": [ + "import numpy as np\n", + "data.iloc[::6, 0] = np.NaN\n", + "data.iloc[::10, 2] = np.NaN\n", + "data[data.TV.notnull()][0:21]" + ], + "execution_count": 36, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0TVRadioNewspaperSalesSales_type
0NaN230.1NaN69.222.1High
12.044.539.345.110.4Medium
23.017.245.969.39.3Medium
34.0151.541.358.518.5High
45.0180.810.858.412.9Medium
56.08.748.975.07.2Medium
6NaN57.532.823.511.8Medium
78.0120.219.611.613.2Medium
89.08.62.11.04.8Low
910.0199.82.621.210.6Medium
1011.066.1NaN24.28.6Medium
1112.0214.724.04.017.4High
12NaN23.835.165.99.2Medium
1314.097.57.67.29.7Medium
1415.0204.132.946.019.0High
1516.0195.447.752.922.4High
1617.067.836.6114.012.5Medium
1718.0281.439.655.824.4High
18NaN69.220.518.311.3Medium
1920.0147.323.919.114.6Medium
2021.0218.4NaN53.418.0High
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 TV Radio Newspaper Sales Sales_type\n", + "0 NaN 230.1 NaN 69.2 22.1 High\n", + "1 2.0 44.5 39.3 45.1 10.4 Medium\n", + "2 3.0 17.2 45.9 69.3 9.3 Medium\n", + "3 4.0 151.5 41.3 58.5 18.5 High\n", + "4 5.0 180.8 10.8 58.4 12.9 Medium\n", + "5 6.0 8.7 48.9 75.0 7.2 Medium\n", + "6 NaN 57.5 32.8 23.5 11.8 Medium\n", + "7 8.0 120.2 19.6 11.6 13.2 Medium\n", + "8 9.0 8.6 2.1 1.0 4.8 Low\n", + "9 10.0 199.8 2.6 21.2 10.6 Medium\n", + "10 11.0 66.1 NaN 24.2 8.6 Medium\n", + "11 12.0 214.7 24.0 4.0 17.4 High\n", + "12 NaN 23.8 35.1 65.9 9.2 Medium\n", + "13 14.0 97.5 7.6 7.2 9.7 Medium\n", + "14 15.0 204.1 32.9 46.0 19.0 High\n", + "15 16.0 195.4 47.7 52.9 22.4 High\n", + "16 17.0 67.8 36.6 114.0 12.5 Medium\n", + "17 18.0 281.4 39.6 55.8 24.4 High\n", + "18 NaN 69.2 20.5 18.3 11.3 Medium\n", + "19 20.0 147.3 23.9 19.1 14.6 Medium\n", + "20 21.0 218.4 NaN 53.4 18.0 High" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 36 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Dk0tN6q9I3oY", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 700 + }, + "outputId": "6061eac9-621c-4539-e1a4-2290f89b66ae" + }, + "source": [ + "data['Radio'] = data['Radio'].fillna(data['Radio'].mean())\n", + "data['Unnamed: 0'] = data['Unnamed: 0'].fillna(data['Unnamed: 0'].mean())\n", + "data[0:21]" + ], + "execution_count": 44, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0TVRadioNewspaperSalesSales_type
0100.60241230.123.7869.222.1High
12.0000044.539.3045.110.4Medium
23.0000017.245.9069.39.3Medium
34.00000151.541.3058.518.5High
45.00000180.810.8058.412.9Medium
56.000008.748.9075.07.2Medium
6100.6024157.532.8023.511.8Medium
78.00000120.219.6011.613.2Medium
89.000008.62.101.04.8Low
910.00000199.82.6021.210.6Medium
1011.0000066.123.7824.28.6Medium
1112.00000214.724.004.017.4High
12100.6024123.835.1065.99.2Medium
1314.0000097.57.607.29.7Medium
1415.00000204.132.9046.019.0High
1516.00000195.447.7052.922.4High
1617.0000067.836.60114.012.5Medium
1718.00000281.439.6055.824.4High
18100.6024169.220.5018.311.3Medium
1920.00000147.323.9019.114.6Medium
2021.00000218.423.7853.418.0High
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 TV Radio Newspaper Sales Sales_type\n", + "0 100.60241 230.1 23.78 69.2 22.1 High\n", + "1 2.00000 44.5 39.30 45.1 10.4 Medium\n", + "2 3.00000 17.2 45.90 69.3 9.3 Medium\n", + "3 4.00000 151.5 41.30 58.5 18.5 High\n", + "4 5.00000 180.8 10.80 58.4 12.9 Medium\n", + "5 6.00000 8.7 48.90 75.0 7.2 Medium\n", + "6 100.60241 57.5 32.80 23.5 11.8 Medium\n", + "7 8.00000 120.2 19.60 11.6 13.2 Medium\n", + "8 9.00000 8.6 2.10 1.0 4.8 Low\n", + "9 10.00000 199.8 2.60 21.2 10.6 Medium\n", + "10 11.00000 66.1 23.78 24.2 8.6 Medium\n", + "11 12.00000 214.7 24.00 4.0 17.4 High\n", + "12 100.60241 23.8 35.10 65.9 9.2 Medium\n", + "13 14.00000 97.5 7.60 7.2 9.7 Medium\n", + "14 15.00000 204.1 32.90 46.0 19.0 High\n", + "15 16.00000 195.4 47.70 52.9 22.4 High\n", + "16 17.00000 67.8 36.60 114.0 12.5 Medium\n", + "17 18.00000 281.4 39.60 55.8 24.4 High\n", + "18 100.60241 69.2 20.50 18.3 11.3 Medium\n", + "19 20.00000 147.3 23.90 19.1 14.6 Medium\n", + "20 21.00000 218.4 23.78 53.4 18.0 High" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 44 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "MCo6H2QVI3wI", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 419 + }, + "outputId": "52ce370c-4742-4780-ba39-db2004d5a4c8" + }, + "source": [ + "norm_data=(data.iloc[:,0:4]-data.iloc[:,0:4].mean())/data.iloc[:,0:4].std()\n", + "norm_data" + ], + "execution_count": 71, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0TVRadioNewspaper
00.0000000.967425-2.502963e-161.774493
1-1.877566-1.1943791.093417e+000.667903
2-1.858524-1.5123601.558401e+001.779084
3-1.8394830.0519191.234321e+001.283185
4-1.8204410.393196-9.144687e-011.278593
...............
1951.816541-1.267759-1.414679e+00-0.769287
1961.835582-0.615491-1.330136e+00-1.031011
1971.8546240.348934-1.020147e+00-1.109069
1980.0000001.5905741.283638e+001.636743
1991.8927080.990720-1.069463e+00-1.003461
\n", + "

200 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 TV Radio Newspaper\n", + "0 0.000000 0.967425 -2.502963e-16 1.774493\n", + "1 -1.877566 -1.194379 1.093417e+00 0.667903\n", + "2 -1.858524 -1.512360 1.558401e+00 1.779084\n", + "3 -1.839483 0.051919 1.234321e+00 1.283185\n", + "4 -1.820441 0.393196 -9.144687e-01 1.278593\n", + ".. ... ... ... ...\n", + "195 1.816541 -1.267759 -1.414679e+00 -0.769287\n", + "196 1.835582 -0.615491 -1.330136e+00 -1.031011\n", + "197 1.854624 0.348934 -1.020147e+00 -1.109069\n", + "198 0.000000 1.590574 1.283638e+00 1.636743\n", + "199 1.892708 0.990720 -1.069463e+00 -1.003461\n", + "\n", + "[200 rows x 4 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 71 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "6dchZZNoauxf", + "colab_type": "code", + "colab": {} + }, + "source": [ + "x = norm_data[['Unnamed: 0','TV','Radio','Newspaper']].values\n", + "y = data[['Sales']].values" + ], + "execution_count": 77, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "pfK2mGhyFIC7", + "colab_type": "code", + "colab": {} + }, + "source": [ + "from sklearn.model_selection import train_test_split\n", + "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.4)" + ], + "execution_count": 78, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "zqJXj1VrMWx5", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "14f040f2-5cc4-4596-f46e-84e4695cfefd" + }, + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "regressor = LinearRegression() \n", + "regressor.fit(x_train, y_train)" + ], + "execution_count": 79, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 79 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-si4HY5-TGiq", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "9844d090-b272-413b-b508-5b23cb69e915" + }, + "source": [ + "regressor.coef_" + ], + "execution_count": 80, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[0.25119618, 3.87668591, 2.74513924, 0.01651721]])" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 80 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "rb9E9-tGY1fx", + "colab_type": "code", + "colab": {} + }, + "source": [ + "y_pred = regressor.predict(x_test)" + ], + "execution_count": 81, + "outputs": [] + }, + { + "cell_type": "code", + "metadata": { + "id": "dzjYZK00Za-l", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 419 + }, + "outputId": "4cc247a5-4554-4a70-88bf-860859980f9c" + }, + "source": [ + "df = pd.DataFrame({'Actual': y_test.ravel(), 'Predicted': y_pred.ravel()})\n", + "df" + ], + "execution_count": 86, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ActualPredicted
022.221.001678
19.511.469820
211.09.236140
313.415.215678
425.423.308560
.........
7511.717.271140
7615.515.004766
7715.916.110678
7822.620.992433
7913.411.536179
\n", + "

80 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " Actual Predicted\n", + "0 22.2 21.001678\n", + "1 9.5 11.469820\n", + "2 11.0 9.236140\n", + "3 13.4 15.215678\n", + "4 25.4 23.308560\n", + ".. ... ...\n", + "75 11.7 17.271140\n", + "76 15.5 15.004766\n", + "77 15.9 16.110678\n", + "78 22.6 20.992433\n", + "79 13.4 11.536179\n", + "\n", + "[80 rows x 2 columns]" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 86 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "nll1_NLaZi_m", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 486 + }, + "outputId": "2437e323-9004-46b8-8e24-54fa26ba1225" + }, + "source": [ + "import matplotlib.pyplot as plt\n", + "df.plot(kind='bar',figsize=(10,8))\n", + "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", + "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", + "plt.show()" + ], + "execution_count": 89, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHVCAYAAADRta6NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de5hkdX0n/veBgYwIIgyGIChDFOMiC8hw0RXYQQyOMQFRs/70iTpRHN1d0F80v2XMJpkmZgM/Vw2J7noLrposLJHgjfGC6HQmboIyICpx5LIyKoJyGSEMiDpw9o9zpq3pqerLt6u7q7pfr+epp6vOp8453/r2qap3fc+pU1Vd1wEAYHp2m+8GAAAMIyEKAKCAEAUAUECIAgAoIEQBABQQogAACiyZy5UdcMAB9fLly5Mk9z50b5bttazr/dTU1NQGpR1qamoLqzadea677rp76rp+Qtc7J0ld13N2WbFiRb3Dug3r6l7U1NTUBqUdampqC6s2nXmSbKonyDV25wEAFBCiAAAKCFEAAAXm9MByAKB/fv7zn+dZez8rmzdv7lp//r7PV5vC9KVLl+aQQw7pupyJCFEAMKRuv/32/OqBv5rDDzk8VVXtUr/jgTvyxH2e2HXexVobP72u69x77725/fbbuy5nInbnAcCQevjhh/PYfR/bNUAxNVVVZdmyZXn44YenPa8QBQBDTICaudI+FKIAgBn5xCc+kaqqcuvNt054v4suuigPPfRQ8Xo+/OEP55xzzimev98cEwUAC8Tyteu7TP3aBHNMXNty4QuntN5LL700J510Uj7xsU/klBWn9LzfRRddlN/5nd/JXnvtNaXlDjojUQBAsW3btuXLX/5yLr744nzy7z6ZJHnkkUfy+7//+znyyCNz1FFH5d3vfncufu/FueOOO3Lqqafm1FNPTZLsvffeY8u5/PLLs3r16iTJpz/96Zx44ol55jOfmZed8bL86Ec/mvPHNRVGogCAYp/85CezatWqPO1pT8t++++X6667Ll/96lezZcuW3HDDDVmyZEm2bt2ah/d4OBf/94uzYcOGHHDAARMu86STTso111yTqqryjve8I29/+9vzzne+c44e0dQJUQBAsUsvvTRvetObkiRnvuTMXHrppbntttvyhje8IUuWNDFj//33zx0P3DHlZd5+++152cteljvvvDMPPfxQDn/K4bPS9pkSogCAIlu3bs2XvvSlfPOb30xVVfnZ9p9lyW5Lcvzxx09p/s5vxXWeYuDcc8/Nm9/85pxxxhm5/DOX5z1vf0/f294PjokCAIpcfvnleeUrX5nvfve72bJlSzZt3pTDDjssRx99dN7//vdn+/btSZqwlST77LNPHnjggbH5DzzwwGzevDmPPvpoPv7xj49Nv//++3PwwQcnST52ycfm8BFNjxAFABS59NJLc9ZZZ+007SUveUnuvPPOPPnJT85RRx2Vo48+OpdcckmSZM2aNVm1atXYgeUXXnhhfvM3fzNnPO+MHHTQQWPLGBkZyW//9m9nxYoV2X/Z/nP3gKbJ7jwAWCDGn5JgNn5OpdOGDRt2mfbGN75x7Pq73vWunZZ57rnn5txzzx2b9tKXvjQvfelLd1nfmWeemTPPPHOXtqxevXrsG3yDwEgUAEABIQoAoIAQBQBQwDFRLEg7fvpg9ap5bggAC5aRKACAAkIUAEABIQoAKLb77rvnmGOOyZFHHpk1r1qThx56qHhZq1evzuWXX54kOfvss/Otb32r531HR0dz7VeunfY6TjzyxNxzzz3FbezkmCgAWChG9t3p5kRneppSbeT+SVf5mMc8JjfccEOS5MX/7sV53/velze/+c1j9e3bt4/9ht50/NVf/VWS9PzNvdHR0Ty6x6M583lnTnvZ/WIkCgDoixP+zQm59dZbMzo6mpNPPjlnnHFGjjjiiDzyyCN52x++Lccff3yOOuqovP/970+S1HWdc845Jycfe3Ke97zn5a677hpb1sqVK7Np06Ykyec+97kce+yxOfroo3Paaadly5Yted/73pcP/rcP5phjjsk//MM/5O67785LXvKSHH/88Tn++ONz7TXNKNW9996b008/Pc94xjNy9tlnp67rvj1eI1EAwIxt3749G76wIS/6zRclSa6//vrceOONOeyww/KBD3wg+zxun1x77bX56U9/muc85zk5/fTT87WvfS033XRTRq8dze4P7Z4jjjgir3nNa3Za7r333JvXve512bhxYw477LBs3bo1+++/f97whjfk0T0ezZ/85z9JkrziFa/I7/3e7+Wkk07K9773vZz266flzJvOzPnnn5+TTjopf/zHf5z169fn4osv7ttjFqIAgGI/+clPcswxxyRJjj3x2Lz2ta/N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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "tags": [], + "needs_background": "light" + } + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "2cqDsWDmc6qB", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 68 + }, + "outputId": "319604fb-711f-4435-ba61-1e101e3f4107" + }, + "source": [ + "from sklearn import metrics\n", + "print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred)) \n", + "print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred)) \n", + "print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))" + ], + "execution_count": 91, + "outputs": [ + { + "output_type": "stream", + "text": [ + "Mean Absolute Error: 1.4234540607737323\n", + "Mean Squared Error: 3.209015900140615\n", + "Root Mean Squared Error: 1.7913726301751445\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "3TVoas6EdPOX", + "colab_type": "code", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "outputId": "3fd800dd-3ffd-4021-98d7-992c6c1dcf22" + }, + "source": [ + "print(data['Sales'].mean())" + ], + "execution_count": 94, + "outputs": [ + { + "output_type": "stream", + "text": [ + "14.022500000000003\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "7NkNsXzad7B1", + "colab_type": "code", + "colab": {} + }, + "source": [ + "" + ], + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file From 41f4c043e3cb0dd56a3cab587972e43faf7a9784 Mon Sep 17 00:00:00 2001 From: Pulkit Jain <44058714+pulkit2001@users.noreply.github.com> Date: Wed, 2 Sep 2020 18:16:11 +0530 Subject: [PATCH 3/3] Delete DL_Lab_2_Part_2.ipynb --- DL_Lab_2_Part_2.ipynb | 1575 ----------------------------------------- 1 file changed, 1575 deletions(-) delete mode 100644 DL_Lab_2_Part_2.ipynb diff --git a/DL_Lab_2_Part_2.ipynb b/DL_Lab_2_Part_2.ipynb deleted file mode 100644 index 787fdb1..0000000 --- a/DL_Lab_2_Part_2.ipynb +++ /dev/null @@ -1,1575 +0,0 @@ -{ - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "DL_Lab 2 Part 2", - "provenance": [], - "authorship_tag": "ABX9TyNGcBcZ5ar/OT8kaYgj8RP/", - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - } - }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "mZFgo1xROBuy", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 289 - }, - "outputId": "e5ea859e-8795-4bd7-9c91-afb8f6471f91" - }, - "source": [ - "!wget https://github.com/JWarmenhoven/ISLR-python/raw/master/Notebooks/Data/Advertising.csv" - ], - "execution_count": 29, - "outputs": [ - { - "output_type": "stream", - "text": [ - "--2020-09-02 09:25:33-- https://github.com/JWarmenhoven/ISLR-python/raw/master/Notebooks/Data/Advertising.csv\n", - "Resolving github.com (github.com)... 140.82.113.4\n", - "Connecting to github.com (github.com)|140.82.113.4|:443... connected.\n", - "HTTP request sent, awaiting response... 302 Found\n", - "Location: https://raw.githubusercontent.com/JWarmenhoven/ISLR-python/master/Notebooks/Data/Advertising.csv [following]\n", - "--2020-09-02 09:25:33-- https://raw.githubusercontent.com/JWarmenhoven/ISLR-python/master/Notebooks/Data/Advertising.csv\n", - "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.0.133, 151.101.64.133, 151.101.128.133, ...\n", - "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.0.133|:443... connected.\n", - "HTTP request sent, awaiting response... 200 OK\n", - "Length: 5166 (5.0K) [text/plain]\n", - "Saving to: ‘Advertising.csv.1’\n", - "\n", - "Advertising.csv.1 100%[===================>] 5.04K --.-KB/s in 0s \n", - "\n", - "2020-09-02 09:25:34 (64.7 MB/s) - ‘Advertising.csv.1’ saved [5166/5166]\n", - "\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "Zx3cR9YKOIIs", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 204 - }, - "outputId": "fd5cfbe5-0463-4108-b305-5fb40b60d051" - }, - "source": [ - "import pandas as pd\n", - "data = pd.read_csv('Advertising.csv')\n", - "data.head()" - ], - "execution_count": 30, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0TVRadioNewspaperSales
01230.137.869.222.1
1244.539.345.110.4
2317.245.969.39.3
34151.541.358.518.5
45180.810.858.412.9
\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 TV Radio Newspaper Sales\n", - "0 1 230.1 37.8 69.2 22.1\n", - "1 2 44.5 39.3 45.1 10.4\n", - "2 3 17.2 45.9 69.3 9.3\n", - "3 4 151.5 41.3 58.5 18.5\n", - "4 5 180.8 10.8 58.4 12.9" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 30 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "gIuf7E3MOd6-", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 34 - }, - "outputId": "d99255fd-4b1c-469f-85ed-5b8303162126" - }, - "source": [ - "data.isnull().values.any()" - ], - "execution_count": 4, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "False" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 4 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "5z5ywvHXOy-E", - "colab_type": "code", - "colab": {} - }, - "source": [ - "sales_type = []\n", - "for i in data.Sales:\n", - " if i>=15:\n", - " sales_type.append(\"High\")\n", - " elif i>=5 and i<=15 :\n", - " sales_type.append(\"Medium\")\n", - " else:\n", - " sales_type.append(\"Low\")" - ], - "execution_count": 5, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "mWdgpwIeTjWn", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 419 - }, - "outputId": "09166aa1-d0a9-4f36-b3f0-e63da5d67efe" - }, - "source": [ - "data['Sales_type'] = sales_type\n", - "data" - ], - "execution_count": 31, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0TVRadioNewspaperSalesSales_type
01230.137.869.222.1High
1244.539.345.110.4Medium
2317.245.969.39.3Medium
34151.541.358.518.5High
45180.810.858.412.9Medium
.....................
19519638.23.713.87.6Medium
19619794.24.98.19.7Medium
197198177.09.36.412.8Medium
198199283.642.066.225.5High
199200232.18.68.713.4Medium
\n", - "

200 rows × 6 columns

\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 TV Radio Newspaper Sales Sales_type\n", - "0 1 230.1 37.8 69.2 22.1 High\n", - "1 2 44.5 39.3 45.1 10.4 Medium\n", - "2 3 17.2 45.9 69.3 9.3 Medium\n", - "3 4 151.5 41.3 58.5 18.5 High\n", - "4 5 180.8 10.8 58.4 12.9 Medium\n", - ".. ... ... ... ... ... ...\n", - "195 196 38.2 3.7 13.8 7.6 Medium\n", - "196 197 94.2 4.9 8.1 9.7 Medium\n", - "197 198 177.0 9.3 6.4 12.8 Medium\n", - "198 199 283.6 42.0 66.2 25.5 High\n", - "199 200 232.1 8.6 8.7 13.4 Medium\n", - "\n", - "[200 rows x 6 columns]" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 31 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "FlPy_wJoTnqQ", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 204 - }, - "outputId": "a5212ab6-d814-43d0-d8ac-1bbef03982aa" - }, - "source": [ - "dgb = data.groupby('Sales_type')\n", - "dgb.aggregate(['sum','mean'])" - ], - "execution_count": 11, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0TVRadioNewspaperSales
summeansummeansummeansummeansummean
Sales_type
High751097.53246816469.8213.8935062594.133.6896102720.635.3324681500.819.490909
Low29698.66666713.44.46666753.317.76666715.45.1333339.63.200000
Medium12294102.45000012925.3107.7108332005.416.7116673374.828.1233331294.110.784167
\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 TV ... Newspaper Sales \n", - " sum mean sum ... mean sum mean\n", - "Sales_type ... \n", - "High 7510 97.532468 16469.8 ... 35.332468 1500.8 19.490909\n", - "Low 296 98.666667 13.4 ... 5.133333 9.6 3.200000\n", - "Medium 12294 102.450000 12925.3 ... 28.123333 1294.1 10.784167\n", - "\n", - "[3 rows x 10 columns]" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 11 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "u4e7LjKHVNjV", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 700 - }, - "outputId": "e8893c67-7189-4736-dab8-8a488b152381" - }, - "source": [ - "import numpy as np\n", - "data.iloc[::6, 0] = np.NaN\n", - "data.iloc[::10, 2] = np.NaN\n", - "data[data.TV.notnull()][0:21]" - ], - "execution_count": 36, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0TVRadioNewspaperSalesSales_type
0NaN230.1NaN69.222.1High
12.044.539.345.110.4Medium
23.017.245.969.39.3Medium
34.0151.541.358.518.5High
45.0180.810.858.412.9Medium
56.08.748.975.07.2Medium
6NaN57.532.823.511.8Medium
78.0120.219.611.613.2Medium
89.08.62.11.04.8Low
910.0199.82.621.210.6Medium
1011.066.1NaN24.28.6Medium
1112.0214.724.04.017.4High
12NaN23.835.165.99.2Medium
1314.097.57.67.29.7Medium
1415.0204.132.946.019.0High
1516.0195.447.752.922.4High
1617.067.836.6114.012.5Medium
1718.0281.439.655.824.4High
18NaN69.220.518.311.3Medium
1920.0147.323.919.114.6Medium
2021.0218.4NaN53.418.0High
\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 TV Radio Newspaper Sales Sales_type\n", - "0 NaN 230.1 NaN 69.2 22.1 High\n", - "1 2.0 44.5 39.3 45.1 10.4 Medium\n", - "2 3.0 17.2 45.9 69.3 9.3 Medium\n", - "3 4.0 151.5 41.3 58.5 18.5 High\n", - "4 5.0 180.8 10.8 58.4 12.9 Medium\n", - "5 6.0 8.7 48.9 75.0 7.2 Medium\n", - "6 NaN 57.5 32.8 23.5 11.8 Medium\n", - "7 8.0 120.2 19.6 11.6 13.2 Medium\n", - "8 9.0 8.6 2.1 1.0 4.8 Low\n", - "9 10.0 199.8 2.6 21.2 10.6 Medium\n", - "10 11.0 66.1 NaN 24.2 8.6 Medium\n", - "11 12.0 214.7 24.0 4.0 17.4 High\n", - "12 NaN 23.8 35.1 65.9 9.2 Medium\n", - "13 14.0 97.5 7.6 7.2 9.7 Medium\n", - "14 15.0 204.1 32.9 46.0 19.0 High\n", - "15 16.0 195.4 47.7 52.9 22.4 High\n", - "16 17.0 67.8 36.6 114.0 12.5 Medium\n", - "17 18.0 281.4 39.6 55.8 24.4 High\n", - "18 NaN 69.2 20.5 18.3 11.3 Medium\n", - "19 20.0 147.3 23.9 19.1 14.6 Medium\n", - "20 21.0 218.4 NaN 53.4 18.0 High" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 36 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "Dk0tN6q9I3oY", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 700 - }, - "outputId": "6061eac9-621c-4539-e1a4-2290f89b66ae" - }, - "source": [ - "data['Radio'] = data['Radio'].fillna(data['Radio'].mean())\n", - "data['Unnamed: 0'] = data['Unnamed: 0'].fillna(data['Unnamed: 0'].mean())\n", - "data[0:21]" - ], - "execution_count": 44, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0TVRadioNewspaperSalesSales_type
0100.60241230.123.7869.222.1High
12.0000044.539.3045.110.4Medium
23.0000017.245.9069.39.3Medium
34.00000151.541.3058.518.5High
45.00000180.810.8058.412.9Medium
56.000008.748.9075.07.2Medium
6100.6024157.532.8023.511.8Medium
78.00000120.219.6011.613.2Medium
89.000008.62.101.04.8Low
910.00000199.82.6021.210.6Medium
1011.0000066.123.7824.28.6Medium
1112.00000214.724.004.017.4High
12100.6024123.835.1065.99.2Medium
1314.0000097.57.607.29.7Medium
1415.00000204.132.9046.019.0High
1516.00000195.447.7052.922.4High
1617.0000067.836.60114.012.5Medium
1718.00000281.439.6055.824.4High
18100.6024169.220.5018.311.3Medium
1920.00000147.323.9019.114.6Medium
2021.00000218.423.7853.418.0High
\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 TV Radio Newspaper Sales Sales_type\n", - "0 100.60241 230.1 23.78 69.2 22.1 High\n", - "1 2.00000 44.5 39.30 45.1 10.4 Medium\n", - "2 3.00000 17.2 45.90 69.3 9.3 Medium\n", - "3 4.00000 151.5 41.30 58.5 18.5 High\n", - "4 5.00000 180.8 10.80 58.4 12.9 Medium\n", - "5 6.00000 8.7 48.90 75.0 7.2 Medium\n", - "6 100.60241 57.5 32.80 23.5 11.8 Medium\n", - "7 8.00000 120.2 19.60 11.6 13.2 Medium\n", - "8 9.00000 8.6 2.10 1.0 4.8 Low\n", - "9 10.00000 199.8 2.60 21.2 10.6 Medium\n", - "10 11.00000 66.1 23.78 24.2 8.6 Medium\n", - "11 12.00000 214.7 24.00 4.0 17.4 High\n", - "12 100.60241 23.8 35.10 65.9 9.2 Medium\n", - "13 14.00000 97.5 7.60 7.2 9.7 Medium\n", - "14 15.00000 204.1 32.90 46.0 19.0 High\n", - "15 16.00000 195.4 47.70 52.9 22.4 High\n", - "16 17.00000 67.8 36.60 114.0 12.5 Medium\n", - "17 18.00000 281.4 39.60 55.8 24.4 High\n", - "18 100.60241 69.2 20.50 18.3 11.3 Medium\n", - "19 20.00000 147.3 23.90 19.1 14.6 Medium\n", - "20 21.00000 218.4 23.78 53.4 18.0 High" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 44 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "MCo6H2QVI3wI", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 419 - }, - "outputId": "52ce370c-4742-4780-ba39-db2004d5a4c8" - }, - "source": [ - "norm_data=(data.iloc[:,0:4]-data.iloc[:,0:4].mean())/data.iloc[:,0:4].std()\n", - "norm_data" - ], - "execution_count": 71, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Unnamed: 0TVRadioNewspaper
00.0000000.967425-2.502963e-161.774493
1-1.877566-1.1943791.093417e+000.667903
2-1.858524-1.5123601.558401e+001.779084
3-1.8394830.0519191.234321e+001.283185
4-1.8204410.393196-9.144687e-011.278593
...............
1951.816541-1.267759-1.414679e+00-0.769287
1961.835582-0.615491-1.330136e+00-1.031011
1971.8546240.348934-1.020147e+00-1.109069
1980.0000001.5905741.283638e+001.636743
1991.8927080.990720-1.069463e+00-1.003461
\n", - "

200 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " Unnamed: 0 TV Radio Newspaper\n", - "0 0.000000 0.967425 -2.502963e-16 1.774493\n", - "1 -1.877566 -1.194379 1.093417e+00 0.667903\n", - "2 -1.858524 -1.512360 1.558401e+00 1.779084\n", - "3 -1.839483 0.051919 1.234321e+00 1.283185\n", - "4 -1.820441 0.393196 -9.144687e-01 1.278593\n", - ".. ... ... ... ...\n", - "195 1.816541 -1.267759 -1.414679e+00 -0.769287\n", - "196 1.835582 -0.615491 -1.330136e+00 -1.031011\n", - "197 1.854624 0.348934 -1.020147e+00 -1.109069\n", - "198 0.000000 1.590574 1.283638e+00 1.636743\n", - "199 1.892708 0.990720 -1.069463e+00 -1.003461\n", - "\n", - "[200 rows x 4 columns]" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 71 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "6dchZZNoauxf", - "colab_type": "code", - "colab": {} - }, - "source": [ - "x = norm_data[['Unnamed: 0','TV','Radio','Newspaper']].values\n", - "y = data[['Sales']].values" - ], - "execution_count": 77, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "pfK2mGhyFIC7", - "colab_type": "code", - "colab": {} - }, - "source": [ - "from sklearn.model_selection import train_test_split\n", - "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.4)" - ], - "execution_count": 78, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "zqJXj1VrMWx5", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 34 - }, - "outputId": "14f040f2-5cc4-4596-f46e-84e4695cfefd" - }, - "source": [ - "from sklearn.linear_model import LinearRegression\n", - "regressor = LinearRegression() \n", - "regressor.fit(x_train, y_train)" - ], - "execution_count": 79, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 79 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "-si4HY5-TGiq", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 34 - }, - "outputId": "9844d090-b272-413b-b508-5b23cb69e915" - }, - "source": [ - "regressor.coef_" - ], - "execution_count": 80, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/plain": [ - "array([[0.25119618, 3.87668591, 2.74513924, 0.01651721]])" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 80 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "rb9E9-tGY1fx", - "colab_type": "code", - "colab": {} - }, - "source": [ - "y_pred = regressor.predict(x_test)" - ], - "execution_count": 81, - "outputs": [] - }, - { - "cell_type": "code", - "metadata": { - "id": "dzjYZK00Za-l", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 419 - }, - "outputId": "4cc247a5-4554-4a70-88bf-860859980f9c" - }, - "source": [ - "df = pd.DataFrame({'Actual': y_test.ravel(), 'Predicted': y_pred.ravel()})\n", - "df" - ], - "execution_count": 86, - "outputs": [ - { - "output_type": "execute_result", - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
ActualPredicted
022.221.001678
19.511.469820
211.09.236140
313.415.215678
425.423.308560
.........
7511.717.271140
7615.515.004766
7715.916.110678
7822.620.992433
7913.411.536179
\n", - "

80 rows × 2 columns

\n", - "
" - ], - "text/plain": [ - " Actual Predicted\n", - "0 22.2 21.001678\n", - "1 9.5 11.469820\n", - "2 11.0 9.236140\n", - "3 13.4 15.215678\n", - "4 25.4 23.308560\n", - ".. ... ...\n", - "75 11.7 17.271140\n", - "76 15.5 15.004766\n", - "77 15.9 16.110678\n", - "78 22.6 20.992433\n", - "79 13.4 11.536179\n", - "\n", - "[80 rows x 2 columns]" - ] - }, - "metadata": { - "tags": [] - }, - "execution_count": 86 - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "nll1_NLaZi_m", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 486 - }, - "outputId": "2437e323-9004-46b8-8e24-54fa26ba1225" - }, - "source": [ - "import matplotlib.pyplot as plt\n", - "df.plot(kind='bar',figsize=(10,8))\n", - "plt.grid(which='major', linestyle='-', linewidth='0.5', color='green')\n", - "plt.grid(which='minor', linestyle=':', linewidth='0.5', color='black')\n", - "plt.show()" - ], - "execution_count": 89, - "outputs": [ - { - "output_type": "display_data", - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAHVCAYAAADRta6NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de5hkdX0n/veBgYwIIgyGIChDFOMiC8hw0RXYQQyOMQFRs/70iTpRHN1d0F80v2XMJpkmZgM/Vw2J7noLrposLJHgjfGC6HQmboIyICpx5LIyKoJyGSEMiDpw9o9zpq3pqerLt6u7q7pfr+epp6vOp8453/r2qap3fc+pU1Vd1wEAYHp2m+8GAAAMIyEKAKCAEAUAUECIAgAoIEQBABQQogAACiyZy5UdcMAB9fLly5Mk9z50b5bttazr/dTU1NQGpR1qamoLqzadea677rp76rp+Qtc7J0ld13N2WbFiRb3Dug3r6l7U1NTUBqUdampqC6s2nXmSbKonyDV25wEAFBCiAAAKCFEAAAXm9MByAKB/fv7zn+dZez8rmzdv7lp//r7PV5vC9KVLl+aQQw7pupyJCFEAMKRuv/32/OqBv5rDDzk8VVXtUr/jgTvyxH2e2HXexVobP72u69x77725/fbbuy5nInbnAcCQevjhh/PYfR/bNUAxNVVVZdmyZXn44YenPa8QBQBDTICaudI+FKIAgBn5xCc+kaqqcuvNt054v4suuigPPfRQ8Xo+/OEP55xzzimev98cEwUAC8Tyteu7TP3aBHNMXNty4QuntN5LL700J510Uj7xsU/klBWn9LzfRRddlN/5nd/JXnvtNaXlDjojUQBAsW3btuXLX/5yLr744nzy7z6ZJHnkkUfy+7//+znyyCNz1FFH5d3vfncufu/FueOOO3Lqqafm1FNPTZLsvffeY8u5/PLLs3r16iTJpz/96Zx44ol55jOfmZed8bL86Ec/mvPHNRVGogCAYp/85CezatWqPO1pT8t++++X6667Ll/96lezZcuW3HDDDVmyZEm2bt2ah/d4OBf/94uzYcOGHHDAARMu86STTso111yTqqryjve8I29/+9vzzne+c44e0dQJUQBAsUsvvTRvetObkiRnvuTMXHrppbntttvyhje8IUuWNDFj//33zx0P3DHlZd5+++152cteljvvvDMPPfxQDn/K4bPS9pkSogCAIlu3bs2XvvSlfPOb30xVVfnZ9p9lyW5Lcvzxx09p/s5vxXWeYuDcc8/Nm9/85pxxxhm5/DOX5z1vf0/f294PjokCAIpcfvnleeUrX5nvfve72bJlSzZt3pTDDjssRx99dN7//vdn+/btSZqwlST77LNPHnjggbH5DzzwwGzevDmPPvpoPv7xj49Nv//++3PwwQcnST52ycfm8BFNjxAFABS59NJLc9ZZZ+007SUveUnuvPPOPPnJT85RRx2Vo48+OpdcckmSZM2aNVm1atXYgeUXXnhhfvM3fzNnPO+MHHTQQWPLGBkZyW//9m9nxYoV2X/Z/nP3gKbJ7jwAWCDGn5JgNn5OpdOGDRt2mfbGN75x7Pq73vWunZZ57rnn5txzzx2b9tKXvjQvfelLd1nfmWeemTPPPHOXtqxevXrsG3yDwEgUAEABIQoAoIAQBQBQwDFRLEg7fvpg9ap5bggAC5aRKACAAkIUAEABIQoAKLb77rvnmGOOyZFHHpk1r1qThx56qHhZq1evzuWXX54kOfvss/Otb32r531HR0dz7VeunfY6TjzyxNxzzz3FbezkmCgAWChG9t3p5kRneppSbeT+SVf5mMc8JjfccEOS5MX/7sV53/velze/+c1j9e3bt4/9ht50/NVf/VWS9PzNvdHR0Ty6x6M583lnTnvZ/WIkCgDoixP+zQm59dZbMzo6mpNPPjlnnHFGjjjiiDzyyCN52x++Lccff3yOOuqovP/970+S1HWdc845Jycfe3Ke97zn5a677hpb1sqVK7Np06Ykyec+97kce+yxOfroo3Paaadly5Yted/73pcP/rcP5phjjsk//MM/5O67785LXvKSHH/88Tn++ONz7TXNKNW9996b008/Pc94xjNy9tlnp67rvj1eI1EAwIxt3749G76wIS/6zRclSa6//vrceOONOeyww/KBD3wg+zxun1x77bX56U9/muc85zk5/fTT87WvfS033XRTRq8dze4P7Z4jjjgir3nNa3Za7r333JvXve512bhxYw477LBs3bo1+++/f97whjfk0T0ezZ/85z9JkrziFa/I7/3e7+Wkk07K9773vZz266flzJvOzPnnn5+TTjopf/zHf5z169fn4osv7ttjFqIAgGI/+clPcswxxyRJjj3x2Lz2ta/N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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "tags": [], - "needs_background": "light" - } - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "2cqDsWDmc6qB", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 68 - }, - "outputId": "319604fb-711f-4435-ba61-1e101e3f4107" - }, - "source": [ - "from sklearn import metrics\n", - "print('Mean Absolute Error:', metrics.mean_absolute_error(y_test, y_pred)) \n", - "print('Mean Squared Error:', metrics.mean_squared_error(y_test, y_pred)) \n", - "print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(y_test, y_pred)))" - ], - "execution_count": 91, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Mean Absolute Error: 1.4234540607737323\n", - "Mean Squared Error: 3.209015900140615\n", - "Root Mean Squared Error: 1.7913726301751445\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "3TVoas6EdPOX", - "colab_type": "code", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 34 - }, - "outputId": "3fd800dd-3ffd-4021-98d7-992c6c1dcf22" - }, - "source": [ - "print(data['Sales'].mean())" - ], - "execution_count": 94, - "outputs": [ - { - "output_type": "stream", - "text": [ - "14.022500000000003\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "7NkNsXzad7B1", - "colab_type": "code", - "colab": {} - }, - "source": [ - "" - ], - "execution_count": null, - "outputs": [] - } - ] -} \ No newline at end of file