# Apply One Hot Encoder to Column[3] & Remove Dummy Variable Trap
X = pp.onehot_encoder(X, columns=[3])
X = pp.remove_columns(X, [3])
#X = pp.onehot_encoder(X, columns=[3], remove_trap=True)

# Split Training vs. Testing Set
X_train, X_test, Y_train, Y_test = pp.split_train_test(X, Y, train_size=0.8)

# Feature Scaling (optional)
#X_train, X_test = pp.feature_scaling(fit_ary=X_train, transform_arys=(X_train, X_test))
#Y_train, Y_test = pp.feature_scaling(fit_ary=Y_train, transform_arys=(Y_train, Y_test))

# In[] Create Linear Regressor
from HappyML.regression import SimpleRegressor

simple_reg = SimpleRegressor()
Y_pred_simple = simple_reg.fit(X_train, Y_train).predict(X_test)

# R-Squared always increase in multiple linear regression --> Use Adjusted R-Squared instead
print("Goodness of Model (R-Squared Score):",
      simple_reg.r_score(X_test, Y_test))

# In[] Multiple Linear Regression

## Add one column X0 for constant C0
#import statsmodels.tools.tools as smtools
#X_train = smtools.add_constant(X_train)
#
## Try-and-Error of Selecting Features with Backward Elimination
#import statsmodels.api as sm
#
Example #2
0
X, Y = pp.decomposition(dataset, [0, 1, 2, 3], [4])

# X = pp.onehot_encoder(X, columns=[3])
# X = pp.remove_columns(X, [3])

X = pp.onehot_encoder(X, columns=[3], remove_trap=True)

X_train, X_test, Y_train, Y_test = pp.split_train_test(X, Y, train_size=0.8)

X_train, X_test= pp.feature_scaling(fit_ary=X_train, transform_arys=(X_train, X_test))
Y_train, Y_test= pp.feature_scaling(fit_ary=Y_train, transform_arys=(Y_train, Y_test))

# In[]
from HappyML.regression import SimpleRegressor

simple_reg = SimpleRegressor()
Y_pred_simple = simple_reg.fit(X_train, Y_train).predict(X_test)

# R-Squared always increase in multiple linear regression --> Use Adjusted R-Squared instead
print("Goodness of Model (R-Squared Score):", simple_reg.r_score(X_test, Y_test))

# In[]
from HappyML.regression import MultipleRegressor

X_train = pp.add_constant(X_train)
X_test = pp.add_constant(X_test)

regressor = MultipleRegressor()
selected_features = regressor.backward_elimination(x_train=X_train, y_train=Y_train)

Y_predict = regressor.fit(x_train=X_train.iloc[:, selected_features], y_train=Y_train).predict(x_test=X_test.iloc[:, selected_features])
Example #3
0
X, Y = pp.decomposition(dataset, x_columns=[1], y_columns=[2])

# Training / Testing Set
X_train, X_test, Y_train, Y_test = pp.split_train_test(x_ary=X,
                                                       y_ary=Y,
                                                       train_size=0.8)

# Feature Scaling
#X = pp.feature_scaling(fit_ary=X, transform_arys=(X))
#Y = pp.feature_scaling(fit_ary=Y, transform_arys=(Y))

# In[] Linear Regression as comparison
from HappyML.regression import SimpleRegressor
import HappyML.model_drawer as md

reg_simple = SimpleRegressor()
Y_simple = reg_simple.fit(x_train=X, y_train=Y).predict(x_test=X)

md.sample_model(sample_data=(X, Y), model_data=(X, Y_simple))
print("R-Squared of Simple Regression:", reg_simple.r_score(x_test=X,
                                                            y_test=Y))

# In[] Polynomial Regression
#from sklearn.preprocessing import PolynomialFeatures
#from HappyML.performance import rmse
#import pandas as pd
#
#deg=5
#poly_reg = PolynomialFeatures(degree=deg)
#X_poly = pd.DataFrame(poly_reg.fit_transform(X))
#
Example #4
0
from HappyML import preprocessor as pp
from HappyML.regression import SimpleRegressor
import pandas as pd
from HappyML import model_drawer as md

