Normalisasi Data di Python

Normalization Data Python



Normalisasi data adalah teknik yang membantu mendapatkan hasil lebih cepat kerana mesin harus memproses julat data yang lebih kecil. Normalisasi bukanlah tugas yang mudah kerana semua hasil anda bergantung pada pilihan kaedah menormalkan anda. Oleh itu, jika anda memilih kaedah yang salah untuk menormalkan data anda, anda mungkin mendapat sesuatu yang berbeza dari jangkaan anda.

Normalisasi juga bergantung pada jenis data seperti gambar, teks, angka, dll. Jadi, setiap jenis data mempunyai kaedah yang berbeza untuk menormalkan. Jadi, dalam artikel ini, kami memfokuskan pada data berangka.







Kaedah 1: Menggunakan sklearn

Kaedah sklearn adalah kaedah yang sangat terkenal untuk menormalkan data.





Dalam nombor sel [83] : Kami mengimport semua perpustakaan yang diperlukan, NumPy dan sklearn. Anda dapat melihat bahawa kami mengimport proses awal dari sklearn itu sendiri. Itulah sebabnya ini adalah kaedah normalisasi sklearn.





Dalam nombor sel [84] : Kami membuat array NumPy dengan beberapa nilai integer yang tidak sama.

Dalam nombor sel [85] : Kami memanggil kaedah normalisasi dari proses pra-proses dan melewati numpy_array, yang baru kami buat sebagai parameter.



Dalam nombor sel [86] : Kami dapat melihat dari hasilnya, semua data bilangan bulat kami kini dinormalisasi antara 0 dan 1.

Kaedah 2: Menormalkan lajur tertentu dalam set data menggunakan sklearn

Kami juga dapat menormalkan lajur set data tertentu. Dalam perkara ini, kita akan membincangkannya.


Dalam nombor sel [87] : Kami mengimport panda dan sklearn perpustakaan.

Dalam nombor sel [88] : Kami membuat fail CSV palsu, dan kami sekarang memuatkan fail CSV itu dengan bantuan paket panda (read_csv).

Dalam nombor sel [89] : Kami mencetak fail CSV yang baru kami muatkan.

Dalam nombor sel [90] : Kami membaca lajur tertentu fail CSV menggunakan np. susun dan simpan hasilnya ke value_array.

Dalam nombor sel [92] , kami memanggil kaedah normalisasi dari proses pra-proses dan melewati parameter value_array.

Kaedah 3: Tukar untuk menormalkan tanpa menggunakan lajur ke susunan (menggunakan sklearn)

Dalam kaedah 2 sebelumnya, kami telah membincangkan cara membuat lajur fail CSV tertentu yang dapat kami normalisasi. Tetapi kadang-kadang kita perlu menormalkan keseluruhan dataset, maka kita dapat menggunakan kaedah di bawah ini di mana kita menormalkan keseluruhan dataset tetapi mengikut lajur (paksi = 0). Sekiranya kita menyebut paksi = 1, maka ia akan menormalkan secara berturut-turut. Paksi = 1 adalah nilai lalai.


Dalam nombor sel [93] : Kami mengimport panda dan sklearn perpustakaan.

Dalam nombor sel [94] : Kami membuat fail CSV palsu (demo_numeric.csv), dan kami sekarang memuatkan fail CSV itu dengan bantuan pakej panda (read_csv).

Dalam nombor sel [95] : Kami mencetak fail CSV yang baru kami muatkan.

Dalam nombor sel [96] : Sekarang, kami meneruskan keseluruhan fail CSV bersama dengan satu lagi paksi parameter tambahan = 0, yang mengatakan kepada perpustakaan bahawa pengguna ingin menormalkan keseluruhan kumpulan data mengikut lajur.

Dalam nombor sel [97] , kami mencetak hasilnya dan menormalkan data dengan nilai antara 0 dan 1.

Kaedah 4: Menggunakan MinMaxScaler ()

Sklearn juga menyediakan kaedah normalisasi lain, yang kami sebut sebagai MinMaxScalar. Ini juga merupakan kaedah yang sangat popular kerana senang digunakan.


Dalam nombor sel [98] : Kami mengimport semua pakej yang diperlukan.

Dalam nombor sel [99] : Kami membuat fail CSV palsu (demo_numeric.csv), dan kami sekarang memuatkan fail CSV itu dengan bantuan pakej panda (read_csv).

Dalam nombor sel [100] : Kami mencetak fail CSV yang baru kami muatkan.

