TF: TensorFlow Linear Regresion Text data

From OnnoWiki
Revision as of 10:39, 18 March 2025 by Onnowpurbo (talk | contribs) (Created page with "Untuk melakukan regresi linear pada file Excel yang memiliki kolom fitur berupa string/teks dan target Y berupa nilai floating point, serta memprediksi nilai Y untuk dataset b...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Untuk melakukan regresi linear pada file Excel yang memiliki kolom fitur berupa string/teks dan target Y berupa nilai floating point, serta memprediksi nilai Y untuk dataset baru dengan struktur serupa namun tanpa nilai Y, Anda dapat mengikuti langkah-langkah berikut di Google Colab:

1. Mengimpor Pustaka yang Diperlukan

Pastikan Anda mengimpor pustaka yang diperlukan seperti `pandas`, `numpy`, `scikit-learn`, dan `category_encoders`.

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
from sklearn.preprocessing import OneHotEncoder
import category_encoders as ce

2. Mengunggah dan Membaca File Excel

Gunakan fitur unggah file di Google Colab untuk mengunggah file Excel Anda, kemudian baca file tersebut menggunakan `pandas`.

from google.colab import files

# Unggah file pertama (dengan target Y)
uploaded = files.upload()
file_name_1 = list(uploaded.keys())[0]
df_train = pd.read_excel(file_name_1)

# Unggah file kedua (tanpa target Y)
uploaded = files.upload()
file_name_2 = list(uploaded.keys())[0]
df_test = pd.read_excel(file_name_2)

3. Memisahkan Fitur dan Target

Pisahkan kolom fitur dan kolom target dari dataset pertama.

# Misalkan kolom terakhir adalah target Y
X_train = df_train.iloc[:, :-1]
y_train = df_train.iloc[:, -1]

# Untuk dataset kedua (tanpa target Y)
X_test = df_test

4. Mengidentifikasi Kolom Kategorikal

Identifikasi kolom yang berisi data kategorikal (string/teks).

# Menentukan kolom kategorikal
categorical_cols = X_train.select_dtypes(include=['object']).columns

5. Mengonversi Variabel Kategorikal Menggunakan One-Hot Encoding

Lakukan one-hot encoding pada kolom kategorikal untuk mengubahnya menjadi format numerik yang dapat digunakan dalam regresi linear.

# One-Hot Encoding untuk data pelatihan
encoder = OneHotEncoder(drop='first', sparse=False)
X_train_encoded = pd.DataFrame(encoder.fit_transform(X_train[categorical_cols]))
X_train_encoded.columns = encoder.get_feature_names_out(categorical_cols)
X_train_encoded.index = X_train.index

# Menggabungkan kembali dengan kolom numerik
X_train_final = pd.concat([X_train.drop(columns=categorical_cols), X_train_encoded], axis=1)

# One-Hot Encoding untuk data uji
X_test_encoded = pd.DataFrame(encoder.transform(X_test[categorical_cols]))
X_test_encoded.columns = encoder.get_feature_names_out(categorical_cols)
X_test_encoded.index = X_test.index

# Menggabungkan kembali dengan kolom numerik
X_test_final = pd.concat([X_test.drop(columns=categorical_cols), X_test_encoded], axis=1)

6. Melatih Model Regresi Linear

Latih model regresi linear menggunakan data pelatihan yang telah diencoding.

# Membuat dan melatih model regresi linear
model = LinearRegression()
model.fit(X_train_final, y_train)

7. Memprediksi Nilai Y untuk Dataset Kedua

Gunakan model yang telah dilatih untuk memprediksi nilai Y pada dataset kedua.

# Memprediksi nilai Y untuk data uji
y_pred = model.predict(X_test_final)

# Menambahkan prediksi ke dataframe asli
df_test['Predicted_Y'] = y_pred

# Menampilkan hasil prediksi
print(df_test.head())

Dengan langkah-langkah di atas, Anda dapat melakukan regresi linear pada dataset dengan fitur kategorikal dan memprediksi nilai target untuk dataset baru yang memiliki struktur serupa. Pastikan untuk memeriksa dan membersihkan data Anda sebelum melakukan analisis untuk memastikan hasil yang akurat.


Pranala Menarik