Blog of Sara Jakša

Quora Kaggle Competition

Months ago, a friend of mine invited me to participate with him in a Kaggle competition. It was the Quora Insincere Questions Classification competition. I have to say, I am not even sure, we posted any model on the Kaggle on the end.

But I had used this as a sort of motivation. I needed to pass the linguistics class, so this seems like a good way to consolidate the knowledge and make linguistics as bit more interesting. Well, I passed the exam, though I don't know how much of this can be attributed to this work.

But I did had a lot of fun, trying to get different features out of text. Something, that I am sure will help me with my cognitive science master thesis. But even then, I did not ended up testing all the hypothesis. I did nothing with emotions, personality or topic prediction.

I also did not check the nouns hypothesis. There is a connection between genders in language (probably, I did not managed to find the scientific article about it). In Slovenian and Slovak, the negative words are usually female. So I figured that maybe the translation of nouns and then checking the gender in different language would also show something.

But other than that, I think I tested most of the ideas, that I got.

The jupyter book can be found here: Kaggle Competition

I hope that friend of mine is not too disappointed with my work. I learned a lot and I passed the exam, so I am satisfied with what I got out of it. Not sure about him. Since I got another link from him about text analysis, it could go both way. Either as a push in the last days to actually do something, or as here may be something that would be interesting to you.

Segregation of People - Python Meetup Presentation

Two days ago (on Tuesday, 19th of February) I had my first long presentation at the Python Meetup. I had the talk about segregation of people into like minded groups.

I have to admit, I was so nervous, that I skipped most of the programming part, and I only did mostly the cognitive science stuff. Thinking back, I can sort of understand it. I am afraid to present in front of a more knowledgeable audience. So, somebody that knows more than me. So I skipped the parts, where they would know more than me.

This is the presentation: https://github.com/sarajaksa/DataAnalysis/blob/master/Segregation%20of%20People%20into%20Like-Minded%20Groups%20[Python%20MeetUp%20Ljubljana%20February%202019].ipynb

But now the ice is broken. I still think, that if I am to get used to speaking in front of the audience like that, the lightning talks are going to be a lot better choice. I already have some ideas for it (which are mostly projects, that I want to do or I will do or I am doing right now).

There is no video available this time. Thankfully. I can still not watch myself at all.

Get Nearby Places with Open Street Maps and Overpass API

Well, one of the things, that I will have to implement in my app in the near future was the suggestion for nearby places. The person showing my this recommended Foursquare API, but I decided to first try something a bit more open source.

Open Street Map has some great maps, so this was my first try. Would it be possible to get what I wanted with it? They ask not to get too much data in a day. My test query produced a little less than 5KB, so I hope that would not be much. In case we ever get a lot of users, I am sure, we could host a subset of the data on our own servers.

I have to admit, it took me a lot more time to find out what API to use, and to try and research the difference between QL and XML and why there are two languages and how can each be used, that actually trying to understand how to make queries.

This is quite different from school work. They well you, where the data is and it one form, and then they make you master querying. Or maybe they had a good enough effect.

Well, before I tried to implement it inside of react-native, I tried it in a python code. The below code queries the places near faculty rooms for my study program. They only list the names entries, so they might be some missing. One can chance the latitude, longitude and range easily.

from bs4 import BeautifulSoup
import requests

lat = 46.04908
lon = 14.50468
rad = 50

data = requests.get("http://overpass-api.de/api/interpreter?data=<query type='node'><around lat='" + 
                    str(lat) + 
                    "' lon='" + 
                    str(lon) + 
                    "' radius='" + 
                    str(rad) + 
                    "'/></query><print/>")

data = data.text
data=BeautifulSoup(data, features="xml")
all_nearby_locations = data.find_all("tag", {"k":"name"})
[loc["v"] for loc in all_nearby_locations]

I don't know, bit for now, it seems like a relatively good solution. Now to figure out, how I am going to get these names out of the XML in react-native (hopefully without additional libraries - I have the feeling I use too many of them already).

Incentives, Open Science and Personal Development