Dalam nombor sel [101] : Kami memanggil MinMaxScalar dari kaedah preprocessing dan membuat objek (min_max_Scalar) untuk itu. Kami tidak melewati parameter apa pun kerana kami perlu menormalkan data antara 0 dan 1. Tetapi jika anda mahu, anda boleh menambahkan nilai anda yang akan dilihat pada kaedah seterusnya.

Dalam nombor sel [102] : Kami pertama kali membaca semua nama lajur untuk penggunaan lebih lanjut untuk memaparkan hasil. Kemudian kami memanggil fit_tranform dari objek yang dibuat min_max_Scalar dan meneruskan fail CSV ke dalamnya.

Dalam nombor sel [103] : Kami mendapat hasil yang dinormalisasi antara 0 dan 1.

Kaedah 5: Menggunakan MinMaxScaler (feature_range = (x, y))

Sklearn juga memberikan pilihan untuk menukar nilai normal dari apa yang anda mahukan. Secara lalai, mereka menormalkan nilai antara 0 dan 1. Tetapi ada parameter yang kami sebut fitur_range, yang dapat menetapkan nilai dinormalisasi sesuai dengan keperluan kami.

Dalam nombor sel [104] : Kami mengimport semua pakej yang diperlukan.

Dalam nombor sel [105] : Kami membuat fail CSV palsu (demo_numeric.csv), dan kami sekarang memuatkan fail CSV itu dengan bantuan pakej panda (read_csv).

Dalam nombor sel [106] : Kami mencetak fail CSV yang baru kami muatkan.

Dalam nombor sel [107] : Kami memanggil MinMaxScalar dari kaedah preprocessing dan membuat objek (min_max_Scalar) untuk itu. Tetapi kami juga melewati parameter lain di dalam MinMaxScaler (feature_range). Nilai parameter itu kami tetapkan 0 hingga 2. Jadi sekarang, MinMaxScaler akan menormalkan nilai data antara 0 hingga 2.

Dalam nombor sel [108] : Kami pertama kali membaca semua nama lajur untuk penggunaan lebih lanjut untuk memaparkan hasil. Kemudian kami memanggil fit_tranform dari objek yang dibuat min_max_Scalar dan meneruskan fail CSV ke dalamnya.

Dalam nombor sel [109] : Kami mendapat hasil yang dinormalisasi antara 0 dan 2.

Kaedah 6: Menggunakan penskalaan mutlak maksimum

Kami juga dapat menormalkan data menggunakan panda. Ciri-ciri ini juga sangat popular dalam menormalkan data. Penskalaan mutlak maksimum menormalkan nilai antara 0 dan 1. Kami menerapkan di sini .max () dan .abs () seperti yang ditunjukkan di bawah:

Dalam nombor sel [110] : Kami mengimport perpustakaan panda.

Dalam nombor sel [111] : Kami membuat bingkai data palsu dan mencetak bingkai data itu.

Dalam nombor sel [113] : Kami memanggil setiap lajur dan kemudian membahagikan nilai lajur dengan .max () dan .abs ().

Dalam nombor sel [114] : Kami mencetak hasilnya, dan dari hasilnya, kami mengesahkan bahawa data kami menormalkan antara 0 dan 1.

Kaedah 7: Menggunakan kaedah skor-z

Kaedah seterusnya yang akan kita bincangkan adalah kaedah skor-z. Kaedah ini menukar maklumat kepada pengedaran. Kaedah ini mengira min setiap lajur dan kemudian mengurangkan dari setiap lajur dan, akhirnya, membahagikannya dengan sisihan piawai. Ini menormalkan data antara -1 dan 1.

Dalam nombor sel [115] : Kami membuat bingkai data palsu dan mencetak bingkai data itu.

Dalam nombor sel [117] : Kami mengira min lajur dan mengurangkannya dari lajur. Kemudian kami membahagikan nilai lajur dengan sisihan piawai.

Dalam nombor sel [118] : Kami mencetak data yang dinormalisasi antara -1 dan 1.

Kesimpulan: Kami telah melihat pelbagai jenis kaedah yang dinormalisasi. Antaranya, sklearn sangat terkenal kerana menyokong pembelajaran mesin. Tetapi itu bergantung pada kehendak pengguna. Kadang-kadang ciri panda untuk menormalkan data sudah mencukupi. Kita tidak boleh mengatakan bahawa hanya ada kaedah menormalkan di atas. Terdapat banyak kaedah untuk melakukan normalisasi data yang juga bergantung pada jenis data anda seperti gambar, angka, teks, dll. Kami memfokuskan pada data angka ini dan Python.