| CARVIEW |
?mpandas??????n?f?[?^???X?P?[?????O???Ă݂悤?i???K???ƕW?????j?FPython?f?[?^????????
?f?[?^?̃X?P?[?????O?A???K???A?W?????Ƃ͂ǂ?ȏ????Ȃ̂??A???̈Ⴂ?͉????Ȃǂ??ȒP??DataFrame?I?u?W?F?N?g???Ɍ??Ă????܂??傤?B
???̋L???͉??????ł??B????o?^?i?????j????ƑS?Ă????????????܂??B
?{?V???[?Y?Ɩ{?A?ڂɂ???
?@?{?V???[?Y?uPython?f?[?^????????v?́APython?̊?b???}?X?^?[?????l??ΏۂɈȉ??̂悤?ȁAPython???g???ăf?[?^?????????悤?Ƃ????Ƃ??ɕ֗??Ɏg????c?[????C?u?????A?t???[?????[?N?̎g?????̊?b???????????̂ł??B
- NumPy?i?uNumPy??????v?̖ڎ??????????j
- pandas?i?{?A?ځj
- Matplotlib
?@?Ȃ??A?{?A?ڂł͈ȉ??̃o?[?W???????g?p???Ă??܂??B
- Python 3.12
- pandas 2.2.1
?@?O???̓q?X?g?O?????̕`???DataFrame?I?u?W?F?N?g?̃r?j???O???????Ă݂܂????B????̓f?[?^?̃X?P?[?????O?ɂ??Č??Ă݂܂??傤?B???̑O??pandas???C???|?[?g???Ă????܂??B
import pandas as pd
?f?[?^?̃X?P?[?????O?Ƃ?
?@?f?[?^?̃X?P?[?????O?Ƃ́A?f?[?^?????̊?ɍ??킹?Ďg???₷???Ȃ?悤?ɕϊ????邱?Ƃł??B?傫?Ȑ????l?Ə????_?ȉ??̒l?ɈӖ???????????l?Ȃǂ??A????f?[?^?Z?b?g?ɍ??݂??Ă????ꍇ?A?f?[?^?Z?b?g????̃??f???̌P???ߒ???P???ς݃??f???̐??\?ɁA?????̒l?̑召???e?????y?ڂ????Ƃ?????܂??B?????ł͂Ȃ??A???炩?̊?ɏ]???悤?Ƀf?[?^??ϊ????A???̌`???ɐ????邱?Ƃł????????e????}??????ł??傤?B?Ƃ????Ă????t?ł͕?????ɂ????̂ŁA????ɂ??Ă͌?Ŏ??ۂɎ????Ă݂܂??傤?B
?@?X?P?[?????O?ɂ????낢??Ȏ?ނ?????܂????A????͈ȉ???2?????グ?܂??B
- ???K???F?ŏ??l0?A?ő?l1?͈̔͂Ɏ??܂?悤?Ƀf?[?^???X?P?[?????O????
- ?W?????F????0?A?W????1?͈̔͂Ɏ??܂?悤?Ƀf?[?^???X?P?[?????O????
?@?Ȃ??A???K???ƕW?????Ƃ????Ăѕ??́uAI?E?@?B?w?K?̗p?ꎫ?T?v?́u???K???iNormalization?j?^?W?????iStandardization?j?Ƃ́H?v?ɍ??킹?????̂ł??B?ڍׂɂ??Ă͑O?f?̃????N???Q?Ƃ??Ă????????B
?@?܂??ATitanic?f?[?^?Z?b?g?̘b?ɓ???O?ɁA?????ł͈ȉ???DataFrame?I?u?W?F?N?g???g???āA???K???ƕW???????????Ă݂܂??B
ages = [20, 10, 40, 50, 30]
heights = [176, 110, 168, 180, 172]
weights = [68, 28, 72, 85, 58]
d = {'Age': ages, 'Height': heights, 'Weight': weights}
tmp = pd.DataFrame(d, index=['A', 'B', 'C', 'D', 'E'])
tmp
?@?R?[?h??????Γ??e?͔c???ł???ł??傤???A?쐬????DataFrame?I?u?W?F?N?g?͎??̂悤?ɂȂ?܂??B
?@?ȉ??ł͂???DataFrame?I?u?W?F?N?g???g???āA?f?[?^?Z?b?g?̐??K???ƕW?????????Ă݂܂??傤?B
???K??
?@???ɏq?ׂ܂??????A?????ł??????K???iNormalization?j?Ƃ́A?ȉ??̂悤?Ȍ`?Ƀf?[?^??ό`?i?X?P?[?????O?j???邱?Ƃ??w???܂??B
- ?ŏ??l0?A?ő?l1?͈̔͂Ɏ??܂?悤?Ƀf?[?^??ό`????
?@???DataFrame?I?u?W?F?N?g???Ɏ??A????'Age'??͍ŏ??l?ł???B?s??10??0?ɁA?ő?l?ł???D?s??50??1?ɕό`?????Ƃ??????Ƃł??i???̑??̒l?͂???ɔ?Ⴗ??`?ŕϊ?????܂??j?B
?@??̓I?ɂ͂????̃f?[?^?ɒ??ڂ??āA?i????̃f?[?^?̒l?|?ŏ??l?j???i?ő?l?|?ŏ??l?j?ŏ??Z???邱?Ƃŕϊ??ł??܂??B?????Min-Max normalization?ƌĂԂ??Ƃ?????܂??B
?@'Age'??ɂ??čl???Ă݂܂??傤?B???̗?̌X?̃f?[?^?ɂ??č??̌v?Z?Ă͂߂?Ǝ??̂悤?ɂȂ?܂??B
?@???̌v?Z???s???????????ł́umin_max_normalize???v?Ƃ??Ď??̂悤?ɒ?`???܂??B
def min_max_normalize(x):
x_min = x.min()
x_max = x.max()
return (x - x_min) / (x_max - x_min)
?@?ƂĂ??V???v???Ȋ??ɂȂ??Ă???̂́ANumPy???l?Apandas?ł????j?o?[?T?????i2?????̔z??ϓI?Ɉ???????j???T?|?[?g????Ă??邩??ł??B??̃R?[?h?͕??ʂ?Python?̊??Ƃ??Ē?`???Ă??܂????A?????DataFrame?I?u?W?F?N?g??n???ΗƂɐ??K?????????ʂ??????܂??B?Ȃ??Amin???\?b?h?͍ŏ??l???Amax???\?b?h?͍ő?l?????߂郁?\?b?h?ł??B?Ō?̍s?͂??????ɐ??K???????l???v?Z???āA?????߂?l?Ƃ??Ă??܂??B
?@??????Ăяo???ɂ͎??̂悤?ɂ???悢?ł??傤?B
tmp2 = min_max_normalize(tmp)
tmp2
?@????ƁA???̂悤??DataFrame?I?u?W?F?N?g???????܂??B
?@?????ł͎??O?Ő??K?????s??min_max_normalize?????`???܂??????Ascikit-learn?ɂ͂?????s?????i????уN???X?j??????܂??B?????ł?minmax_scale?????g???āA???????Ƃ????Ă݂܂??傤?iscikit-learn???C???X?g?[?????Ă??Ȃ??ꍇ?́upip install scikit-learn?v?upy -m pip install scikit-learn?v?Ȃǂ̃R?}???h?????s???āA??????C???X?g?[??????K?v??????܂??j?B
from sklearn.preprocessing import MinMaxScaler, minmax_scale
a = minmax_scale(tmp)
print(type(a))
print(a)
?@???̌??ʂ͈ȉ??̒ʂ?ł??B
?@?o?͂?1?s?ڂ?????ƕ?????ʂ?Aminmax_scale?????Ԃ??̂?NumPy??ndarray?ɂȂ?_?ɂ͒??ӂ??K?v?ł??BDataFrame?I?u?W?F?N?g???K?v?ł???Apandas.DataFrame????DataFrame?I?u?W?F?N?g???쐬???Ă????????B?????_?ȉ??̐[???Ƃ???܂ł????Ɣ????ɒl???قȂ?f?[?^??????܂????A????͕\???????̐??x?̖??Ŏ??ۂɂ͂قړ???̒l???????Ă??܂??B
?@?ł͎??ۂɍŏ??l0?A?ő?l1?͈̔͂ɐ??K??????Ă??邩??describe???\?b?h?Ŋm?F???Ă݂܂??B
?@?o?͂̒???min?s??max?s??????ƁA?m???ɍŏ??l??0?ɁA?ő?l??1?ɂȂ??Ă??邱?Ƃ??m?F?ł??܂????B
?@???ӂ??K?v?ȓ_?Ƃ??ẮA?f?[?^?Z?b?g?̒??ɊO??l???܂܂?Ă????ꍇ?A???ꂪ???K???̍ۂɍŏ??l??ő?l?Ƃ???0?܂???1?ɕϊ?????Ă??܂??\???????????܂??B???̂??߁A???K??????O?ɂ͂????????f?[?^??????Ή??炩?̌`?őΏ?????K?v??????ł??傤?B
?@???K???iMin-Max Normalization?j???ǂ?Ȃ??̂????????Ƃ???ŁA???͕W?????ɂ??Č??Ă݂܂??傤?B
?W????
?@?W?????iStandardization?j?ɂ??Ă????ɏq?ׂĂ??܂????A????͎??̂悤?Ȍ`?Ƀf?[?^???X?P?[?????O?i?ό`?j???邱?Ƃ??w???܂??B
- ????0?A?W????1?͈̔͂Ɏ??܂?悤?Ƀf?[?^??ό`????
?@??̓I?ɂ͂????̃f?[?^?ɒ??ڂ??āA?i????̃f?[?^?̒l?|???ϒl?j??W?????ŏ??Z???邱?Ƃŕϊ??ł??܂??B??قǂƓ??l?ɁA'Age'??ɂ??čl???Ă݂܂??傤?B???????A???̑O?ɕ??ϒl?ƕW?????????߂Ă????K?v??????܂??B????ɂ͎??̉摜?Ɏ????悤?ɁAmean???\?b?h??std???\?b?h???g???܂??B
?@'Age'??̕??ϒl??30.0?A?W??????15.811?Ƃ??āA?v?Z???????ʂ??ȉ??Ɏ????܂??ipandas?Ȃǂ͂?荂?????x?Ōv?Z????̂ŁA?v???O?????̏o?͂Ƃׂ͍??ȂƂ???ň???Ă???\???͂???܂??j?B
?@??Ɠ??l?ɁA?????ł??????`???܂??傤?B?????ł͊????͒P???Ɂustandardize?v?Ƃ??܂????B
def standardize(x):
std = x.std()
mean = x.mean()
return (x - mean) / std
?@???̊????V???v???ŁA?W?????ƕ??ϒl?????߁A????????e?f?[?^??W????????DataFrame?I?u?W?F?N?g??ԑ????Ă??܂??B??????Ăяo???ɂ͎??̂悤?ɂ??܂??B
tmp3 = standardize(tmp)
tmp3
?@???s???ʂ͎??̒ʂ?ł??B
?@?????????????悤?Ȍ??ʂɂȂ?܂????B?Ƃ????킯?ŁA????scikit-learn??????W???????s??scale???ł??̌??ʂ??r???Ă݂܂??傤?B
from sklearn.preprocessing import scale
tmp4 = scale(tmp)
tmp4 = pd.DataFrame(tmp4, columns=tmp.columns, index=tmp.index)
tmp4
?@???s???ʂ??ȉ??Ɏ????܂??B
?@???????????????ʂɁc?c?Ȃ??Ă??܂???ˁI?@????͂ǂ????????Ƃł??傤?i?킴?Ƃ炵???j?B????ɕW?????ƌ????Ă??܂??????A????DataFrame?I?u?W?F?N?g??std???\?b?h?ł̓f?t?H???g?Łu?s?ΕW?????v?ƌĂ??l???v?Z???Ă??܂??B????ɑ??āAscikit-learn??scale???ł͕W?????ɓ??????āA?u?s?v???t???Ȃ??u?W?????v?i???邢?́u?W?{?W?????v?j??p???Ă??܂??B???ꂪ2?̎??s???ʂ̍??ݏo?????????ł??B
?@?W?????ƕs?ΕW?????ɂ??Đ[?????????Ƒ?ςȂ??ƂɂȂ?̂ŁA?????ł͈ȉ??̂悤?ɂ܂Ƃ߂邾???Ƃ??āA?ڍׂ́u?₳?????f?[?^?????v?́u???U?^?W???? ?` ???^?̊i?????Ăǂꂮ?炢?H?v???Q?Ƃ??Ă??????????Ƃɂ??܂??傤?B
- ?W?????F?f?[?^?Z?b?g?Ɋ܂܂??f?[?^?i?W?{?܂??͕?W?c?j?̂???????̂܂܌v?Z?????l?B?f?[?^?Z?b?g????W?c??ԗ????Ă???̂ł???A???ꂪ??W?c?̕W?????ƂȂ?B?f?[?^?Z?b?g????W?c??ԗ????Ă??Ȃ??̂ł???A????̓f?[?^?Z?b?g?Ɋ܂܂??f?[?^?̂?????????????̂??̂ł???B???̂Ƃ??A??W?c?̕W?????͕s?ΕW?????Ƃ??Đ??肷??K?v??????
- ?s?ΕW?????F?f?[?^?Z?b?g????W?c??ԗ????Ă??Ȃ??ꍇ?ɁA?????Ɋ܂܂??f?[?^?i?W?{?j????ɂ??̕?W?c?S?̂̕W?????𐄒肵??????
?@?Ȃ?قǁB???ꂾ???????Ă???????Ȃ??ł???ˁi???ꂮ????ڍׂɂ??Ă͑O?f?̃????N???Q?Ƃ??Ă????????j?B?????̌v?Z?Ƃ????ʂɘb???i??ƁA?W?????Ƃ̓f?[?^?Z?b?g?Ɋ܂܂??X?̃f?[?^?ƕ??ϒl?̍????悵?āA?????????v?????l???f?[?^?̌?N?Ŋ????????̂̕??????ł??B????ɑ??āA?s?ΕW?????̓f?[?^?̑?????N?Ƃ????Ƃ??ɁA?W?????̌v?Z?ł?N?ŏ??Z????Ƃ?????AN?|1?ŏ??Z????̂???ʓI?ł??B
?@?Ⴆ?A????܂łɈ????Ă???DataFrame?I?u?W?F?N?g??'Age'??ŕW?????ƕs?ΕW???????v?Z????ƈȉ????v?Z???邱?ƂɂȂ?܂??B
?@???ۂɂ?????Python?Ŏ?v?Z???Ă݂܂??傤?B
from math import sqrt
# ?W?????????߂?iN??5?ŏ??Z?j
std0 = sqrt(((20 - 30) ** 2 + (10 - 30) ** 2 + (40 - 30) ** 2 + (50 - 30) ** 2 + (30 -30) **2)/5)
print(std0)
# ?s?ΕW?????iN?|1??4?ŏ??Z?j
std1 = sqrt(((20 - 30) ** 2 + (10 - 30) ** 2 + (40 - 30) ** 2 + (50 - 30) ** 2 + (30 -30) **2)/4)
print(std1)
?@???Ȃ݂ɁADataFrame.std???\?b?h?ŕW???????v?Z????ۂɂ́Addof?p?????[?^?[?Ɂu???R?x?̍????v?iDelta Degrees of Freedom?j???w?肷?邱?ƂŁA???̃f?[?^?Z?b?g?i??W?c?j?Ɋ܂܂??f?[?^?i?W?{?j?̕W???????v?Z????̂??iddof=0?j?A?f?[?^?Ɋ?Â??ĕs?ΕW???????v?Z????̂??iddof=1?j???w??ł??܂??i?f?t?H???g?l??1?j?B
?@?????ł??????R?x?Ƃ́A?W???????v?Z?????ŁA???̃f?[?^?Ƃ͓Ɨ????āi???R?Ɂj?l??????f?[?^?̐??̂??Ƃł??B?????Ōv?Z????̂??s?ΕW?????̏ꍇ?A???̃f?[?^?Z?b?g?Ɋ܂܂??f?[?^?̕??ς??v?Z?Ɏg???邱?Ƃ???A?f?[?^?̂?????1?͑??̃f?[?^?Ɉˑ????Č??肳??邱?ƂɂȂ?܂??B
?@?Ⴆ?A'Age'??̃f?[?^??[15, 25, 5, 30, ?H]?Ƃ???5?v?f?ŁA???̕??ς?30.0???????Ƃ???ƁA?Ō?̃f?[?^?u?H?v?͑??̃f?[?^?Ƃ̌??ˍ???????i???ϒl??30.0?ɂ??邽?߂Ɂj75?łȂ???Ȃ?܂???B?܂?A???R?x?i???R?ɒl??????f?[?^?̐??j??1????Ƃ??????Ƃł??B?????āA???̌??????u1?v?????R?x?̍????iddof?j?ɓ?????܂??B
?@?Ȃ??A???v?w?ɂ????Ă????R?x?͏???????T?O?ł??B????́u???????????̂?????v?ƔF?????Ă????????ł???肠??܂???B?u?₳?????f?[?^???́v?̃J?C??敪?z?̉??Ŏ??R?x?ɂ??Ă?蒚?J?ɐ??????Ă??܂??̂ŁA??????[?߂??????͂??Ј?ǂ??Ă݂Ă????????B
?@???ۂ?ddof?p?????[?^?[?ɒl???w?肵?āA?v?Z?????Ă݂܂??傤?B
print(tmp['Age'].std(ddof=0))
print(tmp['Age'].std(ddof=1))
?@?????2?̃R?[?h?̎??s???ʂ??ȉ??Ɏ????܂??B
?@???????ł??傤???B?????l?ɂȂ??????Ƃ???????܂??B?܂??Astandardize???ɂ?ddof?p?????[?^?[?????????邱?ƂŁAscikit-learn??scale???Ɠ??l?ɕW?????????߂邱?Ƃ??ł???ł??傤?B
def standardize(x, ddof=1):
std = x.std(ddof=ddof)
mean = x.mean()
return (x - mean) / std
tmp5 = standardize(tmp, ddof=0)
tmp5
?@???s???ʂ??ȉ??Ɏ????܂??B
?@DataFrame.std???\?b?h??ddof?p?????[?^?[??0???w?肷??悤?ɁAstandardize?????Ăяo???Ă???̂ŁAscikit-learn??scale???Ɠ??????ʂ??????܂????B
?@?ǂ??ł??悢?b???????Ԃ?Ƃ??Ă????C?????܂????A?Ō?ɕs?ΕW??????p???ĕW????????DataFrame?I?u?W?F?N?gtmp3??????0?A?W????1?ƂȂ??Ă??邩?ǂ??????m?F???Ă????܂??B
?@?????̒ʂ?A?L?`???ƕW?????ł??Ă??邱?Ƃ???????܂????B
Titanic?f?[?^?Z?b?g?𐳋K???^?W???????Ă݂悤
?@?悤?₭?ATitanic?f?[?^?Z?b?g?̓o??ł??B?O??ɍ쐬????CSV?t?@?C????ǂݍ???ł????܂??B
df = pd.read_csv('titanic_binned.csv')
?@?????܂ł?邱?Ƃ͂???Ă????̂ŁA?ǂݍ??݂??I???A??͐??K?????W?????????邾???ł??B?O??̃q?X?g?O?????????????A'Age'??ɊO??l?͂Ȃ??????ł??B
?@???K???z?ɋ߂??ƌ????Ă??悢????????܂??A?????䂪??ł???悤?ȋC?????܂??B?????ŁA?????ł͐?قǎ????Œ?`????min_max_normalize?????g????'Age'??𐳋K?????邱?Ƃɂ??܂????B
df['Age'] = min_max_normalize(df['Age'])
df
?@???s???ʂ??ȉ??Ɏ????܂??B
?@?????Ɛ??K???ł??Ă???悤?ł??B?@?B?w?K???f???̎?@?i??A???͂⌈??Ȃǁj?ɂ????܂????A???̗?ł????K?????s???A?e??Ԃ̃X?P?[?????ł??邾?????낦?邱?ƂŁA???f???̌P???ߒ??????肵?A?\?????x?????シ?邱?Ƃ?????܂??B??̓I?ɂ?'Fare'??????K???ł???\????????̂ŁA????ɂ??Ă͎???ȍ~?ɍl???܂??傤?B
AI?E?f?[?^?T?C?G???X?̊w?т?????????
???S?Ҍ????A?f?[?^???́EAI?E?@?B?w?K?EPython?̕????@?@??IT??Deep Insider?Ŋw?ڂ?
Copyright© Digital Advantage Corp. All Rights Reserved.
?A?C?e?B???f?B?A????̂??m?点
??IT eBook
?ҏW??????̂??m?点
RSS?ɂ???
?A?C?e?B???f?B?AID?ɂ???
???[???}?K?W???o?^
??IT?̃??[???}?K?W???́A ???????A???ׂĖ????ł??B???Ѓ??[???}?K?W???????w?ǂ????????B
ITmedia?̓A?C?e?B???f?B?A??????Ђ̓o?^???W?ł??B
???f?B?A?ꗗ | ????SNS | ?L???ē? | ???₢???킹 | ?v???C?o?V?[?|???V?[ | RSS | ?^?c??? | ?̗p??? | ??????

?쐬????DataFrame?I?u?W?F?N?g
???K???ɂ???ăX?P?[?????O???ꂽDataFrame?I?u?W?F?N?g
???s????
?e??ɂ??čŏ??l??0?ɁA?ő?l??1?ɕϊ?????Ă??邱?Ƃ???????
mean???\?b?h?ŕ??ϒl???Astd???\?b?h?ŕW?????????߂?
???????????????ʂɂȂ???
???????????????ʂɁc?d

???s????
???ς͂ق?0?ŁA?W??????1?ɂȂ??Ă???





