开源软件名称(OpenSource Name):Khan/guacamole开源软件地址(OpenSource Url):https://github.com/Khan/guacamole开源编程语言(OpenSource Language):Python 100.0%开源软件介绍(OpenSource Introduction):#guacamole
The Tools: The pipeline currently included here trains Multi-dimensional Item Response Theory (MIRT) models, including both item correctness and response time if you have that data (coming soon). The MIRT model is well suited to testing data (at Khan Academy, we use it for our assessments) guacamole walkthroughguacamole is a useful tool for teachers and researchers to analyze and improve test items and students.getting started###Getting guacamole to run: ####Get numpy, scipy, and matplotlib working There are several strategies for this, depending on platform. The normal and generally correct way to install Python libraries is using I recommend installing Next download guacamole:
Go to the guacamole directory and run
It should take less than a minute, and if some graphs pop up, you're good to go.
That Walkthrough
If you want a quick overview of what's available and you hate reading when it's not on the terminal, run
for an overview of the arguments Generate DataData is generated with
This constructs a bunch of students with fake abilities, a bunch of exercises with fake difficulties, and simulates those students doing those exercises. You can examine the generated data in
It should look something like
These columns are name, exercise, time_taken, and correct. You can read more about data formats in ###Train a model You can train a model on data with
By default, this looks at the place that generate writes - at
OPTIONAL: PARALLELIZATION)
This will run for a while. If you want it to go faster, you can parallelize with the Now that your model is trained, it's in ###Examining Models There are a few ways to examine a model and evaluate how good it is. ####Report The simplest is to run
This prints out a formatted view of your exercises.
For more information on what these terms mean, check out IRT on Wikipedia. ####ROC Curve An ROC curve is a simple way of comparing models for predictive accuracy when there are binary classifications. When we train a model, we hold out a test set, and the ROC goes through that set of assessment and makes predictions about the accuracy of users on random questions. To see a ROC curve, run
This will take a bit of time, as it simulates generating a ROC curve from your test data. ####Problems The model used for each problem can be thought of as a model meant to predict the probability that a student will answer that problem correctly given their ability. Running
gives you a visualization of each problem in that context. ###Scoring So scoring here is relative - we don't give anything on a score of 0-100. Instead, we give the mean of the student's estimated ability, which should have a mean around 0 and be approximately normally distributed. This prints a student's id and their score. For instance:
I got these names from the census, in case you're wondering. I really like the internet. You can score with Adaptive TestAny time after training, we can create an adaptive test that gets the most information possible per question. Start taking the interactive test with
You can specify the number of questions you'd like in your interactive test with This isn't super cool by itself, because it just simulates answering questions correctly (1) or incorrectly. But it should be easy to hook this up as the backend to an interactive adaptive testing engine - that's what we do at Khan Academy. The Algorithms
Multidimensional Item Response Theory Item response theory is a classic technique in psychometrics to calibrate tests and test items with student abilities, resulting in difficulty ratings for test items and ability ratings for students. Visualizations A few visualizations are available for the data. First, you can see an ROC curve given your parameters:
You can also see graphs of each exercise by difficulty and discrimination
To see how well each student did, call './start_mirt_pipeline.py --score' The names The names are from the US census bureau. Khan Academy Data This library is designed to be used on Khan Academy data. We have sample, non-student, data in that format now. If you are interested in using our real data at scale in your research, you should visit http://khanacademy.org/r/research, and then email us at research@khanacademy.org. If these tools are useful to you, let us know! If you'd like to contribute, you can submit a pull request or apply to work at Khan Academy - we're hiring data scientists and software engineers for both full time positions and internships. Authors: Eliana Feasley, Jace Kohlmeier, Matt Faus, Jascha Sohl-Dickstein (2014) |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论