Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Pengkodean fitur di Neptunus ML

Mode fokus
Pengkodean fitur di Neptunus ML - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Nilai properti datang dalam berbagai format dan tipe data. Untuk mencapai kinerja yang baik dalam pembelajaran mesin, penting untuk mengubah nilai-nilai tersebut menjadi pengkodean numerik yang dikenal sebagai fitur.

Neptunus ML melakukan ekstraksi fitur dan pengkodean sebagai bagian dari langkah-langkah ekspor data dan pemrosesan data, menggunakan teknik pengkodean fitur yang dijelaskan di sini.

catatan

Jika Anda berencana untuk mengimplementasikan pengkodean fitur Anda sendiri dalam implementasi model khusus, Anda dapat menonaktifkan pengkodean fitur otomatis dalam tahap pra-pemrosesan data dengan memilih none sebagai jenis pengkodean fitur. Tidak ada pengkodean fitur yang terjadi pada properti node atau edge itu, dan sebagai gantinya nilai properti mentah diurai dan disimpan dalam kamus. Preprocessing data masih membuat grafik DGL dari dataset yang diekspor, tetapi grafik DGL yang dibangun tidak memiliki fitur pra-proses untuk pelatihan.

Anda harus menggunakan opsi ini hanya jika Anda berencana untuk melakukan pengkodean fitur kustom Anda sebagai bagian dari pelatihan model khusus. Lihat Model khusus di Neptunus ML untuk detail.

Fitur kategoris di Neptunus ML

Properti yang dapat mengambil satu atau lebih nilai berbeda dari daftar tetap nilai yang mungkin adalah fitur kategoris. Di Neptunus ML, fitur kategoris dikodekan menggunakan pengkodean satu panas. Contoh berikut menunjukkan bagaimana nama properti makanan yang berbeda dikodekan satu panas sesuai dengan kategorinya:

Food Veg. Meat Fruit Encoding --------- ---- ---- ----- -------- Apple 0 0 1 001 Chicken 0 1 0 010 Broccoli 1 0 0 100
catatan

Jumlah maksimum kategori dalam fitur kategoris apa pun adalah 100. Jika sebuah properti memiliki lebih dari 100 kategori nilai, hanya 99 yang paling umum ditempatkan dalam kategori yang berbeda, dan sisanya ditempatkan dalam kategori khusus bernamaOTHER.

Fitur numerik di Neptunus ML

Properti apa pun yang nilainya bilangan real dapat dikodekan sebagai fitur numerik di Neptunus ML. Fitur numerik dikodekan menggunakan angka floating-point.

Anda dapat menentukan metode normalisasi data yang akan digunakan saat menyandikan fitur numerik, seperti ini: "norm": "normalization technique" Teknik normalisasi berikut didukung:

  • “tidak ada” — Jangan menormalkan nilai numerik selama pengkodean.

  • “min-max” — Normalisasi setiap nilai dengan mengurangi nilai minimum darinya dan kemudian membaginya dengan selisih antara nilai maksimum dan minimum.

  • “standar” — Menormalkan setiap nilai dengan membaginya dengan jumlah semua nilai.

Fitur bucket-numerik di Neptunus ML

Daripada mewakili properti numerik menggunakan angka mentah, Anda dapat memadatkan nilai numerik ke dalam kategori. Misalnya, Anda dapat membagi usia orang ke dalam kategori seperti anak-anak (0-20), dewasa muda (20-40), orang paruh baya (40-60) dan orang tua (dari 60 pada). Dengan menggunakan bucket numerik ini, Anda akan mengubah properti numerik menjadi semacam fitur kategoris.

Di Neptunus ML, Anda dapat menyebabkan properti numerik dikodekan sebagai fitur bucket-numerik, Anda harus memberikan dua hal:

  • Rentang numerik dalam bentuk, "range": [a, b] , di mana a dan b merupakan bilangan bulat.

  • Hitungan ember, dalam bentuk "bucket_cnt": c , di c mana jumlah ember, juga bilangan bulat.

Neptunus ML kemudian menghitung ukuran setiap bucket  ( b - a ) / c sebagai, dan mengkodekan setiap nilai numerik sebagai jumlah bucket apa pun yang masuk ke dalamnya. Nilai apa pun yang kurang dari a dianggap termasuk dalam ember pertama, dan nilai apa pun yang lebih besar dari b dianggap termasuk dalam ember terakhir.

