기본 콘텐츠로 건너뛰기

Python Sklearn datasets

from sklearn.datasets import make_classification

make_classification
x, y = make_classification(n_samples=100, n_features=5, noise=30, random_state=12) # random_state : 무작위 씨앗

x.shape # (100, 5) : 100행, 5열
y.shape # (100,) : 100행

make_regression
X, y = make_regression(n_samples=100, n_features=1, noise=30, random_state=1)

예제
with open('make_regression.csv','wt') as fout:
    for i in range(0,100):
        fout.write(f'{X[i][0]},{y[i]}\n')
df = pd.read_csv('make_regression.csv', header=None, names=['x','y'])

# x좌표 이상치
desc = df['x'].describe()
Q3 = desc['75%']
Q1 = desc['25%']
IQR = Q3 - Q1
max_lim = Q3 + IQR*1.5
min_lim = Q1 - IQR*1.5
display(f'max_lim: {max_lim}, min_lim: {min_lim}') # 'max_lim: 2.4779299273538546, min_lim: -2.32235040430704'

# y좌표 이상치
desc = df['y'].describe()
Q3 = desc['75%']
Q1 = desc['25%']
IQR = Q3 - Q1
max_lim = Q3 + IQR*1.5
min_lim = Q1 - IQR*1.5
display(f'max_lim: {max_lim}, min_lim: {min_lim}') # 'max_lim: 210.28350648185912, min_lim: -182.9504851764799'

# 이상치 검출
display((sum(df['x'] > max_lim), sum(df['x'] < min_lim))) # (0, 0)
#display(df[df['x'] > max_lim])
#display(df[df['x'] < min_lim])
display((sum(df['y'] > max_lim), sum(df['y'] < min_lim))) # (0, 2)
#display(df[df['y'] > max_lim])
display(df[df['y'] < min_lim])
xy
38-2.301539-195.983233
89-2.022201-218.352180
xy
81-2.060141-189.648236

# 이상치 제거
df.drop(index=[38,89], inplace=True)
df.drop(index=[81],inplace=True)

# df 확인
display(df)
xy
0-0.611756-58.620300
1-0.249370-5.929571
20.48851814.421835
30.762011120.893034
41.519817155.173734
.........
95-0.298093-23.910414
961.659802131.147185
970.04359729.152012
980.04221474.963268
99-0.191836-31.717486

97 rows × 2 columns


# boxplot 출력
plt.boxplot(df['x'])
plt.title('X 데이터 이상치 확인')
plt.show()













plt.boxplot(df['y'])
plt.title('X 데이터 이상치 확인')
plt.show()














make_blobs
from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=300, n_features=2, centers=3, random_state=3)
# centers : 3 군데로 나뉘어 군집을 형성

예제
pd.DataFrame(list(zip(xy[:,0],xy[:,1],y)),columns=['x','y','label']).to_csv()

df = pd.read_csv('my_classification_dataset.csv')
display(df)
'''
xylabel
06.9690506.3449162
18.8664816.5642062
20.8185435.9376010
3-4.338424-2.0556921
48.1534717.2727242
............
2956.3756228.0637782
2962.5021064.3996730
2979.4880519.3693542
298-3.4129401.5827951
299-1.3700270.4685471

'''

plt.scatter(df['x'],df['y'],c=df['label'])
plt.show()
'''













'''

이 블로그의 인기 게시물

Python 인공신경망 추천 시스템(회귀)

예제 # 인공신경망을 이용한 추천 시스템 # - 순차형(Sequential) 신경망 생성법 # - 함수형(Functional) 신경망 생성법 # - 지금까지 나온 추천 방식 중에서 가장 좋은 성능 # - Regression 방식으로 분석가능 # - 영화의 평점 정보(userid, movieid, rating) # - 이용자는 영화에 대한 취향이 모두 다르다 # - 영화는 다양한 장르가 혼합되어 있다 # - 이용자는 자신의 취향에 맞는 영화에 높은 rating을 제시함 # - 어떤 이용자에게 어떤 장르의 영화를 추천할 것인가? # __call__() 함수를 가진 클래스는 파이썬 함수 callable(클래스)를 사용하면 True를 반환한다 from tensorflow.keras.models import Sequential, Model from tensorflow.keras.layers import Dense, Embedding, Input input = Input(shape=(1,)) # 함수형 신경망 생성법 hidden1 = Dense(2, activation='relu')(input) # Dense(2, activation='relu')__call__() hidden2 = Dense(2, activation='relu')(hidden1) # callable.object callable(Dense) # __call__ 함수가 있으면 True, 없으면 False # Using Functional API from keras.models import Sequential from keras.layers import * model = Sequential() model.add(Input(shape=(3,))) # Input tensor model.add(Dense(4)) # hidden layer 1 model.add(Dense(units=4)) # hidden layer 2 model.add(Dense(units=1)) # ou...

Blogger

코드 하이라이트 사이트 http://hilite.me/ 코드 <!-- 나만의 공간 --> <style id='daru_css' type='text/css'> .code {      overflow: auto;      height: 200px;      background-color: rgb(239,239,239);      border-radius: 10px;      padding: 5px 10px; } .code::-webkit-scrollbar-thumb {      background-color: grey;      border: 1px solid transparent;      border-radius: 10px;      background-clip: padding-box;   } .code::-webkit-scrollbar {      width: 15px; } </style> <!-- 나만의 공간 -->

Javascript on 함수

엔터키 감지하기 <input type="password" onkeypress="func(event)" /> function func(event) {      if(event.keyCode == 13) { // keyCode 13은 엔터이다           alert("엔터를 입력했습니다.");     }     if (event.tartget.value == 13) {          alert("엔터를 입력했습니다.");     } }