የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን

ከአዲስ የውሂብ ስብስብ ጋር መስራት ሲጀምር የመጀመሪያው እርምጃ እሱን መረዳት ነው. ይህንን ለማድረግ፣ ለምሳሌ በተለዋዋጮች ተቀባይነት ያላቸውን የእሴቶች ክልሎች፣ ዓይነቶቻቸውን እና እንዲሁም የጎደሉትን እሴቶች ብዛት ለማወቅ ያስፈልግዎታል።

የፓንዳስ ቤተ መፃህፍት የአሳሽ መረጃ ትንተና (EDA) ለማከናወን ብዙ ጠቃሚ መሳሪያዎችን ይሰጠናል። ነገር ግን እነሱን ከመጠቀምዎ በፊት አብዛኛውን ጊዜ እንደ df.describe () ባሉ አጠቃላይ ተግባራት መጀመር ያስፈልግዎታል። ይሁን እንጂ በእንደዚህ ያሉ ተግባራት የሚሰጡት ችሎታዎች ውስን መሆናቸውን ልብ ሊባል የሚገባው ሲሆን EDA በሚሰሩበት ጊዜ ከማንኛውም የመረጃ ስብስቦች ጋር አብሮ የመስራት የመጀመሪያ ደረጃዎች በጣም ብዙ ጊዜ እርስ በርስ በጣም ተመሳሳይ ናቸው.

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን

ዛሬ የምናትመው ጽሑፍ ደራሲ እሱ ተደጋጋሚ ድርጊቶችን ለመፈጸም ደጋፊ አይደለም ብሏል። በውጤቱም, በፍጥነት እና በተቀላጠፈ የአሳሽ መረጃ ትንተና ለማከናወን መሳሪያዎችን በመፈለግ ላይብረሪውን አገኘ ፓንዳስ-መገለጫ. የሥራው ውጤት የሚገለፀው በተወሰኑ የግለሰብ አመልካቾች መልክ አይደለም ፣ ግን ከእሱ ጋር የበለጠ በቅርበት ለመስራት ከመጀመርዎ በፊት ማወቅ ያለብዎትን አብዛኛዎቹን የተተነተነ መረጃን በያዘ ትክክለኛ ዝርዝር የኤችቲኤምኤል ዘገባ ነው።

እዚህ ጋር የታይታኒክ ዳታ ስብስብን እንደ ምሳሌ በመጠቀም የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን የመጠቀም ባህሪያትን እንመለከታለን.

ፓንዳዎችን በመጠቀም የዳሰሳ ጥናት

በታይታኒክ ዳታ ስብስብ ላይ በፓንዳስ-መገለጫ ለመሞከር ወሰንኩ ምክንያቱም በውስጡ በያዘው የተለያዩ የመረጃ ዓይነቶች እና በውስጡ የጎደሉ እሴቶች በመኖራቸው። ፓንዳስ-መገለጫ ቤተ-መጽሐፍት በተለይ መረጃው ገና ካልጸዳ እና እንደ ባህሪው ተጨማሪ ሂደት በሚፈልግበት ጊዜ አስደሳች ነው ብዬ አምናለሁ። እንዲህ ዓይነቱን ሂደት በተሳካ ሁኔታ ለማከናወን የት መጀመር እንዳለበት እና ምን ትኩረት መስጠት እንዳለቦት ማወቅ ያስፈልግዎታል. ፓንዳስ-መገለጫ ችሎታዎች ጠቃሚ የሆኑት እዚህ ነው።

በመጀመሪያ፣ መረጃውን እናስመጣለን እና ገላጭ ስታቲስቲክስን ለማግኘት ፓንዳዎችን እንጠቀማለን።

# импорт необходимых пакетов
import pandas as pd
import pandas_profiling
import numpy as np

# импорт данных
df = pd.read_csv('/Users/lukas/Downloads/titanic/train.csv')

# вычисление показателей описательной статистики
df.describe()

ይህን ኮድ ከፈጸሙ በኋላ በሚከተለው ምስል ላይ የሚታየውን ያገኛሉ.

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን
መደበኛ የፓንዳስ መሳሪያዎችን በመጠቀም የተገኘው ገላጭ ስታቲስቲክስ

ምንም እንኳን እዚህ ብዙ ጠቃሚ መረጃዎች ቢኖሩም, በጥናት ላይ ስላለው መረጃ ማወቅ የሚያስደስት ሁሉንም ነገር አልያዘም. ለምሳሌ፣ አንድ ሰው በውሂብ ፍሬም ውስጥ፣ መዋቅር ውስጥ እንደሆነ ሊገምት ይችላል። DataFrame, 891 ረድፎች አሉ. ይህ መፈተሽ ካስፈለገ የክፈፉን መጠን ለመወሰን ሌላ የኮድ መስመር ያስፈልጋል። እነዚህ ስሌቶች በተለይ ሀብትን የያዙ ባይሆኑም ሁሉንም ጊዜ መደጋገም መረጃውን በማጽዳት ጊዜን ማባከን አይቀርም።

ፓንዳስ-መገለጫ በመጠቀም የዳሰሳ ውሂብ ትንተና

አሁን ፓንዳስ-መገለጫ በመጠቀም ተመሳሳይ ነገር እናድርግ፡-

pandas_profiling.ProfileReport(df)

ከላይ ያለውን የኮድ መስመር መፈፀም የአሳሽ መረጃ ትንተና አመልካቾችን የያዘ ሪፖርት ያመነጫል። ከላይ የሚታየው ኮድ የተገኘውን ውሂብ ያወጣል, ነገር ግን ለአንድ ሰው ለምሳሌ ማሳየት የሚችሉትን የኤችቲኤምኤል ፋይል እንዲያወጣ ማድረግ ይችላሉ.

የሪፖርቱ የመጀመሪያ ክፍል ስለ ውሂቡ መሰረታዊ መረጃ (የተመልካቾች ብዛት ፣ የተለዋዋጮች ብዛት ፣ ወዘተ) የሚሰጥ አጠቃላይ እይታ ክፍል ይይዛል። ልዩ ትኩረት ሊሰጣቸው የሚገቡ ነገሮችን ተንታኝ የሚያሳውቅ የማንቂያዎች ዝርዝርም ይይዛል። እነዚህ ማንቂያዎች የውሂብ ማጽዳት ጥረቶችዎን የት ላይ ማተኮር እንደሚችሉ ፍንጭ ሊሰጡ ይችላሉ።

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን
አጠቃላይ እይታ ሪፖርት ክፍል

ኤክስፕሎራቶሪ ተለዋዋጭ ትንተና

ከሪፖርቱ አጠቃላይ እይታ ክፍል በታች ስለ እያንዳንዱ ተለዋዋጭ ጠቃሚ መረጃ ማግኘት ይችላሉ። ከሌሎች ነገሮች በተጨማሪ የእያንዳንዱን ተለዋዋጭ ስርጭት የሚገልጹ ትናንሽ ገበታዎችን ያካትታሉ.

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን
ስለ ዕድሜ ቁጥራዊ ተለዋዋጭ

ካለፈው ምሳሌ ማየት እንደምትችለው፣ ፓንዳስ-መገለጫ እንደ መቶኛ እና የጎደሉ እሴቶች ብዛት፣ እንዲሁም ቀደም ሲል ያየናቸው ገላጭ ስታቲስቲክስ መለኪያዎችን የመሳሰሉ በርካታ ጠቃሚ አመልካቾችን ይሰጠናል። ምክንያቱም Age አሃዛዊ ተለዋዋጭ ነው፣ ስርጭቱን በሂስቶግራም መልክ ማየት ወደ ቀኝ የተዛባ ስርጭት አለን ብለን እንድንደመድም ያስችለናል።

ምድብ ተለዋዋጭን በሚመለከቱበት ጊዜ የውጤት ውጤቶቹ ለቁጥር ተለዋዋጭ ከተገኙት በትንሹ ይለያያሉ።

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን
ስለ ወሲብ ምድብ ተለዋዋጭ

ማለትም፣ አማካዩን፣ ዝቅተኛውን እና ከፍተኛውን ከማግኘት ይልቅ፣ የፓንዳስ መገለጫ ቤተ-መጽሐፍት የክፍሎችን ብዛት አግኝቷል። ምክንያቱም Sex - ሁለትዮሽ ተለዋዋጭ, እሴቶቹ በሁለት ክፍሎች ይወከላሉ.

እንደ እኔ ኮድን መመርመር ከፈለጉ፣ የፓንዳስ መገለጫ ቤተ-መጽሐፍት እነዚህን መለኪያዎች እንዴት እንደሚያሰላቸው ይፈልጉ ይሆናል። የቤተ መፃህፍቱ ኮድ ክፍት እና በ GitHub ላይ የሚገኝ በመሆኑ ስለዚህ ጉዳይ ማወቅ ያን ያህል ከባድ አይደለም። በፕሮጀክቶቼ ውስጥ ጥቁር ሳጥኖችን የመጠቀም ትልቅ አድናቂ ስላልሆንኩ የላይብረሪውን ምንጭ ኮድ ተመለከትኩ። ለምሳሌ ፣ የቁጥር ተለዋዋጮችን የማስኬድ ዘዴ ይህንን ይመስላል ፣ በተግባር የተወከለው። መግለፅ_ቁጥር_1መ:

def describe_numeric_1d(series, **kwargs):
    """Compute summary statistics of a numerical (`TYPE_NUM`) variable (a Series).
    Also create histograms (mini an full) of its distribution.
    Parameters
    ----------
    series : Series
        The variable to describe.
    Returns
    -------
    Series
        The description of the variable as a Series with index being stats keys.
    """
    # Format a number as a percentage. For example 0.25 will be turned to 25%.
    _percentile_format = "{:.0%}"
    stats = dict()
    stats['type'] = base.TYPE_NUM
    stats['mean'] = series.mean()
    stats['std'] = series.std()
    stats['variance'] = series.var()
    stats['min'] = series.min()
    stats['max'] = series.max()
    stats['range'] = stats['max'] - stats['min']
    # To avoid to compute it several times
    _series_no_na = series.dropna()
    for percentile in np.array([0.05, 0.25, 0.5, 0.75, 0.95]):
        # The dropna() is a workaround for https://github.com/pydata/pandas/issues/13098
        stats[_percentile_format.format(percentile)] = _series_no_na.quantile(percentile)
    stats['iqr'] = stats['75%'] - stats['25%']
    stats['kurtosis'] = series.kurt()
    stats['skewness'] = series.skew()
    stats['sum'] = series.sum()
    stats['mad'] = series.mad()
    stats['cv'] = stats['std'] / stats['mean'] if stats['mean'] else np.NaN
    stats['n_zeros'] = (len(series) - np.count_nonzero(series))
    stats['p_zeros'] = stats['n_zeros'] * 1.0 / len(series)
    # Histograms
    stats['histogram'] = histogram(series, **kwargs)
    stats['mini_histogram'] = mini_histogram(series, **kwargs)
    return pd.Series(stats, name=series.name)

ምንም እንኳን ይህ ኮድ በጣም ትልቅ እና ውስብስብ ቢመስልም ፣ ግን ለመረዳት በጣም ቀላል ነው። ነጥቡ በቤተ-መጽሐፍት ምንጭ ኮድ ውስጥ የተለዋዋጮችን ዓይነቶች የሚወስን ተግባር አለ ። ቤተ መፃህፍቱ የቁጥር ተለዋዋጭ እንዳጋጠመው ከታወቀ፣ ከላይ ያለው ተግባር የምንመለከታቸው መለኪያዎችን ያገኛል። ይህ ተግባር ከዓይነት ዕቃዎች ጋር ለመስራት መደበኛ የፓንዳስ ሥራዎችን ይጠቀማል Series, እንደ series.mean(). የስሌት ውጤቶች በመዝገበ-ቃላት ውስጥ ይቀመጣሉ። stats. ሂስቶግራም የሚመነጨው የተቀናጀውን የተግባር ስሪት በመጠቀም ነው። matplotlib.pyplot.hist. ማመቻቸት ተግባሩ ከተለያዩ የውሂብ ስብስቦች ጋር አብሮ መስራት የሚችል መሆኑን ለማረጋገጥ ያለመ ነው።

