Skip to content

Instantly share code, notes, and snippets.

View andrea-dagostino's full-sized avatar

Andrea D'Agostino andrea-dagostino

View GitHub Profile
@andrea-dagostino
andrea-dagostino / model_selection.py
Last active November 19, 2021 12:22
model_selection.py
from sklearn import model_selection
from sklearn import ensemble, neighbors
import matplotlib.pyplot as plt
# define a list that will contain the models you want to test
models = []
models.append(("RandomForest", ensemble.RandomForestClassifier()))
models.append(("KNC", neighbors.KNeighborsClassifier()))
@andrea-dagostino
andrea-dagostino / clustering_1.py
Last active November 22, 2021 15:28
posts/raggruppamento-testuale-con-tf-idf
# importiamo le librerie necessarie da sklearn
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
# importiamo le altre librerie necessarie
import pandas as pd
import numpy as np
@andrea-dagostino
andrea-dagostino / clustering_ita_2.py
Last active November 22, 2021 13:53
posts/raggruppamento-testuale-con-tf-idf
import nltk
from nltk.corpus import stopwords
# nltk.download('stopwords')
stopwords.words("english")[:10] # <-- importiamo le stopword inglesi
@andrea-dagostino
andrea-dagostino / clustering_3.py
Last active November 23, 2021 12:02
posts/raggruppamento-testuale-con-tf-idf
df = pd.DataFrame(dataset.data, columns=["corpus"])
@andrea-dagostino
andrea-dagostino / clustering_ita_4.py
Last active November 22, 2021 13:35
posts/raggruppamento-testuale-con-tf-idf
def preprocess_text(text: str, remove_stopwords: bool) -> str:
"""Funzione che pulisce il testo in input andando a
- rimuovere i link
- rimuovere i caratteri speciali
- rimuovere i numeri
- rimuovere le stopword
- trasformare in minuscolo
- rimuovere spazi bianchi eccessivi
Argomenti:
text (str): testo da pulire
@andrea-dagostino
andrea-dagostino / clustering_5.py
Last active November 23, 2021 16:36
posts/raggruppamento-testuale-con-tf-idf Raw
df['cleaned'] = df['corpus'].apply(lambda x: preprocess_text(x, remove_stopwords=True))
@andrea-dagostino
andrea-dagostino / clustering_ita_6.py
Created November 22, 2021 14:29
posts/raggruppamento-testuale-con-tf-idf
# inizializziamo il vettorizzatore
vectorizer = TfidfVectorizer(sublinear_tf=True, min_df=5, max_df=0.95)
# fit_transform applica il TF-IDF ai testi puliti - salviamo la matrice di vettori in X
X = vectorizer.fit_transform(df['cleaned'])
@andrea-dagostino
andrea-dagostino / clustering_ita_7.py
Created November 22, 2021 23:57
posts/raggruppamento-testuale-con-tf-idf
from sklearn.cluster import KMeans
# inizializziamo il kmeans con 3 centroidi
kmeans = KMeans(n_clusters=3, random_state=42)
# addestriamo il modello
kmeans.fit(X)
# salviamo i gruppi di ogni punto
clusters = kmeans.labels_
@andrea-dagostino
andrea-dagostino / clustering_ita_8.py
Created November 23, 2021 11:53
posts/raggruppamento-testuale-con-tf-idf
from sklearn.decomposition import PCA
# inizializziamo la PCA con 2 componenti
pca = PCA(n_components=2, random_state=42)
# passiamo alla pca il nostro array X
pca_vecs = pca.fit_transform(X.toarray())
# salviamo le nostre due dimensioni in x0 e x1
x0 = pca_vecs[:, 0]
x1 = pca_vecs[:, 1]
@andrea-dagostino
andrea-dagostino / clustering_eng_1.py
Last active November 23, 2021 17:48
posts/raggruppamento-testuale-con-tf-idf
# import the dataset from sklearn
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
# import other required libs
import pandas as pd
import numpy as np