Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rudimentary Reccomendation System #2

Merged
merged 8 commits into from
Apr 6, 2020
Merged

Rudimentary Reccomendation System #2

merged 8 commits into from
Apr 6, 2020

Conversation

naidukarthi2193
Copy link
Contributor

@naidukarthi2193 naidukarthi2193 commented Apr 4, 2020

Created A Dashboard for Student Performance Analysis

Type Of Change

  • Bug Fix (non-breaking change that fixes an issue)
  • New Experiment
  • Improving Experiment
  • Breaking Change (fix or feature that would cause existing functionality to not work as expected)

TODO: Enhanced Recommendation system

@prabhuomkar
Copy link
Member

Appreciate your contribution @naidukarthi2193 :)
Give us some time to review this PR.

@Swap76 Swap76 self-requested a review April 5, 2020 12:35
Copy link
Member

@Swap76 Swap76 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great Work Karthik :-)

best_d[tops]=srt[0:5]

return unexp_d,prac_d,best_d

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure the code is linted with pylint default configuration.

Jinja2==2.11.1
joblib==0.14.1
kiwisolver==1.2.0
MarkupSafe==1.1.1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update requirements.txt to have major requirements like 'Flask', 'matplotlib', 'numpy', 'pandas'.
Avoid versioning for individual dependent packages and overall.

background-color: #000;
} */


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Drop the stylesheets and javascript files which are not required.
  • Unless you are using custom stylesheets and javascript code, don't put the downloaded files here (like bootstrap css and jquery), instead use CDN links for bootstrap, jQuery

