ex8-1
import pandas as pd
import numpy as np
df = pd.read_csv(
'data/earthquake.csv'
)# print(df.head())
# 將深度分為七個等級:[0,5,10,15,20,30,50,np.inf],請以深度等級ⅰ,ⅱ,ⅲ,ⅳ,ⅴ,ⅵ,ⅶ為索引並按照由淺到深的順序進行排序
df_a = df.copy(
)df_a[
'深度'
]= pd.cut(df_a[
'深度'],
[-1e-
10,5,
10,15,
20,30,
50,np.inf]
,labels=
['ⅰ'
,'ⅱ'
,'ⅲ'
,'ⅳ'
,'ⅴ'
,'ⅵ'
,'ⅶ'])
(df_a.set_index(
'深度'
).sort_index(
).head())
# 將烈度分為4個等級:[0,3,4,5,np.inf],依次對南部地區的深度和烈度等級建立多級索引排序
df_a[
'烈度'
]= pd.cut(df_a[
'烈度'],
[-1e-
10,3,
4,5,np.inf]
,labels=
['ⅰ'
,'ⅱ'
,'ⅲ'
,'ⅳ'])
(df_a.set_index(
['深度'
,'烈度'])
.sort_index(
).head(
))
ex8-2
import pandas as pd
import numpy as np
foo = pd.categorical(
['a'
,'b'
], categories=
['a'
,'b'
,'c'])
bar = pd.categorical(
['d'
,'e'
], categories=
['d'
,'e'
,'f'])
(pd.crosstab(foo, bar)
)def
my_crosstab
(foo,bar)
: num =
len(foo)
s1 = pd.series(
[i for i in
list
(foo.categories.union(
set(foo)))
],name=
'1nd var'
) s2 =
[i for i in
list
(bar.categories.union(
set(bar)))
] df = pd.dataframe(
,index=s1)
for i in
range
(num)
: df.at[foo[i]
,bar[i]]+=
1return df.rename_axis(
'2st var'
,axis=1)
(my_crosstab(foo,bar)
)
Task03 分類資料
分類變數的建立 pd.series a b c a dtype category 用series建立 對dataframe指定型別建立 利用內建categorical型別建立 利用cut函式建立 pd.cut np.random.randint 0,60,5 0,10,30,60 預設使用區間型別為...
二分類 多分類
怎麼樣把兩類的分類的模型推廣到多類上?答 a.一對多法 one versus rest,簡稱ovr svms 訓練時依次把某個類別的樣本歸為一類,其他剩餘的樣本歸為另一類,這樣k個類別的樣本就構造出了k個svm。分類時將未知樣本分類為具有最大分類函式值的那類。b.一對一法 one versus on...
1 8 分類問題
輸出變數y為離散的有限的值時,問題稱為分類問題。學習得到的分類模型或者決策函式稱為分類器。分類器效能評估的指標 準確率 accuracy 分類正確佔總樣本的比值,也可看著是0 1損失函式在測試集上的準確率 一般二分類問題多,評價指標主要是精確率,召回率,準確率 在測試集上 tp 正類被 為正類的數量...