Fabrolly

Progetti

Data & Text Mining

Predicting Used Cars Prices

Used car sales accounts of about 33% of all the car sales in Europe and the used-car market share is expected to rise inthe next years by 7% in terms of value for each year [Tech-navio 2017]. Buying and selling new cars is easier thandealing with used ones: manufacturers provide pricingsheets to the final customer that tell how much a certaincar with a certain configuration will cost.

Dealing with the used market instead, it is much morecomplex: an inexperienced driver, looking to purchase itsfirst vehicle, might find very difficult to tell if the price hehas to pay for an used car is too high or right for the statusof the car. At the same time, someone looking to sell anused car might be interested in knowing how much it canbe sold for, without spending days in researching otherlistings for the same model and conditions. In the used-car market, kilometers, age, general conditionof the car, but also the maker and the model of the car, areall things to keep in mind when trying to estimate howmuch a car is worth. It is clear how anautomated tool topredict the value of a carstarting from some of its details,could be very useful for the car market as a whole. The aim of this work is to build such a tool using machine-learning techniques, mainly implementingregression mod-els for the priceof a certain car.

First of all, different models that can be applied directlyto the car characteristics to predict the price are compared,then it is shown an ensemble-like model that predicts theprice by first trying to categorize the car in a general price-range direction (cheap, medium, expensive) and later usinga specific machine learning model for the predicted price-range. To train and validate the various models adataset con-sisting of around 370,000 uses-submitted listingsto EbayGermany is used. The dataset contains a lot of dirty, miss-ing and malformed data, consisting of typos, fake listingsand wrong user-submitted data in some attributes of thecar details. The proposed problem is not an easy task to complete, firstly because second-hand prices still depends a lot on theseller feelings and estimations on what its car is worth (onemight even put a price without comparing it to the otherprices on the market) and secondly because the dataset inuse for this problem, even after a preprocessing phase, stillcontains malformed data that could alter the predictions.

Advanced Machine Learning

Classificazione di immagini di 102 specie di fiori

L’obiettivo del progetto é la realizzazione di una rete neurale convoluzionale per la classificazione di 102 specie di fiori. A differenza di altri task di classificazione sulle immagini, che si limitano a distinguere categorie diverse di oggetti, un task come quella dello classificazione delle specie di fiori si prefissa di distinguere classi specifiche all’interno di una singola categoria di oggetti. Nel caso in questione le classi da identificare sono caratterizzate da un’elevata similarità extra-classe, ad esempio due fiori che hanno petali e colore simile potrebbero appartenere a specie diverse; possiamo trovare differenze rilevanti anche in intra-classe, ad esempio due fiori della stessa specie, a seconda dell’ambiente in cui sono cresciuti o delle condizioni atmosferiche di quando la foto ´e stata scattata, potrebbero avere manifestazion diverse.

Per raggiungere l’obbiettivo prefissato, diversi modelli vengono proposti, addestrati ed ottimizzati con tecniche di Automated Machine Learning al fine di individuare gli iperparametri e la struttura delle reti ottimali. I modelli vengono poi confrontati per individuare il migliore, sia in termine di accuracy che di top-5-accuracy. In particolare vengono confrontati un modello ideato da zero, un modello basato su un autoencoder convoluzionale, un modello che usa la rete VGG16 come feature extractor ed un modello basato sul fine tuning sempre della rete VGG16.

Telegram bot - Tesi Laurea

TrainOllyBot

TrenoBot è un Bot per Telegram che serve a controllare in tempo reale lo stato di un treno.

E’ possibile inoltre programmare avvisi per un determinato treno ed essere avvisato su eventuali ritardi, cancellazioni o variazioni semplicemente con un messaggio da parte del bot.

Il bot, dopo pochissimo giorni dal “lancio”, ha riscosso un notevole successo ricevendo anche la disponibilità degli utilizzatori a inviare donazioni per supportare l’ampliamento e il mantenimento del Bot.

All’inizio il bot risiedeva su un Raspberry-Pi tenuto in casa ma la grande quantità di utenti ha reso necessario un passaggio ad un server più performante. Attualmente il bot gira su un server Amazon (AWS EC2).

Il bot aggiorna i dati in real time da un database trenitalia (comprende trenord e altre società private) che conta oltre 15.000 treni al giorno e invia all’utente messaggi di aggiornamento spot (tramite richiesta) o messaggi automatici prima edurante la corsa di un treno programmato. Il bot avvisa anche di variazioni di percorso, cancellazioni, ritardi, scioperi,statistiche e altre informazioni utili.

Fabrizio Olivadese: Progettista sviluppatore ideatore
Linguaggi: Python, JSON e HTML per il parsing di alcune informazioni da pagine web

Github:
https://github.com/Fabrolly/TrenoBot

Tesi di Laurea:
https://goo.gl/dbe7p6

Aggiungi subito anche tu gratuitamente TrenoBot al tuo telegram: 

https://telegram.me/TrainOllyBot

Software per la gestione ingressi in un club / discoteche / concerti

ClubList

Dopo anni di esperienza nell’ambito delle discoteche, club e sale da concerto in qualità di co-organizzatore e direttore d’immagine, comunicazione e marketing ho sviluppato un software di gestione ingressi.

