38 lines
1.5 KiB
Python
38 lines
1.5 KiB
Python
from sklearn.linear_model import LinearRegression, Perceptron, Ridge
|
|
from sklearn.preprocessing import PolynomialFeatures
|
|
from sklearn.model_selection import cross_val_score
|
|
from sklearn.pipeline import Pipeline
|
|
|
|
|
|
def launch_linear_regression(x_train, x_test, y_train, y_test):
|
|
my_linear_model = LinearRegression()
|
|
my_linear_model.fit(x_train, y_train)
|
|
linear_model_score = my_linear_model.score(
|
|
x_test, y_test)
|
|
print('linear_model_score: ', linear_model_score)
|
|
return my_linear_model, linear_model_score
|
|
|
|
|
|
# Perceptron
|
|
def launch_perceptron(x_train, x_test, y_train, y_test):
|
|
my_perceptron_model = Perceptron()
|
|
my_perceptron_model.fit(x_train, y_train)
|
|
perceptron_model_score = my_perceptron_model.score(
|
|
x_test, y_test)
|
|
print('perceptron_model_score: ', perceptron_model_score)
|
|
return my_perceptron_model, perceptron_model_score
|
|
|
|
|
|
# RidgePolyRegression
|
|
def launch_ridge_poly_regression(x_train, x_test, y_train, y_test):
|
|
my_polynomial_model = PolynomialFeatures(degree=3, include_bias=False)
|
|
ridge = Ridge(alpha=1)
|
|
pipeline = Pipeline(
|
|
[("polynomial_features", my_polynomial_model), ("ridge_regression", ridge)])
|
|
pipeline.fit(x_train, y_train)
|
|
scores = cross_val_score(pipeline, x_test, y_test,
|
|
scoring="neg_mean_squared_error", cv=5)
|
|
polynomial_model_score = -scores.mean()
|
|
print('mean polynomial_model_score: ', polynomial_model_score)
|
|
return my_polynomial_model, polynomial_model_score
|