我正在使用sklearn https://scikit-learn.org/stable/modules/generated/sklearn.compose.ColumnTransformer.html的柱式变压器
我认为这是管理不同缩放器的好工具。使生活更加轻松。但是,我不确定是否有一种方法可以进行分类值,因为我需要首先使用标签编码器,然后再对整数进行热编码。有什么对我有用的吗?我宁愿将所有缩放比例都放在一个列转换器中。它更容易管理。
答案 0 :(得分:1)
sklearn.preprocessing.OneHotEncoder
可以处理分类值,而无需将其预处理为import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class CreateExcel {
public static void main(String[] args)
{
//Blank workbook
XSSFWorkbook workbook = new XSSFWorkbook();
}
}
s:
int
输出:
from sklearn.preprocessing import OneHotEncoder
df = pd.DataFrame({'col1': ['a', 'b', 'c']})
ohe = OneHotEncoder(sparse=False)
ohe.fit_transform(df['col1'].values.reshape(-1, 1))
答案 1 :(得分:0)
一种选择是使用pd.get_dummies(...)
中的pandas
:
In [10]: df = pd.DataFrame({'a': ['A', 'B', 'C']*3})
In [11]: df
Out[11]:
a
0 A
1 B
2 C
3 A
4 B
5 C
6 A
7 B
8 C
In [12]: pd.concat([df, pd.get_dummies(df['a'], prefix='a')], axis=1)
Out[12]:
a a_A a_B a_C
0 A 1 0 0
1 B 0 1 0
2 C 0 0 1
3 A 1 0 0
4 B 0 1 0
5 C 0 0 1
6 A 1 0 0
7 B 0 1 0
8 C 0 0 1