There is a problem, that I on-and-off think about since around the New Year. I am supposed to be mentoring a friend in public speaking. But I don't think, that I am doing a good job. The main problem is, that I can see that she takes my suggestions and tries to incorporate it, but that does not really improves the speeches.

Which means, the problem is most likely with me and not with her.

So I am going through the book Opening Science: The Evolving Guide on How the Internet is Changing Research, Collaboration and Scholarly Publishing right now. In the third chapter, there is a conversation about how in incentives have created a situation, which lowered the quality and meaningfulness of science. They say, that this is based on the need, to judge the work of scientists, without being a scientist themselves.

Which, if you had ever tried to judge the work in something, you had no idea about? It is almost impossible. Just because somebody write the most lines of code, does not make them a good programmer. Just because a book is a best-seller, that does not mean that the book is good. And just because the scientific article was published in the high-rank journal, this does not mean, that this is the truth (or in some cases, that this is well made science).

Even more, when it comes to improving ourselves. Just because I notice a mistake in somebody else's speech, this does not mean, that this is something that this person should be working on. I mean, I could get that, when people were constantly noting on my "misuse" of speech at Toastmasters, but nobody told me, that they had troubles with following my speeches, until I already improved that. I don't know, but the later seems sort of more important to me than the former?

I have sort of started to notice this with my personal stuff. If I would count the books by checking the number all the time, then I would start reading shorter and easier books. Which is now, what I was supposed to be doing. So instead, the only way to get the number, is to run a script (and I put the files and script in completely different folders, so that there is another step is between), and I only do this once per year. On the long run, I am sure reading some a bit harder or longer book would be more satisfying.

In some senses, these metrics can do some good to create a habit. If a person is not used to reading books all the time, then keeping track of the number of books read can be motivational. If the goal is to get rid of fear, then metric like that could also be helpful. Afraid of public speaking? Then count the number of times you stand on the stage in a month. Afraid of socialization. It helps to keep track of how many social gathering one attended in a month without known company (they are way too much of a crouch, and then there is no motivation, to help meet other people).

But once passed this, it need to be well though out, what metrics to use. Because the improvement will go in the direction of these metrics and nowhere else. Just like the scientific articles are a lot more marginal now, since the number of publications is one of the metric being tracked. So people don't wait, to develop a theory before publishing, but they publish a lot of times before that. I am sure, that today the Jung's Personality Types or Darwin's On the Origin of Species, would be instead published as dozens of unconnected articles.

We Choose Our Situations

There is an interesting idea in the personal psychology. And this is, that we choose our own situations. So there are the differences in personality profiles on different social media, or in different professions or in different study programs or in different groups.

This is why, they find personality differences between groups. For example high openness for left-leaning and high conscientiousness for right-leaning. More empathic for students of psychology than student of economics. More aggressiveness and narcissism for people volunteering for the prison experiment, than for general psychological experiment.

And I am sure, one can think of an example from their own life. There is a saying is Slovenian: "Iste ptice skupi letijo" (English translation: the same birds are flying together), because it is normally so.

There are some interesting (albeit heartbreaking) studies, that show that people high in neuroticism put themselves in the situation, that lead to more bad things happening to them.

I am right now doing a presentation for the next Python Meetup. I was judging among many ideas. I promised one of the two. But I am going to present something in the same area as one of them. And that is the replication of the racism in housing. Where the model shows, that even when the only preference is, to not be surrounded with majority of people, from one group, that are different, this leads to serious racial segregation. I am just not going to be using race in the example.

And so I wanted to share this idea on the blog as well.

Women, Programming, Writing and Fear of Being Imperfect

I have recently came across a TED talk Teach girls bravery, not perfection. There is a book coming out from this speaker in the same or similar topic. Or at least that is what one blog, that I had read said.

Anyway, it seems like it was an interesting topic, so I watched it. In that talk, they explain about the story of how women would delete their code, before asking for help. This reminded me of one of my tutoring experience. When she wanted to to teach her programming, but on the beginning, she was expecting me to impair knowledge on her.

Well, I have no idea, how to do this, so what I did was make her try her ideas. Because that gave me the insight into what she did not understand. But it was even more interesting, when in the later session, she was trying her ideas from the start.

Even though, I learned programming (something, she suggested was a solution to perfectionism), I think I am still a perfections. I mean, I have already spend hours creating a 20 minutes speech for Python Meetup, worrying if the speech is going to be interesting to the people. And I talk that as somebody who had over 50 speeches at Toastmasters and you can usually put me on the stage and I can talk for way more than 20 minutes. So I don't think that programming is the answer.

What I think is the answer is publishing. I mean this is the most wide sense. A person stops being such a perfectionist, when they release their work in the world and nothing bad happens.

I remember in 2012 and 2013, when I started to put my writings on the internet. At that time, I did not had a blog, though since then I have transferred my writing to this blog (the ones that I could find/recover). I was nervous and I spend way too much time in stress, what the people will think about it. Now, I can write a text like that, and I will not feel any pressure to put it out there in the world.

The same was with Toastmasters speeches. The first couple of times, I had spend a lot of time, thinking about how to approach it. On the last speeches, I don't think I prepared much for any of them. It was just normal.

The social skills are the same way. Doing something for the first time, be it asking for a favor or contacting somebody for the meeting, or anything else, it can be nerve wrecking (a lot worse than public speaking). But eventually, it becomes easier.

So I don't think there is just one thing, that would stop the fear of imperfections. No matter how programming might be seen as a magic pill. But it is doing the things that can stop that imperfection. And while I am not on that level yet, maybe eventually the meta skill will develop, and there is going to be a general lowering of this fear.

Test Osebnosti

Za simpozij, ki ga je moja mami organizirala 31.1., sem ji obljubila, da bom naredila nekaj na temo osebnosti. Ker sem zbolela, in nisem mogla priti osebno, sem pripravila test z kratkimi opisi. Verzija, ki sem jo dala njej je bila krajša, ker je morala skupaj z logo-ti priti na dve strani. Tukaj je verzija, ki je hitra spojitev zadnje in ene vmesne verzije, ki je bila daljša.

Test Osebnosti

Vprašalnik meri pet osebnostnih lastnosti: ekstrovertnost, čustveno stabilnost, vestnost, prijetnost in odprtost, ki v znanosti psihologije osebnosti veljajo za trenutno najbolj natančen model osebnosti (poleg inteligence).

Spodaj so navedene trditve, ki opisujejo človekovo vedenje. Prosimo, da uporabite navedeno ocenjevalno lestvico in ocenite, kako natančno vas posamezna trditev opisuje. Opišite se, kakršni ste v resnici, in ne, kakršni bi si želeli biti. Spodaj so napisane osebnostne lastnosti. Ob črtah so v oklepaju napisane številke vprašanj. Številko, ki ste obkrožili pri tistem vprašanju napišite dol na črto, in jih seštejte. To vam bo dalo vaš nivo vsake od petih osebnostnih lastnosti.

Na drugi strani boste našli kratke opise teh lastnosti in kaj pomeni, če imate nizek ali visok nivo neke osebnostne lastnosti.

VPRAŠANJE Ne drži Delno ne drži Ne vem Delno drži Drži
01 Opravke opravim takoj 1 2 3 4 5
02 Večino časa sem sproščen/a 5 4 3 2 1
03 Ne zanimajo me problemi drugih 5 4 3 2 1
04 Imam živo domišljijo 1 2 3 4 5
05 Sem gonilna sila zabav. 1 2 3 4 5
06 Ne govorim veliko. 5 4 3 2 1
07 Čutim čustva drugih 1 2 3 4 5
08 Abstraktne ideje me ne zanimajo 5 4 3 2 1
09 Pogosto pozabim pospraviti stvari kamor spadajo 5 4 3 2 1
10 Pogosto mi niha razpoloženje 1 2 3 4 5
11 Na zabavah se pogovarjam z veliko ljudmi 1 2 3 4 5
12 Rad/a imam red. 1 2 3 4 5
13 Redko sem potrt/a 5 4 3 2 1
14 Težave imam pri razumevanju abstraktnih idej 5 4 3 2 1
15 Sočustvujem z drugimi 1 2 3 4 5
16 Ljudje me ne zanimajo 5 4 3 2 1
17 Pogosto sem slabe volje 1 2 3 4 5
18 Nimam razvite domišljije 5 4 3 2 1
19 Povzročam zmešnjavo. 5 4 3 2 1
20 Ostajam v ozadju 5 4 3 2 1

