/*
* Copyright [2012-2014] PayPal Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ml.shifu.shifu.container.obj;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import java.util.List;
/**
* ColumnStats class is stats collection for Column; If the Column type is categorical, the max/min field will be null.
*
* <p>
* 'ks/iv' will be used for variable selection.
*/
@JsonIgnoreProperties(ignoreUnknown = true)
public class ColumnStats {
/**
* Max value of such column
*/
private Double max;
/**
* Min value of such column
*/
private Double min;
/**
* Mean value of such column
*/
private Double mean;
/**
* Median value of such column (now it is the same as mean)
*/
private Double median;
/**
* Total count for such column
*/
private Long totalCount;
/**
* Distinct count (for categorical feature it is cardity) Missing count are not included
*/
private Long distinctCount;
/**
* Missing count, missing data are data in missingDataList
*/
private Long missingCount;
/**
* Number of valid numeric count
*/
private Long validNumCount;
/**
* Stand deviation
*/
private Double stdDev;
/**
* Missing percentage (missingCount/totalCount)
*/
private Double missingPercentage;
/**
* WOE value for such column
*/
private Double woe;
/**
* KS value
*/
private Double ks;
/**
* Information value
*/
private Double iv;
/**
* Weighted KS value
*/
private Double weightedKs;
/**
* Weighted IV value
*/
private Double weightedIv;
/**
* Weighted woe value
*/
private Double weightedWoe;
/**
* Skewness of such column
*/
private Double skewness;
/**
* Kurtosis of such column
*/
private Double kurtosis;
/**
* PSI value of such column
*/
private Double psi;
/**
* Unit stats information
*/
private List<String> unitStats;
/**
* @return the weightedKs
*/
public Double getWeightedKs() {
return weightedKs;
}
/**
* @param weightedKs
* the weightedKs to set
*/
public void setWeightedKs(Double weightedKs) {
this.weightedKs = weightedKs;
}
/**
* @return the weightedIv
*/
public Double getWeightedIv() {
return weightedIv;
}
/**
* @param weightedIv
* the weightedIv to set
*/
public void setWeightedIv(Double weightedIv) {
this.weightedIv = weightedIv;
}
public Double getMax() {
return max;
}
public void setMax(Double max) {
this.max = max;
}
public Double getMin() {
return min;
}
public void setMin(Double min) {
this.min = min;
}
public Double getMean() {
return mean;
}
public void setMean(Double mean) {
this.mean = mean;
}
public Double getStdDev() {
return stdDev;
}
public void setStdDev(Double stdDev) {
this.stdDev = stdDev;
}
public Double getKs() {
return ks;
}
public void setKs(Double ks) {
this.ks = ks;
}
public Double getIv() {
return iv;
}
public void setIv(Double iv) {
this.iv = iv;
}
public Double getMedian() {
return median;
}
public void setMedian(Double median) {
this.median = median;
}
public Long getTotalCount() {
return totalCount;
}
public void setTotalCount(Long totalCount) {
this.totalCount = totalCount;
}
public Long getMissingCount() {
return missingCount;
}
public void setMissingCount(Long missingCount) {
this.missingCount = missingCount;
}
public Double getMissingPercentage() {
return missingPercentage;
}
public void setMissingPercentage(Double missingPercentage) {
this.missingPercentage = missingPercentage;
}
/**
* @return the woe
*/
public Double getWoe() {
return woe;
}
/**
* @return the weightedWoe
*/
public Double getWeightedWoe() {
return weightedWoe;
}
/**
* @param woe
* the woe to set
*/
public void setWoe(Double woe) {
this.woe = woe;
}
/**
* @param weightedWoe
* the weightedWoe to set
*/
public void setWeightedWoe(Double weightedWoe) {
this.weightedWoe = weightedWoe;
}
/**
* @return the distinctCount
*/
public Long getDistinctCount() {
return distinctCount;
}
/**
* @param distinctCount
* the distinctCount to set
*/
public void setDistinctCount(Long distinctCount) {
this.distinctCount = distinctCount;
}
/**
* @return the skewness
*/
public Double getSkewness() {
return skewness;
}
/**
* @param skewness
* the skewness to set
*/
public void setSkewness(Double skewness) {
this.skewness = skewness;
}
/**
* @return the kurtosis
*/
public Double getKurtosis() {
return kurtosis;
}
/**
* @param kurtosis
* the kurtosis to set
*/
public void setKurtosis(Double kurtosis) {
this.kurtosis = kurtosis;
}
/**
* @return the PSI
*/
public Double getPsi() {
return psi;
}
/**
* @param psi
* the PSI to set
*/
public void setPsi(Double psi) {
this.psi = psi;
}
/**
* @return return List of unit stats
*/
public List<String> getUnitStats() {
return unitStats;
}
/**
*
* @param unitStats
* the unitStats
*/
public void setUnitStats(List<String> unitStats) {
this.unitStats = unitStats;
}
/**
* @return the validNumCount
*/
public Long getValidNumCount() {
return validNumCount;
}
/**
* @param validNumCount
* the validNumCount to set
*/
public void setValidNumCount(Long validNumCount) {
this.validNumCount = validNumCount;
}
}