Předzpracování dat v Pythonu zahrnuje čištění, normalizaci a přípravu textových dat pro strojové učení nebo další analýzy. Zde je návod, jak naprogramovat předzpracování dat v Pythonu:
Importujte potřebné knihovny
Pro předzpracování textu můžete použít knihovny jako re
(regulární výrazy) a nltk
(Natural Language Toolkit). Nainstalujte knihovnu nltk
pomocí pip, pokud ji ještě nemáte:
pip install nltk
Poté importujte knihovny do svého Python skriptu:
import re
import nltk
Stáhněte potřebné zdroje pro nltk
nltk.download("punkt")
nltk.download("stopwords")
nltk.download("wordnet")
Definujte funkce pro předzpracování
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from nltk.stem import WordNetLemmatizer
def remove_punctuation(text):
return re.sub(r'[^\w\s]', '', text)
def to_lowercase(text):
return text.lower()
def remove_stopwords(text):
stop_words = set(stopwords.words("english"))
word_tokens = word_tokenize(text)
filtered_text = [word for word in word_tokens if word not in stop_words]
return " ".join(filtered_text)
def lemmatize(text):
lemmatizer = WordNetLemmatizer()
word_tokens = word_tokenize(text)
lemmatized_words = [lemmatizer.lemmatize(word) for word in word_tokens]
return " ".join(lemmatized_words)
Aplikujte funkce pro předzpracování na text:
raw_text = "Here is some example text with Punctuation, Capitalization, and stopwords!"
# Odstraňte interpunkci
text_no_punctuation = remove_punctuation(raw_text)
print(text_no_punctuation)
# Převeďte text na malá písmena
text_lowercase = to_lowercase(text_no_punctuation)
print(text_lowercase)
# Odstraňte stopwords
text_no_stopwords = remove_stopwords(text_lowercase)
print(text_no_stopwords)
# Lemmatizujte text
text_lemmatized = lemmatize(text_no_stopwords)
print(text_lemmatized)
Tento kód odstraní interpunkci, převede text na malá písmena, odstraní stopwords a lemmatizuje slova. Můžete si přizpůsobit tyto funkce podle svých potřeb a požadavků na předzpracování.
Aplikujte předzpracování na celý dataset
Pokud máte dataset ve formě seznamu nebo jiné datové struktury, můžete použít smyčku nebo vektorizované operace (např. s pandas) pro předzpracování celého datasetu.
Práce s datasetem pomocí pandas
Pokud pracujete s tabulkovými daty, můžete použít knihovnu pandas
pro snadné předzpracování. Nejprve nainstalujte knihovnu pandas
pomocí pip, pokud ji ještě nemáte:
pip install pandas
Poté importujte knihovnu do svého Python skriptu:
import pandas as pd
Načtěte dataset pomocí pandas
data = {
"text": [
"Here is some example text with Punctuation, Capitalization, and stopwords!",
"Another example sentence to demonstrate text preprocessing.",
]
}
df = pd.DataFrame(data)
Aplikujte předzpracování na dataset
df["cleaned_text"] = df["text"].apply(remove_punctuation)
df["cleaned_text"] = df["cleaned_text"].apply(to_lowercase)
df["cleaned_text"] = df["cleaned_text"].apply(remove_stopwords)
df["cleaned_text"] = df["cleaned_text"].apply(lemmatize)
Zkontrolujte výsledky
print(df[["text", "cleaned_text"]])
Výše uvedený kód načte dataset, aplikuje předzpracování na textové sloupce a vytvoří nový sloupec s předzpracovaným textem. Můžete si přizpůsobit tyto kroky podle svých potřeb a požadavků na předzpracování.
Uložte předzpracovaný dataset
Po předzpracování textu můžete uložit výsledný dataset do souboru, například ve formátu CSV:
df.to_csv("cleaned_data.csv", index=False)
Tímto způsobem můžete naprogramovat předzpracování dat v Pythonu. Upozorňujeme, že pro různé úkoly a jazyky můžete potřebovat různé metody a nástroje pro předzpracování. Přizpůsobte tento návod svým konkrétním potřebám a požadavkům na předzpracování dat.