Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Transformasi Data
Amazon SageMaker Data Wrangler menyediakan banyak transformasi data ML untuk merampingkan pembersihan, transformasi, dan fitur data Anda. Ketika Anda menambahkan transformasi, itu menambahkan langkah ke aliran data. Setiap transformasi yang Anda tambahkan memodifikasi dataset Anda dan menghasilkan kerangka data baru. Semua transformasi selanjutnya berlaku untuk kerangka data yang dihasilkan.
Data Wrangler mencakup transformasi bawaan, yang dapat Anda gunakan untuk mengubah kolom tanpa kode apa pun. Anda juga dapat menambahkan transformasi kustom menggunakan PySpark, Python (User-Defined Function), panda, dan. PySpark SQL Beberapa transformasi beroperasi di tempat, sementara yang lain membuat kolom output baru di dataset Anda.
Anda dapat menerapkan transformasi ke beberapa kolom sekaligus. Misalnya, Anda dapat menghapus beberapa kolom dalam satu langkah.
Anda dapat menerapkan numerik Proses dan Menangani transformasi yang hilang hanya ke satu kolom.
Gunakan halaman ini untuk mempelajari lebih lanjut tentang transformasi bawaan dan kustom ini.
Ubah UI
Sebagian besar transformasi bawaan terletak di tab Siapkan UI Data Wrangler. Anda dapat mengakses transformasi join dan concatenate melalui tampilan aliran data. Gunakan tabel berikut untuk melihat pratinjau dua tampilan ini.
Bergabunglah dengan Datasets
Anda bergabung dengan kerangka data secara langsung dalam aliran data Anda. Saat Anda menggabungkan dua kumpulan data, kumpulan data gabungan yang dihasilkan akan muncul di alur Anda. Jenis gabungan berikut didukung oleh Data Wrangler.
-
Left Outer - Sertakan semua baris dari tabel kiri. Jika nilai untuk kolom bergabung pada baris tabel kiri tidak cocok dengan nilai baris tabel kanan, baris tersebut berisi nilai nol untuk semua kolom tabel kanan dalam tabel gabungan.
-
Anti Kiri - Sertakan baris dari tabel kiri yang tidak mengandung nilai di tabel kanan untuk kolom yang digabungkan.
-
Semi kiri - Sertakan satu baris dari tabel kiri untuk semua baris identik yang memenuhi kriteria dalam pernyataan gabungan. Ini tidak termasuk baris duplikat dari tabel kiri yang cocok dengan kriteria gabungan.
-
Luar Kanan - Sertakan semua baris dari tabel kanan. Jika nilai untuk kolom bergabung di baris tabel kanan tidak cocok dengan nilai baris tabel kiri, baris tersebut berisi nilai nol untuk semua kolom tabel kiri dalam tabel gabungan.
-
Inner - Sertakan baris dari tabel kiri dan kanan yang berisi nilai yang cocok di kolom yang digabungkan.
-
Full Outer - Sertakan semua baris dari tabel kiri dan kanan. Jika nilai baris untuk kolom gabungan di salah satu tabel tidak cocok, baris terpisah dibuat dalam tabel gabungan. Jika baris tidak berisi nilai untuk kolom dalam tabel gabungan, null disisipkan untuk kolom itu.
-
Cartesian Cross - Sertakan baris yang menggabungkan setiap baris dari tabel pertama dengan setiap baris dari tabel kedua. Ini adalah produk Cartesian
dari baris dari tabel di join. Hasil dari produk ini adalah ukuran tabel kiri dikalikan ukuran meja kanan. Oleh karena itu, kami menyarankan agar berhati-hati dalam menggunakan gabungan ini antara kumpulan data yang sangat besar.
Gunakan prosedur berikut untuk menggabungkan dua kerangka data.
-
Pilih + di sebelah kerangka data kiri yang ingin Anda ikuti. Rangka data pertama yang Anda pilih selalu tabel kiri di gabungan Anda.
-
Pilih Bergabung.
-
Pilih kerangka data yang tepat. Rangka data kedua yang Anda pilih selalu merupakan tabel yang tepat dalam bergabung Anda.
-
Pilih Konfigurasi untuk mengonfigurasi gabungan Anda.
-
Beri nama kumpulan data gabungan Anda menggunakan bidang Nama.
-
Pilih jenis Gabung.
-
Pilih kolom dari tabel kiri dan kanan untuk bergabung.
-
Pilih Terapkan untuk melihat pratinjau kumpulan data yang bergabung di sebelah kanan.
-
Untuk menambahkan tabel gabungan ke alur data Anda, pilih Tambah.
Kumpulan Data Gabungan
Gabungkan dua kumpulan data:
-
Pilih + di sebelah kerangka data kiri yang ingin Anda gabungkan. Rangka data pertama yang Anda pilih selalu tabel kiri dalam rangkaian Anda.
-
Pilih Concatenate.
-
Pilih kerangka data yang tepat. Rangka data kedua yang Anda pilih selalu merupakan tabel yang tepat dalam rangkaian Anda.
-
Pilih Konfigurasi untuk mengonfigurasi rangkaian Anda.
-
Beri nama kumpulan data gabungan Anda menggunakan bidang Nama.
-
(Opsional) Pilih kotak centang di samping Hapus duplikat setelah penggabungan untuk menghapus kolom duplikat.
-
(Opsional) Pilih kotak centang di sebelah Tambahkan kolom untuk menunjukkan kerangka data sumber jika, untuk setiap kolom dalam kumpulan data baru, Anda ingin menambahkan indikator sumber kolom.
-
Pilih Terapkan untuk melihat pratinjau kumpulan data baru.
-
Pilih Tambah untuk menambahkan kumpulan data baru ke alur data Anda.
Data Saldo
Anda dapat menyeimbangkan data untuk kumpulan data dengan kategori yang kurang terwakili. Menyeimbangkan kumpulan data dapat membantu Anda membuat model yang lebih baik untuk klasifikasi biner.
catatan
Anda tidak dapat menyeimbangkan kumpulan data yang berisi vektor kolom.
Anda dapat menggunakan operasi data Saldo untuk menyeimbangkan data Anda menggunakan salah satu operator berikut:
-
Oversampling acak - Duplikat sampel secara acak dalam kategori minoritas. Misalnya, jika Anda mencoba mendeteksi penipuan, Anda mungkin hanya memiliki kasus penipuan di 10% data Anda. Untuk proporsi yang sama dari kasus penipuan dan non-penipuan, operator ini secara acak menduplikasi kasus penipuan dalam kumpulan data 8 kali.
-
Undersampling acak — Kira-kira setara dengan oversampling acak. Secara acak menghapus sampel dari kategori yang terwakili secara berlebihan untuk mendapatkan proporsi sampel yang Anda inginkan.
-
Teknik Oversampling Minoritas Sintetis (SMOTE) — Menggunakan sampel dari kategori yang kurang terwakili untuk menginterpolasi sampel minoritas sintetis baru. Untuk informasi selengkapnyaSMOTE, lihat deskripsi berikut.
Anda dapat menggunakan semua transformasi untuk kumpulan data yang berisi fitur numerik dan non-numerik. SMOTEmenginterpolasi nilai dengan menggunakan sampel tetangga. Data Wrangler menggunakan jarak R-kuadrat untuk menentukan lingkungan untuk menginterpolasi sampel tambahan. Data Wrangler hanya menggunakan fitur numerik untuk menghitung jarak antara sampel dalam kelompok yang kurang terwakili.
Untuk dua sampel nyata dalam kelompok yang kurang terwakili, Data Wrangler menginterpolasi fitur numerik dengan menggunakan rata-rata tertimbang. Ini secara acak memberikan bobot untuk sampel tersebut dalam kisaran [0, 1]. Untuk fitur numerik, Data Wrangler menginterpolasi sampel menggunakan rata-rata tertimbang sampel. Untuk sampel A dan B, Data Wrangler dapat secara acak menetapkan berat 0,7 hingga A dan 0,3 hingga B. Sampel yang diinterpolasi memiliki nilai 0,7A +0,3B.
Data Wrangler menginterpolasi fitur non-numerik dengan menyalin dari salah satu sampel nyata yang diinterpolasi. Ini menyalin sampel dengan probabilitas bahwa itu secara acak menetapkan untuk setiap sampel. Untuk sampel A dan B, ia dapat menetapkan probabilitas 0,8 ke A dan 0,2 ke B. Untuk probabilitas yang ditetapkan, ia menyalin A 80% dari waktu.
Transformasi Kustom
Grup Custom Transforms memungkinkan Anda untuk menggunakan Python (User-Defined Function) PySpark,, pandas, PySpark atau SQL () untuk menentukan transformasi kustom. Untuk ketiga opsi, Anda menggunakan variabel df
untuk mengakses kerangka data yang ingin Anda terapkan transformasi. Untuk menerapkan kode kustom Anda ke kerangka data Anda, tetapkan kerangka data dengan transformasi yang telah Anda buat ke variabel. df
Jika Anda tidak menggunakan Python (Fungsi yang Ditetapkan Pengguna), Anda tidak perlu menyertakan pernyataan pengembalian. Pilih Pratinjau untuk melihat hasil transformasi kustom. Pilih Tambah untuk menambahkan transformasi kustom ke daftar langkah Sebelumnya.
Anda dapat mengimpor pustaka populer dengan import
pernyataan di blok kode transformasi kustom, seperti berikut ini:
-
NumPy versi 1.19.0
-
scikit-learn versi 0.23.2
-
SciPy versi 1.5.4
-
panda versi 1.0.3
-
PySpark versi 3.0.0
penting
Transformasi kustom tidak mendukung kolom dengan spasi atau karakter khusus dalam nama. Kami menyarankan Anda menentukan nama kolom yang hanya memiliki karakter alfanumerik dan garis bawah. Anda dapat menggunakan Transformasi kolom Rename di grup Mengelola kolom transformasi untuk menghapus spasi dari nama kolom. Anda juga dapat menambahkan Python (Pandas) Custom transform mirip dengan berikut ini untuk menghapus spasi dari beberapa kolom dalam satu langkah. Contoh ini mengubah kolom bernama A
column
dan B column
ke A_column
dan B_column
masing-masing.
df.rename(columns={"A column": "A_column", "B column": "B_column"})
Jika Anda menyertakan pernyataan cetak di blok kode, hasilnya akan muncul saat Anda memilih Pratinjau. Anda dapat mengubah ukuran panel transformator kode khusus. Mengubah ukuran panel menyediakan lebih banyak ruang untuk menulis kode. Gambar berikut menunjukkan pengubahan ukuran panel.
Bagian berikut memberikan konteks tambahan dan contoh untuk menulis kode transformasi kustom.
Python (Fungsi yang Ditentukan Pengguna)
Fungsi Python memberi Anda kemampuan untuk menulis transformasi khusus tanpa perlu mengetahui Apache Spark atau panda. Data Wrangler dioptimalkan untuk menjalankan kode kustom Anda dengan cepat. Anda mendapatkan kinerja serupa menggunakan kode Python khusus dan plugin Apache Spark.
Untuk menggunakan blok kode Python (User-Defined Function), Anda tentukan yang berikut ini:
-
Kolom input - Kolom masukan tempat Anda menerapkan transformasi.
-
Mode — Mode scripting, baik panda atau Python.
-
Jenis pengembalian - Tipe data dari nilai yang Anda kembalikan.
Menggunakan mode panda memberikan kinerja yang lebih baik. Mode Python memudahkan Anda untuk menulis transformasi dengan menggunakan fungsi Python murni.
Video berikut menunjukkan contoh cara menggunakan kode kustom untuk membuat transformasi. Ini menggunakan dataset Titanic
PySpark
Contoh berikut mengekstrak tanggal dan waktu dari stempel waktu.
from pyspark.sql.functions import from_unixtime, to_date, date_format df = df.withColumn('DATE_TIME', from_unixtime('TIMESTAMP')) df = df.withColumn( 'EVENT_DATE', to_date('DATE_TIME')).withColumn( 'EVENT_TIME', date_format('DATE_TIME', 'HH:mm:ss'))
panda
Contoh berikut memberikan ikhtisar kerangka data yang Anda tambahkan transformasi.
df.info()
PySpark (SQL)
Contoh berikut membuat kerangka data baru dengan empat kolom: name, fare, pclass, survived.
SELECT name, fare, pclass, survived FROM df
Jika Anda tidak tahu cara menggunakannya PySpark, Anda dapat menggunakan cuplikan kode khusus untuk membantu Anda memulai.
Data Wrangler memiliki kumpulan cuplikan kode yang dapat dicari. Anda dapat menggunakan potongan kode untuk melakukan tugas seperti menjatuhkan kolom, mengelompokkan berdasarkan kolom, atau pemodelan.
Untuk menggunakan cuplikan kode, pilih Cari contoh cuplikan dan tentukan kueri di bilah pencarian. Teks yang Anda tentukan dalam kueri tidak harus sama persis dengan nama cuplikan kode.
Contoh berikut menunjukkan cuplikan kode baris duplikat Jatuhkan yang dapat menghapus baris dengan data serupa di kumpulan data Anda. Anda dapat menemukan cuplikan kode dengan mencari salah satu dari berikut ini:
-
Duplikat
-
Identik
-
Menghapus
Cuplikan berikut memiliki komentar untuk membantu Anda memahami perubahan yang perlu Anda buat. Untuk sebagian besar cuplikan, Anda harus menentukan nama kolom kumpulan data Anda dalam kode.
# Specify the subset of columns # all rows having identical values in these columns will be dropped subset = ["col1", "col2", "col3"] df = df.dropDuplicates(subset) # to drop the full-duplicate rows run # df = df.dropDuplicates()
Untuk menggunakan cuplikan, salin dan tempel kontennya ke bidang Custom transform. Anda dapat menyalin dan menempelkan beberapa cuplikan kode ke bidang transformasi khusus.
Formula Kustom
Gunakan rumus Kustom untuk menentukan kolom baru menggunakan SQL ekspresi Spark untuk menanyakan data dalam kerangka data saat ini. Kueri harus menggunakan konvensi ekspresi SparkSQL.
penting
Rumus kustom tidak mendukung kolom dengan spasi atau karakter khusus dalam nama. Kami menyarankan Anda menentukan nama kolom yang hanya memiliki karakter alfanumerik dan garis bawah. Anda dapat menggunakan Transformasi kolom Rename di grup Mengelola kolom transformasi untuk menghapus spasi dari nama kolom. Anda juga dapat menambahkan Python (Pandas) Custom transform mirip dengan berikut ini untuk menghapus spasi dari beberapa kolom dalam satu langkah. Contoh ini mengubah kolom bernama A
column
dan B column
ke A_column
dan B_column
masing-masing.
df.rename(columns={"A column": "A_column", "B column": "B_column"})
Anda dapat menggunakan transformasi ini untuk melakukan operasi pada kolom, mereferensikan kolom dengan nama. Misalnya, dengan asumsi kerangka data saat ini berisi kolom bernama col_a dan col_b, Anda dapat menggunakan operasi berikut untuk menghasilkan kolom Output yang merupakan produk dari dua kolom ini dengan kode berikut:
col_a * col_b
Operasi umum lainnya termasuk yang berikut, dengan asumsi kerangka data berisi dan kolom: col_a
col_b
-
Gabungkan dua kolom:
concat(col_a, col_b)
-
Tambahkan dua kolom:
col_a + col_b
-
Kurangi dua kolom:
col_a - col_b
-
Bagilah dua kolom:
col_a / col_b
-
Ambil nilai absolut dari kolom:
abs(col_a)
Untuk informasi selengkapnya, lihat dokumentasi Spark
Mengurangi Dimensionalitas dalam Dataset
Kurangi dimensi dalam data Anda dengan menggunakan Principal Component Analysis ()PCA. Dimensi kumpulan data Anda sesuai dengan jumlah fitur. Saat Anda menggunakan pengurangan dimensi di Data Wrangler, Anda mendapatkan serangkaian fitur baru yang disebut komponen. Setiap komponen memperhitungkan beberapa variabilitas dalam data.
Komponen pertama menyumbang jumlah variasi terbesar dalam data. Komponen kedua menyumbang jumlah variasi terbesar kedua dalam data, dan seterusnya.
Anda dapat menggunakan pengurangan dimensi untuk mengurangi ukuran kumpulan data yang Anda gunakan untuk melatih model. Alih-alih menggunakan fitur dalam kumpulan data Anda, Anda dapat menggunakan komponen utama sebagai gantinya.
Untuk melakukanPCA, Data Wrangler membuat sumbu untuk data Anda. Sumbu adalah kombinasi affine kolom dalam kumpulan data Anda. Komponen utama pertama adalah nilai pada sumbu yang memiliki jumlah varians terbesar. Komponen utama kedua adalah nilai pada sumbu yang memiliki jumlah varians terbesar kedua. Komponen utama ke-n adalah nilai pada sumbu yang memiliki jumlah varians terbesar ke-n.
Anda dapat mengonfigurasi jumlah komponen utama yang dikembalikan Data Wrangler. Anda dapat menentukan jumlah komponen utama secara langsung atau Anda dapat menentukan persentase ambang varians. Setiap komponen utama menjelaskan sejumlah varians dalam data. Misalnya, Anda mungkin memiliki komponen utama dengan nilai 0,5. Komponen akan menjelaskan 50% variasi dalam data. Saat Anda menentukan persentase ambang batas varians, Data Wrangler mengembalikan jumlah komponen terkecil yang memenuhi persentase yang Anda tentukan.
Berikut ini adalah contoh komponen utama dengan jumlah varians yang mereka jelaskan dalam data.
-
Komponen 1 — 0.5
-
Komponen 2 - 0.45
-
Komponen 3 - 0.05
Jika Anda menentukan persentase ambang varians dari 94
or95
, Data Wrangler mengembalikan Komponen 1 dan Komponen 2. Jika Anda menentukan persentase ambang varians dari96
, Data Wrangler mengembalikan ketiga komponen utama.
Anda dapat menggunakan prosedur berikut untuk berjalan PCA pada dataset Anda.
Untuk menjalankan PCA dataset Anda, lakukan hal berikut.
-
Buka aliran data Wrangler Data Anda.
-
Pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Pengurangan Dimensi.
-
Untuk Kolom Input, pilih fitur yang Anda kurangi menjadi komponen utama.
-
(Opsional) Untuk Jumlah komponen utama, pilih jumlah komponen utama yang dikembalikan Data Wrangler dalam kumpulan data Anda. Jika menentukan nilai untuk bidang, Anda tidak dapat menentukan nilai untuk persentase ambang batas Varians.
-
(Opsional) Untuk persentase ambang batas Varians, tentukan persentase variasi dalam data yang ingin Anda jelaskan oleh komponen utama. Data Wrangler menggunakan nilai default
95
jika Anda tidak menentukan nilai untuk ambang varians. Anda tidak dapat menentukan persentase ambang varians jika Anda telah menentukan nilai untuk Jumlah komponen utama. -
(Opsional) Batalkan pilihan Pusat untuk tidak menggunakan rata-rata kolom sebagai pusat data. Secara default, Data Wrangler memusatkan data dengan mean sebelum penskalaan.
-
(Opsional) Batalkan pilihan Skala untuk tidak menskalakan data dengan standar deviasi unit.
-
(Opsional) Pilih Kolom untuk menampilkan komponen ke kolom terpisah. Pilih Vector untuk menampilkan komponen sebagai vektor tunggal.
-
(Opsional) Untuk kolom Output, tentukan nama untuk kolom keluaran. Jika Anda mengeluarkan komponen ke kolom terpisah, nama yang Anda tentukan adalah awalan. Jika Anda mengeluarkan komponen ke vektor, nama yang Anda tentukan adalah nama kolom vektor.
-
(Opsional) Pilih Simpan kolom input. Kami tidak menyarankan memilih opsi ini jika Anda berencana hanya menggunakan komponen utama untuk melatih model Anda.
-
Pilih Pratinjau.
-
Pilih Tambahkan.
Mengkodekan Kategoris
Data kategoris biasanya terdiri dari sejumlah kategori yang terbatas, di mana setiap kategori diwakili dengan string. Misalnya, jika Anda memiliki tabel data pelanggan, kolom yang menunjukkan negara tempat seseorang tinggal adalah kategoris. Kategori-kategorinya adalah Afghanistan, Albania, Aljazair, dan sebagainya. Data kategoris dapat berupa nominal atau ordinal. Kategori ordinal memiliki urutan yang melekat, dan kategori nominal tidak. Gelar tertinggi yang diperoleh (SMA, Sarjana, Magister, dan sebagainya) adalah contoh kategori ordinal.
Pengkodean data kategoris adalah proses menciptakan representasi numerik untuk kategori. Misalnya, jika kategori Anda adalah Dog dan Cat, Anda dapat menyandikan informasi ini menjadi dua vektor, [1,0]
untuk mewakili Dog, dan [0,1]
untuk mewakili Cat.
Saat Anda menyandikan kategori ordinal, Anda mungkin perlu menerjemahkan urutan alami kategori ke dalam pengkodean Anda. Misalnya, Anda dapat mewakili derajat tertinggi yang diperoleh dengan peta berikut:{"High school": 1, "Bachelors": 2,
"Masters":3}
.
Gunakan pengkodean kategoris untuk menyandikan data kategoris yang dalam format string ke dalam array bilangan bulat.
Encoder kategoris Data Wrangler membuat pengkodean untuk semua kategori yang ada di kolom pada saat langkah ditentukan. Jika kategori baru telah ditambahkan ke kolom saat Anda memulai pekerjaan Data Wrangler untuk memproses kumpulan data Anda pada waktu t, dan kolom ini adalah masukan untuk transformasi pengkodean kategoris Data Wrangler pada waktu t -1, kategori baru ini dianggap hilang dalam pekerjaan Data Wrangler. Opsi yang Anda pilih untuk Strategi penanganan tidak valid diterapkan pada nilai yang hilang ini. Contoh kapan ini dapat terjadi adalah:
-
Saat Anda menggunakan file.flow untuk membuat pekerjaan Data Wrangler untuk memproses kumpulan data yang diperbarui setelah pembuatan aliran data. Misalnya, Anda dapat menggunakan aliran data untuk memproses data penjualan secara teratur setiap bulan. Jika data penjualan diperbarui setiap minggu, kategori baru dapat dimasukkan ke dalam kolom yang menentukan langkah kategoris encode.
-
Ketika Anda memilih Sampling ketika Anda mengimpor dataset Anda, beberapa kategori mungkin ditinggalkan dari sampel.
Dalam situasi ini, kategori baru ini dianggap nilai yang hilang dalam pekerjaan Data Wrangler.
Anda dapat memilih dari dan mengkonfigurasi ordinal dan encode satu-panas. Gunakan bagian berikut untuk mempelajari lebih lanjut tentang opsi ini.
Kedua transformasi membuat kolom baru bernama Output nama kolom. Anda menentukan format output kolom ini dengan gaya Output:
-
Pilih Vektor untuk menghasilkan satu kolom dengan vektor jarang.
-
Pilih Kolom untuk membuat kolom untuk setiap kategori dengan variabel indikator apakah teks di kolom asli berisi nilai yang sama dengan kategori tersebut.
Pengkodean Ordinal
Pilih Ordinal encode untuk menyandikan kategori menjadi bilangan bulat antara 0 dan jumlah total kategori di kolom Input yang Anda pilih.
Strategi penyerahan tidak valid: Pilih metode untuk menangani nilai yang tidak valid atau hilang.
-
Pilih Lewati jika Anda ingin menghilangkan baris dengan nilai yang hilang.
-
Pilih Simpan untuk mempertahankan nilai yang hilang sebagai kategori terakhir.
-
Pilih Kesalahan jika Anda ingin Data Wrangler melempar kesalahan jika nilai yang hilang ditemukan di kolom Input.
-
Pilih Ganti dengan NaN untuk mengganti yang hilang dengan NaN. Opsi ini direkomendasikan jika algoritme ML Anda dapat menangani nilai yang hilang. Jika tidak, tiga opsi pertama dalam daftar ini dapat menghasilkan hasil yang lebih baik.
One-Hot Encode
Pilih One-hot encode untuk Transform untuk menggunakan one-hot encoding. Konfigurasikan transformasi ini menggunakan yang berikut:
-
Jatuhkan kategori terakhir: Jika
True
, kategori terakhir tidak memiliki indeks yang sesuai dalam pengkodean satu panas. Ketika nilai yang hilang dimungkinkan, kategori yang hilang selalu menjadi yang terakhir danTrue
menyetelnya berarti bahwa nilai yang hilang menghasilkan vektor nol. -
Strategi penyerahan tidak valid: Pilih metode untuk menangani nilai yang tidak valid atau hilang.
-
Pilih Lewati jika Anda ingin menghilangkan baris dengan nilai yang hilang.
-
Pilih Simpan untuk mempertahankan nilai yang hilang sebagai kategori terakhir.
-
Pilih Kesalahan jika Anda ingin Data Wrangler melempar kesalahan jika nilai yang hilang ditemukan di kolom Input.
-
-
Apakah input ordinal dikodekan: Pilih opsi ini jika vektor input berisi data yang dikodekan ordinal. Opsi ini mengharuskan data input mengandung bilangan bulat non-negatif. Jika Benar, masukan i dikodekan sebagai vektor dengan bukan nol di lokasi ke-i.
Kesamaan menyandikan
Gunakan pengkodean kesamaan ketika Anda memiliki yang berikut:
-
Sejumlah besar variabel kategoris
-
Data berisik
Encoder kesamaan menciptakan embeddings untuk kolom dengan data kategoris. Embedding adalah pemetaan objek diskrit, seperti kata-kata, ke vektor bilangan real. Ini mengkodekan string yang mirip dengan vektor yang mengandung nilai serupa. Misalnya, ia menciptakan pengkodean yang sangat mirip untuk “California” dan “Calfornia”.
Data Wrangler mengonversi setiap kategori dalam kumpulan data Anda menjadi satu set token menggunakan tokenizer 3 gram. Ini mengubah token menjadi embedding menggunakan encoding min-hash.
Contoh berikut menunjukkan bagaimana encoder kesamaan menciptakan vektor dari string.
Pengkodean kesamaan yang dibuat Data Wrangler:
-
Memiliki dimensi rendah
-
Dapat diskalakan untuk sejumlah besar kategori
-
Kuat dan tahan terhadap kebisingan
Untuk alasan sebelumnya, pengkodean kesamaan lebih fleksibel daripada pengkodean satu panas.
Untuk menambahkan transformasi pengkodean kesamaan ke kumpulan data Anda, gunakan prosedur berikut.
Untuk menggunakan pengkodean kesamaan, lakukan hal berikut.
-
Masuk ke SageMakerKonsol Amazon
. -
Pilih Open Studio Classic.
-
Pilih Luncurkan aplikasi.
-
Pilih Studio.
-
Tentukan aliran data Anda.
-
Pilih langkah dengan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Encode kategoris.
-
Tentukan hal berikut:
-
Transform - Encode kesamaan
-
Kolom input - Kolom yang berisi data kategoris yang Anda enkodekan.
-
Dimensi target — (Opsional) Dimensi vektor embedding kategoris. Nilai default-nya adalah 30. Sebaiknya gunakan dimensi target yang lebih besar jika Anda memiliki kumpulan data besar dengan banyak kategori.
-
Gaya keluaran — Pilih Vektor untuk vektor tunggal dengan semua nilai yang dikodekan. Pilih Kolom untuk memiliki nilai yang dikodekan di kolom terpisah.
-
Kolom keluaran - (Opsional) Nama kolom keluaran untuk output yang dikodekan vektor. Untuk output yang dikodekan kolom, ini adalah awalan dari nama kolom diikuti dengan nomor yang terdaftar.
-
Featurize Teks
Gunakan grup transformasi Teks Featurize untuk memeriksa kolom yang diketik string dan gunakan penyematan teks untuk menyesuaikan kolom ini.
Grup fitur ini berisi dua fitur, statistik Karakter dan Vektor. Gunakan bagian berikut untuk mempelajari lebih lanjut tentang transformasi ini. Untuk kedua opsi, kolom Input harus berisi data teks (tipe string).
Statistik Karakter
Gunakan statistik Karakter untuk menghasilkan statistik untuk setiap baris dalam kolom yang berisi data teks.
Transformasi ini menghitung rasio dan hitungan berikut untuk setiap baris, dan membuat kolom baru untuk melaporkan hasilnya. Kolom baru diberi nama menggunakan nama kolom input sebagai awalan dan akhiran yang spesifik untuk rasio atau hitungan.
-
Jumlah kata: Jumlah kata dalam baris itu. Sufiks untuk kolom keluaran ini adalah
-stats_word_count
. -
Jumlah karakter: Jumlah total karakter di baris itu. Sufiks untuk kolom keluaran ini adalah
-stats_char_count
. -
Rasio atas: Jumlah karakter huruf besar, dari A hingga Z, dibagi dengan semua karakter di kolom. Sufiks untuk kolom keluaran ini adalah
-stats_capital_ratio
. -
Rasio yang lebih rendah: Jumlah karakter huruf kecil, dari a hingga z, dibagi dengan semua karakter di kolom. Sufiks untuk kolom keluaran ini adalah
-stats_lower_ratio
. -
Rasio digit: Rasio digit dalam satu baris di atas jumlah digit di kolom input. Sufiks untuk kolom keluaran ini adalah
-stats_digit_ratio
. -
Rasio karakter khusus: Rasio karakter non-alfanumerik (seperti # $&%: @) terhadap jumlah semua karakter di kolom input. Sufiks untuk kolom keluaran ini adalah
-stats_special_ratio
.
Vektorisasi
Penyematan teks melibatkan pemetaan kata atau frasa dari kosakata ke vektor bilangan real. Gunakan transformasi penyematan teks Data Wrangler untuk memberi token dan memvektorisasi data teks menjadi frekuensi istilah—vektor frekuensi dokumen terbalik (TF-). IDF
Ketika TF- IDF dihitung untuk kolom data teks, setiap kata dalam setiap kalimat diubah menjadi bilangan real yang mewakili kepentingan semantiknya. Angka yang lebih tinggi dikaitkan dengan kata-kata yang lebih jarang, yang cenderung lebih bermakna.
Saat Anda menentukan langkah transformasi Vectorize, Data Wrangler menggunakan data dalam dataset Anda untuk menentukan count vectorizer dan TF- metode. IDF Menjalankan pekerjaan Data Wrangler menggunakan metode yang sama.
Anda mengonfigurasi transformasi ini menggunakan yang berikut:
-
Nama kolom keluaran: Transformasi ini membuat kolom baru dengan penyematan teks. Gunakan bidang ini untuk menentukan nama untuk kolom keluaran ini.
-
Tokenizer: Tokenizer mengubah kalimat menjadi daftar kata, atau token.
Pilih Standar untuk menggunakan tokenizer yang dibagi dengan spasi putih dan mengubah setiap kata menjadi huruf kecil. Misalnya,
"Good dog"
diberi token ke.["good","dog"]
Pilih Custom untuk menggunakan tokenizer yang disesuaikan. Jika Anda memilih Custom, Anda dapat menggunakan bidang berikut untuk mengkonfigurasi tokenizer:
-
Panjang token minimum: Panjang minimum, dalam karakter, agar token valid. Default ke
1
. Misalnya, jika Anda menentukan3
panjang token minimum, kata-kata sepertia, at, in
dijatuhkan dari kalimat tokenized. -
Haruskah regex terbelah pada celah: Jika dipilih, regex terbagi pada celah. Jika tidak, itu cocok dengan token. Default ke
True
. -
Pola Regex: Pola Regex yang mendefinisikan proses tokenisasi. Default ke
' \\ s+'
. -
Untuk huruf kecil: Jika dipilih, Data Wrangler mengonversi semua karakter menjadi huruf kecil sebelum tokenisasi. Default ke
True
.
Untuk mempelajari lebih lanjut, lihat dokumentasi Spark di Tokenizer
. -
-
Vectorizer: Vectorizer mengubah daftar token menjadi vektor numerik jarang. Setiap token sesuai dengan indeks dalam vektor dan bukan nol menunjukkan keberadaan token dalam kalimat input. Anda dapat memilih dari dua opsi vectorizer, Count dan Hashing.
-
Count vectorize memungkinkan penyesuaian yang memfilter token yang jarang atau terlalu umum. Parameter vektorisasi hitung meliputi yang berikut:
-
Frekuensi istilah minimum: Di setiap baris, istilah (token) dengan frekuensi yang lebih kecil disaring. Jika Anda menentukan bilangan bulat, ini adalah ambang absolut (inklusif). Jika Anda menentukan pecahan antara 0 (inklusif) dan 1, ambang batas relatif terhadap jumlah suku total. Default ke
1
. -
Frekuensi dokumen minimum: Jumlah baris minimum di mana istilah (token) harus muncul untuk disertakan. Jika Anda menentukan bilangan bulat, ini adalah ambang absolut (inklusif). Jika Anda menentukan pecahan antara 0 (inklusif) dan 1, ambang batas relatif terhadap jumlah suku total. Default ke
1
. -
Frekuensi dokumen maksimum: Jumlah maksimum dokumen (baris) di mana istilah (token) dapat muncul untuk dimasukkan. Jika Anda menentukan bilangan bulat, ini adalah ambang absolut (inklusif). Jika Anda menentukan pecahan antara 0 (inklusif) dan 1, ambang batas relatif terhadap jumlah suku total. Default ke
0.999
. -
Ukuran kosakata maksimum: Ukuran maksimum kosakata. Kosakata terdiri dari semua istilah (token) di semua baris kolom. Default ke
262144
. -
Output biner: Jika dipilih, output vektor tidak termasuk jumlah penampilan suatu istilah dalam dokumen, melainkan merupakan indikator biner dari penampilannya. Default ke
False
.
Untuk mempelajari lebih lanjut tentang opsi ini, lihat dokumentasi Spark di CountVectorizer
. -
-
Hashing secara komputasi lebih cepat. Parameter vektor hash meliputi yang berikut:
-
Jumlah fitur selama hashing: Sebuah hash vectorizer memetakan token ke indeks vektor sesuai dengan nilai hash mereka. Fitur ini menentukan jumlah nilai hash yang mungkin. Nilai yang besar menghasilkan lebih sedikit tabrakan antara nilai hash tetapi vektor keluaran dimensi yang lebih tinggi.
Untuk mempelajari lebih lanjut tentang opsi ini, lihat dokumentasi Spark di FeatureHasher
-
-
-
Terapkan IDF menerapkan IDF transformasi, yang mengalikan frekuensi istilah dengan frekuensi dokumen terbalik standar yang digunakan untuk penyematan TF-. IDF IDFparameter meliputi yang berikut:
-
Frekuensi dokumen minimum: Jumlah minimum dokumen (baris) di mana istilah (token) harus muncul untuk disertakan. Jika count_vectorize adalah vectorizer yang dipilih, kami sarankan Anda menyimpan nilai default dan hanya memodifikasi bidang min_doc_freq dalam parameter Count vectorize. Default ke
5
.
-
-
Format output: Format output dari setiap baris.
-
Pilih Vektor untuk menghasilkan satu kolom dengan vektor jarang.
-
Pilih Flattened untuk membuat kolom untuk setiap kategori dengan variabel indikator apakah teks di kolom asli berisi nilai yang sama dengan kategori tersebut. Anda hanya dapat memilih diratakan ketika Vectorizer ditetapkan sebagai Count vectorizer.
-
Mengubah Seri Waktu
Di Data Wrangler, Anda dapat mengubah data deret waktu. Nilai dalam kumpulan data deret waktu diindeks ke waktu tertentu. Misalnya, kumpulan data yang menunjukkan jumlah pelanggan di toko untuk setiap jam dalam sehari adalah kumpulan data deret waktu. Tabel berikut menunjukkan contoh dataset deret waktu.
Jumlah pelanggan per jam di toko
Jumlah pelanggan | Waktu (jam) |
---|---|
4 | 09:00 |
10 | 10:00 |
14 | 11:00 |
25 | 12:00 |
20 | 13:00 |
18 | 14:00 |
Untuk tabel sebelumnya, kolom Jumlah Pelanggan berisi data deret waktu. Data deret waktu diindeks pada data per jam di kolom Waktu (jam).
Anda mungkin perlu melakukan serangkaian transformasi pada data Anda untuk mendapatkannya dalam format yang dapat Anda gunakan untuk analisis Anda. Gunakan grup transformasi deret waktu untuk mengubah data deret waktu Anda. Untuk informasi selengkapnya tentang transformasi yang dapat Anda lakukan, lihat bagian berikut.
Topik
- Kelompokkan berdasarkan Time Series
- Sampel Ulang Data Seri Waktu
- Menangani Data Seri Waktu yang Hilang
- Validasi Stempel Waktu Data Deret Waktu Anda
- Standarisasi Panjang Deret Waktu
- Ekstrak Fitur dari Data Seri Waktu Anda
- Gunakan Fitur Lagged dari Data Time Series Anda
- Buat Rentang Datetime Dalam Seri Waktu Anda
- Gunakan Jendela Bergulir Dalam Seri Waktu Anda
Kelompokkan berdasarkan Time Series
Anda dapat menggunakan grup berdasarkan operasi untuk mengelompokkan data deret waktu untuk nilai tertentu dalam kolom.
Misalnya, Anda memiliki tabel berikut yang melacak rata-rata penggunaan listrik harian dalam rumah tangga.
Rata-rata penggunaan listrik rumah tangga harian
ID Rumah Tangga | Stempel waktu harian | Penggunaan listrik (kWh) | Jumlah penghuni rumah tangga |
---|---|---|---|
rumah tangga_0 | 1/1/2020 | 30 | 2 |
rumah tangga_0 | 1/2/2020 | 40 | 2 |
rumah tangga_0 | 1/4/2020 | 35 | 3 |
rumah tangga_1 | 1/2/2020 | 45 | 3 |
rumah tangga_1 | 1/3/2020 | 55 | 4 |
Jika Anda memilih untuk mengelompokkan berdasarkan ID, Anda mendapatkan tabel berikut.
Penggunaan listrik dikelompokkan berdasarkan ID rumah tangga
ID Rumah Tangga | Seri penggunaan listrik (kWh) | Jumlah seri penghuni rumah tangga |
---|---|---|
rumah tangga_0 | [30, 40, 35] | [2, 2, 3] |
rumah tangga_1 | [45, 55] | [3, 4] |
Setiap entri dalam urutan deret waktu diurutkan oleh stempel waktu yang sesuai. Elemen pertama dari urutan sesuai dengan stempel waktu pertama dari seri. Untukhousehold_0
, 30
adalah nilai pertama dari Seri Penggunaan Listrik. Nilai 30
sesuai dengan stempel waktu pertama. 1/1/2020
Anda dapat menyertakan stempel waktu awal dan stempel waktu akhir. Tabel berikut menunjukkan bagaimana informasi itu muncul.
Penggunaan listrik dikelompokkan berdasarkan ID rumah tangga
ID Rumah Tangga | Seri penggunaan listrik (kWh) | Jumlah seri penghuni rumah tangga | Waktu mulai | Waktu_akhir |
---|---|---|---|---|
rumah tangga_0 | [30, 40, 35] | [2, 2, 3] | 1/1/2020 | 1/4/2020 |
rumah tangga_1 | [45, 55] | [3, 4] | 1/2/2020 | 1/3/2020 |
Anda dapat menggunakan prosedur berikut untuk mengelompokkan berdasarkan kolom deret waktu.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Time Series.
-
Di bawah Transform, pilih Group by.
-
Tentukan kolom di Grup menurut kolom ini.
-
Untuk Terapkan ke kolom, tentukan nilai.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Sampel Ulang Data Seri Waktu
Data deret waktu biasanya memiliki pengamatan yang tidak diambil secara berkala. Misalnya, kumpulan data dapat memiliki beberapa pengamatan yang direkam setiap jam dan pengamatan lain yang dicatat setiap dua jam.
Banyak analisis, seperti algoritma peramalan, memerlukan pengamatan yang harus dilakukan secara berkala. Resampling memberi Anda kemampuan untuk menetapkan interval reguler untuk pengamatan dalam kumpulan data Anda.
Anda dapat melakukan upsample atau downsample deret waktu. Downsampling meningkatkan interval antara pengamatan dalam dataset. Misalnya, jika Anda menurunkan sampel pengamatan yang diambil setiap jam atau setiap dua jam, setiap pengamatan dalam kumpulan data Anda dilakukan setiap dua jam. Pengamatan per jam dikumpulkan menjadi satu nilai menggunakan metode agregasi seperti mean atau median.
Upsampling mengurangi interval antara pengamatan dalam dataset. Misalnya, jika Anda mengambil sampel pengamatan yang dilakukan setiap dua jam ke dalam pengamatan per jam, Anda dapat menggunakan metode interpolasi untuk menyimpulkan pengamatan per jam dari pengamatan yang dilakukan setiap dua jam. Untuk informasi tentang metode interpolasi, lihat panda. DataFrame.interpolasi
Anda dapat mengambil sampel ulang data numerik dan non-numerik.
Gunakan operasi Sampel Ulang untuk mengambil sampel ulang data deret waktu Anda. Jika Anda memiliki beberapa deret waktu dalam kumpulan data Anda, Data Wrangler menstandarisasi interval waktu untuk setiap deret waktu.
Tabel berikut menunjukkan contoh data deret waktu downsampling dengan menggunakan mean sebagai metode agregasi. Data di-downsample dari setiap dua jam menjadi setiap jam.
Pembacaan suhu per jam selama sehari sebelum downsampling
Stempel Waktu | Suhu (Celcius) |
---|---|
12:00 | 30 |
1:00 | 32 |
2:00 | 35 |
3:00 | 32 |
4:00 | 30 |
Pembacaan suhu diturunkan sampelnya menjadi setiap dua jam
Stempel Waktu | Suhu (Celcius) |
---|---|
12:00 | 30 |
2:00 | 33.5 |
4:00 | 35 |
Anda dapat menggunakan prosedur berikut untuk mengambil sampel ulang data deret waktu.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Sampel Ulang.
-
Untuk Timestamp, pilih kolom timestamp.
-
Untuk unit Frekuensi, tentukan frekuensi yang Anda resampling.
-
(Opsional) Tentukan nilai untuk kuantitas Frekuensi.
-
Konfigurasikan transformasi dengan menentukan bidang yang tersisa.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Menangani Data Seri Waktu yang Hilang
Jika Anda memiliki nilai yang hilang dalam kumpulan data Anda, Anda dapat melakukan salah satu hal berikut:
-
Untuk kumpulan data yang memiliki beberapa deret waktu, lepaskan deret waktu yang memiliki nilai hilang yang lebih besar dari ambang batas yang Anda tentukan.
-
Imputasi nilai yang hilang dalam deret waktu dengan menggunakan nilai lain dalam deret waktu.
Mengimplikasikan nilai yang hilang melibatkan penggantian data dengan menentukan nilai atau dengan menggunakan metode inferensial. Berikut ini adalah metode yang dapat Anda gunakan untuk imputasi:
-
Nilai konstan — Ganti semua data yang hilang dalam dataset Anda dengan nilai yang Anda tentukan.
-
Nilai paling umum — Ganti semua data yang hilang dengan nilai yang memiliki frekuensi tertinggi dalam kumpulan data.
-
Forward fill — Gunakan forward fill untuk mengganti nilai yang hilang dengan nilai yang tidak hilang yang mendahului nilai yang hilang. Untuk urutan: [2, 4, 7, NaN, NaN, NaN, 8], semua nilai yang hilang diganti dengan 7. Urutan yang dihasilkan dari penggunaan isian maju adalah [2, 4, 7, 7, 7, 7, 8].
-
Isi mundur - Gunakan pengisian mundur untuk mengganti nilai yang hilang dengan nilai yang tidak hilang yang mengikuti nilai yang hilang. Untuk urutan: [2, 4, 7, NaN, NaN, NaN, 8], semua nilai yang hilang diganti dengan 8. Urutan yang dihasilkan dari penggunaan pengisian mundur adalah [2, 4, 7, 8, 8, 8, 8].
-
Interpolasi — Menggunakan fungsi interpolasi untuk menghitung nilai yang hilang. Untuk informasi lebih lanjut tentang fungsi yang dapat Anda gunakan untuk interpolasi, lihat panda. DataFrame.interpolasi
.
Beberapa metode imputasi mungkin tidak dapat memperhitungkan semua nilai yang hilang dalam kumpulan data Anda. Misalnya, Forward fill tidak dapat menyiratkan nilai yang hilang yang muncul di awal deret waktu. Anda dapat mengimputasi nilai dengan menggunakan isian maju atau pengisian mundur.
Anda dapat memasukkan nilai yang hilang di dalam sel atau di dalam kolom.
Contoh berikut menunjukkan bagaimana nilai-nilai yang diperhitungkan dalam sel.
Penggunaan listrik dengan nilai yang hilang
ID Rumah Tangga | Seri penggunaan listrik (kWh) |
---|---|
rumah tangga_0 | [30, 40, 35, NaN, NaN] |
rumah tangga_1 | [45, NaN, 55] |
Penggunaan listrik dengan nilai yang diperhitungkan menggunakan pengisian ke depan
ID Rumah Tangga | Seri penggunaan listrik (kWh) |
---|---|
rumah tangga_0 | [30, 40, 35, 35, 35] |
rumah tangga_1 | [45, 45, 55] |
Contoh berikut menunjukkan bagaimana nilai-nilai yang diperhitungkan dalam kolom.
Rata-rata penggunaan listrik rumah tangga harian dengan nilai yang hilang
ID Rumah Tangga | Penggunaan listrik (kWh) |
---|---|
rumah tangga_0 | 30 |
rumah tangga_0 | 40 |
rumah tangga_0 | NaN |
rumah tangga_1 | NaN |
rumah tangga_1 | NaN |
Rata-rata penggunaan listrik rumah tangga harian dengan nilai yang diperhitungkan menggunakan pengisian ke depan
ID Rumah Tangga | Penggunaan listrik (kWh) |
---|---|
rumah tangga_0 | 30 |
rumah tangga_0 | 40 |
rumah tangga_0 | 40 |
rumah tangga_1 | 40 |
rumah tangga_1 | 40 |
Anda dapat menggunakan prosedur berikut untuk menangani nilai yang hilang.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Handle hilang.
-
Untuk jenis input deret waktu, pilih apakah Anda ingin menangani nilai yang hilang di dalam sel atau di sepanjang kolom.
-
Untuk Impute nilai yang hilang untuk kolom ini, tentukan kolom yang memiliki nilai yang hilang.
-
Untuk Metode untuk menghitung nilai, pilih metode.
-
Konfigurasikan transformasi dengan menentukan bidang yang tersisa.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Jika Anda memiliki nilai yang hilang, Anda dapat menentukan metode untuk mengimplikasikan mereka di bawah Metode untuk memasukkan nilai.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Validasi Stempel Waktu Data Deret Waktu Anda
Anda mungkin memiliki data stempel waktu yang tidak valid. Anda dapat menggunakan fungsi Validasi stempel waktu untuk menentukan apakah stempel waktu dalam kumpulan data Anda valid. Stempel waktu Anda dapat menjadi tidak valid karena satu atau beberapa alasan berikut:
-
Kolom stempel waktu Anda memiliki nilai yang hilang.
-
Nilai di kolom stempel waktu Anda tidak diformat dengan benar.
Jika Anda memiliki stempel waktu yang tidak valid dalam kumpulan data, Anda tidak dapat melakukan analisis dengan sukses. Anda dapat menggunakan Data Wrangler untuk mengidentifikasi stempel waktu yang tidak valid dan memahami di mana Anda perlu membersihkan data Anda.
Validasi deret waktu bekerja dalam salah satu dari dua cara:
Anda dapat mengonfigurasi Data Wrangler untuk melakukan salah satu hal berikut jika menemukan nilai yang hilang dalam kumpulan data Anda:
-
Jatuhkan baris yang memiliki nilai hilang atau tidak valid.
-
Identifikasi baris yang memiliki nilai hilang atau tidak valid.
-
Lempar kesalahan jika menemukan nilai yang hilang atau tidak valid di kumpulan data Anda.
Anda dapat memvalidasi stempel waktu pada kolom yang memiliki timestamp
tipe atau jenisnya. string
Jika kolom memiliki string
tipe, Data Wrangler mengubah jenis kolom ke timestamp
dan melakukan validasi.
Anda dapat menggunakan prosedur berikut untuk memvalidasi stempel waktu dalam kumpulan data Anda.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Validasi stempel waktu.
-
Untuk Timestamp Column, pilih kolom timestamp.
-
Untuk Kebijakan, pilih apakah Anda ingin menangani stempel waktu yang hilang.
-
(Opsional) Untuk kolom Output, tentukan nama untuk kolom output.
-
Jika kolom waktu tanggal diformat untuk jenis string, pilih Cast to datetime.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Standarisasi Panjang Deret Waktu
Jika Anda memiliki data deret waktu yang disimpan sebagai array, Anda dapat menstandarisasi setiap deret waktu dengan panjang yang sama. Standarisasi panjang array deret waktu mungkin memudahkan Anda untuk melakukan analisis pada data.
Anda dapat menstandarisasi deret waktu Anda untuk transformasi data yang memerlukan panjang data Anda untuk diperbaiki.
Banyak algoritma ML mengharuskan Anda untuk meratakan data deret waktu Anda sebelum Anda menggunakannya. Meratakan data deret waktu memisahkan setiap nilai deret waktu menjadi kolomnya sendiri dalam kumpulan data. Jumlah kolom dalam kumpulan data tidak dapat berubah, sehingga panjang deret waktu perlu distandarisasi antara Anda meratakan setiap array menjadi satu set fitur.
Setiap deret waktu diatur ke panjang yang Anda tentukan sebagai kuantil atau persentil dari rangkaian deret waktu. Misalnya, Anda dapat memiliki tiga urutan yang memiliki panjang sebagai berikut:
-
3
-
4
-
5
Anda dapat mengatur panjang semua urutan sebagai panjang urutan yang memiliki panjang persentil ke-50.
Array deret waktu yang lebih pendek dari panjang yang Anda tentukan memiliki nilai yang hilang ditambahkan. Berikut ini adalah contoh format standarisasi deret waktu ke panjang yang lebih panjang: [2, 4, 5, NaN, NaN, NaN].
Anda dapat menggunakan pendekatan yang berbeda untuk menangani nilai yang hilang. Untuk informasi tentang pendekatan tersebut, lihatMenangani Data Seri Waktu yang Hilang.
Array deret waktu yang lebih panjang dari panjang yang Anda tentukan terpotong.
Anda dapat menggunakan prosedur berikut untuk menstandarisasi panjang deret waktu.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Standarisasi panjang.
-
Untuk Standarisasi panjang deret waktu untuk kolom, pilih kolom.
-
(Opsional) Untuk kolom Output, tentukan nama untuk kolom output. Jika Anda tidak menentukan nama, transformasi dilakukan di tempat.
-
Jika kolom datetime diformat untuk jenis string, pilih Cast to datetime.
-
Pilih Cutoff quantile dan tentukan kuantil untuk mengatur panjang urutan.
-
Pilih Ratakan output untuk menampilkan nilai deret waktu ke dalam kolom terpisah.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Ekstrak Fitur dari Data Seri Waktu Anda
Jika Anda menjalankan klasifikasi atau algoritma regresi pada data deret waktu Anda, sebaiknya ekstrak fitur dari deret waktu sebelum menjalankan algoritme. Mengekstrak fitur dapat meningkatkan kinerja algoritme Anda.
Gunakan opsi berikut untuk memilih bagaimana Anda ingin mengekstrak fitur dari data Anda:
-
Gunakan subset Minimal untuk menentukan ekstraksi 8 fitur yang Anda tahu berguna dalam analisis hilir. Anda dapat menggunakan subset minimal saat Anda perlu melakukan perhitungan dengan cepat. Anda juga dapat menggunakannya ketika algoritme ML Anda memiliki risiko overfitting yang tinggi dan Anda ingin menyediakannya dengan lebih sedikit fitur.
-
Gunakan subset Efisien untuk menentukan penggalian fitur sebanyak mungkin tanpa mengekstraksi fitur yang intensif secara komputasi dalam analisis Anda.
-
Gunakan Semua fitur untuk menentukan ekstraksi semua fitur dari seri lagu.
-
Gunakan subset Manual untuk memilih daftar fitur yang menurut Anda menjelaskan variasi data Anda dengan baik.
Gunakan prosedur berikut ini untuk mengekstrak fitur dari data deret waktu Anda.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih fitur Ekstrak.
-
Untuk fitur Ekstrak untuk kolom ini, pilih kolom.
-
(Opsional) Pilih Ratakan untuk menampilkan fitur ke dalam kolom terpisah.
-
Untuk Strategi, pilih strategi untuk mengekstrak fitur.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Gunakan Fitur Lagged dari Data Time Series Anda
Untuk banyak kasus penggunaan, cara terbaik untuk memprediksi perilaku future dari time series Anda adalah dengan menggunakan perilaku terbarunya.
Penggunaan paling umum dari fitur lagged adalah sebagai berikut:
-
Mengumpulkan beberapa nilai masa lalu. Misalnya, untuk waktu, t + 1, Anda mengumpulkan t, t - 1, t - 2, dan t - 3.
-
Mengumpulkan nilai-nilai yang sesuai dengan perilaku musiman dalam data. Misalnya, untuk memprediksi hunian di restoran pada pukul 13:00, Anda mungkin ingin menggunakan fitur mulai pukul 13.00 pada hari sebelumnya. Menggunakan fitur dari 12:00 PM atau 11:00 AM pada hari yang sama mungkin tidak prediktif seperti menggunakan fitur dari hari-hari sebelumnya.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih fitur Lag.
-
Untuk Menghasilkan fitur lag untuk kolom ini, pilih kolom.
-
Untuk Timestamp Column, pilih kolom yang berisi stempel waktu.
-
Untuk Lag, tentukan durasi lag.
-
(Opsional) Konfigurasikan output menggunakan salah satu opsi berikut:
-
Sertakan seluruh jendela lag
-
Ratakan output
-
Jatuhkan baris tanpa riwayat
-
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Buat Rentang Datetime Dalam Seri Waktu Anda
Anda mungkin memiliki data deret waktu yang tidak memiliki stempel waktu. Jika Anda tahu bahwa pengamatan dilakukan secara berkala, Anda dapat menghasilkan stempel waktu untuk deret waktu di kolom terpisah. Untuk menghasilkan stempel waktu, Anda menentukan nilai untuk stempel waktu awal dan frekuensi stempel waktu.
Misalnya, Anda mungkin memiliki data deret waktu berikut untuk jumlah pelanggan di restoran.
Data deret waktu tentang jumlah pelanggan di restoran
Jumlah pelanggan |
---|
10 |
14 |
24 |
40 |
30 |
20 |
Jika Anda tahu bahwa restoran dibuka pada pukul 17:00 dan pengamatan dilakukan setiap jam, Anda dapat menambahkan kolom stempel waktu yang sesuai dengan data deret waktu. Anda dapat melihat kolom timestamp pada tabel berikut.
Data deret waktu tentang jumlah pelanggan di restoran
Jumlah pelanggan | Stempel Waktu |
---|---|
10 | 1:00PM |
14 | 14:00 |
24 | 15:00 SORE |
40 | 16:00 SORE |
30 | 17:00 |
20 | 6:00 SORE |
Gunakan prosedur berikut untuk menambahkan rentang datetime ke data Anda.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih rentang Datetime.
-
Untuk tipe Frekuensi, pilih unit yang digunakan untuk mengukur frekuensi stempel waktu.
-
Untuk Memulai stempel waktu, tentukan stempel waktu mulai.
-
Untuk kolom Output, tentukan nama untuk kolom output.
-
(Opsional) Konfigurasikan output menggunakan bidang yang tersisa.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Gunakan Jendela Bergulir Dalam Seri Waktu Anda
Anda dapat mengekstrak fitur selama periode waktu tertentu. Misalnya, untuk waktu, t, dan panjang jendela waktu 3, dan untuk baris yang menunjukkan stempel waktu t th, kami menambahkan fitur yang diekstraksi dari deret waktu pada waktu t - 3, t -2, dan t - 1. Untuk informasi tentang mengekstraksi fitur, lihatEkstrak Fitur dari Data Seri Waktu Anda.
Anda dapat menggunakan prosedur berikut untuk mengekstrak fitur selama periode waktu tertentu.
-
Buka aliran data Wrangler Data Anda.
-
Jika Anda belum mengimpor dataset Anda, impor di bawah tab Impor data.
-
Dalam aliran data Anda, di bawah Tipe data, pilih +, dan pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih fitur jendela bergulir.
-
Untuk Menghasilkan fitur jendela bergulir untuk kolom ini, pilih kolom.
-
Untuk Timestamp Column, pilih kolom yang berisi stempel waktu.
-
(Opsional) Untuk Kolom Keluaran, tentukan nama kolom output.
-
Untuk ukuran jendela, tentukan ukuran jendela.
-
Untuk Strategi, pilih strategi ekstraksi.
-
Pilih Pratinjau untuk menghasilkan pratinjau transformasi.
-
Pilih Tambah untuk menambahkan transformasi ke aliran data Data Wrangler.
Featurize Datetime
Gunakan Featurize tanggal/waktu untuk membuat embedding vektor yang mewakili bidang datetime. Untuk menggunakan transformasi ini, data datetime Anda harus dalam salah satu format berikut:
-
String yang menjelaskan datetime: Misalnya,.
"January 1st, 2020, 12:44pm"
-
Stempel waktu Unix: Stempel waktu Unix menggambarkan jumlah detik, milidetik, mikrodetik, atau nanodetik dari 1/1/1970.
Anda dapat memilih untuk Menyimpulkan format datetime dan menyediakan format Datetime. Jika Anda menyediakan format datetime, Anda harus menggunakan kode yang dijelaskan dalam dokumentasi Python.
-
Opsi paling manual dan tercepat secara komputasi adalah menentukan format Datetime dan pilih No for Infer datetime format.
-
Untuk mengurangi tenaga kerja manual, Anda dapat memilih format Infer datetime dan tidak menentukan format datetime. Ini juga merupakan operasi komputasi cepat; Namun, format datetime pertama yang ditemui di kolom input diasumsikan sebagai format untuk seluruh kolom. Jika ada format lain di kolom, nilai-nilai ini adalah NaN di output akhir. Menyimpulkan format datetime dapat memberi Anda string yang tidak diurai.
-
Jika Anda tidak menentukan format dan memilih No for Infer datetime format, Anda mendapatkan hasil yang paling kuat. Semua string datetime yang valid diuraikan. Namun, operasi ini bisa menjadi urutan besarnya lebih lambat dari dua opsi pertama dalam daftar ini.
Bila Anda menggunakan transformasi ini, Anda menentukan kolom Input yang berisi data datetime dalam salah satu format yang tercantum di atas. Transformasi menciptakan kolom output bernama Output nama kolom. Format kolom output tergantung pada konfigurasi Anda menggunakan yang berikut ini:
-
Vektor: Mengeluarkan satu kolom sebagai vektor.
-
Kolom: Membuat kolom baru untuk setiap fitur. Misalnya, jika output berisi tahun, bulan, dan hari, tiga kolom terpisah dibuat untuk tahun, bulan, dan hari.
Selain itu, Anda harus memilih mode Embedding. Untuk model linier dan jaringan dalam, kami sarankan memilih siklik. Untuk algoritma berbasis pohon, kami sarankan memilih ordinal.
Format String
Transformasi string Format berisi operasi pemformatan string standar. Misalnya, Anda dapat menggunakan operasi ini untuk menghapus karakter khusus, menormalkan panjang string, dan memperbarui casing string.
Grup fitur ini berisi transformasi berikut. Semua transformasi mengembalikan salinan string di kolom Input dan menambahkan hasilnya ke kolom keluaran baru.
Nama | Fungsi |
---|---|
Pad kiri |
Left-pad string dengan karakter Fill yang diberikan ke lebar yang diberikan. Jika string lebih panjang dari lebar, nilai kembali disingkat menjadi karakter lebar. |
Pad kanan |
Right-pad string dengan karakter Fill yang diberikan ke lebar yang diberikan. Jika string lebih panjang dari lebar, nilai kembali disingkat menjadi karakter lebar. |
Tengah (pad di kedua sisi) |
Tengah-pad string (tambahkan padding di kedua sisi string) dengan karakter Fill yang diberikan ke lebar yang diberikan. Jika string lebih panjang dari lebar, nilai kembali disingkat menjadi karakter lebar. |
Tambahkan nol |
Isi kiri string numerik dengan nol, hingga lebar yang diberikan. Jika string lebih panjang dari lebar, nilai kembali disingkat menjadi karakter lebar. |
Strip kiri dan kanan |
Mengembalikan salinan string dengan karakter utama dan belakang dihapus. |
Strip karakter dari kiri |
Mengembalikan salinan string dengan karakter utama dihapus. |
Strip karakter dari kanan |
Mengembalikan salinan string dengan karakter trailing dihapus. |
Huruf kecil |
Ubah semua huruf dalam teks menjadi huruf kecil. |
Kasus besar |
Ubah semua huruf dalam teks menjadi huruf besar. |
Kapitalisasi |
Kapitalisasi huruf pertama di setiap kalimat. |
Swap kasus | Mengkonversi semua karakter huruf besar ke huruf kecil dan semua karakter huruf kecil untuk karakter huruf besar dari string yang diberikan, dan mengembalikannya. |
Tambahkan awalan atau akhiran |
Menambahkan awalan dan akhiran kolom string. Anda harus menentukan setidaknya satu dari Awalan dan Akhiran. |
Hapus simbol |
Menghapus simbol yang diberikan dari string. Semua karakter yang terdaftar dihapus. Default ke ruang putih. |
Tangani Outlier
Model pembelajaran mesin sensitif terhadap distribusi dan jangkauan nilai fitur Anda. Pencilan, atau nilai langka, dapat berdampak negatif pada akurasi model dan menyebabkan waktu pelatihan yang lebih lama. Gunakan grup fitur ini untuk mendeteksi dan memperbarui outlier dalam kumpulan data Anda.
Saat Anda menentukan langkah transformasi Handle outlier, statistik yang digunakan untuk mendeteksi outlier dihasilkan pada data yang tersedia di Data Wrangler saat mendefinisikan langkah ini. Statistik yang sama ini digunakan saat menjalankan pekerjaan Data Wrangler.
Gunakan bagian berikut untuk mempelajari lebih lanjut tentang transformasi yang terkandung dalam grup ini. Anda menentukan nama Output dan masing-masing transformasi ini menghasilkan kolom output dengan data yang dihasilkan.
Outlier numerik deviasi standar yang kuat
Transformasi ini mendeteksi dan memperbaiki outlier dalam fitur numerik menggunakan statistik yang kuat untuk outlier.
Anda harus menentukan kuantil Atas dan kuantil Bawah untuk statistik yang digunakan untuk menghitung outlier. Anda juga harus menentukan jumlah Standar deviasi dari mana nilai harus bervariasi dari rata-rata untuk dianggap sebagai outlier. Misalnya, jika Anda menentukan 3 untuk Standar deviasi, nilai harus jatuh lebih dari 3 standar deviasi dari rata-rata untuk dianggap sebagai outlier.
Metode Fix adalah metode yang digunakan untuk menangani outlier ketika terdeteksi. Anda dapat memilih dari opsi berikut:
-
Klip: Gunakan opsi ini untuk memotong outlier ke terikat deteksi outlier yang sesuai.
-
Hapus: Gunakan opsi ini untuk menghapus baris dengan outlier dari kerangka data.
-
Tidak valid: Gunakan opsi ini untuk mengganti outlier dengan nilai yang tidak valid.
Pencilan Numerik Deviasi Standar
Transformasi ini mendeteksi dan memperbaiki outlier dalam fitur numerik menggunakan mean dan standar deviasi.
Anda menentukan jumlah Standar deviasi suatu nilai harus bervariasi dari rata-rata untuk dianggap sebagai outlier. Misalnya, jika Anda menentukan 3 untuk Standar deviasi, nilai harus jatuh lebih dari 3 standar deviasi dari rata-rata untuk dianggap sebagai outlier.
Metode Fix adalah metode yang digunakan untuk menangani outlier ketika terdeteksi. Anda dapat memilih dari opsi berikut:
-
Klip: Gunakan opsi ini untuk memotong outlier ke terikat deteksi outlier yang sesuai.
-
Hapus: Gunakan opsi ini untuk menghapus baris dengan outlier dari kerangka data.
-
Tidak valid: Gunakan opsi ini untuk mengganti outlier dengan nilai yang tidak valid.
Pencilan Numerik Kuantil
Gunakan transformasi ini untuk mendeteksi dan memperbaiki outlier dalam fitur numerik menggunakan kuantil. Anda dapat menentukan kuantil Atas dan kuantil Bawah. Semua nilai yang berada di atas kuantil atas atau di bawah kuantil bawah dianggap outlier.
Metode Fix adalah metode yang digunakan untuk menangani outlier ketika terdeteksi. Anda dapat memilih dari opsi berikut:
-
Klip: Gunakan opsi ini untuk memotong outlier ke terikat deteksi outlier yang sesuai.
-
Hapus: Gunakan opsi ini untuk menghapus baris dengan outlier dari kerangka data.
-
Tidak valid: Gunakan opsi ini untuk mengganti outlier dengan nilai yang tidak valid.
Pencilan Numerik Min-Max
Transformasi ini mendeteksi dan memperbaiki outlier dalam fitur numerik menggunakan ambang batas atas dan bawah. Gunakan metode ini jika Anda mengetahui nilai ambang batas yang mendemark outlier.
Anda menentukan ambang atas dan ambang bawah, dan jika nilai jatuh di atas atau di bawah ambang tersebut masing-masing, mereka dianggap outlier.
Metode Fix adalah metode yang digunakan untuk menangani outlier ketika terdeteksi. Anda dapat memilih dari opsi berikut:
-
Klip: Gunakan opsi ini untuk memotong outlier ke terikat deteksi outlier yang sesuai.
-
Hapus: Gunakan opsi ini untuk menghapus baris dengan outlier dari kerangka data.
-
Tidak valid: Gunakan opsi ini untuk mengganti outlier dengan nilai yang tidak valid.
Ganti Rare
Saat Anda menggunakan Ganti transformasi langka, Anda menentukan ambang batas dan Data Wrangler menemukan semua nilai yang memenuhi ambang batas tersebut dan menggantinya dengan string yang Anda tentukan. Misalnya, Anda mungkin ingin menggunakan transformasi ini untuk mengkategorikan semua outlier dalam kolom ke dalam kategori “Lainnya”.
-
String pengganti: String yang digunakan untuk mengganti outlier.
-
Ambang batas absolut: Kategori jarang terjadi jika jumlah instance kurang dari atau sama dengan ambang absolut ini.
-
Ambang pecahan: Kategori jarang terjadi jika jumlah instance kurang dari atau sama dengan ambang fraksi ini dikalikan dengan jumlah baris.
-
Kategori umum maksimum: Kategori maksimum yang tidak langka yang tersisa setelah operasi. Jika ambang batas tidak menyaring kategori yang cukup, mereka yang memiliki jumlah penampilan teratas diklasifikasikan sebagai tidak jarang. Jika disetel ke 0 (default), tidak ada batasan keras untuk jumlah kategori.
Tangani Nilai yang Hilang
Nilai yang hilang adalah kejadian umum dalam kumpulan data pembelajaran mesin. Dalam beberapa situasi, adalah tepat untuk menghitung data yang hilang dengan nilai yang dihitung, seperti nilai rata-rata atau kategoris umum. Anda dapat memproses nilai yang hilang menggunakan grup transformasi nilai Handle yang hilang. Grup ini berisi transformasi berikut.
Isi Hilang
Gunakan Fill missing transform untuk mengganti nilai yang hilang dengan nilai Fill yang Anda tentukan.
Impute Hilang
Gunakan transformasi yang hilang Impute untuk membuat kolom baru yang berisi nilai yang diperhitungkan di mana nilai yang hilang ditemukan dalam data kategoris dan numerik input. Konfigurasi tergantung pada tipe data Anda.
Untuk data numerik, pilih strategi imputing, strategi yang digunakan untuk menentukan nilai baru yang akan diperhitungkan. Anda dapat memilih untuk menghitung mean atau median atas nilai yang ada dalam kumpulan data Anda. Data Wrangler menggunakan nilai yang dihitung untuk menghitung nilai yang hilang.
Untuk data kategoris, Data Wrangler menyiratkan nilai yang hilang menggunakan nilai yang paling sering di kolom. Untuk memasukkan string kustom, gunakan Fill missing transform sebagai gantinya.
Tambahkan Indikator untuk Hilang
Gunakan indikator Tambah untuk transformasi yang hilang untuk membuat kolom indikator baru, yang berisi Boolean "false"
jika baris berisi nilai, dan "true"
jika baris berisi nilai yang hilang.
Jatuhkan Hilang
Gunakan opsi Drop missing untuk menjatuhkan baris yang berisi nilai yang hilang dari kolom Input.
Kelola Kolom
Anda dapat menggunakan transformasi berikut untuk memperbarui dan mengelola kolom dengan cepat di kumpulan data Anda:
Nama | Fungsi |
---|---|
Jatuhkan Kolom | Hapus kolom. |
Kolom Duplikat | Duplikat kolom. |
Ganti Nama Kolom | Ganti nama kolom. |
Pindahkan Kolom |
Pindahkan lokasi kolom dalam kumpulan data. Pilih untuk memindahkan kolom Anda ke awal atau akhir kumpulan data, sebelum atau sesudah kolom referensi, atau ke indeks tertentu. |
Kelola Baris
Gunakan grup transformasi ini untuk dengan cepat melakukan operasi pengurutan dan pengocokan pada baris. Grup ini berisi yang berikut:
-
Urutkan: Urutkan seluruh kerangka data dengan kolom tertentu. Pilih kotak centang di sebelah Urutan naik untuk opsi ini; jika tidak, batalkan centang kotak dan urutan menurun digunakan untuk pengurutan.
-
Shuffle: Aduk semua baris dalam kumpulan data secara acak.
Kelola Vektor
Gunakan grup transformasi ini untuk menggabungkan atau meratakan kolom vektor. Grup ini berisi transformasi berikut.
-
Merakit: Gunakan transformasi ini untuk menggabungkan vektor Spark dan data numerik menjadi satu kolom. Misalnya, Anda dapat menggabungkan tiga kolom: dua berisi data numerik dan satu berisi vektor. Tambahkan semua kolom yang ingin Anda gabungkan Kolom input dan tentukan nama kolom Output untuk data gabungan.
-
Flatten: Gunakan transformasi ini untuk meratakan satu kolom yang berisi data vektor. Kolom input harus berisi PySpark vektor atau objek seperti array. Anda dapat mengontrol jumlah kolom yang dibuat dengan menentukan Metode untuk mendeteksi jumlah output. Misalnya, jika Anda memilih Panjang vektor pertama, jumlah elemen dalam vektor atau larik valid pertama yang ditemukan di kolom menentukan jumlah kolom keluaran yang dibuat. Semua vektor input lainnya dengan terlalu banyak item terpotong. Masukan dengan terlalu sedikit item diisi dengan NaNs.
Anda juga menentukan awalan Output, yang digunakan sebagai awalan untuk setiap kolom output.
Proses Numerik
Gunakan grup fitur Process Numeric untuk memproses data numerik. Setiap skalar dalam grup ini didefinisikan menggunakan perpustakaan Spark. Skalar berikut didukung:
-
Standard Scaler: Standarisasi kolom input dengan mengurangi rata-rata dari setiap nilai dan penskalaan ke varians unit. Untuk mempelajari lebih lanjut, lihat dokumentasi Spark untuk StandardScaler
. -
Robust Scaler: Skala kolom input menggunakan statistik yang kuat untuk outlier. Untuk mempelajari lebih lanjut, lihat dokumentasi Spark untuk RobustScaler
. -
Min Max Scaler: Ubah kolom input dengan menskalakan setiap fitur ke rentang tertentu. Untuk mempelajari lebih lanjut, lihat dokumentasi Spark untuk MinMaxScaler
. -
Max Absolute Scaler: Skala kolom input dengan membagi setiap nilai dengan nilai absolut maksimum. Untuk mempelajari lebih lanjut, lihat dokumentasi Spark untuk MaxAbsScaler
.
Pengambilan sampel
Setelah mengimpor data, Anda dapat menggunakan transformator Sampling untuk mengambil satu atau lebih sampelnya. Saat Anda menggunakan transformator sampling, Data Wrangler mengambil sampel kumpulan data asli Anda.
Anda dapat memilih salah satu metode sampel berikut:
-
Batas: Sampel kumpulan data mulai dari baris pertama hingga batas yang Anda tentukan.
-
Acak: Mengambil sampel acak dari ukuran yang Anda tentukan.
-
Bertingkat: Mengambil sampel acak bertingkat.
Anda dapat membuat stratifikasi sampel acak untuk memastikan bahwa sampel tersebut mewakili distribusi asli kumpulan data.
Anda mungkin melakukan persiapan data untuk beberapa kasus penggunaan. Untuk setiap kasus penggunaan, Anda dapat mengambil sampel yang berbeda dan menerapkan serangkaian transformasi yang berbeda.
Prosedur berikut menjelaskan proses pembuatan sampel acak.
Untuk mengambil sampel acak dari data Anda.
-
Pilih + di sebelah kanan kumpulan data yang telah Anda impor. Nama dataset Anda terletak di bawah +.
-
Pilih Tambahkan transformasi.
-
Pilih Pengambilan sampel.
-
Untuk metode Sampling, pilih metode sampling.
-
Untuk Perkiraan ukuran sampel, pilih perkiraan jumlah pengamatan yang Anda inginkan dalam sampel Anda.
-
(Opsional) Tentukan bilangan bulat untuk benih Acak untuk membuat sampel yang dapat direproduksi.
Prosedur berikut menjelaskan proses pembuatan sampel bertingkat.
Untuk mengambil sampel bertingkat dari data Anda.
-
Pilih + di sebelah kanan kumpulan data yang telah Anda impor. Nama dataset Anda terletak di bawah +.
-
Pilih Tambahkan transformasi.
-
Pilih Pengambilan sampel.
-
Untuk metode Sampling, pilih metode sampling.
-
Untuk Perkiraan ukuran sampel, pilih perkiraan jumlah pengamatan yang Anda inginkan dalam sampel Anda.
-
Untuk kolom Stratify, tentukan nama kolom yang ingin Anda stratifikasi.
-
(Opsional) Tentukan bilangan bulat untuk benih Acak untuk membuat sampel yang dapat direproduksi.
Cari dan Edit
Gunakan bagian ini untuk mencari dan mengedit pola tertentu dalam string. Misalnya, Anda dapat menemukan dan memperbarui string dalam kalimat atau dokumen, membagi string dengan pembatas, dan menemukan kemunculan string tertentu.
Transformasi berikut didukung di bawah Cari dan edit. Semua transformasi mengembalikan salinan string di kolom Input dan menambahkan hasilnya ke kolom output baru.
Nama | Fungsi |
---|---|
Temukan substring |
Mengembalikan indeks kejadian pertama dari Substring yang Anda cari, Anda dapat memulai dan mengakhiri pencarian di Mulai dan Akhir masing-masing. |
Temukan substring (dari kanan) |
Mengembalikan indeks kejadian terakhir dari Substring yang Anda cari. Anda dapat memulai dan mengakhiri pencarian di Mulai dan Akhir masing-masing. |
Awalan pertandingan |
Mengembalikan nilai Boolean jika string berisi Pola yang diberikan. Sebuah pola dapat berupa urutan karakter atau ekspresi reguler. Secara opsional, Anda dapat membuat pola peka huruf besar/huruf besar. |
Temukan semua kejadian |
Mengembalikan array dengan semua kejadian dari pola yang diberikan. Sebuah pola dapat berupa urutan karakter atau ekspresi reguler. |
Ekstrak menggunakan regex |
Mengembalikan string yang cocok dengan pola Regex tertentu. |
Ekstrak antara pembatas |
Mengembalikan string dengan semua karakter yang ditemukan antara pembatas Kiri dan pembatas Kanan. |
Ekstrak dari posisi |
Mengembalikan string, mulai dari posisi Mulai dalam string input, yang berisi semua karakter hingga posisi awal ditambah Panjang. |
Temukan dan ganti substring |
Mengembalikan string dengan semua kecocokan dari Pola tertentu (ekspresi reguler) digantikan oleh string Penggantian. |
Ganti antara pembatas |
Mengembalikan string dengan substring ditemukan antara penampilan pertama pembatas Kiri dan penampilan terakhir dari pembatas Kanan digantikan oleh string Penggantian. Jika tidak ada kecocokan yang ditemukan, tidak ada yang diganti. |
Ganti dari posisi |
Mengembalikan string dengan substring antara posisi Mulai dan posisi Mulai ditambah Panjang diganti dengan string Penggantian. Jika posisi Mulai ditambah Panjang lebih besar dari panjang string pengganti, output berisi.... |
Konversi regex menjadi hilang |
Mengkonversi string ke |
Pisahkan string dengan pembatas |
Mengembalikan array string dari string input, dibagi dengan Delimiter, dengan sampai jumlah Max split (opsional). Delimiter default ke spasi putih. |
Membagi data
Gunakan transformasi data Split untuk membagi kumpulan data Anda menjadi dua atau tiga kumpulan data. Misalnya, Anda dapat membagi kumpulan data menjadi kumpulan data yang digunakan untuk melatih model dan kumpulan data yang digunakan untuk mengujinya. Anda dapat menentukan proporsi dataset yang masuk ke setiap split. Misalnya, jika Anda membagi satu kumpulan data menjadi dua kumpulan data, kumpulan data pelatihan dapat memiliki 80% data sementara kumpulan data pengujian memiliki 20%.
Memisahkan data Anda menjadi tiga kumpulan data memberi Anda kemampuan untuk membuat kumpulan data pelatihan, validasi, dan pengujian. Anda dapat melihat seberapa baik kinerja model pada kumpulan data pengujian dengan menjatuhkan kolom target.
Kasus penggunaan Anda menentukan berapa banyak kumpulan data asli yang didapat masing-masing kumpulan data Anda dan metode yang Anda gunakan untuk membagi data. Misalnya, Anda mungkin ingin menggunakan pemisahan bertingkat untuk memastikan bahwa distribusi pengamatan di kolom target sama di seluruh kumpulan data. Anda dapat menggunakan transformasi split berikut:
-
Pemisahan acak - Setiap pemisahan adalah sampel acak dan tidak tumpang tindih dari kumpulan data asli. Untuk kumpulan data yang lebih besar, menggunakan pemisahan acak mungkin mahal secara komputasi dan membutuhkan waktu lebih lama daripada pemisahan yang dipesan.
-
Pemisahan berurutan — Membagi kumpulan data berdasarkan urutan pengamatan yang berurutan. Misalnya, untuk pemisahan uji kereta 80/20, pengamatan pertama yang membentuk 80% dari kumpulan data masuk ke kumpulan data pelatihan. 20% terakhir dari pengamatan pergi ke dataset pengujian. Pemisahan yang dipesan efektif dalam menjaga urutan data yang ada di antara pemisahan.
-
Pemisahan bertingkat — Membagi kumpulan data untuk memastikan bahwa jumlah pengamatan di kolom input memiliki representasi proporsional. Untuk kolom input yang memiliki pengamatan 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, pemisahan 80/20 pada kolom berarti bahwa sekitar 80% dari 1s, 80% dari 2s, dan 80% dari 3s pergi ke set pelatihan. Sekitar 20% dari setiap jenis pengamatan pergi ke set pengujian.
-
Split by key — Menghindari data dengan kunci yang sama terjadi di lebih dari satu split. Misalnya, jika Anda memiliki kumpulan data dengan kolom 'customer_id' dan Anda menggunakannya sebagai kunci, tidak ada id pelanggan di lebih dari satu split.
Setelah Anda membagi data, Anda dapat menerapkan transformasi tambahan ke setiap kumpulan data. Untuk sebagian besar kasus penggunaan, mereka tidak diperlukan.
Data Wrangler menghitung proporsi perpecahan untuk kinerja. Anda dapat memilih ambang kesalahan untuk mengatur keakuratan pemisahan. Ambang kesalahan yang lebih rendah lebih akurat mencerminkan proporsi yang Anda tentukan untuk pemisahan. Jika Anda menetapkan ambang kesalahan yang lebih tinggi, Anda mendapatkan kinerja yang lebih baik, tetapi akurasi yang lebih rendah.
Untuk membagi data dengan sempurna, atur ambang kesalahan ke 0. Anda dapat menentukan ambang batas antara 0 dan 1 untuk kinerja yang lebih baik. Jika Anda menentukan nilai yang lebih besar dari 1, Data Wrangler menafsirkan nilai itu sebagai 1.
Jika Anda memiliki 10000 baris dalam kumpulan data Anda dan Anda menentukan pemisahan 80/20 dengan kesalahan 0,001, Anda akan mendapatkan pengamatan yang mendekati salah satu hasil berikut:
-
8010 pengamatan di set pelatihan dan 1990 di set pengujian
-
7990 pengamatan di set pelatihan dan 2010 di set pengujian
Jumlah pengamatan untuk pengujian yang ditetapkan dalam contoh sebelumnya adalah dalam interval antara 8010 dan 7990.
Secara default, Data Wrangler menggunakan seed acak untuk membuat split dapat direproduksi. Anda dapat menentukan nilai yang berbeda untuk benih untuk membuat pemisahan yang dapat direproduksi yang berbeda.
Parse Nilai sebagai Tipe
Gunakan transformasi ini untuk mentransmisikan kolom ke tipe baru. Tipe data Data Wrangler yang didukung adalah:
-
Long
-
Desimal
-
Boolean
-
Tanggal, dalam format dd-MM-yyyy, masing-masing mewakili hari, bulan, dan tahun.
-
String
Validasi String
Gunakan transformasi string Validasi untuk membuat kolom baru yang menunjukkan bahwa baris data teks memenuhi kondisi tertentu. Misalnya, Anda dapat menggunakan transformasi string Validasi untuk memverifikasi bahwa string hanya berisi karakter huruf kecil. Transformasi berikut didukung di bawah Validasi string.
Transformasi berikut termasuk dalam grup transformasi ini. Jika transformasi menghasilkan nilai Boolean, True
direpresentasikan dengan a 1
dan False
diwakili dengan a. 0
Nama | Fungsi |
---|---|
Panjang tali |
Mengembalikan |
Starts with |
Mengembalikan |
Ends with |
Mengembalikan |
Apakah alfanumerik |
Mengembalikan |
Apakah alfa (huruf) |
Mengembalikan |
Adalah digit |
Mengembalikan |
Adalah ruang |
Mengembalikan |
Adalah judul |
Mengembalikan |
Adalah huruf kecil |
Mengembalikan |
Adalah huruf besar |
Mengembalikan |
Adalah numerik |
Mengembalikan |
Adalah desimal |
Mengembalikan |
Data Unnest JSON
Jika Anda memiliki file.csv, Anda mungkin memiliki nilai dalam kumpulan data yang berupa string. JSON Demikian pula, Anda mungkin memiliki data bersarang di kolom file Parket atau dokumen. JSON
Gunakan operator terstruktur Flatten untuk memisahkan kunci tingkat pertama menjadi kolom terpisah. Kunci tingkat pertama adalah kunci yang tidak bersarang dalam nilai.
Misalnya, Anda mungkin memiliki kumpulan data yang memiliki kolom orang dengan informasi demografis pada setiap orang yang disimpan sebagai JSON string. Sebuah JSON string mungkin terlihat seperti berikut.
"{"seq": 1,"name": {"first": "Nathaniel","last": "Ferguson"},"age": 59,"city": "Posbotno","state": "WV"}"
Operator terstruktur Flatten mengonversi kunci tingkat pertama berikut menjadi kolom tambahan dalam kumpulan data Anda:
-
seq
-
name
-
usia
-
kota
-
status
Data Wrangler menempatkan nilai-nilai kunci sebagai nilai di bawah kolom. Berikut ini menunjukkan nama kolom dan nilai-nilai dariJSON.
seq, name, age, city, state 1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV
Untuk setiap nilai dalam kumpulan data Anda yang berisiJSON, operator terstruktur Flatten membuat kolom untuk kunci tingkat pertama. Untuk membuat kolom untuk kunci bersarang, panggil operator lagi. Untuk contoh sebelumnya, memanggil operator membuat kolom:
-
name_first
-
name_last
Contoh berikut menunjukkan kumpulan data yang dihasilkan dari pemanggilan operasi lagi.
seq, name, age, city, state, name_first, name_last 1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV, Nathaniel, Ferguson
Pilih Kunci untuk diratakan untuk menentukan kunci tingkat pertama yang ingin diekstrak sebagai kolom terpisah. Jika Anda tidak menentukan kunci apa pun, Data Wrangler mengekstrak semua kunci secara default.
Meledak Array
Gunakan Explode array untuk memperluas nilai array menjadi baris output terpisah. Misalnya, operasi dapat mengambil setiap nilai dalam array, [[1, 2, 3,], [4, 5, 6], [7, 8, 9]] dan membuat kolom baru dengan baris berikut:
[1, 2, 3] [4, 5, 6] [7, 8, 9]
Data Wrangler menamai kolom baru, input_column_name_flatten.
Anda dapat memanggil operasi array Explode beberapa kali untuk mendapatkan nilai bersarang dari array ke dalam kolom output terpisah. Contoh berikut menunjukkan hasil pemanggilan operasi beberapa kali pada dataset dengan array bersarang.
Menempatkan nilai-nilai array bersarang ke dalam kolom terpisah
id | array | id | array_item | id | array_items_items |
---|---|---|---|---|---|
1 | [[kucing, anjingnya], [kelelawar, katak]] | 1 | [kucing, anjingnya] | 1 | kucing |
2 |
[[mawar, petunia], [lily, daisy]] |
1 | [kelelawar, katak] | 1 | anjingnya |
2 | [mawar, petunia] | 1 | kelelawar | ||
2 | [bunga bakung, daisy] | 1 | katak | ||
2 | 2 | mawar | |||
2 | 2 | petunia | |||
2 | 2 | bunga bakung | |||
2 | 2 | bunga aster |
Mengubah Data Gambar
Gunakan Data Wrangler untuk mengimpor dan mengubah gambar yang Anda gunakan untuk pipeline machine learning (ML) Anda. Setelah menyiapkan data gambar, Anda dapat mengekspornya dari aliran Data Wrangler ke pipeline MLmu.
Anda dapat menggunakan informasi yang disediakan di sini untuk membiasakan diri dengan mengimpor dan mengubah data gambar di Data Wrangler. Data Wrangler menggunakan OpenCV untuk mengimpor gambar. Untuk informasi selengkapnya tentang format gambar yang didukung, lihat Membaca dan menulis file gambar
Setelah Anda membiasakan diri dengan konsep mengubah data gambar Anda, ikuti tutorial berikut, Siapkan data gambar dengan Amazon SageMaker Data
Industri dan kasus penggunaan berikut adalah contoh di mana menerapkan pembelajaran mesin ke data gambar yang diubah dapat berguna:
-
Manufaktur - Mengidentifikasi cacat pada item dari jalur perakitan
-
Makanan — Mengidentifikasi makanan busuk atau busuk
-
Kedokteran — Mengidentifikasi lesi pada jaringan
Saat Anda bekerja dengan data gambar di Data Wrangler, Anda melalui proses berikut:
-
Impor - Pilih gambar dengan memilih direktori yang berisi mereka di bucket Amazon S3 Anda.
-
Transform - Gunakan transformasi bawaan untuk menyiapkan gambar untuk pipeline pembelajaran mesin Anda.
-
Ekspor - Ekspor gambar yang telah Anda ubah ke lokasi yang dapat diakses dari pipeline.
Gunakan prosedur berikut untuk mengimpor data gambar Anda.
Untuk mengimpor data gambar Anda
-
Arahkan ke halaman Buat koneksi.
-
Pilih Amazon S3.
-
Tentukan jalur file Amazon S3 yang berisi data gambar.
-
Untuk jenis File, pilih Gambar.
-
(Opsional) Pilih Impor direktori bersarang untuk mengimpor gambar dari beberapa jalur Amazon S3.
-
Pilih Impor.
Data Wrangler menggunakan pustaka imgaug
-
ResizeImage
-
EnhanceImage
-
CorruptImage
-
SplitImage
-
DropCorruptedImages
-
DropImageDuplicates
-
Kecerahan
-
ColorChannels
-
Skala Abu-abu
-
Putar
Gunakan prosedur berikut untuk mengubah gambar Anda tanpa menulis kode.
Untuk mengubah data gambar tanpa menulis kode
-
Dari alur Data Wrangler Anda, pilih + di sebelah node yang mewakili gambar yang telah Anda impor.
-
Pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih transformasi dan konfigurasikan.
-
Pilih Pratinjau.
-
Pilih Tambahkan.
Selain menggunakan transformasi yang disediakan Data Wrangler, Anda juga dapat menggunakan cuplikan kode kustom Anda sendiri. Untuk informasi selengkapnya tentang menggunakan cuplikan kode kustom, lihat. Transformasi Kustom Anda dapat mengimpor pustaka OpenCV dan imgaug dalam cuplikan kode Anda dan menggunakan transformasi yang terkait dengannya. Berikut ini adalah contoh cuplikan kode yang mendeteksi tepi dalam gambar.
# A table with your image data is stored in the `df` variable import cv2 import numpy as np from pyspark.sql.functions import column from sagemaker_dataprep.compute.operators.transforms.image.constants import DEFAULT_IMAGE_COLUMN, IMAGE_COLUMN_TYPE from sagemaker_dataprep.compute.operators.transforms.image.decorators import BasicImageOperationDecorator, PandasUDFOperationDecorator @BasicImageOperationDecorator def my_transform(image: np.ndarray) -> np.ndarray: # To use the code snippet on your image data, modify the following lines within the function HYST_THRLD_1, HYST_THRLD_2 = 100, 200 edges = cv2.Canny(image,HYST_THRLD_1,HYST_THRLD_2) return edges @PandasUDFOperationDecorator(IMAGE_COLUMN_TYPE) def custom_image_udf(image_row): return my_transform(image_row) df = df.withColumn(DEFAULT_IMAGE_COLUMN, custom_image_udf(column(DEFAULT_IMAGE_COLUMN)))
Saat menerapkan transformasi dalam alur Data Wrangler Anda, Data Wrangler hanya menerapkannya pada sampel gambar dalam kumpulan data Anda. Untuk mengoptimalkan pengalaman Anda dengan aplikasi, Data Wrangler tidak menerapkan transformasi ke semua gambar Anda.
Untuk menerapkan transformasi ke semua gambar Anda, ekspor alur Data Wrangler Anda ke lokasi Amazon S3. Anda dapat menggunakan gambar yang telah Anda ekspor dalam jalur pelatihan atau inferensi Anda. Gunakan node tujuan atau Notebook Jupyter untuk mengekspor data Anda. Anda dapat mengakses salah satu metode untuk mengekspor data Anda dari aliran Data Wrangler. Untuk informasi tentang menggunakan metode ini, lihatEkspor ke Amazon S3.
Filter data
Gunakan Data Wrangler untuk memfilter data di kolom Anda. Saat Anda memfilter data dalam kolom, Anda menentukan bidang berikut:
-
Nama kolom — Nama kolom yang Anda gunakan untuk memfilter data.
-
Kondisi - Jenis filter yang Anda terapkan pada nilai di kolom.
-
Nilai - Nilai atau kategori di kolom tempat Anda menerapkan filter.
Anda dapat memfilter pada kondisi berikut:
-
= — Mengembalikan nilai yang cocok dengan nilai atau kategori yang Anda tentukan.
-
! = — Mengembalikan nilai yang tidak cocok dengan nilai atau kategori yang Anda tentukan.
-
>= — Untuk data Long atau Float, filter untuk nilai yang lebih besar dari atau sama dengan nilai yang Anda tentukan.
-
<= — Untuk data Long atau Float, filter untuk nilai yang kurang dari atau sama dengan nilai yang Anda tentukan.
-
> — Untuk data Long atau Float, filter untuk nilai yang lebih besar dari nilai yang Anda tentukan.
-
< — Untuk data Long atau Float, filter untuk nilai yang kurang dari nilai yang Anda tentukan.
Untuk kolom yang memiliki kategori, male
danfemale
, Anda dapat memfilter semua male
nilai. Anda juga dapat memfilter untuk semua female
nilai. Karena hanya ada male
dan female
nilai di kolom, filter mengembalikan kolom yang hanya memiliki female
nilai.
Anda juga dapat menambahkan beberapa filter. Filter dapat diterapkan di beberapa kolom atau kolom yang sama. Misalnya, jika Anda membuat kolom yang hanya memiliki nilai dalam rentang tertentu, Anda menambahkan dua filter berbeda. Satu filter menentukan bahwa kolom harus memiliki nilai yang lebih besar dari nilai yang Anda berikan. Filter lain menentukan bahwa kolom harus memiliki nilai kurang dari nilai yang Anda berikan.
Gunakan prosedur berikut untuk menambahkan transformasi filter ke data Anda.
Untuk memfilter data Anda
-
Dari alur Data Wrangler Anda, pilih + di sebelah node dengan data yang Anda filter.
-
Pilih Tambahkan transformasi.
-
Pilih Tambahkan langkah.
-
Pilih Filter data.
-
Tentukan bidang berikut:
-
Nama kolom - Kolom yang Anda filter.
-
Kondisi — Kondisi filter.
-
Nilai - Nilai atau kategori di kolom tempat Anda menerapkan filter.
-
-
(Opsional) Pilih + mengikuti filter yang telah Anda buat.
-
Konfigurasikan filter.
-
Pilih Pratinjau.
-
Pilih Tambahkan.
Kolom Peta untuk Amazon Personalisasi
Data Wrangler terintegrasi dengan Amazon Personalize, layanan pembelajaran mesin terkelola penuh yang menghasilkan rekomendasi item dan segmen pengguna. Anda dapat menggunakan kolom Peta untuk transformasi Amazon Personalize untuk memasukkan data Anda ke dalam format yang dapat ditafsirkan oleh Amazon Personalize. Untuk informasi selengkapnya tentang transformasi khusus untuk Amazon Personalize, lihat Mengimpor data menggunakan Amazon SageMaker Data Wrangler. Untuk informasi selengkapnya tentang Amazon Personalize, lihat Apa itu Amazon Personalize?