AliPy:一個小的使用案例

import numpy as np

from sklearn.datasets import load_iris
from alipy import ToolBox

X,y = load_iris(return_X_y=True)

alibox = ToolBox(X=X,y=y,query_type='AllLabels',saving_path=r'D:\AliPy\001')

alibox.split_AL(test_ratio=0.3,initial_label_rate=0.1,split_count=10)



model = alibox.get_default_model()

# stopping_criterion = alibox.get_stopping_criterion('num_of_queries',50)

train_idx, test_idx, label_ind, unlab_ind = alibox.get_split(1)
print(len(label_ind))

AccList = []

model.fit(X=X[label_ind.index, :], y=y[label_ind.index])
pred = model.predict(X[test_idx, :])
accuracy = alibox.calc_performance_metric(y_true=y[test_idx],
                                          y_pred=pred,
                                          performance_metric='accuracy_score')
AccList.append(accuracy)

UNC = alibox.get_query_strategy(strategy_name="QueryInstanceUncertainty")
for i in range(50):
    select_ind = UNC.select(label_index=label_ind,unlabel_index= unlab_ind,batch_size=1)
    label_ind.update(select_ind)
    unlab_ind.difference_update(select_ind)
    model.fit(X=X[label_ind.index, :], y=y[label_ind.index])
    pred = model.predict(X[test_idx, :])
    accuracy = alibox.calc_performance_metric(y_true=y[test_idx],
                                              y_pred=pred,
                                              performance_metric='accuracy_score')
    AccList.append(accuracy)

print(AccList)

出現N多個FutureWarming,不知道是否影響結果。

Thinks for AliPy!

Welcome to ALiPy:http://parnec.nuaa.edu.cn/huangsj/alipy/index.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章