기본 콘텐츠로 건너뛰기

Python Sklearn load_iris

from sklearn.datasets import load_iris

예제
# iris 데이터를 로드하여 결측치, 이상치를 검사하고 이상치가
# 있다면 각 품종별 평균값으로 대치해보세요
# 위의 검사를 마치고 품종별로 색상을 적용해 산정도를 그려보세요
# 산정도에는 3개의 변수만 사용할 수 있으므로 상관계수를 확인하여
# 높은 변수를 사용하여 차트를 그려보세요
# 산정도가 정상적으로 표시되면 그 데이터를 csv 파일에 저장해보세요
# sample_iris.csv

iris = load_iris()
sample_iris = pd.DataFrame(iris.data,columns=iris.feature_names)

# 결측치 검사
sample_iris.is_null()
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)target
0FalseFalseFalseFalseFalse
1FalseFalseFalseFalseFalse
2FalseFalseFalseFalseFalse
3FalseFalseFalseFalseFalse
4FalseFalseFalseFalseFalse
..................
145FalseFalseFalseFalseFalse
146FalseFalseFalseFalseFalse
147FalseFalseFalseFalseFalse
148FalseFalseFalseFalseFalse
149FalseFalseFalseFalseFalse

# 이상치 시각화
plt.boxplot(df)














# 이상치 검출
rows_name = "sepal length (cm)"
desc = df.iloc[:,rows_name].describe()
Q1 = desc['25%']
Q3 = desc['75%']
IQR = Q3 - Q1
min_lim = Q1 - IQR*1.5
max_lim = Q3 + IQR*1.5
display(df[df.loc[:,rows_name]>max_lim])
display(df[df.loc[:,rows_name]<min_lim])

# 이상치를 평균으로 변경
rows_name = 'sepal width (cm)'
mean = df.loc[:,rows_name].mean()
df.loc[df[rows_name]>max_lim,rows_name] = mean
df.loc[df[rows_name]<min_lim,rows_name] = mean

# 상관계수
df.corr()
sepal length (cm)sepal width (cm)petal length (cm)petal width (cm)target
sepal length (cm)1.000000-0.1230510.8717540.8179410.782561
sepal width (cm)-0.1230511.000000-0.400165-0.335913-0.400176
petal length (cm)0.871754-0.4001651.0000000.9628650.949035
petal width (cm)0.817941-0.3359130.9628651.0000000.956547
target0.782561-0.4001760.9490350.9565471.000000

# 산점도 시각화
plt.scatter(df['petal length (cm)'],df['petal width (cm)'],c=df['target'])














# csv파일로 저장
df.to_csv('sample_iris.csv')

이 블로그의 인기 게시물

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("엔터를 입력했습니다.");     } }