Advertisement
Guest User

FORVORONINISIDIS

a guest
Mar 21st, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.58 KB | None | 0 0
  1. import pandas as pand
  2. import numpy as np
  3. from sklearn.model_selection import train_test_split
  4. from sklearn.neighbors import KNeighborsClassifier
  5. from sklearn.neighbors import KNeighborsRegressor
  6. from sklearn.metrics import confusion_matrix
  7. from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
  8. from sklearn.preprocessing import StandardScaler as SS
  9.  
  10. def infoCsv(filename):
  11. dataFrame = pand.read_csv(filename);
  12. print(dataFrame.shape);
  13. print(dataFrame.info());
  14. print(dataFrame.head()) ;
  15. print(dataFrame.describe());
  16. return dataFrame
  17.  
  18. def splitBase(dataFrame):
  19. random_seed = 14;
  20. train, test = train_test_split(dataFrame, train_size=0.5, test_size=0.5);
  21. return train, test;
  22.  
  23. def extractColumns(dfTest, dfTrain):
  24. xTrain = dfTrain;
  25. yTrain = dfTrain["Species"];
  26. del(xTrain["Id"]);
  27. del(xTrain["Species"]);
  28. xTest = dfTest;
  29. yTest = dfTest["Species"];
  30. del(xTest["Id"]);
  31. del(xTest["Species"]);
  32. return xTest, yTest, xTrain, yTrain;
  33.  
  34. def extractColumnsRegr(dfTest, dfTrain):
  35. xTrain = dfTrain;
  36. yTrain = dfTrain["mpg"];
  37. del(xTrain["name"]);
  38. del(xTrain["mpg"]);
  39. xTest = dfTest;
  40. yTest = dfTest["mpg"];
  41. del(xTest["name"]);
  42. del(xTest["mpg"]);
  43. return xTest, yTest, xTrain, yTrain;
  44.  
  45. def learnAndTrain(Xtest, Ytest, Xtrain, Ytrain):
  46. Knm = KNeighborsClassifier(3)
  47. model = Knm.fit(Xtrain, Ytrain)
  48. print("Score train : ", model.score(Xtrain, Ytrain))
  49. predictTest = model.predict(Xtest)
  50. print("Score test : ", model.score(Xtest, Ytest))
  51. print(confusion_matrix(Ytest, predictTest))
  52.  
  53. def learnAndTrainRegr(Xtest, Ytest, Xtrain, Ytrain):
  54. Knm = KNeighborsRegressor(3)
  55. model = Knm.fit(Xtrain, Ytrain)
  56. predictTest = model.predict(Xtest)
  57. print("R2 score : ", r2_score(predictTest, Ytest))
  58. print("MAE : ", mean_absolute_error(Ytest, predictTest))
  59. print("MSE : ", mean_squared_error(Ytest, predictTest))
  60.  
  61.  
  62. def main():
  63. print("Classification")
  64. print("=======================================================")
  65. dfClassif =infoCsv("iris.csv");
  66. train, test = splitBase(dfClassif);
  67. X_test, Y_test, X_train, Y_train = extractColumns(test, train);
  68. learnAndTrain(X_test, Y_test, X_train, Y_train)
  69. print("=======================================================")
  70. print("Régression")
  71. dfRegr = infoCsv("auto-mpg.data")
  72. trainRegr, testRegr = splitBase(dfRegr)
  73. X_test, Y_test, X_train, Y_train = extractColumnsRegr(testRegr, trainRegr);
  74. scaler = SS()
  75. X_test = scaler.fit_transform(X_test)
  76. X_train = scaler.fit_transform(X_train)
  77. learnAndTrainRegr(X_test, Y_test, X_train, Y_train)
  78. return 0
  79.  
  80. if __name__ == '__main__':
  81. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement