O`ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Kompyuter tizimlati kafedrasi
Ma’lumotlarning intelektual tahlili fani bo’yicha
Laboratoriya ishi №3
Mavzu: Ma’lumotlar to’plamini optimallashtirish
Bajardi: 214-18 guruh talabasi
Farmonov Shahzod
Tekshirdi: Ochilov Temur
Toshkent 2021
Laboratoriya ishi №3
Mavzu: Ma’lumotlar to’plamini optimallashtirish
Ishdan maqsad: Ma’lumotlar to’plamini optimallashtirishda Pandas kutubxonasining dropna() modulidan foydalanib bo’sh qiymatlarni tushirib qoldirishni tashkillashtirish. Ustunlardagi kategoriyali ma’lumotlarni ushbu ustundagi eng ko’p takrorlangan qiymat(mode) bilan to’ldirish. Boshqa qiymatlarni esa ushbu vaziyatga qarab ustundagi qiymatlarning mean yoki medianlari bilan to’ldirish, df.shape() orqali qayta ishlangan ma’lumotlar sonini chiqarish va bajargan ishdan xulosa chiqarish.
Ishni bajarish
4-variant
iris.csv database dan foydalanib ma’lumotlarni optimallashtiramiz
Kutubxonalarni yuklab olish:
import numpy as np
import pandas as pd
Ma’lumotlarni o’qib olish
data=pd.read_csv('death.csv')
data
1-rasm. O’qib olingan dataset ko’rinishi.
O’qib olingan ma’lumotlar soni chiqarish df.shape() orqali
df=pd.DataFrame(data)
rows, columns=df.shape
rows, columns
Hozirgi datasetda 2800ta qator, 6ta ustun mavjud ekan. Har bir ustun bo’yicha bo’sh qiymatlar yig’indisini chiqarish:
df.isnull().sum()
Ustunning 55% idan ko’p qismi mavjud bo’lmasa ustunni tushirib qoldirish, ya’ni 45% mavjud bo’lganlari saqlanadi
df=df.dropna(axis=1,thresh=0.45*rows)
df
2-rasm. Ustunlari o’chgandan keyingi dataset.
Qatorning 15% idan ko’p qismi mavjud bo’lmasa qatorni tushirib qoldirish, ya’ni 85% mavjud bo’lganlari saqlanadi
df=df.dropna(axis=0,thresh=0.85*columns)
df
3-rasm. Qatorlari o’chgandan keyingi dataset.
Qatorlarni o’chirgandan keyin 139ta qator qoldi. Qolgan ma’lumotlarni har bir ustuni bo’yicha bo’sh qiymatlarning yig’indisini chiqarish:
df.isnull().sum()
Qolgan bo’sh qiymatlarni mean, median, mode lardan mosidan foydalanib to’ldirib chiqamiz.
country=df['County'].mode()
fips=df['FIPS'].mean()
met=df['Met Objective of 45.5? (1)'].mode()
age=df['Age-Adjusted Death Rate'].mean()
lower=df['Lower 95% Confidence Interval for Death Rate'].mean()
upper=df['Upper 95% Confidence Interval for Death Rate'].mean()
df['County']=df['County'].fillna(value=country)
df['FIPS']=df['FIPS'].fillna(value=fips)
df['Met Objective of 45.5? (1)']=df['Met Objective of 45.5? (1)'].fillna(value=met)
df['Age-Adjusted Death Rate']=df['Age-Adjusted Death Rate'].fillna(value=age)
df['Lower 95% Confidence Interval for Death Rate']=df['Lower 95% Confidence Interval for Death Rate'].fillna(value=lower)
df['Upper 95% Confidence Interval for Death Rate']=df['Upper 95% Confidence Interval for Death Rate'].fillna(value=upper)
df
4-rasm. Bo’sh qiymatlarni to’ldirgandan keyingi dataset ko’rinishi.
df.isnull().sum()
rows, columns=df.shape
rows, columns
Yuqorida ko’rib turganimizdek dataset ustunlarining bo’sh qiymatlari qolmadi. Natijada 784ta qator, 6ta ustun qoldi.
Xulosa
Bu laboratoriyani ishini bajarish davomida ma’lumotlar to’plamini optimallashtirish bilan tanishdim. Berilgan datasetdan pandas kutubxonasining dropna() modulidan foydalanib bo’sh qiymatlarni tushirib qoldirdim. Qolgan bo’sh qiymatlarni mean, mode larni hisoblab to’ldirib chiqdim. Bundan maqsad, qurgan modelimizning aniqligini oshirish.
Do'stlaringiz bilan baham: |