کتابخانه‌ی استاندارد · کدگذاری و داده

داده data

خواندن داده برای یادگیری ماشین: جدول CSV، دسته‌بندی نمونه‌ها، MNIST و تصویر، و داده‌ی مصنوعی.

واردسازی داده

این بسته داده را برای آموزش مدل آماده می‌کند. بارگذاری سی‌اس‌وی جدولی می‌سازد که ستون‌های متنی را خودکار به شماره‌ی رده تبدیل می‌کند و با جداسازی ویژگی از برچسب به ماتریس ویژگی‌ها و برچسب تقسیم می‌شود.

روال‌های ساخت ... داده‌ی مصنوعی با بذر ثابت می‌سازند؛ برای آزمودن الگوریتم‌ها بدون نیاز به پرونده. همه با بسته‌های ماتریس و تانسور کار می‌کنند.

گونه‌ها

جدول Table

ساختار جدول
جدول داده با ستون‌های نام‌دار، برای یادگیری ماشین.
نامانگلیسیگونهتوضیح
namesnamesوکتور<رشته>نام ستون‌ها.
kindskindsوکتور<صحیح>نوع هر ستون؛ یکی از ثابت‌های ستون.
catscatsوکتور<وکتور<رشته>>سطح‌های هر ستون رده‌ای.
rawrawوکتور<وکتور<رشته>>متن اصلی خانه‌ها.
cellscellsmatrix.Matrixمقدار عددی خانه‌ها؛ ستون رده‌ای شماره‌ی سطح را دارد.
data-Table.salam
واردسازی داده
واردسازی ماتریس

روال ریشه:
    متن := "age,city,score,ok\n30,tehran,1.5,1\n25,shiraz,2.5,0\n41,tehran,3.0,1\n"
    ناپایا ج := داده.بارگذاری سی‌اس‌وی(متن، درست)
    سرچاپ ج.سطرها()، ج.ستون‌ها()، ج.names، ج.نمایه ستون("score")، ج.نمایه ستون("x")
    سرچاپ ج.kinds[۰] == داده.ستون صحیح، ج.kinds[۱] == داده.ستون رده‌ای، ج.kinds[۲] == داده.ستون اعشاری، داده.ستون رشته‌ای
    سرچاپ ج.سطوح رده‌ای("city")
    ناپایا م := ج.به ماتریس()
    سرچاپ م.rows، م.cols، م.عنصر(۲، ۱)
    ناپایا ایکس := ماتریس.ماتریس {}
    ناپایا وای := ماتریس.ماتریس {}
    سرچاپ ج.جداسازی ویژگی از برچسب("ok"، ایکس، وای)، ایکس.cols، وای.عنصر(۱، ۰)
    ناپایا خوب := درست
    _ := داده.بارگذاری پرونده سی‌اس‌وی("نیست.csv"، درست، خوب)
    سرچاپ خوب
    ماتریس.آزادسازی(م)
    ماتریس.آزادسازی(ایکس)
    ماتریس.آزادسازی(وای)
    ج.آزادسازی()
پایان
خروجی3 4 ["age", "city", "score", "ok"] 2 -1 true true true 3 ["tehran", "shiraz"] 3 4 0 true 3 0 false

سطرها rows

روال سطرها(): صحیح
تعداد سطرهای داده، بدون سرستون.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

ستون‌ها cols

روال ستون‌ها(): صحیح
تعداد ستون‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

نمایه ستون col_index

روال نمایه ستون(name: رشته): صحیح
شماره‌ی ستون با این نام؛ ‎-1 اگر نباشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

سطوح رده‌ای cat_levels

روال سطوح رده‌ای(name: رشته): وکتور<رشته>
سطح‌های یک ستون رده‌ای به ترتیب دیدن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

به ماتریس to_matrix

روال به ماتریس(): matrix.Matrix
همه‌ی ستون‌ها را به ماتریس عددی تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

جداسازی ویژگی از برچسب split_xy

روال جداسازی ویژگی از برچسب(label: رشته، x &: matrix.Matrix، y &: matrix.Matrix): منطقی
ستون برچسب را به y و بقیه را به x می‌برد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

آزادسازی free

روال آزادسازی()
حافظه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

پیمایشگر دسته BatchIter

ساختار پیمایشگر دسته
پیمایشگر دسته‌ها.
نامانگلیسیگونهتوضیح
xxmatrix.Matrixویژگی‌ها.
yymatrix.Matrixبرچسب‌ها.
batchbatchصحیح = 32اندازه‌ی دسته.
shuffleshuffleمنطقی = درستبه‌هم ریختن ترتیب.
seedseedصحیح۶۴ = 0بذر به‌هم ریختن.
orderorderوکتور<صحیح>ترتیب نمونه‌ها در این دور.
posposصحیح = 0جای فعلی.
data-Batch.salam
واردسازی داده
واردسازی ماتریس
واردسازی تانسور

روال ریشه:
    ناپایا وای := ماتریس.ماتریس {}
    ایکس := داده.ساخت خوشه‌ها(۱۰، ۲، ۳، ۰.۲، ۱، وای)
    ناپایا م := داده.مجموعه‌داده ماتریسی { x = ایکس، y = وای }
    سرچاپ م.طول()
    ناپایا پ := م.دسته‌ها(۴، نادرست، ۰)
    سرچاپ پ.شمار دسته در دور()
    ناپایا بخش‌ایکس := ماتریس.ماتریس {}
    ناپایا بخش‌وای := ماتریس.ماتریس {}
    تا پ.بعدی(بخش‌ایکس، بخش‌وای):
        سرچاپ بخش‌ایکس.rows، بخش‌ایکس.cols، بخش‌وای.rows
    پایان
    پ.بازنشانی(۱)
    ناپایا ت := تانسور.تانسور {}
    ناپایا برچسب := وکتور {} برگردان وکتور<صحیح>
    سرچاپ پ.بعدی تانسور(ت، برچسب)، برچسب.طول()
    سرچاپ داده.برچسب‌ها(وای).طول()، داده.تانسور ویژگی(ایکس).shape
    ناپایا خوب := درست
    _ := داده.تجزیه آی‌دی‌ایکس(پوچ، ۰، خوب)
    سرچاپ خوب
    _ := داده.بارگذاری آی‌دی‌ایکس("نیست.idx"، خوب)
    سرچاپ خوب، داده.بارگذاری ام‌نیست("a"، "b"، بخش‌ایکس، بخش‌وای)
    ناپایا رده‌ها := وکتور {} برگردان وکتور<رشته>
    سرچاپ داده.بارگذاری پوشه تصویر("پوشه-نیست"، ۸، ۸، درست، ت، برچسب، رده‌ها)
    پ.آزادسازی()
    م.آزادسازی()
پایان
خروجی10 3 4 3 4 4 3 4 2 3 2 true 4 10 [10, 3] false false false false

بازنشانی reset

روال بازنشانی(epoch: صحیح۶۴)
به آغاز برمی‌گردد و ترتیب تازه‌ای با بذر به‌علاوه‌ی شماره‌ی دور می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

بعدی next

روال بعدی(x_out &: matrix.Matrix، y_out &: matrix.Matrix): منطقی
دسته‌ی بعدی را در x_out و y_out می‌گذارد؛ دسته‌ی آخر ممکن است کوچک‌تر باشد. اگر دسته‌ای نماند، نادرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

بعدی تانسور next_tensor

روال بعدی تانسور(x_out &: tensor.Tensor، labels_out &: وکتور<صحیح>): منطقی
دسته‌ی بعدی را به شکل تانسور و فهرست برچسب‌های صحیح می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

شمار دسته در دور batches_per_epoch

روال شمار دسته در دور(): صحیح
تعداد دسته‌ها در هر دور.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

آزادسازی free

روال آزادسازی()
حافظه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

مجموعه‌داده ماتریسی MatrixDataset

ساختار مجموعه‌داده ماتریسی
مجموعه‌داده‌ای از ماتریس ویژگی‌ها و برچسب‌ها.
نامانگلیسیگونهتوضیح
xxmatrix.Matrixماتریس ویژگی‌ها، هر سطر یک نمونه.
yymatrix.Matrixبرچسب‌ها، هر سطر یک نمونه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

طول len

روال طول(): صحیح
تعداد نمونه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

دسته‌ها batches

روال دسته‌ها(batch: صحیح، shuffle: منطقی، seed: صحیح۶۴): پیمایشگر دسته
پیمایشگری که نمونه‌ها را دسته‌دسته می‌دهد؛ اگر shuffle درست باشد، ترتیب با seed به‌هم می‌ریزد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

آزادسازی free

روال آزادسازی()
حافظه را آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

پایاها و متغیرها

نوع ستون‌ها COL_…

نوع هر ستون جدول که هنگام خواندن CSV تشخیص داده می‌شود.
نامانگلیسیمقدار
ستون اعشاریCOL_FLOAT0
ستون صحیحCOL_INT1
ستون رده‌ایCOL_CAT2
ستون رشته‌ایCOL_STR3

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

روال‌ها

ساخت خوشه‌ها MakeBlobs

روال ساخت خوشه‌ها(n: صحیح، centers: صحیح، p: صحیح، spread: اعشار۶۴، seed: صحیح۶۴، y &: matrix.Matrix): matrix.Matrix
نمونه‌های تصادفی در چند خوشه با مرکزهای تصادفی؛ برچسب هر نمونه شماره‌ی خوشه‌ی آن است.
data-Synth.salam
واردسازی داده
واردسازی ماتریس

روال شمار یک‌ها(وای: ماتریس.ماتریس): صحیح:
    ناپایا ش := ۰
    تکرار وای.rows در ای:
        اگر وای.عنصر(ای، ۰) == ۱.۰:
            ش += ۱
        پایان
    پایان
    برگشت ش
پایان