Anda juga dapat, secara opsional, membuat nilai numerik jatuh ke lebih dari satu ember, dengan menentukan ukuran jendela geser, seperti ini: "slide_window_size": s , di mana angka. s Neptunus ML kemudian mengubah setiap v nilai numerik properti menjadi rentang v - s/2 dari v + s/2 hingga, dan memberikan v nilai ke setiap ember yang dicakup oleh rentang tersebut.

Terakhir, Anda juga dapat secara opsional menyediakan cara mengisi nilai yang hilang untuk fitur numerik dan fitur bucket-numerik. Anda melakukan ini menggunakan "imputer": "imputation technique ", di mana teknik imputasi adalah salah satu dari"mean","median", atau. "most-frequent" Jika Anda tidak menentukan imputer, nilai yang hilang dapat menyebabkan pemrosesan terhenti.

Pengkodean fitur teks di Neptunus ML

Untuk teks bentuk bebas, Neptunus ML dapat menggunakan beberapa model berbeda untuk mengonversi urutan token dalam string nilai properti menjadi vektor nilai nyata ukuran tetap:

  • text_fasttext— Menggunakan pengkodean FastText. Ini adalah pengkodean yang disarankan untuk fitur yang menggunakan satu dan hanya satu dari lima bahasa yang didukung FastText.

  • text_sbert— Menggunakan model pengkodean Sentence BERT (SBERT). Ini adalah pengkodean yang disarankan untuk teks yang text_fasttext tidak mendukung.

  • text_word2vec— Menggunakan algoritma Word2Vec awalnya diterbitkan oleh Google untuk menyandikan teks. Word2Vec hanya mendukung bahasa Inggris.

  • text_tfidf— Menggunakan istilah frekuensi—inverse document frequency (TF-IDF) vectorizer untuk pengkodean teks. Pengkodean TF-IDF mendukung fitur statistik yang tidak dilakukan pengkodean lainnya.

FastText encoding nilai properti teks di Neptunus ML

Neptunus ML dapat menggunakan model FastText untuk mengubah nilai properti teks menjadi vektor nilai nyata ukuran tetap. Ini adalah metode pengkodean yang direkomendasikan untuk nilai properti teks di salah satu dari lima bahasa yang didukung FastText:

  • en(Bahasa Inggris)

  • zh(Tionghoa)

  • hi(Hindi)

  • es(Spanyol)

  • fr(Perancis)

Perhatikan bahwa FastText tidak dapat menangani kalimat yang mengandung kata-kata dalam lebih dari satu bahasa.

text_fasttextMetode ini opsional dapat mengambil max_length bidang yang menentukan jumlah maksimum token dalam nilai properti teks yang akan dikodekan, setelah itu string terpotong. Ini dapat meningkatkan kinerja ketika nilai properti teks berisi string panjang, karena jika tidak max_length ditentukan, FastText mengkodekan semua token terlepas dari panjang string.

Contoh ini menentukan bahwa judul film Prancis dikodekan menggunakan FastText:

{ "file_name" : "nodes/movie.csv", "separator" : ",", "node" : ["~id", "movie"], "features" : [ { "feature": ["title", "title", "text_fasttext"], "language": "fr", "max_length": 1024 } ] }

Sentence BERT (SBERT) encoding fitur teks di Neptunus ML

Neptunus ML dapat mengubah urutan token dalam nilai properti string menjadi vektor nilai nyata ukuran tetap menggunakan model Sentence BERT (SBERT). Neptunus mendukung dua metode SBERTtext_sbert128:, yang merupakan default jika Anda hanya menentukan, dan. text_sbert text_sbert512 Perbedaan antara keduanya adalah panjang maksimum string nilai properti teks yang dikodekan. text_sbert128Pengkodean memotong string teks setelah menyandikan 128 token, sementara text_sbert512 memotong string teks setelah menyandikan 512 token. Akibatnya, text_sbert512 membutuhkan lebih banyak waktu pemrosesan daripadatext_sbert128. Kedua metode lebih lambat daritext_fasttext.

Pengkodean SBERT bersifat multibahasa, jadi tidak perlu menentukan bahasa untuk teks nilai properti yang Anda kodekan. SBERT mendukung banyak bahasa, dan dapat menyandikan kalimat yang berisi lebih dari satu bahasa. Jika Anda menyandikan nilai properti yang berisi teks dalam bahasa atau bahasa yang tidak didukung oleh FastText, SBERT adalah metode pengkodean yang disarankan.

Contoh berikut menentukan bahwa judul film dikodekan sebagai SBERT hingga maksimum 128 token:

{ "file_name" : "nodes/movie.csv", "separator" : ",", "node" : ["~id", "movie"], "features" : [ { "feature": ["title", "title", "text_sbert128"] } ] }

Pengkodean Word2Vec fitur teks di Neptunus ML

Neptunus ML dapat menyandikan nilai properti string sebagai fitur Word2Vec (algoritma Word2Vec awalnya diterbitkan oleh Google). text_word2vecMetode ini mengkodekan token dalam string sebagai vektor padat menggunakan salah satu model terlatih SPacy. Ini hanya mendukung bahasa Inggris menggunakan model en_core_web_lg).

Contoh berikut menentukan bahwa judul film dikodekan menggunakan Word2Vec:

{ "file_name" : "nodes/movie.csv", "separator" : ",", "node" : ["~id", "movie"], "features" : [ { "feature": ["title", "title", "text_word2vec"], "language": "en_core_web_lg" } ] }

Perhatikan bahwa bidang bahasa adalah opsional, karena en_core_web_lg model bahasa Inggris adalah satu-satunya yang didukung Neptunus.

Pengkodean fitur teks TF-IDF di Neptunus

Neptunus ML dapat menyandikan nilai properti teks sebagai fitur. text_tfidf Pengkodean ini mengubah urutan kata dalam teks menjadi vektor numerik menggunakan istilah frekuensi-inverse document frequency (TF-IDF) vectorizer, diikuti oleh operasi reduksi dimensi.

TF-IDF (frekuensi istilah — frekuensi dokumen terbalik) adalah nilai numerik yang dimaksudkan untuk mengukur seberapa penting sebuah kata dalam kumpulan dokumen. Ini dihitung dengan membagi berapa kali sebuah kata muncul dalam nilai properti tertentu dengan jumlah total nilai properti yang muncul di.

Misalnya, jika kata “ciuman” muncul dua kali dalam judul film tertentu (katakanlah, “ciuman ciuman bang bang”), dan “ciuman” muncul dalam judul 4 film secara keseluruhan, maka nilai TF-IDF dari “ciuman” dalam judul “ciuman ciuman bang” akan menjadi. 2 / 4

Vektor yang awalnya dibuat memiliki dimensi d, di mana d adalah jumlah istilah unik di semua nilai properti dari jenis itu. Operasi pengurangan dimensi menggunakan proyeksi jarang acak untuk mengurangi angka itu hingga maksimum 100. Kosakata grafik kemudian dihasilkan dengan menggabungkan semua text_tfidf fitur di dalamnya.

Anda dapat mengontrol vectorizer TF-IDF dengan beberapa cara:

  • max_features— Dengan menggunakan max_features parameter, Anda dapat membatasi jumlah istilah dalam text_tfidf fitur ke yang paling umum. Misalnya, jika Anda menyetel max_features ke 100, hanya 100 istilah teratas yang paling umum digunakan yang disertakan. Nilai default untuk max_features jika Anda tidak secara eksplisit menyetelnya adalah 5.000.

  • min_df— Menggunakan min_df parameter, Anda dapat membatasi jumlah istilah dalam text_tfidf fitur untuk yang memiliki setidaknya frekuensi dokumen tertentu. Misalnya, jika Anda menyetel min_df ke 5, hanya istilah yang muncul di setidaknya 5 nilai properti yang berbeda yang digunakan. Nilai default untuk min_df jika Anda tidak secara eksplisit mengaturnya adalah 2.

  • ngram_rangengram_range Parameter menentukan kombinasi kata apa yang diperlakukan sebagai istilah. Misalnya, jika Anda mengatur ngram_range ke[2, 4], 6 istilah berikut akan ditemukan di judul “kiss kiss bang bang”:

    • Istilah 2 kata: “ciuman ciuman”, “ciuman bang”, dan “bang bang”.

    • Istilah 3 kata: “kiss kiss bang” dan “kiss bang bang”.

    • Istilah 4 kata: “ciuman ciuman bang bang”.

    Pengaturan default untuk ngram_range adalah[1, 1].

Fitur Datetime di Neptunus ML

Neptunus ML dapat mengubah bagian datetime dari nilai properti menjadi fitur kategoris dengan menyandikannya sebagai array satu-panas. Gunakan datetime_parts parameter untuk menentukan satu atau beberapa bagian berikut untuk menyandikan:["year", "month", "weekday", "hour"]. Jika Anda tidak mengaturdatetime_parts, secara default keempat bagian dikodekan.

Misalnya, jika rentang nilai datetime mencakup tahun 2010 hingga 2012, empat bagian dari entri datetime adalah sebagai berikut: 2011-04-22 01:16:34

  • tahun[0, 1, 0].

    Karena hanya ada 3 tahun dalam rentang (2010, 2011, dan 2012), array satu-panas memiliki tiga entri, satu untuk setiap tahun.

  • bulan[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0].

    Di sini, array satu-panas memiliki entri untuk setiap bulan dalam setahun.

  • hari kerja[0, 0, 0, 0, 1, 0, 0].

    Standar ISO 8601 menyatakan bahwa Senin adalah hari pertama dalam seminggu, dan sejak 22 April 2011 adalah hari Jumat, array hari kerja satu panas yang sesuai panas di posisi kelima.

  • jam[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].

    Jam 1 pagi diatur dalam array satu-panas 24 anggota.

Hari dalam sebulan, menit, dan detik tidak dikodekan secara kategoris.

Jika datetime rentang total yang dimaksud hanya mencakup tanggal dalam satu tahun, tidak ada year array yang dikodekan.

Anda dapat menentukan strategi imputasi untuk mengisi datetime nilai yang hilang, menggunakan imputer parameter dan salah satu strategi yang tersedia untuk fitur numerik.

Pengkodean fitur otomatis di Neptunus ML

Alih-alih secara manual menentukan metode pengkodean fitur yang akan digunakan untuk properti dalam grafik Anda, Anda dapat mengatur auto sebagai metode pengkodean fitur. Neptunus ML kemudian mencoba menyimpulkan pengkodean fitur terbaik untuk setiap properti berdasarkan tipe data yang mendasarinya.

Berikut adalah beberapa heuristik yang digunakan Neptunus dalam memilih pengkodean fitur yang sesuai:

  • Jika properti hanya memiliki nilai numerik dan dapat dilemparkan ke tipe data numerik, maka Neptunus ML umumnya mengkodekannya sebagai nilai numerik. Namun, jika jumlah nilai unik untuk properti kurang dari 10% dari jumlah total nilai dan kardinalitas nilai unik tersebut kurang dari 100, maka Neptunus ML menggunakan pengkodean kategoris.

  • Jika nilai properti dapat dilemparkan ke suatu datetime tipe, maka Neptunus ML mengkodekannya sebagai fitur. datetime

  • Jika nilai properti dapat dipaksa untuk boolean (1/0 atau True/False), maka Neptunus ML menggunakan kategori encoding.

  • Jika properti adalah string dengan lebih dari 10% nilainya unik, dan jumlah rata-rata token per nilai lebih besar dari atau sama dengan 3, Neptunus ML menyimpulkan jenis properti menjadi teks dan secara otomatis mendeteksi bahasa yang digunakan. Jika bahasa yang terdeteksi adalah salah satu yang didukung oleh FastText, yaitu Inggris, Mandarin, Hindi, Spanyol dan Prancis, maka Neptunus menggunakan untuk menyandikan teks. text_fasttext Sebaliknya, penggunaan Neptunus ML. text_sbert

  • Jika properti adalah string yang tidak diklasifikasikan sebagai fitur teks maka Neptunus ML menganggapnya sebagai fitur kategoris dan menggunakan pengkodean kategori.

  • Jika setiap node memiliki nilai uniknya sendiri untuk properti yang disimpulkan sebagai fitur kategori, Neptunus ML menjatuhkan properti dari grafik pelatihan karena mungkin ID yang tidak informatif untuk pembelajaran.

  • Jika properti diketahui mengandung pemisah Neptunus yang valid seperti titik koma (“;”), maka Neptunus ML hanya dapat memperlakukan properti sebagai atau. MultiNumerical MultiCategorical

    • Neptunus ML pertama kali mencoba untuk menyandikan nilai sebagai fitur numerik. jika ini berhasil, Neptunus ML menggunakan pengkodean numerik untuk membuat fitur vektor numerik.

    • Jika tidak, Neptunus ML mengkodekan nilai sebagai multi-kategoris.

  • Jika Neptunus ML tidak dapat menyimpulkan tipe data dari nilai properti, MLdrops Neptunus properti dari grafik pelatihan.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.