dataset_h = pp.dataset("Student_Height.csv")
dataset_w = pp.dataset("Student_Weight.csv")

X_h, Y_h = pp.decomposition(dataset_h, [1], [3, 4])
X_w, Y_w = pp.decomposition(dataset_w, [1], [3, 4])

X_h_train, X_h_test, Y_h_train, Y_h_test = pp.split_train_test(X_h, Y_h)
X_w_train, X_w_test, Y_w_train, Y_w_test = pp.split_train_test(X_w, Y_w)

regressor = [[SimpleRegressor(), SimpleRegressor()],
             [SimpleRegressor(), SimpleRegressor()]]
regressor[0][0].fit(X_h_train, Y_h_train.iloc[:, 0].to_frame())
regressor[0][1].fit(X_h_train, Y_h_train.iloc[:, 1].to_frame())
regressor[1][0].fit(X_w_train, Y_w_train.iloc[:, 0].to_frame())
regressor[1][1].fit(X_w_train, Y_w_train.iloc[:, 1].to_frame())

print("台灣 6~15 歲學童身高、體重評估系統\n")
gender = eval(input("請輸入您的性別(1.男 2.女):")) - 1
age = eval(input("請輸入您的年齡(6-15):"))
height = eval(input("請輸入您的身高(cm):"))
weight = eval(input("請輸入您的體重(kg):"))

h_avg = regressor[0][gender].predict(x_test=pd.DataFrame([[age]])).iloc[0, 0]
w_avg = regressor[1][gender].predict(x_test=pd.DataFrame([[age]])).iloc[0, 0]
Example #5
0
                                     transform_arys=(X_train, X_test))
Y_train, Y_test = pp.feature_scaling(fit_ary=Y_train,
                                     transform_arys=(Y_train, Y_test))

# In[] Fitting Simple Regressor
# from sklearn.linear_model import LinearRegression

# regressor = LinearRegression()
# regressor.fit(X_train, Y_train)
# Y_pred = regressor.predict(X_test)

# R_Score = regressor.score(X_test, Y_test)

from HappyML.regression import SimpleRegressor

regressor = SimpleRegressor()
Y_pred = regressor.fit(X_train, Y_train).predict(X_test)
print("R-Squared Score:", regressor.r_score(X_test, Y_test))

# In[] Visualize the Training Set
#import matplotlib.pyplot as plt
#
#plt.scatter(X_train, Y_train, color="red")
#plt.plot(X_train, regressor.predict(X_train), color="blue")
#plt.title("Salary vs. Experience")
#plt.xlabel("Experience")
#plt.ylabel("Salary")
#plt.show()

from HappyML import model_drawer as md
Example #6
0
"""

# In[]
import HappyML.preprocessor as pp

dataset = pp.dataset("C:/Users/henry/Desktop/Python Training/Python機器學習/範例原始碼&「快樂版」函式庫/Ch05 Regression/Position_Salaries.csv")

X, Y = pp.decomposition(dataset, x_columns=[1], y_columns=[2])

X_train, X_test, Y_train, Y_test = pp.split_train_test(x_ary=X, y_ary=Y, train_size=0.8)

# In[]
from HappyML.regression import SimpleRegressor
import HappyML.model_drawer as md

reg_simple = SimpleRegressor()
Y_simple = reg_simple.fit(x_train=X, y_train=Y).predict(X)

md.sample_model(sample_data=(X, Y), model_data=(X, Y_simple))
print("R-Squared of Simple Regression:", reg_simple.r_score(x_test=X, y_test=Y))

# In[]
from sklearn.preprocessing import PolynomialFeatures

deg = 12
poly_reg = PolynomialFeatures(degree=deg)
X_poly = poly_reg.fit_transform(X)

# In[]
import pandas as pd
regressor = SimpleRegressor()