Ich bin neu zu lernen und Sklearn zum ersten Mal zu lernen. Ich habe zwei Datenrahmen, einen mit Daten zum Trainieren eines logistischen Regressionsmodells (mit 10-facher Kreuzvalidierung) und einen anderen zum Vorhersagen von Klassen ("0,1") unter Verwendung dieses Modells. Hier ist mein Code so weit Bits-Tutorials mich auf Sklearn docs und im Web gefunden:Logistische Regression sklearn - Zug und Anwendung Modell
import pandas as pd
import numpy as np
import sklearn
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import KFold
from sklearn.preprocessing import normalize
from sklearn.preprocessing import scale
from sklearn.model_selection import cross_val_score
from sklearn.model_selection import cross_val_predict
from sklearn import metrics
# Import dataframe with training data
df = pd.read_csv('summary_44.csv')
cols = df.columns.drop('num_class') # Data to use (num_class is the column with the classes)
# Import dataframe with data to predict
df_pred = pd.read_csv('new_predictions.csv')
# Scores
df_data = df.ix[:,:-1].values
# Target
df_target = df.ix[:,-1].values
# Values to predict
df_test = df_pred.ix[:,:-1].values
# Scores' names
df_data_names = cols.values
# Scaling
X, X_pred, y = scale(df_data), scale(df_test), df_target
# Define number of folds
kf = KFold(n_splits=10)
kf.get_n_splits(X) # returns the number of splitting iterations in the cross-validator
# Logistic regression normalizing variables
LogReg = LogisticRegression()
# 10-fold cross-validation
scores = [LogReg.fit(X[train], y[train]).score(X[test], y[test]) for train, test in kf.split(X)]
print scores
# Predict new
novel = LogReg.predict(X_pred)
Ist dies der richtige Weg, um eine logistische Regression zu implementieren? Ich weiß, dass die fit() - Methode nach der Kreuzvalidierung verwendet werden sollte, um das Modell zu trainieren und es für Vorhersagen zu verwenden. Da ich jedoch fit() innerhalb eines Listenverständnisses aufgerufen habe, weiß ich wirklich nicht, ob mein Modell "angepasst" war und kann verwendet werden, um Vorhersagen zu treffen.
Post einige Daten. df und df_data ausgeben – skrubber