Il software consente al cliente di iscriversi “in lista” ad un evento direttamente tramite il sito web del locale. L’iscrizione in lista prevede generalmente dei vantaggi per il cliente, a discrezione del locale (es. saltafila, gadget, shot omaggio..). il cliente riceve via email il QR code con la conferma di iscrizione in lista.

Il gestore del locale ha quindi accesso, in tempo reale, alle persone iscritte in lista su cui basare le previsioni della serata.

All’ingresso del locale, tramite uno scanner di QR code tramite webapp dedicata per smartphone, gli addetti possono eseguire la scansione delle email dei clienti in pochi secondi e verificare che essi possono effettivamente entrare “in lista” e avere quindi diritto ai vantaggi previsti.

Il gestore del locale ha accesso in tempo reale ai dati di ingresso.

A fine evento il gestore del locale ha a disposizione tutti i dati dei clienti a cui può, eventualmente, mandare email promozionali o regalare ingressi / drink / bottiglie via email in tempo reale o per eventi futuri.
Questa operazione è possibile sia verso utenti specifici che randomicamente a qualche utente per dar modo di promuovere eventi futuri e fidelizzare i clienti.

es. #1 Decido di inviare uno shot omaggio randomicamente a 300 clienti della lista, costruita tramite gli eventi precedenti: essi avranno un “pretesto” in più per venire al locale in quella serata, al solo costo di offrire uno shot all’ingresso, quando presenteranno il QR code che verrà scannerizzato.

es. #2 vedo che un cliente non entra da tempo nel mio locale: decido di inviargli un ingresso omaggio per una certa serata.

es. #3 invento dei giochi durante la serata, creando una forte interazione cliente/locale: i clienti ricevono sul proprio smartphone un drink omaggio in diretta, e possono consumarlo ai bar del locale.

Realizzato grazie al prezioso aiuto di Cristian Baldi.

Testato e realizzato in collaborazione con:

  • Club Modà, Erba (CO)
  • Papaya Idroscalo Milano (MI)
  • Chupame (format nazionale itinerante, presso Hollywood rythmoteque (MI) )

Il sistema è stato usato con successo durante diversi eventi con diverse migliaia di persone.

Data Analytics Project

Analisi MMORPG Travian

Ogni essere umano si rapporta ad un altro seguendo una o più tipologie di relazioni, le quali possono anche evolvere e cambiare nel tempo. Un essere umano appartiene anche a un determinato gruppo sociale, sia questo una squadra, una compagnia, un gruppo di colleghi.

Le relazioni all’interno di ogni gruppo sociale (identificabile come community) sono tendenzialmente positive (comunicazione e scambio). Lo studio e l’analisi della rete di relazione di un gioco MMORPG (Massive Multiplayer Online Role-Playing Game) può essere un utile punto di partenza per capire e comprendere in che modo le relazioni tra players (essere umani) si strutturano ed evolvono.

I gruppi sociali, in questo contesto, sono rappresentati dalle alleanze tra giocatori; lo studio di come un player si muove a livello di relazione intra ed extra comunitarie può risultare un utile parametro di studio. Guidati da questa logica, ci siamo mossi in uno studio della rete in nostro possesso al fine di studiare il rapporto tra i player e lo stato del server durante il periodo temporale di interesse.

  • Caselli Alex
  • Olivadese Fabrizio
  • Villa Giacomo

 

Github:
https://github.com/Villone96/Data-Analytics-Project

Windows Game in C

TRX

TRX è un gioco arcade per windows realizzato come progetto estivo nel 2013 (aka 3a superiore) ed è stato programmato in meno di 20 giorni.
Lo scopo era realizzare un software con C in ambito grafico.

Il gioco, in 2D, consiste nel evitare degli asteroidi con una navicella comandata tramite i comandi “wasd”. Più scorre il tempo più la frequenza degli asteroidi aumenta si accumulano punti . Durante il gioco compaiono dei bonus che forniscono aiuti di diverso genere.
All’utente viene richiesto l’inserimento di un nome poiché, a round terminato, il punteggio viene inviato ad un database SQL online che permette di visualizzare la classifica globale dei punteggi.
Il dominio che conteneva la classifica è attualmente offline ma è nei miei progetti rimettere in piedi il sistema sul server di fabriziolivadese.com . Il software è comunque disponibile in modalità offline

C (gioco) e php/MySQL (lato server)

Android Game

Triangula


Triangula è un gioco che mette alla prova i tuoi riflessi!


Gira il triangolo facendo in modo che le palline tocchino solo il colore giusto, ma fai attenzione alla pallina bianca, potrebbe scombussolare i tuoi piani! Mettiti alla prova e batti il tuo record e quello dei tuoi amici tramite il supporto a Google Play Games!

Sembra facile all’inizio, ma per quanto riuscirai ad andare avanti?

Triangula è stato sviluppato con il software unity e testato su LG G3, Samsung galaxy nexus, Lg Nexus 5, Asus Nexus 7 e Samsung Galaxy tab 10.1 .

Triangula Facebook Page

Loris Giulivi: Progettista sviluppatore
Fabrizio Olivadese: Progettista publisher 
Pietro Corti: Grafico tester