Comments (2)
Same question. I also don't understand the idea of counting perfect uplift in the perfect_uplift_curve, no descriptions anywhere
from scikit-uplift.
@steprandelli @Irek21 Thanks for your question!
Recall that in the classical uplift problem we are dealing with vectors, target
is the value of the target variable and treatment
is the value of influence (communication in marketing, treatment in medicine, etc.), which are binary.
Thus, we have only 4 different classes that we need to sort correctly ((1, 1), (0, 0), (0, 1), (1, 0)).
In order to understand what an ideal curve should look like, you need to understand in what order you need to arrange these 4 classes (pairs). Obviously, by moving observations inside each of the classes, the value of the curve will not change.
Let's call the ideal curve the curve with the maximum area under it. So, you need to understand how to rank 4 classes so that the area under the curve is maximal.
In the code, you can find an implementation of how these classes should be sorted. I hope someday we will add a section about metrics, in which there will be material about ideal curves.
If you describe the proofs of sorting these classes in more detail, we will be happy to add it to the user guide.
Many thanks to @kirrlix1994 for consultations on the metrics issues.
from scikit-uplift.
Related Issues (20)
- Datasets: create warning about calling clear_data_dir() HOT 2
- Models: y and treatment as Series HOT 1
- Calculation exception for {weighted_average_uplift} function
- How to save and load model?Thanks HOT 1
- Do u have any plan for supporting multi treatments uplift model ? HOT 2
- Multitreatment model // dummy and interactions approach [DIA]
- Qini Curve plot HOT 1
- Readthedocs / Sphinx not rendering bullet list from rst file HOT 1
- Error downloading the dataset fetch_x5 HOT 4
- Question: Lenta Data HOT 1
- Inverted Uplift scores of revert label (CLassTransformation) ? HOT 4
- What is the difference between uplift curve and qini curve in this package? HOT 1
- Out of memory issue when call uplift_auc_score HOT 3
- Bug:name 'treatment' is not defined HOT 1
- Add license classifier to PyPI/setup.py HOT 1
- Automated Tests failing after non-code change
- Minor bug in sklift/metrics.py uplift_curve and qini_curve functions
- Incorrect error message in metrics.uplift_at_k
- The reference of the uplift_at_k
- Uplift By Percentile 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 scikit-uplift.