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