-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
72 lines (48 loc) · 1.68 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.linear_model import LinearRegression
def showData(X, y, x_name, y_name):
plt.scatter(X, y, c=X)
plt.xlabel(x_name)
plt.ylabel(y_name)
plt.show()
def predictSalary(X, y, x_name):
model = LinearRegression()
model.fit(X, y)
coefficient = model.coef_
intercept = model.intercept_
print(f"Please provide the the {x_name}")
exp = float(input(f"Enter {x_name} :"))
max_salary = (coefficient * exp)[0] + intercept
max_salary = int(max_salary)
print(f"* Maximum Salary you should offer : {max_salary} *")
print("******************************************************")
print(" Welcome to the Salary Estimator ")
print("******************************************************")
print("\n")
dataset = input("Enter path to your Data Set: ")
data = pd.read_csv(dataset)
print("******************************************************")
print(data)
print("******************************************************")
print("Which field do you want to predict? ")
print(f"1.{data.columns[0]}")
print(f"2.{data.columns[1]}")
choice = int(input("Enter field no. :"))
if choice == 1:
y_name = data.columns[0]
x_name = data.columns[1]
else:
y_name = data.columns[1]
x_name = data.columns[0]
x = data[x_name]
y = data[y_name]
X = x.values.reshape(len(x), 1)
print("Do you want to see the graph of your data?")
choice_graph = input("Press Y to see Graph and N to ignore and proceed to prediction : ")
choice_graph = choice_graph.lower()
if choice_graph == "y":
showData(X, y, x_name, y_name)
predictSalary(X, y, x_name)
else:
predictSalary(X, y, x_name)