将分类数据转换为数字并保存为 libsvm 格式 python
turn categorical data to numeric and save to libsvm format python
我有一个看起来像这样的 DataFrame:
A B C D
1 String1 String2 String3 String4
2 String2 String3 String4 String5
3 String3 String4 String5 String6
.........................................
我的目标是将此 DataFrame 转换为 libSVM 格式。
到目前为止我尝试过的是:
dummy= pd.get_dummies(dataframe)
dummy.to_csv('dataframe.csv', header=False, index=False)
有没有办法将数据框或 csv 文件转换为这种格式。或者有没有更聪明的方法来进行转换?
我尝试从该存储库加载旨在执行 this 的脚本,如下所示:
%load libsvm2csv.py
并且脚本加载正确,但是当我 运行:
libsvm2csv.py dataframe.csv dataframe.data 0 True
或
libsvm2csv.py dataframe.csv dataframe.txt 0 True
我得到 "SyntaxError: invalid syntax"
指向 dataframe.csv
预处理数据后,您可以提取矩阵并使用 scikit-learns dump_svmlight_file 创建此格式。
示例代码:
import pandas as pd
from sklearn.datasets import dump_svmlight_file
dummy = pd.get_dummies(dataframe)
mat = dummy.as_matrix()
dump_svmlight_file(mat, y, 'svm-output.libsvm') # where is your y?
备注/备选:
你提到 libsvm2csv.py 来做这个转换,但它只是方向错误。它是 libsvm-format -> csv.
如果您想从 cvs -> libsvm(没有 scikit-learn)转换,请检查 phraugs csv2libsvm.py。
我更喜欢使用 scikit-learn(与 phraug 相比)
我有一个看起来像这样的 DataFrame:
A B C D
1 String1 String2 String3 String4
2 String2 String3 String4 String5
3 String3 String4 String5 String6
.........................................
我的目标是将此 DataFrame 转换为 libSVM 格式。
到目前为止我尝试过的是:
dummy= pd.get_dummies(dataframe)
dummy.to_csv('dataframe.csv', header=False, index=False)
有没有办法将数据框或 csv 文件转换为这种格式。或者有没有更聪明的方法来进行转换?
我尝试从该存储库加载旨在执行 this 的脚本,如下所示:
%load libsvm2csv.py
并且脚本加载正确,但是当我 运行:
libsvm2csv.py dataframe.csv dataframe.data 0 True
或
libsvm2csv.py dataframe.csv dataframe.txt 0 True
我得到 "SyntaxError: invalid syntax"
指向 dataframe.csv
预处理数据后,您可以提取矩阵并使用 scikit-learns dump_svmlight_file 创建此格式。
示例代码:
import pandas as pd
from sklearn.datasets import dump_svmlight_file
dummy = pd.get_dummies(dataframe)
mat = dummy.as_matrix()
dump_svmlight_file(mat, y, 'svm-output.libsvm') # where is your y?
备注/备选:
你提到 libsvm2csv.py 来做这个转换,但它只是方向错误。它是 libsvm-format -> csv.
如果您想从 cvs -> libsvm(没有 scikit-learn)转换,请检查 phraugs csv2libsvm.py。
我更喜欢使用 scikit-learn(与 phraug 相比)