Ekstrovertnost: _ = (5) + _(6) + (11) + (20)

Če je vaš skupni rezultat manjši kot 10, potem imate majhen nivo ekstrovertnost. Rezultat med 10 in 14 pomeni, da ste povprečni pri ekstrovertnosti. Rezultat nad 14 pove, da imate visok nivo ekstrovertnosti.

Čustvena Stabilnost: _ = (2) + _ (10) + (13) + (17)

Če je vaš skupni rezultat manjši od 12, potem imate majhen nivo čustvene stabilnosti. Rezultat med 12 in 16 pomeni, da ste povprečni v čustveni stabilnosti. Rezultat nad 16 pomeni, da imate visoko čustveno stabilnost.

Vestnost: _ = (1) + _ (9) + (12) + (19)

Če je vaš skupni rezultat pod 14, potem imate majhen nivo vestnosti. Če je vaš rezultat med 14 in 16, potem ste povprečni v vestnosti. Rezultat nad 16 pomeni, da imate visok nivo vestnosti.

Prijetnost: _ = (3) + _ (7) + (15) + (16)

Če je vaš skupni rezultat pod 14, potem imate majhen nivo prijetnosti. Če je vaš rezultat med 14 in 17, potem ste povprečni v prijetnosti. Rezultat nad 17 pomeni, da imate visok nivo prijetnosti.

Odprtost: _ = (4) + _ (8) + (14) + (18)

Če je vaš skupni rezultat pod 14, potem imate majhen nivo odprtosti. Če je vaš rezultat med 14 in 17, potem ste povprečni v lastnosti odprtost. Če je vaš rezultat nad 17, potem imate visok nivo odprtosti.

Ekstrovertnosti

Nivo ekstrovertnosti pomeni, kako občutljiva je oseba na možnost nagrade. To se pokaže na različne načine. Ljudje, ki imajo večji nivo ekstrovertnosti občutijo več pozitivnih občutkov. Zaradi tega postanejo navdušeni nad več stvarmi in običajno tudi poskusijo več stvari, naj bodo to prijatelji, hrana, potovanja, partnerji, služba in podobno. Lažje jih je tudi motivirati z običajnimi nagradami: javne pohvale, napredovanja in denar. Po drugi strani, ljudje z nižjo stopnjo ekstrovertnosti tega navdušenja na občutijo tako močno in zato nimajo želje po stalnem delovanju in novostih, kar jih naredi bolj zanesljive. To so ljudje, ki ne bodo iskali stalno novih priložnosti samo za to, da bi doživeli nekaj novega.

Kar to pomeni za razliko na delovnem mestu je, da večji kot je nivo ekstrovertnosti pri osebi, bolj si bo le ta želela napredovati in bolj jo bo možno motivirati z običajnimi projemi, kot so prepoznavanje, pohvala, napredovanja in denar. Vendar pa so te osebe tiste, ki bodo prej šle na boljšo priložnost, če je jim le ta pojavi. Ljudje z nižjim nivojem ekstrovertnosti imajo manj od nagrad, ker jim le te ne prinašajo toliko pozitivnih občutkov. Je pa res, da to tudi pomeni, da ne iščejo novih priložnosti le za to, da bi imeli nove priložnosti, kar pomeni, da jih je lažje obdržati.

Pri osebnih odnosih bo prišlo največ trenja pri dejavnostih. Ljudje z nizko stopnjo ekstrovertnosti velikokrat pokažejo manj ali pa nič navdušenja nad novimi dejavnostmi ali načrtom. Zaradi tega lahko pride to vtisa, da ne podpirajo tega. Ljudje z visoko stopnjo ekstrovertnosti pa pokažejo navdušenje naj preveč stvarmi, tudi takimi, ki so nepotrebne in zaradi tega lahko pride do vtisa, da se ne znajo posvetiti eni stvari.

