0
私はPythonで予測モデルを作成し、いくつかの異なる回帰モデルを相互検証を通じて比較しようとしています。Rの順序ロジスティック回帰をクロスバリデーションする(rpy2を使用)
from rpy2.robjects.packages import importr
import rpy2.robjects as ro
df = pd.DataFrame()
df = df.append(pd.DataFrame({"y":25,"X":7},index=[0]))
df = df.append(pd.DataFrame({"y":50,"X":22},index=[0]))
df = df.append(pd.DataFrame({"y":25,"X":15},index=[0]))
df = df.append(pd.DataFrame({"y":75,"X":27},index=[0]))
df = df.append(pd.DataFrame({"y":25,"X":12},index=[0]))
df = df.append(pd.DataFrame({"y":25,"X":13},index=[0]))
# Loads R packages.
base = importr('base')
mass = importr('MASS')
# Converts df to an R dataframe.
from rpy2.robjects import pandas2ri
pandas2ri.activate()
ro.globalenv["rdf"] = pandas2ri.py2ri(df)
# Makes R recognise y as a factor.
ro.r("""rdf$y <- as.factor(rdf$y)""")
# Fits regression.
formula = "y ~ X"
ordlog = mass.polr(formula, data=base.as_symbol("rdf"))
ro.globalenv["ordlog"] = ordlog
print(base.summary(ordlog))
をこれまでのところ、私は主にsklearn.cross_validation.test_train_split
を使用して、私のモデルを比較し、sklearn.metrics.accuracy_score
、番号を得てきた:序ロジスティックモデル(MASS.polr
)をフィットさせるために、私は次のようにrpy2
を通じてRとインターフェースするために持っていましたテストセット値を予測する際のトレーニングセットモデルの精度を表す0から1までの値を含む。
rpy2
とMASS.polr
を使用してこのテストをどのように複製できますか?