Междисциплинарная область науки о данных может извлекать глубокие идеи и знания из структурированных и неструктурированных данных. Он объединяет концепции статистики, анализа данных и машинного обучения, а также другие связанные концепции для понимания и анализа реальных явлений с данными. Машинное обучение (ML) позволяет компьютерам учиться и интерпретировать без явного программирования. Методы машинного обучения широко используются в финансах, здравоохранении, материаловедении, транспорте, нефтегазовой отрасли и т. Д.

В этом исследовании мы проводим анализ набора данных Airbnb из района Берлина [1] и прогнозируем цены Airbnb с помощью регрессионного анализа. Мы использовали модель регрессии случайного леса [2], доступную в библиотеке scikit-learn [3] платформы анализа данных с открытым исходным кодом на основе Python, и графики были созданы с помощью Matplotlib.

Форма набора данных Airbnb - (22552, 96). Многие из 96 функций не являются числовыми, и многие функции имеют пропущенные значения. Некоторые из нечисловых функций были преобразованы в числовые с помощью Label Encoder. Пропущенные значения были заполнены методом прямого заполнения, а определенные функции были очищены от символов «$», «» и т. Д. С использованием метода полосы. Кроме того, мы создали новую функцию «расстояние» Airbnb от центра Берлина с использованием долготы и широты Airbnb. Затем эта новая функция была добавлена ​​к исходному набору данных. После завершения обработки данных мы использовали «выбор функций», доступный в scikit-learn, чтобы выбрать важные функции. Мы вычисляем χ2 между каждой функцией и целью и выбираем желаемое количество функций с лучшими показателями χ2. 25 лучших функций и оценка χ2 приведены в таблице 1 ниже.

Table 1. Best 25 features of the dataset and their corresponding χ2 scores.
   Features                     χ2 scores
maximum_nights                 2.152729e+10
minimum_nights                 8.856912e+05
security_deposit               7.716334e+05
number_of_reviews              8.341015e+04
square_feet                    2.982368e+04
property_type                  2.222414e+04
calculated_host_listings_count 1.072021e+04
neighbourhood_cleansed         1.071895e+04
accommodates                   7.771539e+03
room_type                      4.234147e+03
neighbourhood                  3.254091e+03
guests_included                3.061216e+03
bedrooms                       2.380380e+03
cancellation_policy            1.444670e+03
distance                       9.580979e+02
host_is_superhost              6.349556e+02
neighbourhood_group_cleansed   5.957898e+02
instant_bookable               3.502228e+02
bathrooms                      3.290317e+02
review_scores_rating           2.151681e+02
is_location_exact              9.053878e+01
review_scores_cleanliness      5.194306e+01
review_scores_accuracy         2.410470e+01
bed_type                       7.055763e+00
longitude                      1.016177e-01

Затем были отобраны только пять лучших характеристик. Это подмножество было разделено на данные для обучения и тестирования. «Цена» была установлена ​​в качестве целевой функции. Подмножество обучающих данных использовалось для подбора случайного леса, в то время как тестовое подмножество использовалось для прогноза. Это было повторено с использованием различных подмножеств, в которые были включены десять, пятнадцать, двадцать и двадцать пять основных характеристик. Для каждого случая мы рассчитали значение, которое определяется как

adjusted R^2 = 1-R^2(N-1)/(N-M-1)

где N - количество точек в наборе данных, а M - количество независимых функций, в то время как это мера качества соответствия. увеличивается с количеством функций модели. Поскольку всегда увеличивается и никогда не уменьшается, может показаться, что он лучше соответствует большему количеству членов, добавленных к модели. При регрессионном анализе может возникнуть соблазн добавить к данным больше переменных, которые могут ввести в заблуждение. Некоторые из этих переменных могут иметь значение, но нельзя быть уверенным в том, что это значение случайно. Компенсируют это штрафом за эти дополнительные переменные. Соответствующий график показан на рисунке 1.

Рис. 1. График количества функций и соответствующего скорректированного R²

Вывод:

Исследовательский анализ данных (EDA) с помощью графиков определенно полезен и важен. Однако для больших наборов данных становится чрезвычайно сложно применить EDA, поскольку существует большое количество графиков для анализа. Таким образом, выбор функций с помощью метода SelectKBest из scikit learn предоставляет четко определенный способ выбора функций, как показано здесь.