2023년 1월 29일 일요일

오렌지에서 Outliers는 이상값을 탐지하는 위젯입니다.

0. 오렌지3와 Rapidminer9 으로 이상값을 추출해 보았습니다.

1. 오렌지 캔바스는 아래와 같이 구성하였습니다.


2. 데이터는 이곳에서(wine) 다운로드 받습니다.

3. 원래의 데이터에 오렌지와 래피드마인드를 비교하기위해 ID열을 추가하였습니다. ID특성을 제거하기위하여 Select Columns Widget을 사용하였습니다.

4. 군집화를 위하여 K-Means Widget을 사용하였고, 파라메터는 아래와 같습니다.


5. Box Plot Widget으로 군집화 결과를 확인해보면 래피드마인드와 차이가 납니다.



6. Outliers widget의 파라메터는 아래와 같습니다. Method를 래피드마인드와 같이 Local Outrier Factor(LOF)로 하지 않은 이유를 결과를 최대한 유사하게 하기위해서 입니다.

7. Select by Data Index를 이용하여 이상값의 위치를 확인하였습니다.

8. 래피드마이너와 결과를 비교해봅니다. 2개가 빠집니다.


9. 참고로 래피드마이너의 포로세서구성을 보입니다.







2023년 1월 5일 목요일

ValueError: list.remove(x): x not in list

 파이썬을 하다가 이상한 현상이 있어 상당시간 허비하고 알게되었습니다.

from random import *
user = list(range(1,21))
shuffle(user)
second = sample(user, 4)
first = sample(second, 1)
print(first, second)
second.remove(first)
second.sort()
print('1등 당첨자 : {0}'.format(first))
print('2등 당첨자 : {0}'.format(second))

[3] [3, 5, 9, 12]

Traceback (most recent call last):

  File "/Users/gilson/eman.py", line 7, in <module>

    second.remove(first)

ValueError: list.remove(x): x not in list

구글에서 관련검색을 해봐도 적당한 답이 없네요.

결국 오류메시지 "x not in list"의 의미는 x 가 리스트가 아니어야 한다는 의미!

second.remove(first[0]) 라고 하고서야 원하는 결과를 얻게되었습니다.


2023년 1월 4일 수요일

Jupyter Qtconsole 설치 및 사용 팁 몇가지

 0. 설치

miniconda가 설치된 환경에서 터미널을 열고

% conda create -n jupyter

% conda activate jupyter

(jupyter)% conda install qtconsole

(jupyter)% jupyter qtconsole

위의 명령어를 순서되로 치면 jupyter라는 가상환경을 만들고, 그곳으로 들어가서,  jupyter가 qtconsole 환경에서 실행된다.( ipython 사용법은 이곳 참조 )

1. 가장기본적인 키 Enter가 3가지입니다. 그냥 엔터키는 현재 셀을 실행, 컨트롤 + 엔터는 줄바꿈만  일어납니다. 쉬프트 + 엔터는 셀 실행. ESC 키는 셀에서 빠져나오기.

2. 업키는 이전 셀(히스토리)을 불러옵니다. 

   홈키를 눌러 맨압으로 이동. 

   %%writefile + 파일명 + 엔터한후 쉬프트+엔터하면 파일로 저장됩니다.

   %은 magic키로 여러 종류가 있으니 %magic하여 살펴보세요.

    cat, cp, mv, rm, rmdir, mkdir, ls, echo, cd, clear, conda, pip, reset

3. 환경설정

(jupyter)% jupyter qtconsole --help-all 하면 관련 옵션을 볼 수 있으며

(jupyter)% jupyter qtconsole --generate-config 하면 환경을 새로 생성합니다.

(jupyter)% jupyter qtconsole 한후

In [6] load ~/.jupyter/jupyter_qtconsole_config.py

편집기로 불러 아래와 같이 콘솔의 가로 크기와 폰트 크기를 키워줌

%edit exam01.py 하면 VSCode 에서 편집할 수 있도록 아래와 같이 수정함.

c.JupyterWidget.editor = 'code'

c.ConsoleWidget.console_width = 121
# c.ConsoleWidget.font_family = ''
## The font size. If unconfigured, Qt will be entrusted
# with the size of the font.
# Default: 0
c.ConsoleWidget.font_size = 14

저장은 아래와 같이 한 후 쉬프트+엔터 하면됩니다.


가로크기와 폰트가 커졌음을 확인합니다.

외부파일 편집은 %edit ~/.jupyter/jupyter_qtconsole_config.py 형식으로 하면됩니다.


tensorflow gpu 사용하기에서

 tensorflow 설치시 주의해야 한다. # Anything above 2.10 is not supported on the GPU on Windows Native python - m pip install "tensorflow<2.11...