task 1機械学習アルゴリズム(一):論理回帰に基づく分類予測

2407 ワード

ポイント:
ろんりかいふく
メモ:
デカルト積:二集合XとYのデカルト積(Cartesian product)で、直積とも呼ばれ、Xと表される× Y. 1番目のオブジェクトはXのメンバーであり、2番目のオブジェクトはYの可能なすべての整列ペアのメンバーである.
混同マトリクス:熱力図熱力図:
code:
1.散点図を描く:plt.scatter()
import matplotlib.pyplot as plt
plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, 
norm=None, vmin=None, vmax=None, alpha=None,
 linewidths=None, verts=None, edgecolors=None, *, 
 data=None, **kwargs)
  • パラメータ説明:x,y:実数または配列、すべての散在点のx,y値s:実数または配列、点の面積c:文字または配列、点の色、デフォルトは青‘b’marker:点の形状スタイル、デフォルトは'o’(ドット)norm:データ輝度を0-1の間に変換し、cが浮動小数点数の配列である場合にのみ使用します.デフォルトcolors.Normalize vmin、vmax:実数、normが存在する場合は無視します.輝度データの正規化alpha実数、0-1の間linewidths:実数または配列、点の長さ
  • 2.データセットの分割:
    from sklearn.model_selection import train_test_split
    x_train, x_test, y_train, y_test = train_test_split(iris_features_part, iris_target_part, test_size = 0.2, random_state = 2020)
    

    3.論理回帰モデルのインポート:
    from sklearn.linear_model import LogisticRegression
    ##           
    clf = LogisticRegression(random_state=0, solver='lbfgs')
    
  • LogisticRegression()
  • LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,
              intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,
              penalty='l2', random_state=0, solver='lbfgs', tol=0.0001,
              verbose=0, warm_start=False)
    

    4.トレーニングモデル:clf.fit()
    #              
    clf.fit(x_train, y_train)
    
  • 対応を見るw:
  • print(clf.coef_)
    
  • 対応するw 0を見る:
  • print(clf.intercept_)
    

    5.予測:clf.predict()
    ##                        
    train_predict = clf.predict(x_train)
    test_predict = clf.predict(x_test)
    

    6.予測精度:metrics.accuracy_score()
    ##             
    from sklearn import metrics
    print(metrics.accuracy_score(y_train,train_predict))
    print(metrics.accuracy_score(y_test,test_predict))
    

    7.混同行列:metrics.confusion_matrix()
    confusion_matrix_result = metrics.confusion_matrix(test_predict,y_test)
    

    8.熱力図の可視化:sns.heatmap()
    import seaborn as sns
    plt.figure(figsize=(8, 6))
    sns.heatmap(confusion_matrix_result, annot=True, cmap='Blues')
    plt.xlabel('Predicted labels')
    plt.ylabel('True labels')
    plt.show()