|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "661dad02c3ac239644d34c1eb51e76f8",
|
|
|
"translation_date": "2025-09-06T21:37:20+00:00",
|
|
|
"source_file": "4-Data-Science-Lifecycle/15-analyzing/README.md",
|
|
|
"language_code": "bg"
|
|
|
}
|
|
|
-->
|
|
|
# Жизнен цикъл на науката за данни: Анализиране
|
|
|
|
|
|
| ](../../sketchnotes/15-Analyzing.png)|
|
|
|
|:---:|
|
|
|
| Жизнен цикъл на науката за данни: Анализиране - _Скетч от [@nitya](https://twitter.com/nitya)_ |
|
|
|
|
|
|
## [Тест преди лекцията](https://ff-quizzes.netlify.app/en/ds/quiz/28)
|
|
|
|
|
|
Анализирането в жизнения цикъл на данните потвърждава, че данните могат да отговорят на зададените въпроси или да решат конкретен проблем. Тази стъпка може също така да се фокусира върху потвърждаването, че моделът правилно адресира тези въпроси и проблеми. Този урок е насочен към изследователски анализ на данни (Exploratory Data Analysis или EDA), който включва техники за определяне на характеристики и връзки в данните и може да се използва за подготовка на данните за моделиране.
|
|
|
|
|
|
Ще използваме примерен набор от данни от [Kaggle](https://www.kaggle.com/balaka18/email-spam-classification-dataset-csv/version/1), за да покажем как това може да се приложи с Python и библиотеката Pandas. Този набор от данни съдържа броя на някои често срещани думи, открити в имейли, като източниците на тези имейли са анонимни. Използвайте [тетрадката](notebook.ipynb) в тази директория, за да следвате примера.
|
|
|
|
|
|
## Изследователски анализ на данни
|
|
|
|
|
|
Фазата на събиране в жизнения цикъл е мястото, където се придобиват данните, както и проблемите и въпросите, които трябва да бъдат решени. Но как да разберем дали данните могат да подкрепят крайния резултат?
|
|
|
Припомнете си, че специалистът по данни може да зададе следните въпроси, когато придобие данните:
|
|
|
- Имам ли достатъчно данни, за да реша този проблем?
|
|
|
- Данните с достатъчно добро качество ли са за този проблем?
|
|
|
- Ако открия допълнителна информация чрез тези данни, трябва ли да обмислим промяна или преформулиране на целите?
|
|
|
Изследователският анализ на данни е процесът на опознаване на данните и може да се използва за отговор на тези въпроси, както и за идентифициране на предизвикателствата при работа с набора от данни. Нека се фокусираме върху някои от техниките, използвани за постигане на това.
|
|
|
|
|
|
## Профилиране на данни, описателна статистика и Pandas
|
|
|
Как да оценим дали имаме достатъчно данни, за да решим този проблем? Профилирането на данни може да обобщи и събере обща информация за нашия набор от данни чрез техники на описателната статистика. Профилирането на данни ни помага да разберем какво е налично за нас, а описателната статистика ни помага да разберем колко неща са налични.
|
|
|
|
|
|
В някои от предишните уроци използвахме Pandas, за да предоставим описателна статистика с функцията [`describe()`]( https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.describe.html). Тя предоставя броя, максималните и минималните стойности, средната стойност, стандартното отклонение и квантилите за числовите данни. Използването на описателна статистика като функцията `describe()` може да ви помогне да оцените колко данни имате и дали са достатъчни.
|
|
|
|
|
|
## Извадки и заявки
|
|
|
Изследването на всичко в голям набор от данни може да бъде много времеемко и задача, която обикновено се оставя на компютъра. Въпреки това, извадките са полезен инструмент за разбиране на данните и ни позволяват да придобием по-добро разбиране за това какво съдържа наборът от данни и какво представлява. С извадка можете да приложите вероятност и статистика, за да стигнете до някои общи заключения за вашите данни. Въпреки че няма определено правило за това колко данни трябва да извадите, важно е да отбележите, че колкото повече данни извадите, толкова по-прецизна ще бъде вашата обобщена представа за данните.
|
|
|
Pandas има функцията [`sample()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html), където можете да зададете аргумент за броя на случайните извадки, които искате да получите и използвате.
|
|
|
|
|
|
Общото задаване на заявки към данните може да ви помогне да отговорите на някои общи въпроси и теории, които може да имате. За разлика от извадките, заявките ви позволяват да имате контрол и да се фокусирате върху конкретни части от данните, за които имате въпроси.
|
|
|
Функцията [`query()`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.query.html) в библиотеката Pandas ви позволява да избирате колони и да получавате прости отговори за данните чрез извлечените редове.
|
|
|
|
|
|
## Изследване с визуализации
|
|
|
Не е необходимо да чакате, докато данните бъдат напълно почистени и анализирани, за да започнете да създавате визуализации. Всъщност наличието на визуално представяне по време на изследването може да помогне за идентифициране на модели, връзки и проблеми в данните. Освен това визуализациите предоставят средство за комуникация с тези, които не са ангажирани с управлението на данните, и могат да бъдат възможност за споделяне и изясняване на допълнителни въпроси, които не са били адресирани в етапа на събиране. Вижте [раздела за визуализации](../../../../../../../../../3-Data-Visualization), за да научите повече за някои популярни начини за изследване чрез визуализации.
|
|
|
|
|
|
## Изследване за идентифициране на несъответствия
|
|
|
Всички теми в този урок могат да помогнат за идентифициране на липсващи или несъответстващи стойности, но Pandas предоставя функции за проверка на някои от тях. [isna() или isnull()](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.isna.html) могат да проверят за липсващи стойности. Важен аспект на изследването за тези стойности в данните ви е да разберете защо те са се оказали такива на първо място. Това може да ви помогне да решите какви [действия да предприемете, за да ги разрешите](/2-Working-With-Data/08-data-preparation/notebook.ipynb).
|
|
|
|
|
|
## [Тест след лекцията](https://ff-quizzes.netlify.app/en/ds/quiz/29)
|
|
|
|
|
|
## Задача
|
|
|
|
|
|
[Изследване за отговори](assignment.md)
|
|
|
|
|
|
---
|
|
|
|
|
|
**Отказ от отговорност**:
|
|
|
Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматичните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия изходен език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален превод от човек. Ние не носим отговорност за каквито и да е недоразумения или погрешни интерпретации, произтичащи от използването на този превод. |