Cara menggunakan STANDARDSCALER pada Python

Halo, pembaca! Dalam artikel ini, kita akan fokus pada salah satu teknik pra-pemrosesan terpenting dalam Python – Standardisasi menggunakan fungsi StandardScaler() .



js berikutnya vs nestjs

Jadi, mari kita mulai!!

Cara menggunakan STANDARDSCALER pada Python




  • 1 Kebutuhan akan Standardisasi
  • 2 Python sklearn StandardScaler() fungsi
  • 3 Standarisasi data dengan fungsi StandardScaler()
  • 4. Kesimpulan

Perlunya Standardisasi

Sebelum masuk ke Standardisasi, mari kita pahami dulu konsep Scaling.

penskalaan Fitur merupakan langkah penting dalam pemodelan algoritma dengan dataset. Data yang biasanya digunakan untuk tujuan pemodelan diturunkan melalui berbagai cara seperti:



bagaimana menjaga bot perselisihan Anda online 24 7
  • Daftar pertanyaan
  • Survei
  • Riset
  • Menggores , dll.

Jadi, data yang diperoleh berisi fitur dari berbagai dimensi dan skala sekaligus. Skala yang berbeda dari fitur data mempengaruhi pemodelan set data secara negatif.

Ini mengarah pada hasil prediksi yang bias dalam hal kesalahan klasifikasi dan tingkat akurasi. Oleh karena itu, perlu dilakukan penskalaan data sebelum pemodelan.

cara menggunakan sin di python

#pembelajaran mesin #python

www.journaldev.com

Menggunakan Fungsi StandardScaler() untuk Menstandarkan Data Python. Pada artikel ini, kita akan berfokus pada salah satu teknik pra-pemrosesan terpenting dalam Python – Standardisasi menggunakan fungsi StandardScaler().

Jawaban di atas sangat bagus, tetapi saya membutuhkan contoh sederhana untuk meringankan beberapa kekhawatiran yang saya miliki di masa lalu. Saya ingin memastikan itu memang memperlakukan masing-masing kolom secara terpisah. Saya sekarang diyakinkan dan tidak dapat menemukan contoh apa yang membuat saya prihatin. Semua kolomADALAHdiskalakan secara terpisah seperti dijelaskan oleh yang di atas.

KODE

import pandas as pd
import scipy.stats as ss
from sklearn.preprocessing import StandardScaler


data= [[1, 1, 1, 1, 1],[2, 5, 10, 50, 100],[3, 10, 20, 150, 200],[4, 15, 40, 200, 300]]

df = pd.DataFrame(data, columns=['N0', 'N1', 'N2', 'N3', 'N4']).astype('float64')

sc_X = StandardScaler()
df = sc_X.fit_transform(df)

num_cols = len(df[0,:])
for i in range(num_cols):
    col = df[:,i]
    col_stats = ss.describe(col)
    print(col_stats)

KELUARAN

DescribeResult(nobs=4, minmax=(-1.3416407864998738, 1.3416407864998738), mean=0.0, variance=1.3333333333333333, skewness=0.0, kurtosis=-1.3599999999999999)
DescribeResult(nobs=4, minmax=(-1.2828087129930659, 1.3778315806221817), mean=-5.551115123125783e-17, variance=1.3333333333333337, skewness=0.11003776770595125, kurtosis=-1.394993095506219)
DescribeResult(nobs=4, minmax=(-1.155344148338584, 1.53471088361394), mean=0.0, variance=1.3333333333333333, skewness=0.48089217736510326, kurtosis=-1.1471008824318165)
DescribeResult(nobs=4, minmax=(-1.2604572012883055, 1.2668071116222517), mean=-5.551115123125783e-17, variance=1.3333333333333333, skewness=0.0056842140599118185, kurtosis=-1.6438177182479734)
DescribeResult(nobs=4, minmax=(-1.338945389819976, 1.3434309690153527), mean=5.551115123125783e-17, variance=1.3333333333333333, skewness=0.005374558840039456, kurtosis=-1.3619131970819205)

Fitur Skala

Jika data Anda memiliki nilai yang berbeda, dan bahkan unit pengukuran yang berbeda, akan sulit untuk membandingkannya. Berapa kilogram dibandingkan dengan meter? Atau ketinggian dibandingkan dengan waktu?

Jawaban untuk masalah ini adalah menggunakan penskalaan. Kita dapat menskalakan data menjadi nilai baru yang lebih mudah untuk dibandingkan.

Perhatikan tabel di bawah ini, ini adalah kumpulan data yang sama yang kami gunakan di bab regresi berganda, tetapi kali ini kolom volume berisi nilai dalam liter, bukan cm3 (1.0, bukan 1000).

