Comments (1)
I achieved this task following these steps:
- collect
repository_id
,commit_hash
,commit_author_name
,commit_author_email
using the gitbase and a python client on 22 open source stacks. - Iterate through 2019-05-01 GHTorrent dump, and map every commit hash with the GHTorrent id of its author.
- For each org, create a CSV file with
repository_id
,author_email
,author_name
,author_id
. - For each org, create 10 different identity matching table in Parquet format running
match-identities
with the--cache
option pointing to the previous CSV file on which we dropped theauthor_id
column, with 10 different values for theMaxIdentities
parameter:[1, 5, 10, 20, 30, 40, 50, 100, 200, 500]
. - For each org, and each identity table generated (so 22x10), build 2 identity graph (1) from GHTorrent identity mapping (2) from our own identity matching.
- Compute precision and recall using the following definitions for false positive and false negative.
FP = set(pred_graph.edges) - set.intersection(set(pred_graph.edges), set(true_graph.edges))
FN = set(ght_graph.edges) - set.intersection(set(pred_graph.edges), set(ght_graph.edges))
- Plot the precision and recall curves depending on
MaxIdentities
for each org. - Conclude that
MaxIdentities=20
stands for a good trade-off.
from identity-matching.
Related Issues (20)
- Include the external identifiers into the result HOT 2
- Add another output format: Postgres HOT 2
- request external API only once
- Make the project open-source HOT 2
- Assume the output format is parquet when the output path points to a parquet file HOT 1
- Detect the primary name of an identified person HOT 1
- The list of popular names is too large HOT 1
- Bad precision and recall (~60%) on IBM and intel open source stacks HOT 4
- Use more efficient API for GitHub HOT 3
- Consider committer data, not just commit author HOT 3
- Debug the bot detection pipeline HOT 1
- Extract commit date for stats filtering
- panic: json: unsupported value: NaN HOT 13
- Save and load the bot detection model from modelforge HOT 6
- v3.1.0 doesn't seem to finish after running on writeas org HOT 6
- Alter Docker image so it dumps output to a defined folder HOT 4
- Print version at startup HOT 1
- Incremental operation support
- Performance dropped critically HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from identity-matching.