| from sklearn.linear_model import LinearRegression |
| import streamlit as st |
|
|
|
|
| def process(data): |
| if data[0] == None or data[1] == None: |
| st.info('Please Upload Data') |
| return None |
| if len(data) == 0: |
| st.info('Please Upload Data') |
| return None |
| x_train = data[0].iloc[:,:-1] |
| y_train = data[0].iloc[:,-1] |
| |
| x_test = data[1].iloc[:,:x_train.shape[1]] |
| |
| |
| |
| if len(x_train.columns) != len(x_test.columns): |
| st.info('Training and testing datasets have different column number, cannot perform classification.') |
| return None |
| if 'object' in list(data[0].dtypes) or 'object' in list(data[1].dtypes): |
| st.info('Please Upload Numerica Data.') |
| return None |
|
|
| reg = LinearRegression().fit(x_train, y_train) |
|
|
|
|
| cols = x_train.columns |
| |
| st.latex(f" {x_train.columns[-1]} = ") |
| coeffs = ['{:.4f}'.format(float(c)) for c in reg.coef_] |
|
|
| eq = ' + '.join([str(col) +' ร '+ (alpha) for col,alpha in zip(coeffs,cols)]) |
| st.markdown(f" $$ {reg.intercept_} {eq} $$") |
|
|
| st.latex(f" Rยฒ = {reg.score(x_train, y_train)} ") |
|
|
| pred = reg.predict(x_test) |
| x_test[data[0].columns[-1]] = pred |
| return x_test |