2022년 12월 28일 수요일

오렌지(orange)에서 python script 이용 seaborn 사용하기 예제

0. conda를 이용하여 orange를 설치하였다면 seaborn을 사용할 수 있습니다.

1. Orange의 Canvas를 아래와 같이 배치하고 Python Script를 선택하고 아래내용을 입력합니다.


2. Script 내용

import pandas as pd
from Orange.data.pandas_compat import table_from_frame
import matplotlib.pyplot as plt
import seaborn as sns
penguins = sns.load_dataset("penguins")
out_data = table_from_frame(penguins)
sns.relplot(x="bill_length_mm", y="body_mass_g", hue="species", data=penguins)
plt.show()

2.1 import seaborn as sns 에서 Package Error 가 나면

  터미널에서 conda install seaborn하여 package를 설치하면 됩니다.


3.  Script를 실행하면 아래와 같은 결과를 확인 할 수 있습니다.

4. Data table Widget을 선택하여 그림1과 같은 결과를 확인합니다.

5. 역시 아래와 같이 약간 복잡한 그래프를 그릴 수도 있습니다.

sns.relplot(x="bill_length_mm", y="body_mass_g", hue="species", col="island", data=penguins)





2022년 12월 14일 수요일

sklearn 설치

 Scikit Learn을 사용할 때 sklearn 이라는 이름을 사용하기 때문에 사용자 또한 conda install sklearn 으로 명령을 입력하는 경우가 많다. 

하지만 특이하게 Scikit Learn은 설치할 때 사용하는 명칭과 불러올 때 사용하는 명칭이 다르다. 

설치는 conda install scikit-learn 으로 해주어야 한다.

업데이트는 conda install scikit-learn -user -upgrade

지정버전 설치는 conda install scikit-learn=1.0 -user

버전확인은

python 으로 들어간 다음 

import sklearn

sklearn.__version__



2022년 12월 13일 화요일

윈도우(windows)환경 오렌지(orange3) 3.34 버전에서 Text Add-one 설치가 안되는 경우

 0. 오렌지(orange)가 3.34로 업그레이드 되고 나서는 Text Add-one이 아래와 같이 설치가 안됩니다.


1. miniconda를 사용하고 있는 환경에서는 conda install orange3-text하고나면



2. 가상환경을 python=3.8로 만들면 해결

conda create -n orange python=3.8





2022년 12월 8일 목요일

오렌지(orange)에서 판다스(pandas) 날자데이터 변환

 0. 유튜브에 있는 kaggle의 바이크 쉐어링 디멘드를 오렌지로 따라하다가 datetime 형식을 year month day hour 로 별도 컬럼으로 생성하다가 어려움에 처했는데 Python Script로 해결하였습니다.

1. 혹시 다른분들에게 도움이 될수 있을가하여 정리하였습니다.

2. 위에 있는 링크를 따라가서 train.csv 데이터를 받아왔습니다. 오렌지를 열고 아래와 같이 위젯을 배치합니다.


3. File 위젯을 선택하여 다운 받은 trans.csv를 읽어들입니다.


   datetime 의 type이 datetime 임을 확인합니다.

4. 파이썬스크립트를 열고 아래의 내용을 복사하여 붙여넣기 하고 실행합니다(RUN)

import pandas as pd
from Orange.data.pandas_compat import table_from_frame, table_to_frame
df = table_to_frame(in_data)

df['Year'] = df['datetime'].dt.year
df['month'] = df['datetime'].dt.month
df['day'] = df['datetime'].dt.day

out_data = table_from_frame(df)

5. Data Table(2) 위젯을 선택하여 Year month day 컬럼이 정상으로 형성되었슴을 확인합니다.


6. Edit Domain 위젯을 선택하여 Year, month, day의 type을 Catagorical로 바꾸어 줍니다.


7. Pivot Table 위젯을 섵택하여 연도별 월별 데이터로 카운트를 변환합니다.


8. Line Plot 위젯을 선택하여 2011년과 2012년의 카운트를 확인합니다. 겨울철에는 확실히 줄어드었네요. 또한 2012년은 2011년에 바하여 일정한 크기로 증가했습니다. 또 확인 할 수 있는 것은 2012년7월은 그래프가 꺽어졌네요. 아마 너무 더워서였을 것이라는 생각입니다.


9. 오렌지에서 데이터 전처리는 Python Script 에서 table_to_frame()로 불러온다음  판다스(Pandas)를 이용하여 처리하고  table_from_frame()으로 내보내면 됩니다. 에전에는 Orange.data.pandas_compat 를 사용하였는데 Pandas를 import하여 처리하고 입출력만 

from Orange.data.pandas_compat import table_from_frame, table_to_frame

을 이용하는 것으로 바꾸었습니다,

Orange.data.pandas_compat 에서는 dt.year 변환이 되지 않아요.

델파이 12.1이냐 11.3이냐?

 델파이가 12.1이 나왔습니다. 혹시 11.3버전의 커뮤니티버전이 필요하시는분이 있을 수 있을 것 같아 https://altd.embarcadero.com/.../RADStudio_11_3_esd_28... 와 이것 찾느랴 엄청고생함.