Discriminate between the Moldavian and the Romanian dialects across different text genres.
Pentru realizarea proiectului am folosit urmatoarele librării:
• pandas: pentru citirea fișierelor și încărcarea datelor
• sklearn: pentru importarea modelului, modelarea datelor și determinarea matricei de confuzie și scorului f1
Citirea datelor s-a realizat prin intermediul funcției pd.read_csv cu următorii parametrii:
• calea pentru fișierele txt cu datele de antrenare, validare și test
• sep: separatorul folosit între date
• header: fișierele nu conțin header
• engine: python
Valorile citite sunt introduse într-un data frame ca mai apoi să fie convertit la un vector din NumPy prin intermediul funcției .to_numpy()
Am folosit modelul SVM din biblioteca ScikitLearn pentru a face diferența dintre cuvintele ce aparțin dialectului românesc sau dialectului moldovenesc.
Parametrul C a fost setat la valoarea 23 pentru că s-a observat că la valori mai mari s-a ajuns la supraînvățare.
Parametrul kernel a fost setat la valoarea defaut (‘linear’)
Parametrul gamma a fost setat la valoarea 110.
Pentru obținerea valorilor numerice din test_samples am folosit clasa TfidfVectorizer.
Funcția normalize_data(train_data, test_data, type='l2') primește ca parametri datele de antrenare, datele de testare și respectiv tipul de normalizare inițializat implicit cu valoarea l2 care intoarce datele normalizate.
Pentru a genera predicția pentru datele de test și exportarea în format CSV am folosit DataFrame din pandas și .to_csv() cu parametrul index = false pentru a nu numerota rândurile din fișierul cu predicții.