Skip to content

Commit 4a9962e

Browse files
committed
Updating regression model & import_model fixes
1 parent 6a2b7dc commit 4a9962e

File tree

10 files changed

+644
-22
lines changed

10 files changed

+644
-22
lines changed
Binary file not shown.
Binary file not shown.
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
{
22
"name": "LinearRegression",
3-
"description": "",
4-
"function": "classification",
3+
"description": "Description for the LinearRegression model.",
54
"scoreCodeType": "python",
6-
"trainTable": " ",
5+
"trainTable": "",
76
"trainCodeType": "Python",
87
"algorithm": "",
8+
"function": "Prediction",
99
"targetVariable": "Price",
10-
"targetEvent": null,
11-
"targetLevel": "BINARY",
12-
"eventProbVar": "EM_PREDICTION",
10+
"targetEvent": "",
11+
"targetLevel": "INTERVAL",
12+
"eventProbVar": "",
1313
"modeler": "sasdemo",
1414
"tool": "Python 3",
15-
"toolVersion": "3.8.3"
15+
"toolVersion": "3.8.16",
16+
"properties": []
1617
}

examples/data/USAHousingModels/LinearRegression/fileMetadata.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
{
1111
"role": "score",
12-
"name": "LinearRegressionScore.py"
12+
"name": "score_LinearRegression.py"
1313
},
1414
{
1515
"role": "scoreResource",
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
[
22
{
33
"name": "Avg_Area_Income",
4-
"length": 8,
4+
"level": "interval",
55
"type": "decimal",
6-
"level": "interval"
6+
"length": 8
77
},
88
{
99
"name": "Avg_Area_House_Age",
10-
"length": 8,
10+
"level": "interval",
1111
"type": "decimal",
12-
"level": "interval"
12+
"length": 8
1313
},
1414
{
1515
"name": "Avg_Area_Number_of_Rooms",
16-
"length": 8,
16+
"level": "interval",
1717
"type": "decimal",
18-
"level": "interval"
18+
"length": 8
1919
},
2020
{
2121
"name": "Avg_Area_Number_of_Bedrooms",
22-
"length": 8,
22+
"level": "interval",
2323
"type": "decimal",
24-
"level": "interval"
24+
"length": 8
2525
},
2626
{
2727
"name": "Area_Population",
28-
"length": 8,
28+
"level": "interval",
2929
"type": "decimal",
30-
"level": "interval"
30+
"length": 8
3131
}
3232
]
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[
22
{
33
"name": "EM_PREDICTION",
4-
"length": 8,
4+
"level": "interval",
55
"type": "decimal",
6-
"level": "interval"
6+
"length": 8
77
}
88
]
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import math
2+
import pickle
3+
import pandas as pd
4+
import numpy as np
5+
from pathlib import Path
6+
7+
import settings
8+
9+
with open(Path(settings.pickle_path) / "LinearRegression.pickle", "rb") as pickle_model:
10+
model = pickle.load(pickle_model)
11+
12+
def score(Avg_Area_Income, Avg_Area_House_Age, Avg_Area_Number_of_Rooms, Avg_Area_Number_of_Bedrooms, Area_Population):
13+
"Output: EM_PREDICTION"
14+
15+
try:
16+
global model
17+
except NameError:
18+
with open(Path(settings.pickle_path) / "LinearRegression.pickle", "rb") as pickle_model:
19+
model = pickle.load(pickle_model)
20+
21+
try:
22+
if math.isnan(Avg_Area_Income):
23+
Avg_Area_Income = 68583.10898397
24+
except TypeError:
25+
Avg_Area_Income = 68583.10898397
26+
try:
27+
if math.isnan(Avg_Area_House_Age):
28+
Avg_Area_House_Age = 5.977222035287
29+
except TypeError:
30+
Avg_Area_House_Age = 5.977222035287
31+
try:
32+
if math.isnan(Avg_Area_Number_of_Rooms):
33+
Avg_Area_Number_of_Rooms = 6.9877918509092005
34+
except TypeError:
35+
Avg_Area_Number_of_Rooms = 6.9877918509092005
36+
try:
37+
if math.isnan(Avg_Area_Number_of_Bedrooms):
38+
Avg_Area_Number_of_Bedrooms = 3.9813300000000003
39+
except TypeError:
40+
Avg_Area_Number_of_Bedrooms = 3.9813300000000003
41+
try:
42+
if math.isnan(Area_Population):
43+
Area_Population = 36163.516038540256
44+
except TypeError:
45+
Area_Population = 36163.516038540256
46+
47+
input_array = pd.DataFrame([[Avg_Area_Income, Avg_Area_House_Age, Avg_Area_Number_of_Rooms, Avg_Area_Number_of_Bedrooms, Area_Population]],
48+
columns=["Avg_Area_Income", "Avg_Area_House_Age", "Avg_Area_Number_of_Rooms", "Avg_Area_Number_of_Bedrooms", "Area_Population"],
49+
dtype=float)
50+
prediction = model.predict(input_array)
51+
52+
# Check for numpy values and convert to a CAS readable representation
53+
if isinstance(prediction, np.ndarray):
54+
prediction = prediction.tolist()[0]
55+
56+
EM_PREDICTION = prediction
57+
58+
return EM_PREDICTION

0 commit comments

Comments
 (0)