Ich verwende LogisticRegression, um das Titanic-Problem von kaggle.com zu modellieren. Ich möchte mehrere Variablen wie Alter, Geschlecht usw. verwenden, um meine Sigmoidfunktion zu modellieren. Das gleiche Verfahren funktioniert mit nur 1 Variable wie Sex, wenn verwendet, in Ordnung, aber es gibt die folgenden Fehler, wenn für mit mehreren Variablen verwendetenÜbergabe des Feature-Vektors an die logistische Regressionsfunktion von sklearn
TypeError: float() argument must be a string or a number, not 'method'
Meine Vermutung ist, dass ich nicht die reshape Methode richtig verwenden. PS: Ich bin ein Anfänger in Python und Sklearn-Bibliothek. Bitte geh einfach zu mir.
import pandas as pd
from sklearn.linear_model import LogisticRegression
import numpy as np
df = pd.read_csv(r'C:\Users\abhi\Downloads\train.csv')
df.Age = df.Age.fillna(df.Age.mean)
df.Embarked = df.Embarked.fillna(df.Embarked.median)
x1 = df.Pclass
x2 = df.Sex
for i in range(len(x2)):
if x2[i]=='male':
x2[i]=1
else:
x2[i]=0
#female,male 0,1
x3 = df.Age
x4 = df.SibSp
x5 = df.Parch
x6 = df.Ticket
x7 = df.Fare
x9 = df.Embarked
for i in range(len(x9)):
if x9[i]=='C':
x9[i]=0
elif x9[i]=='Q':
x9[i]=1
else :x9[i]=2
# C,Q,S = 0,1,2
# Creating a feature vector of multiple vectors
i2 = pd.DataFrame()
i2['Pclass'] = x1
i2['Sex'] = x2
i2['Age'] = x3
i2['SibSp'] = x4
i2['Parch'] = x5
i2['Fare'] = x7
i2['Embarked'] = x9
i2 = np.array(i2)
i2 = i2.reshape(-1,1)
ytrain = df.Survived
ytrain = np.array(ytrain)
ytrain = ytrain.reshape(-1,1)
c1 = LogisticRegression(penalty='l2',solver='liblinear')
c1.fit(i2,ytrain,sample_weight=None)
c1.score(i2,ytrain,sample_weight=None)
Sie konnten einen Blick auf http://hamelg.blogspot.in/2015/11/python-for-data-analysis-part-28.html –