Six Triple Eight의 감동적인 이야기에서 그들의 임무의 첫 번째 단계는 배달되지 않은 메일의 압도적인 밀린 로그를 평가하고 정리하는 것이었습니다. 천장까지 치솟은 이 더미들은 어떤 진전이 있기 전에 분류되고 이해되어야 했습니다. 현대 기계 학습의 세계에서 이 초기 단계는 탐색적 데이터 분석(EDA)
과 유사합니다.이 시리즈에서는 각 행에 카테고리(예: '기술', '비즈니스') 및 이와 관련된 텍스트가 포함된 CSV 데이터 세트를 사용하여 이 프로세스를 복제합니다. 범주는 각 텍스트가 속하는 위치를 나타내는 레이블 역할을 합니다. 데이터 조작을 위한 Pandas, 시각화를 위한 Matplotlib, 텍스트 통찰력을 위한 WordCloud, 토큰 분석을 위한 Tiktoken, 텍스트 처리를 위한 NLTK와 같은 도구는 데이터세트를 이해하는 데 도움이 됩니다.
이 단계에서는 다음을 수행합니다.
데이터를 로드하고 구조를 검사합니다.
모델 성능을 방해할 수 있는 누락되거나 일관되지 않은 값을 식별합니다.
카테고리 분포를 탐색하여 라벨 간의 균형을 이해하세요.
텍스트 데이터 내 단어 빈도를 시각화하여 패턴을 찾아보세요.
Tiktoken을 사용하여 토큰 수를 분석하여 복잡성을 측정합니다.
이 EDA 단계는 질서를 가져오기 전에 혼란을 이해해야 했던 Six Triple Eight의 세심한 분류 노력을 반영합니다. 데이터 세트를 자세히 이해함으로써 텍스트를 정확하게 분류하고 해석할 수 있는 미세 조정된 LLM을 구축하기 위한 기반을 마련합니다.
탐색적 데이터 분석(EDA)은 아직 활용되지 않은 잠재력으로 가득 차 있고 체계화되지 않은 채 쌓여 있는 엄청난 양의 데이터 백로그를 처리하는 것과 유사합니다. Six Triple Eight 장치가 제2차 세계 대전 중에 배달되지 않은 메일의 압도적인 밀린 작업을 처리한 것처럼 EDA는 통찰력을 찾고 추세를 식별하며 데이터 분석의 다음 단계를 준비하기 위해 혼란을 샅샅이 뒤지는 방법입니다.
이번 탐색에서는 BBC 뉴스 기사 데이터세트를 자세히 살펴보고 그 구조를 풀고 불일치를 해결하며 데이터에 묻혀 있는 이야기를 밝혀낼 것입니다."
시작하려면 먼저 데이터 세트의 규모와 구조를 이해해야 합니다. BBC 뉴스 기사 데이터세트는 비즈니스, 스포츠, 정치, 기술, 엔터테인먼트 등 5개 카테고리에 걸쳐 분포된 2,234개의 항목으로 구성됩니다. 각 항목에는 두 가지 주요 기능이 있습니다:
우리가 작업 중인 내용을 보다 명확하게 파악하기 위해 데이터를 Pandas DataFrame에 로드하고 빠른 검사를 수행한 결과 다음을 발견했습니다.
Six Triple Eight가 분류되지 않은 메일 더미를 처리했듯 우리도 데이터 세트를 정리해야 합니다. 청소 과정에는 몇 가지 주요 단계가 포함됩니다.
중복 제거
중복된 기사로 인해 데이터 세트가 복잡해졌습니다. 이러한 중복을 식별하고 제거한 후.
누락값 처리
데이터 세트는 비교적 깨끗했지만 잠재적인 null 값이 모두 처리되어 최종 데이터에 빈 항목이 남지 않도록 했습니다."
잔고가 정리되면서 카테고리별 기사 분포를 분석하여 지배적인 주제를 파악했습니다. 우리가 찾은 내용은 다음과 같습니다.
상위 카테고리: 비즈니스와 스포츠가 공동으로 가장 높은 점유율을 기록했으며 각 카테고리에는 512개의 기사가 포함되어 있습니다.
더 작은 카테고리: 엔터테인먼트, 정치, 기술에 관한 기사는 적었지만 독특한 통찰력을 제공했습니다.
분포를 통해 데이터세트가 균형을 이루고 있음이 확인되어 심각한 카테고리 불균형에 대한 걱정 없이 심층 분석에 집중할 수 있었습니다."
확대: 현미경으로 보는 스포츠 기사
메일을 목적지별로 정렬하는 것과 마찬가지로 더 심층적인 분석을 위해 스포츠 카테고리에 집중하기로 결정했습니다. 텍스트 내용을 분석하여 의미 있는 패턴을 추출하는 것이 목표였습니다."
토큰화 및 불용어 제거
NLTK 라이브러리를 사용하여 텍스트를 개별 단어로 토큰화하고 일반적인 불용어(예: 'and', 'the', 'is')를 제거했습니다. 이를 통해 카테고리에서 더 중요한 단어에 집중할 수 있었습니다."
단어빈도분석
스포츠 기사에서 가장 많이 사용되는 용어를 식별하기 위해 빈도 분포가 만들어졌습니다. 당연히 콘텐츠의 경쟁적 성격을 반영하여 '경기', '팀', '게임'과 같은 단어가 지배적이었습니다."
결과 시각화: 워드 클라우드
스포츠 기사의 본질을 포착하기 위해 워드 클라우드를 생성했습니다. 가장 자주 사용되는 용어는 더 크게 표시되어 해당 카테고리의 핵심 주제를 생생하게 보여줍니다."
주요 시사점
Six Triple Eight가 메일 백로그를 꼼꼼하게 분류하고 전달한 것처럼, EDA 프로세스는 BBC 뉴스 데이터세트에 대한 체계적이고 통찰력 있는 관점을 공개했습니다.
코드
!pip install tiktoken !pip install matplotlib !pip install wordcloud !pip install nltk !pip install pandas import pandas as pd df = pd.read_csv('/content/bbc.csv', on_bad_lines='skip') df.head() df.info() df.describe() label_count = df['category'].value_counts() len(df['text']) df.drop_duplicates(inplace=True) null_values = df.isnull().sum() df.dropna(inplace=True) import nltk from nltk.corpus import stopwords from nltk.tokenize import word_tokenize from wordcloud import WordCloud from collections import Counter import matplotlib.pyplot as plt nltk.download('punkt') nltk.download('stopwords') nltk.download('punkt_tab') target_label ="sport" target_df = df[df['category'] == target_label] target_word = [ word.lower() for text in target_df['text'] for word in word_tokenize(text) if word.isalnum() and word not in stopwords.words('english') ] target_word_count = Counter(target_word) word_cloud = WordCloud().generate_from_frequencies(target_word_count) plt.figure(figsize=(10, 5)) plt.imshow(word_cloud, interpolation='bilinear') plt.axis('off') plt.show()
위 내용은 탐색적 데이터 분석: 백로그 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!