数据处理
-
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))
获得分类结果报告