# note untuk diri sendiri X = pd.get_dummies(X, drop_first=True) will create a new DataFrame X by applying one-hot encoding to all the columns in the existing DataFrame X, and dropping the first column for each categorical variable. This is often used to avoid the "dummy variable trap" in linear regression models, where the presence of a column for each category can lead to multicollinearity.
If the performance is satisfactory, we may not need to reduce dimensionality further. However, if the performance is not satisfactory or if the training time is too long, we can consider reducing the dimensionality further.
for lr= higher c tells the model to give more weight to the training data. A lower value of C will indicate the model to give complexity more weight at the cost of fitting the data.