fork(4) download
  1. from pandas import read_csv, DataFrame
  2. from sklearn.neighbors import KNeighborsRegressor
  3. from sklearn.linear_model import LinearRegression, LogisticRegression
  4. from sklearn.svm import SVR
  5. from sklearn.ensemble import RandomForestRegressor
  6. from sklearn.metrics import r2_score
  7. from sklearn.cross_validation import train_test_split
  8.  
  9. dataset = read_csv('ENB2012_data.csv',',')
  10.  
  11. dataset = dataset.drop(['X1','X4'], axis=1)
  12.  
  13. trg = dataset[['Y1','Y2']]
  14. trn = dataset.drop(['Y1','Y2'], axis=1)
  15.  
  16. models = [LinearRegression(), # метод наименьших квадратов
  17. RandomForestRegressor(n_estimators=100, max_features='sqrt'), # случайный лес
  18. KNeighborsRegressor(n_neighbors=6), # метод ближайших соседей
  19. SVR(kernel='linear'), # метод опорных векторов с линейным ядром
  20. LogisticRegression() # логистическая регрессия
  21. ]
  22.  
  23. Xtrn, Xtest, Ytrn, Ytest = train_test_split(trn, trg, test_size=0.4)
  24.  
  25. # создаем временные структуры
  26. TestModels = DataFrame()
  27. tmp = {}
  28. # для каждой модели из списка
  29. for model in models:
  30. # получаем имя модели
  31. m = str(model)
  32. tmp['Model'] = m[:m.index('(')]
  33. # для каждого столбцам результирующего набора
  34. for i in range(Ytrn.shape[1]):
  35. # обучаем модель
  36. model.fit(Xtrn, Ytrn[:, i])
  37. # вычисляем коэффициент детерминации
  38. tmp['R2_Y%s' % str(i + 1)] = r2_score(Ytest[:, 0], model.predict(Xtest))
  39. # записываем данные и итоговый DataFrame
  40. TestModels = TestModels.append([tmp])
  41. # делаем индекс по названию модели
  42. TestModels.set_index('Model', inplace=True)
Runtime error #stdin #stdout #stderr 0.06s 126528KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "prog.py", line 1, in <module>
    from pandas import read_csv, DataFrame
ImportError: No module named pandas