我正在尝试使用示例数据帧:
data = [['Alex','USA',0],['Bob','India',1],['Clarke','SriLanka',0]]
df = pd.DataFrame(data,columns=['Name','Country','Traget'])
Run Code Online (Sandbox Code Playgroud)
现在,我使用 get_dummies 将字符串列转换为整数:
column_names=['Name','Country']
one_hot = pd.get_dummies(df[column_names])
Run Code Online (Sandbox Code Playgroud)
转换后的列是: Age,Name_Alex,Name_Bob,Name_Clarke,Country_India,Country_SriLanka,Country_USA
x=df[["Name_Alex","Name_Bob","Name_Clarke","Country_India","Country_SriLanka","Country_USA"]].values
y=df['Age'].values
Run Code Online (Sandbox Code Playgroud)
from sklearn.cross_validation import train_test_split
x_train,x_test,y_train,y_test=train_test_split(x,y,train_size=float(0.5),random_state=0)
Run Code Online (Sandbox Code Playgroud)
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
logreg.fit(x_train, y_train)
Run Code Online (Sandbox Code Playgroud)
现在,模型被训练。
对于预测,假设我想通过给出“名称”和“国家”来预测“目标”。
像:[“亚历克斯”,“美国”]。
如果我使用这个:
logreg.predict([["Alex","USA"]).
Run Code Online (Sandbox Code Playgroud)
显然它不会工作。