Čustvena Stabilnost

Nivo čustvene stabilnosti pomeni, kako občutljiva je oseba na nevarnosti. Kar pomeni, da ljudje ki so manj čustveno stabilni, so bolj občutljivi na možnost nevarnosti in bodo zaradi tega občutili več negativnih občutkov. Ljudje, ki imajo višji nivo čustvene stabilnosti ne opazijo toliko nevarnosti v okolju, zaradi česar so pripravljeni poskusiti več stvari in imajo manj negativnih občutkov o sebi, kar pomeni, da imajo višjo samo-podobo. Ljudje z nižjo stopnjo čustvene stabilnosti opazijo več nevarnosti, kar pomeni da jih več skrbi in imajo običajno manjšo samo-podobo. Vendar pa so zaradi tega boljši analitiki in bolj realno vidijo različne situacije. Velikokrat tudi bolj delajo na sebi in se bolj trudijo za osebno rast, saj želijo izboljšati svoje osebno stanje, ki se jim običajno zdi slabo. Ljudje z večjo čustveno stabilnostjo imajo manjšo potrebo po izboljševanju sebe, saj so bolj zadovoljni sami s seboj.

Pri osebnih odnosih se to najbolj vidi pri vidiku varnosti. Ljudje z visokim nivojem čustvene stabilnosti ne potrebujejo toliko varnosti kot ljudje z manjšim nivojem čustvene stabinosti.

Vestnost

Nivo vestnosti pomeni, koliko lahko oseba nadzoruje in ustavlja svoje impulze, želje in tako naprej. Ljudje, ki imajo večji nivo vestnosti, imajo boljši sistem nadzora. Zaradi tega so veliko boljši pri postavljanju in sledenju načrtov ter so pri izvajanju načrtov tudi bolj produktivni. So tudi ljudje, ki se lahko zelo osredotočijo na eno stvar. Velikokrat poskrbijo, da so tudi podrobnosti pravilno narejeni in lahko s tem prihranijo marsikdaj kakšno neprijetnost. Ljudje, ki imajo manjši nivo vestnosti so bolj impulzivni. Vendar pa so tudi bolj spontani in se veliko bolje prilagajajo na spreminjajoče so pogoje. So veliko boljši improvizatorji. Ljudje z nižjo stopnjo vestnosti so tudi tisti, ki znajo bolje preceniti, katere stvari se morajo narediti in najdejo poti, po katerih je stvari lažje narediti.

Pri osebnih odnosih se to pokaže pri urejenosti in pri spontanosti. Osebe z višjim nivojem vestnosti bodo motili nepospravljeni prostori in stvari, ki še niso narejene. Po drugi strani, osebe z manjšim nivojem vestnosti ne dobo razumele, zakaj se ne samo sprosti in se gre delati kaj zabavnega.

Prijetnost

Nivo prijetnosti pomeni, koliko se ljudje ozirajo na druge ljudi v primerjavi s seboj. Večji kot je nivo prijetnosti, bolj se ljudje ozirajo na ostale in ne nase. Nižji nivo pomeni obratno, da se ljudje bolj ozirajo nase, kot na druge ljudi. To pomeni, da so ljudje, ki imajo visoki nivo prijetnosti so bolj prijetni, in je lažje z njimi držati dober odnos. Redko se razjezijo in hitro odpustijo. So ljudje, ki so bodo potrudili, da bodo dobro delovali z ostalimi ljudmi. Ljudje z nizkim nivojem prijetnosti so bolj direktni in tekmovalni. Za razliko od ljudi z visokim nivojem prijetnosti, je veliko večja možnost, da bodo direktno povedali, kaj si mislijo. Je tudi povezava, da te ljudi običajno bolj zanimajo stvari kot ljudje. Ljudi z nižjim nivojem prijetnosti je tudi težje izrabiti.

