Comments (7)
I would add that:
-
min_proportion_protected is only acceptable as an option if proportion_strategy = fixed
-
lookup_for_measuring_proportion is only acceptable as an option if proportion_strategy = variable
My suggestion is that if an unacceptable combination of options is chosen, (e.g. proportion_strategy = variable and min_proportion_protected present), the administrator is shown an error message and ElasticSearch should not start.
A minor change: "minimum proportion of protected attributes" => "minimum proportion of elements having the protected attribute." There will be only ONE protected attribute in this version of the plugin.
I understand that the name and value of the protected attribute (e.g., "gender = female") will be provided at query time.
from fairsearch-fair-for-elasticsearch.
@chatox as you can see in #16 I am starting to work on that topic, after merging the initial version of the topk rescorer (see #12).
A valid question raised while chatting with @tsuehr, how to calculate the min number of protected elements ?
To be sure I follow everything correctly, is this related to:
, the algorithm derives a
ranked group fairness table similar to Table 2, i.e., for each position
it computes the minimum number of protected candidates, given
p, k and αc .
so if at any step of the algorithm main loop,
m[i] > NumberOfAvailableProtectedCandidats
throw an error if strategy is abort.
does this makes sense?
/cc @MilkaLichtblau
from fairsearch-fair-for-elasticsearch.
@chatox if we do
A minor change: "minimum proportion of protected attributes" => "minimum proportion of elements having the protected attribute." There will be only ONE protected attribute in this version of the plugin.
how is the user expected to pass p (proportion)?
from fairsearch-fair-for-elasticsearch.
The minimum proportion of elements having the protected attribute, in the case of the "fixed" strategy, should be a parameter that is configurable by the administrator, not by the end-users who perform a search. Could this be implemented by administrators as a hidden field in the HTML form for the search perhaps?
from fairsearch-fair-for-elasticsearch.
Interesting thoughts, thanks for the clarification.
not sure if I see this parameter as a setting, or as a query param with a good default.
In elasticsearch you can see many examples of such type of parameters, like in https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html with fuzzy_max_expansions or minimum_should_match.
I wonder if there is a way we can think about a good default here, what do you think?
from fairsearch-fair-for-elasticsearch.
Can we have it as a setting that can be overridden with a query parameter? That would give us more flexibility.
A default could be 0.4 in case the protected attribute is gender, or 0.05 in case the protected attribute is "having a disability".
from fairsearch-fair-for-elasticsearch.
code has been tested and merge to master. closing for now, if you or we find bugs we should open new specific issues and fix them.
Users can define this settings as part of query parameters as you can see https://github.com/fair-search/fairsearch-elasticsearch-plugin/blob/master/src/main/java/com/purbon/search/fair/query/FairRescoreBuilder.java#L44 the different options, as a agreed over video.
from fairsearch-fair-for-elasticsearch.
Related Issues (20)
- Create an integration test case based on the XING dataset HOT 8
- Create an integration test case based on the German credit score dataset HOT 4
- Performance tests
- Distribution method HOT 1
- M table calculations should be cached in elasticsearch
- Add https://readthedocs.org/ as source of our plugin documentation HOT 2
- Find out what is the highest ranking enhancement for a protected candidate HOT 1
- Create a unit test for the generation of table M HOT 7
- Write the AlphaAdjustment as an utility Class HOT 2
- Mtable names should be automatically generated
- The adjust alpha process and the mtable generation are disconnected
- Configure min k,p,alpha for the first release HOT 1
- Verify the case where k < windowsize HOT 3
- Throw an exception if k is too small or p is too small HOT 1
- Deal with cases in which p and k are small, and alpha is large, so no re-ranking is necessary HOT 1
- Fix build against Elasticsearch 6.3.x HOT 1
- Remove or document the restriction that index must have at most 1 shard + 1 replica for the plugin to work HOT 1
- Catch shard failure and throw reasonable exception when doing a fair query against a non-existing mtable
- FairRescoreBuilder: Queue construction for fair Rescore should be reviewed HOT 1
- If no results, es tries to create an mtable with k=0 HOT 1
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 fairsearch-fair-for-elasticsearch.