今天用python實現了一個Logistic迴歸的小例子。
import pandas as pd
from sklearn.linear_model import LogisticRegression,RandomizedLogisticRegression
from sklearn.cross_validation import train_test_split
data = pd.read_csv("http://cdn.powerxing.com/files/lr-binary.csv")
data.columns=['admit','gre','gpa','prestige']
ranks = pd.get_dummies(data['prestige'], prefix='prestige')
data=data.drop('prestige',1)
data = data.join(ranks.ix[:, 'prestige_2':])
x_train,x_test,y_train,y_test=train_test_split(data.ix[:,1:],data.ix[:,0],test_size=.1,random_state=530)
lr=LogisticRegression()
lr.fit(x_train,y_train)
#print(x_test)
print(lr.predict(x_test))
首先是把初始數據表中的屬性重新命名,prestige所對應的爲等級或者說優先級,沒有大小的含義,需要進行虛擬化。
我把樣本的的10%用來做測試集,其他爲訓練集。
最終的結果如下:
其中1就代表的錄取,0就表示捨棄。