V osebnih odnosih to pomeni, da ljudje z višjim nivojem prijetnost se lažje užalijo in je potrebno veliko bolj paziti pri temu, kaj se jim reče. Pri ljudje z nižjim nivojem prijetnosti pa je potrebno bolj jasno povedati, kakšne so želje, saj jih je lahko ujeziti z tem, da se osebe ne znajo zjasniti kaj si želijo.

Odprtost

Nivo odprtosti pomeni, kakšna je širina mentalnih asociacij, ki jih oseba lahko naredi. Osebe z visokim nivojem odprtosti imajo tako boljšo lateralno razmišljanje in lahko pridejo do več idej, in običajno so to velikokrat ideje, ki prej še niso bile izražene. Te ljudje so običajno tudi večji umetniki, imajo bolj kreativno in zanimivo jezikovno izražanje in so sposobni povezati stvari, ki jih ljudje z nižjim nivojem odprtosti niso. Vendar pa imajo lahko zaradi tega preveč stvari, ki jim prihajajo v pozornost. Za razliko od njih, ljudje z nizkim nivojem odprtosti so bolj stabilni in jih zanimajo bolj konkretne zadeve. So pa ljudje z nižjo stopnjo odprtosti veliko boljši pri reševanju tudi zelo težkih vsakodnevnih problemov. Velikokrat so ljudje z nižjo stopnjo tudi večji konformisti in s tem ne silijo ven z nenavadnimi idejami in mnenji.

My Quick Drawings 2019-02-08

So, today I decided to try and do something, that I clearly did not think I was capable of. But all for the big goals and so on. So I decided I will try drawing a human. I took the scene from Flash season 2 episode 17, where Barry is unconscious in the time vault, with Eobard looking over him. Well, on the end Eobard did not end in my picture.

As you can see from the picture, the wheel chair is relatively well made, but Barry is unrecognizable. Any male could be there. There is nothing to show, that I Barry. His face is the most weird. This is definitely something I need to work on.

drawing of Barry in the time vault

So, once I figured out, that the faces are my big weakness, I took the drawing book that I got for really cheap in the closest store here. One of the is in the portraits. So I draw the first picture, that was there. Down below is the result.

drawing of a empty face

This was boring, so I was thinking, what could I do next. I realized, that the only art form, that I enjoyed in the long-term basis were mangas. So I took some times and downloaded a couple of pictures of the anime characters that I liked on the computer. This will be my exercise folder.

But then I remembered, that in the Shugo Chara, the charas were human-like, but they were simple. So I ended up downloading also the pictures of all the charas, that were named as characters in the Shugo Chara wikipedia page.

The first one that I drew was Diaya. Below is the result.

drawing of Diaya from Shugo Chara

The I also drew Miki, from the same series.

drawing of Miki from Shugo Chara

Assumptions about Reality

There was an interesting fact, that I remember hearing or reading somewhere. How the world works in a weird way. Because it is the physicists, that have the least assumptions against the reality, and the psychologists have the most assumptions about reality.

There have been some discussion of this problem before. The similar idea is also touched in this Feynman movie Mathematicians versus Physicists.

I just find this fact interesting, and I remember it, so I wanted to share it.

My Drawing Lessons 2019-02-07

This time, the practice was supposed to be in not thinking in lines. And the textures of different objects. And we looked over the pictures of Cezanne (I think?) and talked about what part do we take in the pictures and how some things don't have to be whole in the picture and how things don't have to be central. I might have missed some.

There were a couple of comments on this picture.

The first one was about the picture frame in the upper right corner. On the beginning it was smaller, but apparently the bigger ones are less noticeable. For some reason. Apparently then they don't look like just an add-on.

The second one was the surface. For example, the apple is smooth, but the mandarin is already more coarse. So I should take this into account when making lines and when deciding how to shadow them.

The third was about shadowing. Each group should have three tones. But these tones should be different for fruit and for table cloth. So three tones of light gray would be used for fruit and three tones of dark gray would be used for table cloth. And there should be no overlap.

drawing of fruit

I do like to see, that I finally managed to upload all the pictures from my drawing lessons here. The dates posted actually reflect the days, the lessons took place, not when I actually put them online. At least now everything us up.