Я создал разреженную матрицу, используя функцию pd.get_dummies. Матрица у меня есть 700M строк * 400 столбцов, я не думаю, что она такая большая по сравнению с множеством проблем, решаемых другими людьми. Но нарезка в поезд, вал, набор тестов может занять все время. (Я буду использовать логическую регрессию и случайный лес, чтобы сделать предсказание, которое поддерживает разреженную матрицу.) Есть ли способ эффективно разрезать sparseDataFrame или весь процесс, который я делаю, его нужно улучшить в любом случае?преобразование категориальных переменных, которые будут использоваться в sklean
Данный пример,
Это список столбцов у меня есть до трансформации категориальной переменной в фиктивные переменные:
[u'a.exch', u'a.is_mobile', u'a.os_family', u'a.os_major', u'a.ua_family', u'a.ua_major', u'a.creative_id', u'a.creative_format',u'a.banner_position', u'a.day_hour_etc', u'b.country', u'b.connspeed',u'b.home_bus']
Это число уникальных значений в каждом столбце:
a.exch 14
a.is_mobile 2
a.os_family 21
a.os_major 35
a.ua_family 49
a.ua_major 56
a.creative_id 30
a.creative_format 3
a.banner_position 6
a.day_hour_etc 4
b.country 94
b.connspeed 9
b.home_bus 3
После использования pd.get_dummies он имеет более 300 столбцов, например
a.exch_1, a.exch_2, ..., b.home_bus1, b.home_bus2
Я установил pd.get_dummies (input_df, sparse = True), потому что в противном случае он вызовет ошибку памяти. Но теперь с этим разреженным представлением все очень медленно.
Обновление: разделиться на поезд, вал и испытания, просто случайно разделить на 3 части с 6: 2: 2
вы можете предоставить простое подмножество, которое показывает: 1) как структурированы ваши данные; 2) какие критерии вы используете для определения того, какие записи являются, например, обучение против проверки; и 3) какие методы вы используете для срезания фрейма данных. –
на мой взгляд, строки 700M ** ** слишком большие для sklearn, tbh, которые я никогда не моделировал с большим набором данных, чем 100K строк – maxymoo
Поскольку я выполняю логистическую регрессию и случайный лес, какой еще пакет вы бы порекомендовали? Я подумал, что будет немного заработать 700M строк в Spark. – Vicky