روال ریشه:
    ناپایا وای := ماتریس.ماتریس {}
    خ := داده.ساخت خوشه‌ها(۹۰، ۳، ۲، ۰.۵، ۴۲، وای)
    سرچاپ خ.rows، خ.cols، وای.rows
    ه := داده.ساخت هلال‌ها(۱۰۰، ۰.۱، ۷، وای)
    سرچاپ ه.rows، ه.cols، شمار یک‌ها(وای)
    د := داده.ساخت دایره‌ها(۶۰، ۰.۰۵، ۰.۵، ۷، وای)
    سرچاپ د.rows، شمار یک‌ها(وای)
    ناپایا ضریب := ماتریس.ماتریس {}
    ر := داده.ساخت رگرسیون(۵۰، ۳، ۰.۱، ۱، وای، ضریب)
    سرچاپ ر.rows، ر.cols، ضریب.rows
    ک := داده.ساخت دسته‌بندی(۴۰، ۴، ۲، ۱.۰، ۳، وای)
    سرچاپ ک.rows، ک.cols، شمار یک‌ها(وای) > ۰
پایان
خروجی90 2 90 100 2 50 60 30 50 3 3 40 4 true

ساخت هلال‌ها MakeMoons

روال ساخت هلال‌ها(n: صحیح، noise: اعشار۶۴، seed: صحیح۶۴، y &: matrix.Matrix): matrix.Matrix
دو هلال درهم‌رفته با دو برچسب؛ برای آزمودن جداکننده‌های غیرخطی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Synth.salam

ساخت دایره‌ها MakeCircles

روال ساخت دایره‌ها(n: صحیح، noise: اعشار۶۴، factor: اعشار۶۴، seed: صحیح۶۴، y &: matrix.Matrix): matrix.Matrix
دو دایره‌ی هم‌مرکز با دو برچسب؛ factor نسبت شعاع دایره‌ی درونی است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Synth.salam

ساخت رگرسیون MakeRegression

روال ساخت رگرسیون(n: صحیح، p: صحیح، noise: اعشار۶۴، seed: صحیح۶۴، y &: matrix.Matrix، true_coef &: matrix.Matrix): matrix.Matrix
داده‌ی رگرسیون خطی با ضریب‌های تصادفی؛ ضریب‌های واقعی در true_coef برمی‌گردند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Synth.salam

ساخت دسته‌بندی MakeClassification

روال ساخت دسته‌بندی(n: صحیح، p: صحیح، classes: صحیح، sep: اعشار۶۴، seed: صحیح۶۴، y &: matrix.Matrix): matrix.Matrix
داده‌ی دسته‌بندی با چند رده؛ sep فاصله‌ی رده‌ها را تعیین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Synth.salam

بارگذاری پوشه تصویر LoadImageFolder

روال بارگذاری پوشه تصویر(root: رشته، width: صحیح، height: صحیح، gray: منطقی، x &: tensor.Tensor، labels &: وکتور<صحیح>، classes &: وکتور<رشته>): منطقی
تصویرهای یک پوشه را بارگذاری می‌کند: هر زیرپوشه یک رده است. تصویرها به اندازه‌ی داده‌شده درمی‌آیند و اگر gray درست باشد، خاکستری می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

تجزیه آی‌دی‌ایکس ParseIdx

روال تجزیه آی‌دی‌ایکس(p: تهی*، n: صحیح، ok &: منطقی): matrix.Matrix
داده‌ی قالب IDX (قالب MNIST) را از حافظه به ماتریس می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

بارگذاری آی‌دی‌ایکس LoadIdx

روال بارگذاری آی‌دی‌ایکس(path: رشته، ok &: منطقی): matrix.Matrix
پرونده‌ی IDX را به ماتریس می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

بارگذاری ام‌نیست LoadMnist

روال بارگذاری ام‌نیست(images_path: رشته، labels_path: رشته، x &: matrix.Matrix، y &: matrix.Matrix): منطقی
پرونده‌های تصویر و برچسب MNIST را می‌خواند؛ هر تصویر یک سطر با ۷۸۴ مقدار میان صفر و ۱.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

بارگذاری سی‌اس‌وی LoadCsv

روال بارگذاری سی‌اس‌وی(text: رشته، header: منطقی): جدول
متن CSV را به جدول می‌خواند و نوع هر ستون را تشخیص می‌دهد: عدد صحیح، اعشاری، یا متن به‌عنوان ستون رده‌ای.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

بارگذاری پرونده سی‌اس‌وی LoadCsvFile

روال بارگذاری پرونده سی‌اس‌وی(path: رشته، header: منطقی، ok &: منطقی): جدول
پرونده‌ی CSV را به جدول می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Table.salam

تانسور ویژگی XTensor

روال تانسور ویژگی(x &: matrix.Matrix): tensor.Tensor
ماتریس ویژگی‌ها را به تانسور تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam

برچسب‌ها YLabels

روال برچسب‌ها(y &: matrix.Matrix): وکتور<صحیح>
ستون برچسب را به فهرست عددهای صحیح تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: data-Batch.salam