数据处理
-
pandas.read_csv('filename')读入逗号分割的csv文件 -
data.[column] = data.[column].astype(int/bool)将column转成对应类型 -
y, X = dmatrices(‘[predict column]~[col1]+[col2]+...+[C(col10)], data,return_type=’dataframe‘)将读入的数据表转成可以进行Logistic Regression的格式,其中C(col10)表示这一列原来是离散变量,现在分解成若干哑变量 -
X = X.rename(columns = {'original name': 'new name'})改变列名称 -
X.columns显示所有列的名称 -
y = numpy.ravel(y)将y转换成一维array -
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.3, random _state = 0)随机将X, y分成7:3的训练 + 测试集合
生成Summary
-
y.mean()计算平均值 -
q = pandas.crosstab(data.[column1, column2])生成二维计数统计 -
q.div(q.sum(1), axis =0)将每一行求和,每个数除以这一行的和,得到比例 -
X.[column].hist()得到列统计图
画图
-
%matplotlib inline在notebook里生成图像 -
matplotlib.pyplot.title('title')设置图片标题 -
matplotlib.pyplot.xlabel('label')设置x轴名称 -
matplotlib.pyplot.ylabel('label')设置y轴名称 -
matplotlib.pyplot.show()显示画图 -
pandas.crosstab(data.[column 1], data.[column 2]).plot(kind = ‘bar’)生成二维计数统计柱状图
训练模型
-
model = LogisticRegression建立LogRegression模型 -
model.fit(X, y)在训练集(X, y)上训练
使用模型
-
model.predict(xtest)在测试集上用模型得到分类结果 -
model.predict_proba(xtest)在测试集上用模型得到分类预测的概率 -
model.predict_proba([[1, 0.3, ...]])预测一个输入的分类概率
得到分类指标
-
sklearn.metrics.accuracy_score(ytest, model.predict(xtest))获得准确率 -
sklearn.metrics.confusion_matrix(ytest, model.predict(xtest))获得混淆矩阵 -
sklearn.metrics.classification_report(ytest, model.predict(xtest))获得分类结果报告