|
|
@ -1,11 +1,11 @@ |
|
|
|
|
|
|
|
import dataclasses |
|
|
|
import pandas as pd |
|
|
|
import pandas as pd |
|
|
|
import pytest |
|
|
|
import pytest |
|
|
|
|
|
|
|
|
|
|
|
from dataclasses import dataclass |
|
|
|
|
|
|
|
from sklearn import linear_model |
|
|
|
from sklearn import linear_model |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@dataclass |
|
|
|
@dataclasses.dataclass |
|
|
|
class Regression: |
|
|
|
class Regression: |
|
|
|
intercept: float |
|
|
|
intercept: float |
|
|
|
coefficient: float |
|
|
|
coefficient: float |
|
|
@ -28,6 +28,9 @@ class Regression: |
|
|
|
msg = "predict() expects 1 argument, got 0" |
|
|
|
msg = "predict() expects 1 argument, got 0" |
|
|
|
raise TypeError(msg) |
|
|
|
raise TypeError(msg) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def to_dict(self): |
|
|
|
|
|
|
|
return dataclasses.asdict(self) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def linear_regression(data: pd.DataFrame, *, x: str, y: str) -> Regression: |
|
|
|
def linear_regression(data: pd.DataFrame, *, x: str, y: str) -> Regression: |
|
|
|
"""calculates a linear regression for two columns of a DataFrame""" |
|
|
|
"""calculates a linear regression for two columns of a DataFrame""" |
|
|
|