Car Model Volume Weight CO2
Toyota Aygo 1.0 790 99
Mitsubishi Space Star 1.2 1160 95
Skoda Citigo 1.0 929 95
Fiat 500 0.9 865 90
Mini Cooper 1.5 1140 105
VW Up! 1.0 929 105
Skoda Fabia 1.4 1109 90
Mercedes A-Class 1.5 1365 92
Ford Fiesta 1.5 1112 98
Audi A1 1.6 1150 99
Hyundai I20 1.1 980 99
Suzuki Swift 1.3 990 101
Ford Fiesta 1.0 1112 99
Honda Civic 1.6 1252 94
Hundai I30 1.6 1326 97
Opel Astra 1.6 1330 97
BMW 1 1.6 1365 99
Mazda 3 2.2 1280 104
Skoda Rapid 1.6 1119 104
Ford Focus 2.0 1328 105
Ford Mondeo 1.6 1584 94
Opel Insignia 2.0 1428 99
Mercedes C-Class 2.1 1365 99
Skoda Octavia 1.6 1415 99
Volvo S60 2.0 1415 99
Mercedes CLA 1.5 1465 102
Audi A4 2.0 1490 104
Audi A6 2.0 1725 114
Volvo V70 1.6 1523 109
BMW 5 2.0 1705 114
Mercedes E-Class 2.1 1605 115
Volvo XC70 2.0 1746 117
Ford B-Max 1.6 1235 104
BMW 2 1.6 1390 108
Opel Zafira 1.6 1405 109
Mercedes SLK 2.5 1395 120

Sulit untuk membandingkan volume 1.0 dengan berat 790, tetapi jika kita menskalakan keduanya menjadi nilai yang dapat dibandingkan, kita dapat dengan mudah melihat seberapa besar satu nilai dibandingkan dengan yang lain.

Ada beberapa metode penskalaan data, dalam tutorial ini kita akan menggunakan metode yang disebut standardisasi.

Metode standardisasi menggunakan rumus ini:

z = (x – u) / s

Di mana z adalah nilai baru, x adalah nilai asli, u adalah mean dan s adalah standar deviasi.

Jika kita mengambil kolom berat dari kumpulan data di atas, nilai pertama adalah 790, dan nilai skala adalah:

(790 – 1292,23) / 238,74 = -2,1

Jika kita mengambil kolom volume dari kumpulan data di atas, nilai pertama adalah 1.0, dan nilai skala adalah:

(1,0 – 1,61) / 0,38 = -1,59

Sekarang kita dapat membandingkan -2,1 dengan -1,59 daripada membandingkan 790 dengan 1,0.

Kita tidak perlu melakukannya secara manual, karena modul sklearn Python memiliki metode yang disebut StandardScaler() yang mengembalikan objek Scaler dengan metode untuk mengubah kumpulan data.

Contoh:
Skala semua nilai di kolom Bobot dan Volume

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]

scaledX = scale.fit_transform(X)

print(scaledX)

Memprediksi Nilai CO2

Tugas pada bab Regresi Ganda adalah memprediksi emisi CO2 dari sebuah mobil ketika kita hanya mengetahui berat dan volumenya.

Saat kumpulan data diskalakan, kita harus menggunakan skala saat memprediksi nilai:

Contoh:
Prediksi emisi CO2 dari mobil 1,3 liter yang memiliki berat 2.300 kilogram

import pandas
from sklearn import linear_model
from sklearn.preprocessing import StandardScaler
scale = StandardScaler()

df = pandas.read_csv("cars2.csv")

X = df[['Weight', 'Volume']]
y = df['CO2']

scaledX = scale.fit_transform(X)

regr = linear_model.LinearRegression()
regr.fit(scaledX, y)

scaled = scale.transform([[2300, 1.3]])

predictedCO2 = regr.predict([scaled[0]])
print(predictedCO2)

StandardScaler untuk apa?

StandardScaler adalah class dari sklearn untuk melakukan normalisasi data agar data yang digunakan tidak memiliki penyimpangan yang besar. Satu hal penting dalam Data Analysis adalah membuat DataFrame dari dataset. Lalu menampilkan 5 data teratas untuk memastikan data seperti apa yang akan di analisis.

MinMaxScaler untuk apa?

Orang-orang juga biasa menggunakan MinMaxScaler yang berfungsi untuk mengubah data berada di rentang 0 sampai 1. Agar lebih mudah mengilustrasikan kesalahan ini, saya akan menggunakan MinMaxScaler.