የግንኙነት አመላካቾች እና የናሙና መረጃዎች ተጠንተዋል።

ከተለዋዋጮች ትንተና ውጤቶች በኋላ, ፓንዳስ-መገለጫ, በCorrelations ክፍል ውስጥ, የፒርሰን እና ስፓርማን ትስስር ማትሪክስ ያሳያል.

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን
የፒርሰን ተዛማጅ ማትሪክስ

አስፈላጊ ከሆነ, የሪፖርቱን ማመንጨት በሚቀሰቅሰው የኮድ መስመር ውስጥ, ተያያዥነት ሲሰላ ጥቅም ላይ የሚውሉትን የመነሻ ዋጋዎች አመልካቾችን ማዘጋጀት ይችላሉ. ይህን በማድረግ፣ የትንታኔ ጥንካሬ ምን ያህል አስፈላጊ እንደሆነ መግለፅ ይችላሉ።

በመጨረሻም የፓንዳስ-መገለጫ ዘገባ, በናሙና ክፍል ውስጥ, እንደ ምሳሌ, ከመረጃ ስብስብ መጀመሪያ ላይ የተወሰደውን ቁራጭ ያሳያል. የመጀመሪያዎቹ ምልከታዎች ሙሉውን የውሂብ ስብስብ ባህሪያት የማያንፀባርቅ ናሙና ሊወክሉ ስለሚችሉ ይህ አቀራረብ ወደ ደስ የማይል አስገራሚ ነገሮች ሊመራ ይችላል.

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን
በጥናት ላይ ያለ የናሙና መረጃ የያዘ ክፍል

በውጤቱም, ለዚህ የመጨረሻው ክፍል ትኩረት እንዲሰጡ አልመክርም. ይልቁንም ትዕዛዙን መጠቀም የተሻለ ነው df.sample(5)ከመረጃ ስብስብ ውስጥ 5 ምልከታዎችን በዘፈቀደ የሚመርጥ።

ውጤቶች

ለማጠቃለል ያህል ፣ የፓንዳስ መገለጫ ቤተ-መጽሐፍት ለተንታኙ በፍጥነት ስለ ውሂቡ ፈጣን ሀሳብ ማግኘት ወይም የመረጃ ትንተና ዘገባን ለአንድ ሰው ማስተላለፍ በሚፈልጉበት ጊዜ ጠቃሚ የሆኑ አንዳንድ ጠቃሚ ችሎታዎችን ይሰጣል። በተመሳሳይ ጊዜ, ባህሪያቱን ከግምት ውስጥ በማስገባት ከውሂብ ጋር እውነተኛ ስራ ይከናወናል, ልክ እንደ ፓንዳስ-መገለጫ ሳይጠቀሙ, በእጅ.

በአንድ የጁፒተር ማስታወሻ ደብተር ውስጥ ሁሉም የስለላ መረጃ ትንተና ምን እንደሚመስል ለማየት ከፈለጉ ይመልከቱ ይሄ nbviewer ን በመጠቀም የተፈጠረ የእኔ ፕሮጀክት። እና ውስጥ ይሄ ተዛማጅ ኮድ በ GitHub ማከማቻዎች ውስጥ ማግኘት ይችላሉ።

ውድ አንባቢዎች! አዲስ የውሂብ ስብስቦችን የት መተንተን ይጀምራሉ?

የፓንዳስ ፕሮፋይል ቤተ-መጽሐፍትን በመጠቀም የዳሰሳ መረጃን ማፋጠን

ምንጭ: hab.com

አስተያየት ያክሉ