Advertisement
Nika57

Untitled

Mar 2nd, 2020
817
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. import pandas as pd
  2. from sklearn.model_selection import train_test_split
  3. from sklearn.linear_model import Lasso
  4. from sklearn.preprocessing import StandardScaler
  5.  
  6. # прочитаем данные с атрибутами аккаунтов компаний на Facebook и активностью на них
  7. fb = pd.read_csv('/datasets/dataset_facebook_cosmetics.csv', sep = ';')
  8.  
  9. # разделяем данные на признаки (матрица X) и целевую переменную (y)
  10. X = fb.drop('Total Interactions', axis = 1)
  11. y = fb['Total Interactions']
  12.  
  13. # разделяем модель на обучающую и валидационную выборку
  14. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
  15.  
  16. # стандартизируем данные методом StandartScaler
  17. scaler = StandardScaler()
  18. scaler.fit(X_train)
  19. X_train_st = scaler.transform(X_train)
  20. X_test_st = scaler.transform(X_test)
  21.  
  22. # зададим алгоритм для нашей модели
  23. model = Lasso()
  24.  
  25. # обучим модель
  26. model.fit(X_train_st, y_train)
  27.  
  28. # воспользуемся уже обученной моделью, чтобы сделать прогнозы
  29. predictions = model.predict(X_test_st)
  30.  
  31. # создадим датафрейм с признаками и их весами
  32. features = pd.DataFrame({'feature': X_train.columns, 'coeff': model.coef_})
  33.  
  34. features['coeff_abs'] = abs(features['coeff'])
  35.  
  36. # выведите упорядоченный по модулю коэффициентов датафрейм с признаками
  37. print(features.sort_values(by= 'coeff_abs', ascending = False))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement