text: # Importing the libraries
  import numpy as np
  import matplotlib.pyplot as plt
  import pandas as pd
  
  # Importing the dataset
  dataset = pd.read_csv('50_Startups.csv')
  X = dataset.iloc[:, :-1].values
  y = dataset.iloc[:, 4].values
  
  # Encoding categorical data
  # Encoding the Independent Variable
  from sklearn.preprocessing import LabelEncoder, OneHotEncoder
  labelencoder_X = LabelEncoder()
  X[:, 3] = labelencoder_X.fit_transform(X[:, 3])
  onehotencoder = OneHotEncoder(categorical_features = [3])
  X = onehotencoder.fit_transform(X).toarray()
  
  # Avoiding the dummy variable trap
  X= X[:,1:]
  
  
  # Splitting the dataset into the Training set and Test set
  from sklearn.cross_validation import train_test_split
  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
  
  
  # Feature Scaling
  """from sklearn.preprocessing import StandardScaler
  sc_X = StandardScaler()
  X_train = sc_X.fit_transform(X_train)
  X_test = sc_X.transform(X_test)
  sc_y = StandardScaler()
  y_train = sc_y.fit_transform(y_train)"""
  
  # Fitting multiple linear regression to training set
  from sklearn.linear_model import LinearRegression
  regressor= LinearRegression()
  regressor.fit(X_train, y_train)
  
  # Predicting the test set results
  y_pred= regressor.predict(X_test)
  
  #Building optimal model using Backward Elimination
  import statsmodels.formula.api as sm
  X =np.append(arr=np.ones((50,1)).astype(int), values=X, axis=1)
  X_opt= X[:,[0,1,2,3,4,5]]
  regressor_OLS= sm.OLS(endog=y, exog=X_opt).fit()
  # print(regressor_OLS.summary())
  
  X_opt= X[:,[0,1,3,4,5]]
  regressor_OLS= sm.OLS(endog=y, exog=X_opt).fit()
  # print(regressor_OLS.summary())
  
  X_opt= X[:,[0,3,4,5]]
  regressor_OLS= sm.OLS(endog=y, exog=X_opt).fit()
  # print(regressor_OLS.summary())
  
  X_opt= X[:,[0,3,5]]
  regressor_OLS= sm.OLS(endog=y, exog=X_opt).fit()
  print(regressor_OLS.summary())
  
  # X_opt= X[:,[0,3,4,5]]
  # regressor_OLS= sm.OLS(endog=y, exog=X_opt).fit()
  # print(regressor_OLS.summary())
  
  print("Debug Stop")
  
  