0% found this document useful (0 votes)
7 views

Linier Regresion ML

Uploaded by

sigit kurniawan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Linier Regresion ML

Uploaded by

sigit kurniawan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

1.

Buka anaconda
2. Buka Jupyter notebook
3. Buka file …. New …. notebook
4. Buka home Jupyter notebook
5. Upload datasheet.csv
6. Ketikan program berikut pada terminal kemudian Run
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

dataset = pd.read_csv('Salary_dataset.csv', usecols=["YearsExperience", "Salary"])


dataset.head()
7. Tentukan variable x dan y nya
X = dataset.iloc[:, :-1].values //kolom 1
y = dataset.iloc[:, -1].values //kolom 2

df.iloc[:, 2] memilih kolom kedua tetapi df.iloc[:, :2] atau secara eksplisit df.iloc[:, 0:2] memilih kolom
hingga (tidak termasuk) kolom kedua. Ini sama dengan irisan Python. Saat Anda menggunakan indeks
negatif, tidak ada perubahan. Kalau dibilang df.iloc[:, -1] artinya kolom terakhir, tapi df.iloc[:, :-1] artinya
sampai kolom terakhir.

8. Split data training and test


from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size =
1/3, random_state = 1)

9. Create Linier regression model


from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)

10. Test model


y_pred = regressor.predict(X_test)

y_pred

y_test

11. Plot data


plt.scatter(X_test, y_test, color = 'red')
plt.plot(X_test, y_pred, color = 'blue')
plt.title('Salary vs Experience (Test set)')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()
12. Cari nilai coefision

print(regressor.coef_)
print(regressor.intercept_)

13. Cari MAE


from sklearn.metrics import mean_absolute_error
print(f'The value of MAE is {mean_absolute_error(y_test,y_pred)}')

14. Cari MSE


from sklearn.metrics import mean_squared_error
print(f'The value of MSE is {mean_squared_error(y_test,y_pred)}')

15. Cari RMSE


print('The value of RMSE is ',np.sqrt(mean_squared_error(y_test,y_pred)))

16. R2 Score
from sklearn.metrics import r2_score
score = r2_score(y_test, y_pred)
print("The accuracy of our model is {}%".format(round(score, 2) *100))
#%%
# General dependencies
import pandas as pd # for data handling
import matplotlib.pyplot as plt # for linear plot
import seaborn as sns # for scatter plot
from sklearn.model_selection import train_test_split
import datetime
# Read sensor data
sensor = pd.read_csv("data.csv", sep = ';', index_col = 0, parse_dates =
False)
nama file, separator, dimulai index col 0 sebagai index dataframe

# Build main dataset


df = pd.DataFrame({'RefSt': sensor["RefSt"], 'Sensor_O3':
sensor["Sensor_O3"], 'Temp': sensor["Temp"], 'RelHum':
sensor["RelHum"]})

set nama header dari data untuk kolom 1 dst...

# Split main dataset and build train and test datasets


X = df[['Sensor_O3', 'Temp', 'RelHum']]
Y = df['RefSt'] //Depedent variable

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2,


random_state = 1, shuffle = False)

df_train = pd.DataFrame({'RefSt': Y_train, 'Sensor_O3':


X_train["Sensor_O3"], 'Temp': X_train["Temp"], 'RelHum':
X_train["RelHum"]})
df_test = pd.DataFrame({'RefSt': Y_test, 'Sensor_O3':
X_test["Sensor_O3"], 'Temp': X_test["Temp"], 'RelHum':
X_test["RelHum"]})
#%%

# Model
lr = LinearRegression()

# Fit
lr.fit(X_train, Y_train)
# Get MLR coefficients
print('Intercept: \n', lr.intercept_)
print('Coefficients: \n', lr.coef_)

# Predict
df_test["MLR_Pred"] = lr.intercept_ + lr.coef_[0]*df_test["Sensor_O3"] +
lr.coef_[1]*df_test["Temp"] + lr.coef_[2]*df_test["RelHum"]

# Plot linear
df_test[["RefSt", "MLR_Pred"]].plot()
plt.xticks(rotation = 20)

# Plot regression
sns.lmplot(x = 'RefSt', y = 'MLR_Pred', data = df_test, fit_reg = True,
line_kws = {'color': 'orange'})

# Loss
loss_functions(y_true = df_test["RefSt"], y_pred = df_test["MLR_Pred"])

# K-Nearest Neighbor
from sklearn.neighbors import KNeighborsRegressor

# Model
knn = KNeighborsRegressor(n_neighbors = 19)

# Fit
knn.fit(X_train, Y_train)

# Predict
df_test["KNN_Pred"] = knn.predict(X_test)
print(df_test)

# Plot linear
df_test[["RefSt", "KNN_Pred"]].plot()
plt.xticks(rotation=20)

# Plot regression
sns.lmplot(x = 'RefSt', y = 'KNN_Pred', data = df_test, fit_reg = True,
line_kws = {'color': 'orange'})
# Loss
loss_functions(y_true = df_test["RefSt"], y_pred = df_test["KNN_Pred"])
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv('LOG1.csv')
dates =list(dataset['Date'])
princes=list(dataset['Temp'])
plt.plot (dates,princes)
Olah datalogger

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib.dates as mdates
import re

df1 = pd.read_csv('LOG1.csv', sep = ',', names=['DateTime', 'Soil', 'Temperature'])


df1.head()

def correct_datetime_format(datetime_str):
if datetime_str == 'NaT':
return datetime_str
# Memperbaiki jam, menit, dan detik satu digit
datetime_str = re.sub(r'(\d{4}/\d{1,2}/\d{1,2})\s+(\d{1,2}):(\d{1,2}):(\d{1,2})',
lambda x: f"{x.group(1)}
{int(x.group(2)):02}:{int(x.group(3)):02}:{int(x.group(4)):02}",
datetime_str)
return datetime_str

df1_clean = df1.drop(0).reset_index(drop=True)
df1_clean['DateTime'] = df1_clean['DateTime'].astype(str).apply(correct_datetime_format)
df1_clean['Soil'] = pd.to_numeric(df1_clean['Soil'], errors='coerce')
df1_clean['Temperature'] = pd.to_numeric(df1_clean['Temperature'], errors='coerce')
df1_clean.head()

//df1_clean['DateTime'] = pd.to_datetime(df1_clean['DateTime'], errors='coerce')

start_time = '2024-07-27 17:49:00'


end_time = '2024-08-01 13:05:00'
filtered_data = df1_clean[(df1_clean['DateTime'] >= start_time) & (df1_clean['DateTime'] <=
end_time)]
plt.figure(figsize=(14, 7))
plt.plot(filtered_data['DateTime'], filtered_data['Soil'], label='Kelembapan', color='b')
plt.xlabel('DateTime')
plt.ylabel('Values')
plt.title('Soil over Time')
plt.legend()
plt.grid(True)
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()

You might also like