ロジスティック回帰

[ロジスティック回帰]は、類似度を確立によって表現する
→ ”ユークリッド距離”、”コサイン類似度”に比べて、より踏み込んだ情報を得ることが可能
→ 確率pで1、確率1-pで0を取るような離散確率分布ベルヌーイ分布を元に、確率的に1か0の値を取るものと考える

公式
ある入力xを、出力y={1,0}のいずれかに分類することを考え、y=1となる条件付き確率p(y=1|x;θ)を以下のように定義する
p(y=1|x;θ) = 1 / (1 + exp(-θ^Tx)

※p(θ)= 1/(1*exp(-θ)) はロジスティック関数

from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import StratifiedKFold
from sklearn.model_selection import cross_validate

def main():
	dataset = datasets.load_breast_cancer()
	X, y = dataset.data, dataset.target

	clf = LogisticRegression()
	skf = StratifiedKFold(shuffle=True)
	scoring = {
		'acc' : 'accuracy',
		'auc': 'roc_auc',
	}
	scores = cross_validate(clf, X, y, cv=skf, scoring=scoring)

	print('Accuracy(mean):', scores['test_acc'].mean())
	print('AUC(mean):', scores['test_auc'].mean())

if __name__ == '__main__':
	main()

Accuracy(mean): 0.9490299823633156
AUC(mean): 0.992996071668104