Bir veriseti oluşturma adımlarının veri kazıma aşamasından sonraki bütün adımlarının kolay, hızlı ve ulaşılabilir şekilde yapılması için tasarlanmış bir otomasyondur. Ekip üyelerinin verisetini oluşturmak için herhangi bir zamanda herhangi bir yerden işbirliği yapabilmelerini sağlamaktadır. Aynı zamanda etiketlenen verilerin istatistiklerini içermektedir. Bu sayede hangi sınıftan ne kadar etiketli veriye sahip olunduğu ve kaç adet verinin veri setine dahil edilip kaçının dahil edilmeyeceği gibi bilgilerin veri etiketleme adımındayken monitörize edilmesi sağlanmıştır. Etiketlemenin sonunda etiketli verilerin incelenebilmesi ve veri setinin excel formatında çıktısının alınması gibi özellikleri de bulunmaktadır. Bu özellikleri sayesinde etiketli bir veri seti oluşturulması için gerekli bütün adımlar tek bir otomasyon ile yapılabilir hale gelmiştir. Heroku bulut tabanlı platform servisi kullanılarak ücretsiz bir şekilde verileri paylaşma ve etiketli verilerin database e aktarılıp veri setinin oluşturulması sağlanmıştır.
Araç kullanımlarını anlatan video için buraya tıklayınız.
Lütfen Python sürümünüzü '3.10' olarak ayarlayın.
Python versiyonunuzdan emin olmak için:
python3 --version
- Virtual environment oluşturunuz.
$ python -m venv <venv-name>
- Virtual environmentınızı aktive ediniz.
$ source <venv-name>/bin/activate
- Kütüphaneleri Yükleyiniz.
$ pip install -r requirements.txt
Etiketlemesini yapmak istediğiniz verileri static/datas altına taşıyınız.
$ mv data.csv static/datas
Etiketlenecek olan metadata ve etiketlenen verinin oluşturulması için kurgulanmış database modellerinin bir veritabanı motorunda tutulması gerekmektedir.
Bu veritabanı motoru app.py ve ctor.py içinde ayarlanmalıdır.
SQLite için;
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///' + os.path.join(basedir, 'database.db')
Postgresql için;
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://root:password@localhost/database'
SQLite için;
engine = create_engine('sqlite:///' + os.path.join(basedir, 'database.db'), echo=True)
Postgresql için;
create_engine('postgresql://root:password@localhost/database', echo=True)
Constructor File(ctor.py) çalıştırılması ile eklenen data.csv Scraped tablosuna kaydedilmektedir. Uygulama üzerinden etiketlenen her veri için Tagging tablosuna kayıt atılmaktadır. Bu sayede aralarında ilişki kurulmakta ve etiketli veriler etiketli veriseti haline getirilmektedir.
constructor file çalıştırılarak data.csv içindeki verilerin veritabanına kaydedilmesi sağlanmıştır.
$ python3 ctor.py
Uygulamanın çalışması için gerekli adımlar tamamlanmıştır.
$ python3 wsgi.py
App 8000 portunda çalışmaktadır.