,{"_id":{"$oid":"5e8065b799770c00221d371a"},"tags":["string"],"code":"SRM16A","points":100,"name":"Go Corona, Corona Go","description":"Since the lockdown, Mithil has been coding just to end his boredom. Mithil who is also a pro gamer, thinks to play a Game and put away coding for some time. So today, the game he’s playing is about Spoidy. Spoidy is initially at a location <b>c=0</b>.\r\nMithil can press D and U:\r\n '<b>D</b>' moves character down, setting his position to <b>c − 1</b>\r\n '<b>U</b>' moves character up, setting his position to <b>c + 1</b>\r\n\r\nBut Mithil's controller is a bit old, it crashes at some instances. Sometimes few of the button presses are <b>ignored</b> and there is <b>no change</b> in Spoidy’s position. \r\nFor example, if Mithil sends instructions \"<b>UUD</b>\", it might be interpreted as any of the following:\r\n\r\n<b>UUD, UU, U, D, UD</b>\r\n\r\nMithil is unaware of which instructions will be sent successfully beforehand. Thus, he wants to know how many <b>different</b> locations may Spoidy end up at.\r\n\r\n","explainInput":"The first line of input contains an integer <b>T</b> denoting the number of test cases. The first and only line of each test case contains a string <b>S</b> of <b>N</b> commands, each either '<b>D</b>' or '<b>U</b>'.","explainOutput":"For each test case, print a single line consisting of <b>one integer</b> denoting the number of different locations Spoidy may end up at.","constraints":"1<= <b>T</b> <=100\r\n1<= <b>N</b> <= 10<sup>5</sup>\r\n","example":"Input:\r\n2\r\nUUD\r\nDUDU\r\nOutput:\r\n4\r\n5\r\n","explanation":"Test Case 1:\r\n<b>UUD</b> = 0+1+1-1 = 1\r\n<b>UU</b> = 0+1+1 = 2\r\n<b>U</b> = 0+1 = 1\r\n<b>D</b> = 0-1 = -1\r\n<b>UD</b> = 0+1-1 = 0\r\nSpoidy may end up anywhere between <b>-1,0,1,2</b>. Hence <b>4</b> unique locations.\r\n","contestCode":"SRM16","inputFile":"https://firebasestorage.googleapis.com/v0/b/siesgstarena-1819.appspot.com/o/stdin%2FSRM16%2FwUi0wldd-.in?alt=media","outputFile":"https://firebasestorage.googleapis.com/v0/b/siesgstarena-1819.appspot.com/o/stdout%2FSRM16%2FwUi0wldd-.out?alt=media","createdAt":{"$date":"2020-03-29T09:09:11.144Z"},"updatedAt":{"$date":"2020-03-29T13:47:25.978Z"},"__v":0}
,{"_id":{"$oid":"5e8088ab99770c00221d371d"},"tags":["math,number theory"],"code":"SRM16B","points":250,"name":"Devin's Prime Time Hack","description":"Devin loves to work with graphics in his free time, and due to recent viral outbreaks, he wants to try working on a new graphic software which is out in the market. However his parents won’t allow him to buy the very expensive software and the serial key cannot be easily cracked. \r\nThe serial key is made up of <b>4 parts</b>. Each part has a <b>hexadecimal </b>code. The code is valid, if the <b>decimal</b> conversion of each individual part of the code (<b>N</b>) has a <b>prime count</b> of <b>factors</b>. For example, the number <b>\"13\"</b> has <b>2</b> factors “<b>1</b> and <b>13</b>”.<b> 2</b> is a <b>prime</b> number, hence <b>13</b> is valid.","explainInput":"The first line of input contains an integer T denoting the number of test cases.\r\nEach test case consists of 1 line of 4 “-” separated hexadecimal numbers ","explainOutput":"For each test case, output a single word “<b>YES</b>” or “<b>NO</b>” on a single line.","constraints":"1 <= <b>T</b> <= 100\r\n0 <= <b>N (in decimal)</b> <= 10<sup>9</sup>","example":"<b>Input:</b>\r\n2\r\nd-b3-bf-11b\r\naaa-caf-5b3-581\r\n\r\n<b>Output</b>:\r\nYES\r\nNO","explanation":"<b>Test Case 1:</b>\r\nThe first part converts to <b>13</b> in decimal which has <b>2 factors</b> (1 and 13). The second part converts to <b>179</b> which has <b>2 factors</b> (1 and 179). The third part converts to <b>191</b> in decimal which has <b>2 factors</b> (1 and 191). The fourth part converts to <b>283</b> in decimal which has <b>2 factors</b> (1 and 283). Hence the code is <b>valid</b>.\r\n\r\n<b>Test Case 2:</b>\r\nThe first part converts to <b>2730</b> in decimal which has <b>32 factors</b> but 32 is not prime. Hence the code is <b>invalid.</b>","contestCode":"SRM16","inputFile":"https://firebasestorage.googleapis.com/v0/b/siesgstarena-1819.appspot.com/o/stdin%2FSRM16%2FdiwlZmY31.in?alt=media","outputFile":"https://firebasestorage.googleapis.com/v0/b/siesgstarena-1819.appspot.com/o/stdout%2FSRM16%2FdiwlZmY31.out?alt=media","createdAt":{"$date":"2020-03-29T11:38:19.621Z"},"updatedAt":{"$date":"2020-03-29T12:42:42.748Z"},"__v":0}
,{"_id":{"$oid":"5e80968d99770c00221d371e"},"tags":["math"],"code":"SRM16C","points":300,"name":"Secret Info","description":"Cibin, is the head of an intelligence agency. Since there is a lot of fake information, he wants to share some highly confidential information <b>S</b> to all the defense officials regarding this pandemic.\r\nHere the message to be sent is in a single word consisting of only lowercase English letters. For the confidentiality of the information he decides to encrypt the message. He makes a string <b>M</b> of length <b>N</b>, such that after deleting a substring of <b>non-zero</b> length from <b>M</b>, the remaining string is <b>S</b>. He needs your help to find out the number of all such possible ways he can form the string <b>M</b>.\r\n<b>Note:</b> The string <b>M</b> can be a combination of <b>lowercase</b> English letters.","explainInput":"First line contains the number of test cases <b>T</b>. \r\nFor each test case there is a single line which contains a space separated integer, <b>N</b> and a string <b>S</b>.\r\n","explainOutput":"For each test case, output the number of possible strings modulo <b>10^9+7</b>.","constraints":"1≤ <b>T</b> ≤ 1000\r\n1≤ <b>N</b> ≤10^18\r\n1≤ <b>|S|</b> ≤100\r\n<b>S</b> contains only lowercase English letters.","example":"<b>Input:</b>\r\n3\r\n2 a\r\n3 a\r\n3 ab\r\n<b>Output:</b>\r\n51\r\n1326\r\n76\r\n","explanation":"Following are some examples of 2 lettered words:\r\naa, ab, az, zz, bd, etc.\r\nWe can form <b>26*26 = 676</b> such words but only <b>51</b> out of them contain at least one ‘a’ so that we can form the string <b>S</b>. \r\nEg: We can get <b>‘a’</b> from <b>‘ab’</b> after removing the substring <b>‘b’</b>.\r\n But we can’t get <b>‘a’</b> from <b>‘cd’</b> or <b>‘tf’</b>.\r\n","contestCode":"SRM16","inputFile":"https://firebasestorage.googleapis.com/v0/b/siesgstarena-1819.appspot.com/o/stdin%2FSRM16%2FeKWMBpauU.in?alt=media","outputFile":"https://firebasestorage.googleapis.com/v0/b/siesgstarena-1819.appspot.com/o/stdout%2FSRM16%2FeKWMBpauU.out?alt=media","createdAt":{"$date":"2020-03-29T12:37:33.055Z"},"updatedAt":{"$date":"2020-03-29T13:50:09.46Z"},"__v":0}
]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dataset files can change over period of time. Add reference in your README from where you have to download dataset files and where you have to keep them for loading..
You may need to make some code changes for that.

Reference: https://github.com/prabhuomkar/fiducia#dataset

@prabhuomkar
Copy link
Member

prabhuomkar commented Apr 6, 2020

Good work @naidukarthi2193
After first set of review:

  • Please create an issue explaining about your experiment, we are tracking every PR against its Issue. We get more clarity over issues and space to discuss there and we can spend the space of PR to give comments/suggestions on code :)
  • We need to standardize how we load data, usually in contributions like these our repository might get flooded with various versions of JSON files and we want to avoid this. Best way would be to have a data folder in your contributed folder and let users/us to download the latest version of dataset there and use it (easier to handler versions of data and the repo highlights only your code and not the redundant dataset part)
  • Issue Contributed Experiment README Template #3 has been created. Once the team has decided on how the contribution README should be, update this PR with that README template.

@prabhuomkar prabhuomkar requested review from ninadc32 and removed request for rsd511 April 6, 2020 05:30
@prabhuomkar prabhuomkar added the new experiment New experiment label Apr 6, 2020
@naidukarthi2193
Copy link
Contributor Author

Above Changes pushed to Repo
Added nltk_data for wordnet support

@harshagr18 harshagr18 merged commit 2287168 into siesgstarena:master Apr 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new experiment New experiment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants