top of page
Risultati Ricerca Intelligenza Artificiale Italia
Tutti (546)
Post sul blog (383)
Post sul forum (6)
Prodotti (2)
Altre pagine (104)
Programmi (51)
Filtra per
Tipo
Categoria
6 risultati trovati per "apprendimento automatico"
- ML apprendimento tabella DBIn Deep Learning·18 luglio 2024Fornendo un set di dati input, a seguito dell'apprendimento della tabella, mi dovrà predire quali record0462
- ML apprendimento tabella DBIn Deep Learning18 luglio 2024Ciao Salvatore! Sono Paolo dalla redazione di IntelligenzaArtificialeItalia.net. Ho dato un'occhiata alla tua situazione e vedo che ci sono un paio di cose che potremmo migliorare insieme per far funzionare al meglio il tuo modello di deep learning. 🚀 * Checkup iniziale: Prima di tutto, facciamo un rapido controllo sulla pulizia dei dati. Assicurati che non ci siano valori mancanti o incoerenti, specialmente nelle date convertite in timestamp. Un piccolo errore qui può rovinare tutto il dataset! * Riduci l'Overfitting: Hai notato un'accuratezza perfetta troppo presto, il che grida overfitting. Potremmo semplificare il modello. Magari inizia con meno neuroni per strato, tipo 64 e 32, e vedi come va. Aggiungi anche Dropout tra gli strati per aiutare a prevenire l'overfitting: from tensorflow.keras.layers import Dropout # Aggiungendo Dropout model.add(Dropout(0.5)) # Dove 0.5 è la frazione di input da annullare * Bilancia il Dataset: Se i tuoi dati sono sbilanciati (troppe istanze di una classe rispetto all'altra), il modello potrebbe diventare prevenuto. Usa tecniche di bilanciamento come il SMOTE o prova a pesare le classi nel tuo modello. * Validazione e Metriche: Cambia la tua metrica di successo. Oltre all'accuratezza, considera di utilizzare la precisione, il recall, e l'AUC-ROC per avere un quadro più chiaro di come il modello performa su classi diverse. * Cross-Validation: Per assicurarti che il modello sia stabile e generalizzi bene, implementa una cross-validation. Questo evita che il modello si "memorizzi" i tuoi dati di training. * Debugging e Log: Dai un'occhiata ai log di training. Se il modello ha sempre le stesse metriche ad ogni epoch, potrebbe essere un segno che non sta imparando nulla di nuovo. Potrebbe essere utile anche visualizzare i dati in input al modello proprio prima del training per assicurarsi che tutto sia in ordine. * Regolarizzazione: Considera di aggiungere una regolarizzazione L1 o L2 alle tue reti per penalizzare i pesi troppo grandi e ridurre l'overfitting: python Copia codice from tensorflow.keras.regularizers import l2 # Aggiungendo la regolarizzazione L2 model.add(Dense(64, activation='relu', kernel_regularizer=l2(0.01))) Per darci dentro, ecco un esempio di come potresti strutturare il tuo modello con queste modifiche: from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout from tensorflow.keras.regularizers import l2 model = Sequential([ Dense(64, activation='relu', kernel_regularizer=l2(0.001)), Dropout(0.3), Dense(32, activation='relu', kernel_regularizer=l2(0.001)), Dropout(0.3), Dense(1, activation='sigmoid') ]) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy', 'AUC']) Questi passaggi dovrebbero aiutarti a ottenere un modello più robusto e affidabile. Comunque senza divagarci in chiacchere, ho provato ad aggiungere io per te qualche cosetta, fammi sapere se con questo codice le cose migliorano. E' il file allegato Salvatore.txt Se hai bisogno di ulteriori dettagli o vuoi discutere altri aspetti, sono qui per aiutarti! 💪21
- Previsione tempi di lavorazioneIn Deep Learning21 febbraio 2024includere la normalizzazione dei dati per ridurre la scala dei valori e rendere più semplice il processo di apprendimento esempi di iperparametri per una rete neurale includono il numero di neuroni in ogni strato, il tasso di apprendimento20
- ML apprendimento tabella DBIn Deep Learning18 luglio 2024import sqlite3 import pandas as pd from sklearn.compose import ColumnTransformer from sklearn.preprocessing import StandardScaler, OneHotEncoder from sklearn.model_selection import train_test_split from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout from tensorflow.keras.callbacks import TensorBoard from imblearn.over_sampling import SMOTE def preprocess_data(df): # Gestione dei valori mancanti df.fillna(method='ffill', inplace=True) # Conversione delle date in timestamp df['SCADENZA'] = pd.to_datetime(df['SCADENZA']).astype(int) / 10**9 df['DATA_INVIO_FILE'] = pd.to_datetime(df['DATA_INVIO_FILE']).astype(int) / 10**9 # Separazione delle features e target features = df.drop(columns=['TARGET']) target = df['TARGET'] return features, target def build_preprocessor(numerical_features, categorical_features): preprocessor = ColumnTransformer( transformers=[ ('num', StandardScaler(), numerical_features), ('cat', OneHotEncoder(), categorical_features) ]) return preprocessor def build_model(input_shape): model = Sequential([ Dense(64, activation='relu'), Dropout(0.3), Dense(32, activation='relu'), Dropout(0.3), Dense(1, activation='sigmoid') ]) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) return model def ML(mode): conn = sqlite3.connect('../MachineLearning.db') query = "SELECT * FROM Dati" # Assuming TARGET is also in this query df = pd.read_sql_query(query, conn) conn.close() numerical_features = ['PERC', 'NETTOSPLIT', 'IMPORTO1', 'IMPORTO2', 'SCADENZA', 'DATA_INVIO_FILE'] categorical_features = ['PORTAF', 'TIPO_CR', 'LAG', 'TIPO_DOC', 'TIPO_FF', 'FACTOR'] features, target = preprocess_data(df) preprocessor = build_preprocessor(numerical_features, categorical_features) X = preprocessor.fit_transform(features) y = target.values # Bilanciamento del dataset smote = SMOTE(random_state=42) X_res, y_res = smote.fit_resample(X, y) # Training e validation split X_train, X_val, y_train, y_val = train_test_split(X_res, y_res, test_size=0.2, random_state=42) if mode == 'train': model = build_model(X_train.shape[1]) log_dir = './logs' tensorboard_callback = TensorBoard(log_dir=log_dir, histogram_freq=1) model.fit(X_train, y_train, epochs=10, batch_size=32, validation_data=(X_val, y_val), callbacks=[tensorboard_callback]) model.save('data/trained_model.h5') print("Addestramento completato. Il modello è stato salvato in 'trained_model.h5'.") print(f"TensorBoard logs salvati in: {log_dir}") elif mode == 'predict': model = tf.keras.models.load_model('data/trained_model.h5') X_predict = preprocessor.transform(features) # Assuming predict_df corresponds to some portion of features predictions = model.predict(X_predict) df['PREDICTION'] = (predictions > 0.5).astype(int) df.to_csv('risultati_previsione.csv', index=False) print("Predizione completata. I risultati sono stati salvati in 'risultati_previsione.csv'.") # Usage example: ML('train') or ML('predict')10
- ML apprendimento tabella DBIn Deep Learning19 luglio 2024Ciao Paolo, in primis grazie mille per la celere risposta e il supporto. Ho usato il codice che mi hai fornito apportando delle piccole modifiche che provo a riportare di seguito df['SCADENZA'] = pd.to_datetime(df['SCADENZA'], format='%d/%m/%Y').astype("int64") / 10**9 df['TARGET'] = pd.to_datetime(df['DATA_INVIO_FILE'], format='%d/%m/%Y', errors='coerce').notna().astype(int) df['DATA_INVIO_FILE'] = pd.to_datetime(df['DATA_INVIO_FILE'], format='%d/%m/%Y', errors='coerce').astype("int64") / 10**9 def clean_numeric(df, columns): for col in columns: df.loc[:, col] = (df[col] .astype(str) .str.strip() .str.replace('.', '') .str.replace(',', '.') .str.replace('-', '') .replace('', np.nan) .astype(float)) return df .... def ML(mode): conn = sqlite3.connect('../MachineLearning.db') query = "SELECT SCADENZA,PORTAF,TIPO_CR,LAG,TIPO_DOCUMENTO,TIPO_FF,FACTOR,PERC,NETTOSPLIT,IMPORTO1,IMPORTO2,DATA_INVIO_FILE FROM Dati" # Assuming TARGET is also in this query df = pd.read_sql_query(query, conn) conn.close() numerical_features = ['PERC', 'NETTOSPLIT', 'IMPORTO1', 'IMPORTO2'] df = clean_numeric(df, numerical_features) numerical_features.extend(['SCADENZA', 'DATA_INVIO_FILE']) categorical_features = ['PORTAF', 'TIPO_CR', 'LAG', 'TIPO_DOCUMENTO', 'TIPO_FF', 'FACTOR'] .....Olltre ad aver aggiungo la scrittura dei csv per alcuni punti per vedere i dati come vengono elaborati. Allego il codice completo. Purtroppo continua ad andare Overfitting. Sto analizzando i dati elaborati, per capire: Cosa Estrae Come li "Converte" Su cosa si Addestra e cosa mi tira fuori alla fine dell'addestramento Nel mentre tu hai qualche altro consiglio da potermi fornire ?0
- ML apprendimento tabella DBIn Deep Learning19 luglio 2024Allego anche i grafici di tensorboard10
bottom of page


