乙個簡單的線性分類器
#coding=utf-8
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
#線性分類的一種演算法
from sklearn.linear_model import logisticregression
#讀入訓練集和測試集,csv類似於excel
df_train = pd.read_csv("breast-cancer-train.csv")
df_test = pd.read_csv("breast-cancer-train.csv")
#選出正樣本集,負樣本集,特徵是type值不同而已為它們加上屬性,格式為屬性,去掉type
df_test_negative = df_test.loc[df_test['type']==0][['clump thickness', 'cell size']]
df_test_positive = df_test.loc[df_test['type']==1][['clump thickness', 'cell size']]
lr = logisticregression()
#選出10個樣本進行訓練
lr.fit(df_train[['clump thickness', 'cell size']][:10], df_train['type'][:10])
#輸出訓練結果(正確率)
print("testing accuracy (10 training samples):",
lr.score(df_test[['clump thickness', 'cell size']], df_test['type']))
#繪圖plt.scatter(df_test_negative['clump thickness'],
df_test_negative['cell size'],
marker='o',
s=200,
c='red')
plt.scatter(df_test_positive['clump thickness'],
df_test_positive['cell size'],
marker='o',
s=150,
c='black')
plt.xlabel('clump thickness')
plt.ylabel('cell size')
#畫出直線
intercept = lr.intercept_
coef = lr.coef_[0, :]
lx = np.arange(0, 12)
ly = (-intercept-lx*coef[0])/coef[1]
plt.plot(lx, ly, c="yellow")
plt.show()
線性分類器和非線性分類器
線性和非線性的區別 1.線性linear,指量與量之間按比例 成直線的關係,在數學上可以理解為一階導數為常數的函式 非線性non linear則指不按比例 不成直線的關係,一階導數不為常數。2.線性的可以認為是1次曲線,比如y ax b 即成一條直線 非線性的可以認為是2次以上的曲線,比如y ax ...
線性分類器
softmax回歸是多分類,其他都是二分類 f x w,b w tx b y in r g f x w begin 1 if f x w 0 0 if f x w 0 end y x in mathbb d y in g f x w begin 1 if f x w 0 0 if f x w 0 e...
線性分類器分類準則
以下 屬於線性分類器最佳準則?機器學習 ml模型 易 a.感知準則函式 b.貝葉斯分類 c.支援向量機 d.fisher準則 正確答案 acd 線性分類器有三大類 感知器準則函式 svm fisher準則,而貝葉斯分類器不是線性分類器。感知準則函式 準則函式以使錯分類樣本到分介面距離之和最小為原則。...