日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

sign python_python机器学习

發(fā)布時(shí)間:2024/10/8 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sign python_python机器学习 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.os庫(kù)

2.pandas

2.1字典生成pandas

2.2字典生成pandas并序列化數(shù)據(jù)

3 .split

3.1 strip()

4.numpy

4.1 numpy.tile

4.2 numpy.argsort()

4.3數(shù)組索引

4.4從數(shù)組中選出最大最小的值

4.5 np.arange()

4.6 np.append()

4.7 np.mat與np.array

4.7.1乘法區(qū)別(np.dot,np.multiply)

4.7.2索引區(qū)別

4.7.3np.array((3,1))

4.7.4 argsort()的區(qū)別

4.7.5 讀取行的維數(shù)不同

4.8 np.mat與getA()

4.9 array的reshape

4.10 矩陣的排序.sort()與.sort(0)

4.11 np.sign()

5.字典和列表

5.1字典排序

5.2字典取值

5.3列表取值

5.4 list的del與remove

5.5 list.index()

6.matplotlib

6.1 matplotlib.lines

6.2 from matplotlib.font_manager import FontProperties

7.open讀取文件

8.KNN

9.當(dāng)數(shù)組運(yùn)算遇到dtype錯(cuò)誤

10.random

random.uniform()

11.sklearn

11.1 from sklearn.preprocessing import LabelEncoder

1 os庫(kù)

import os

print("當(dāng)前工作目錄為"+os.getcwd())

path="D:/my-install/Notepad++/new" #注:斜杠方向?qū)懛戳藭?huì)有問(wèn)題

os.chdir(path) #修改當(dāng)前目錄

print("當(dāng)前工作目錄為"+os.getcwd())

當(dāng)前工作目錄為D:\my-install\Notepad++

當(dāng)前工作目錄為D:\my-install\Notepad++\new

2 pandas

import pandas as pd

csv_path="E:/MachineL/tian.csv"

#這是存放在本地的tian.csv的路徑

df=pd.read_csv(csv_path)

#pandas可以解析文件

print(df.columns)

print(df.describe())

pandas讀不了excel,可以讀csv,data

Index(['城市', '標(biāo)題', '更新時(shí)間', '瀏覽量', '租金', '押金', '租賃方式', '房屋類型', '面積', '朝向樓層',

'小區(qū)', '小區(qū)鏈接', '區(qū)縣', '詳細(xì)地址', '中介公司', '房屋配套', '房源描述', '圖片地址', '頁(yè)面網(wǎng)址'],

dtype='object')

瀏覽量

count 47.000000

mean 115.531915

std 169.136149

min 3.000000

25% 10.500000

50% 26.000000

75% 162.500000

max 759.000000

2.1字典生成pandas

import pandas as pd

dict={'a':[1,2,3],'b':[3,4,5],'c':[9,0,3]}

dict_pd=pd.DataFrame(dict)

print(dict_pd)

a b c

0 1 3 9

1 2 4 0

2 3 5 3

請(qǐng)按任意鍵繼續(xù). .

2.2字典生成pandas并序列化數(shù)據(jù)

這是pandas數(shù)據(jù),需要把下列數(shù)據(jù)序列化

x1 x2 x3 x4

0 young myope no reduced

1 young myope no normal

2 young myope yes reduced

3 young myope yes normal

4 young hyper no reduced

5 young hyper no normal

6 young hyper yes reduced

7 young hyper yes normal

8 pre myope no reduced

9 pre myope no normal

10 pre myope yes reduced

11 pre myope yes normal

12 pre hyper no reduced

13 pre hyper no normal

14 pre hyper yes reduced

15 pre hyper yes normal

16 presbyopic myope no reduced

17 presbyopic myope no normal

18 presbyopic myope yes reduced

19 presbyopic myope yes normal

20 presbyopic hyper no reduced

21 presbyopic hyper no normal

22 presbyopic hyper yes reduced

23 presbyopic hyper yes normal

請(qǐng)按任意鍵繼續(xù). . .

'''關(guān)鍵代碼部分'''

from sklearn.preprocessing import LabelEncoder

le=LabelEncoder()

for col in dict_pd.columns:

dict_pd[col]=le.fit_transform(dict_pd[col])

print(dict_pd)

3 split分割字符串

string='www.baidu.com.www.baidu.com'

#split可以分割字符串并返回列表

print(string.split('.'))

#根據(jù)'.'進(jìn)行分割

print(string.split('.',1))

#分割一次

print(string.split('.')[:2])

#只保留前兩個(gè)

a,b,c=string.split('.')[:3]

#可分別給a,b,c進(jìn)行賦值,并且賦值的類型是str

print(a+" "+b+" "+c)

print(type(a))

['www', 'baidu', 'com', 'www', 'baidu', 'com']

['www', 'baidu.com.www.baidu.com']

['www', 'baidu']

www baidu com

3.1 strip()Python strip()與split()方法?www.cnblogs.com

4 numpy

4.1 numpy.tile

import numpy as np

a=np.array([1,2,3]) #建立數(shù)組

print(a)

a1=np.tile(a,(2,1))#增加數(shù)組的行數(shù)

a2=np.tile(a,(1,2))#增加數(shù)組的列數(shù)

print(a1)

print(a2)

[1 2 3]

[[1 2 3]

[1 2 3]]

[[1 2 3 1 2 3]]

請(qǐng)按任意鍵繼續(xù). . .

4.2 np.argsort()數(shù)組排序

import numpy as np

a=np.array([1,23,4,2])

#返回?cái)?shù)組a從小到大排序后的的索引

print(a.argsort())

[0 3 2 1]

請(qǐng)按任意鍵繼續(xù). . .

4.3 數(shù)組索引

import numpy as np

a=np.array([[1,2,2],[2,23,8],[23,34,3]])

#取所有行的第一列數(shù)據(jù)組成數(shù)組

b=a[:,0]

print("1")

print(b)

#表示第二行所有列

c=a[2,:]

print("2")

print(c)

#若不加逗號(hào)則表示行,前2行

b=a[:2]

print("3")

print(b)

1

[ 1 2 23]

2

[23 34 3]

3

[[ 1 2 2]

[ 2 23 8]]

請(qǐng)按任意鍵繼續(xù). . .

4.4 從數(shù)組中取最大最小值

import numpy as np

a=np.array([[1,2,2],[2,23,8],[23,34,3]])

#取的是每一列中的最小值組成矩陣

min=a.min(0)

print(min)

max=a.max(0)

print(max)

[1 2 2]

[23 34 8]

請(qǐng)按任意鍵繼續(xù). . .

4.5 np.arange()

import numpy as np

# 生成arry對(duì)象,三個(gè)參數(shù)是從1到5,以0.1為間隔

a=np.arange(1,5,0.1)

print(a)

a=np.arange(1,5)

print(a)

# range一樣的用法,只是range返回的是list

[1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7

2.8 2.9 3. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4. 4.1 4.2 4.3 4.4 4.5

4.6 4.7 4.8 4.9]

[1 2 3 4]

請(qǐng)按任意鍵繼續(xù). . .

4.6 np.append()

import numpy as np

a=np.zeros((1,4))

b=np.ones((3,4))

#axis=0,增加行數(shù),要求a,b列數(shù)相同

c=np.append(a,b,axis=0)

print(c)

a=np.zeros((1,3))

b=np.ones((1,1))

#axis=1,增加列數(shù),要求a,b行數(shù)相同

c=np.append(a,b,axis=1)

print(c)

# numpy提供了numpy.append(arr, values, axis=None)函數(shù)。對(duì)于參數(shù)規(guī)定,要么一個(gè)數(shù)組和一個(gè)數(shù)值;要么兩個(gè)數(shù)組。append函數(shù)返回的始終是一個(gè)一維數(shù)組。

#a是一維數(shù)組

a=np.arange(5)

b=np.zeros((2,3))

c=np.append(a,b)

print(c)

[[0. 0. 0. 0.]

[1. 1. 1. 1.]

[1. 1. 1. 1.]

[1. 1. 1. 1.]]

[[0. 0. 0. 1.]]

[0. 1. 2. 3. 4. 0. 0. 0. 0. 0. 0.]

請(qǐng)按任意鍵繼續(xù). . .

4.7

4.7 .1np.array與np.mat的乘法

import numpy as np

'''

arr在讀取一行的時(shí)候,讀出的數(shù)據(jù)是一維,而矩陣讀的是二維

'''

Arr=np.array([[3,2],[1,4]])

BArr=np.array([[2,6],[3,2]])

#array是對(duì)應(yīng)元素相乘

a=Arr*BArr

print(a)

#矩陣乘法

a=np.dot(Arr,BArr)

print(a)

#矩陣乘法

aMat=np.mat(Arr)

bMat=np.mat(BArr)

a=aMat*bMat

print(a)

# 對(duì)應(yīng)元素相乘

a=np.multiply(aMat,bMat)

print(a)

[[ 6 12]

[ 3 8]]

[[12 22]

[14 14]]

[[12 22]

[14 14]]

[[ 6 12]

[ 3 8]]

請(qǐng)按任意鍵繼續(xù). . .

4.7.2索引區(qū)別

import numpy as np

a=np.array([[1,2,3,5],[1,2,3,4]])

b=np.mat([[1,3,6,5],[1,2,3,4]])

print(np.shape(b))

#讀取的是第0行

print(b[0])

#b[0][1]這種讀不出來(lái)

# print(b[0][1])

#讀取的是a[0][1]這個(gè)元素

print(a[0][1])

(2, 4)

[[1 3 6 5]]

2

請(qǐng)按任意鍵繼續(xù). . .

4.7.3 np.array((3,1))

np.array((3,1))生成的并不是3行一列的array,而是一個(gè)一維的數(shù)組,里面只有兩個(gè)元素,3和1

import numpy as np

a=np.array((4,3))

b=np.ones((1,3))

c=np.zeros((1,3))

print(np.shape(a))

print(np.shape(b))

print(np.shape(c))

(2,)

(1, 3)

(1, 3)

請(qǐng)按任意鍵繼續(xù). . .

4.7.4 argsort()

import numpy as np

'''

索引產(chǎn)生的結(jié)果不一樣

'''

aArr=np.array([[3,2],[234,235],[45,9]])

aMat=np.mat(aArr)

bArr=aArr[:,0]

bMat=aMat[:,0]

arr_ind=bArr.argsort()

mat_ind=bMat.argsort(0)

#(3,)

print(arr_ind)

#(3,1)

print(mat_ind)

[0 2 1]

[[0]

[2]

[1]]

請(qǐng)按任意鍵繼續(xù). . .

4.7.5 讀取行的維數(shù)不同

import numpy as np

'''

arr在讀取一行的時(shí)候,讀出的數(shù)據(jù)是一維,而矩陣讀的是二維

'''

aArr=np.array([[3,2,4],[234,235,4],[45,9,24]])

aMat=np.mat(aArr)

b=aArr[1,:]

print(np.shape(b))

c=aMat[1,:]

print(np.shape(c))

(3,)

(1, 3)

請(qǐng)按任意鍵繼續(xù). . .

4.8 getA用于矩陣轉(zhuǎn)化為array

>>> import numpy as np

>>> a=np.ones((3,1))

>>> a

array([[1.],

[1.],

[1.]])

>>> b=np.mat(a)

>>> b

matrix([[1.],

[1.],

[1.]])

>>> c=b.getA()

>>> c

array([[1.],

[1.],

[1.]])

>>>

4.9 數(shù)組的reshape()

import numpy as np

a=np.ones((4,3))

print(a)

#b是一維array

b=a[0,:]

print(b)

print(np.shape(b))

#可以把b轉(zhuǎn)成二維

b=b.reshape(1,-1)

print(np.shape(b))

[[1. 1. 1.]

[1. 1. 1.]

[1. 1. 1.]

[1. 1. 1.]]

[1. 1. 1.]

(3,)

(1, 3)

請(qǐng)按任意鍵繼續(xù). . .

4.10

import numpy as np

'''

矩陣的排序

'''

aArr=np.array([[3,2,4],[234,235,4],[45,9,24]])

aMat=np.mat(aArr)

aMat_1=aMat.copy()

#對(duì)每一行進(jìn)行排序

ind_row=aMat.sort()

#對(duì)每一列進(jìn)行排序

ind_col=aMat_1.sort(0)

print(aMat)

print(aMat_1)

[[ 2 3 4]

[ 4 234 235]

[ 9 24 45]]

[[ 3 2 4]

[ 45 9 4]

[234 235 24]]

請(qǐng)按任意鍵繼續(xù). . .

4.11 np.sign()

import numpy as np

#返回?cái)?shù)據(jù)的正負(fù)號(hào),正數(shù)用1表示,負(fù)數(shù)用-1表示,0用0表示

a=np.array([[-71,89],[0,-8]])

b=np.sign(a)

print(b)

[[-1 1]

[ 0 -1]]

請(qǐng)按任意鍵繼續(xù). . .

5字典

5.1字典排序

import operator

a={'a':'20','b':'39','c':'23','d':'89'}

#itemgetter(1)是按值排序,itemgetter(0)是按建排序

a = sorted(a.items(),key=operator.itemgetter(1),reverse=True)

print(a)

print(a[1][0])

[('d', '89'), ('b', '39'), ('c', '23'), ('a', '20')]

b

請(qǐng)按任意鍵繼續(xù). . .

5.2字典取值

#字典的取值

dict={'a':3,'b':5,'c':9}

#1

first=dict['a']

print(first)

#2當(dāng)用get時(shí),如沒(méi)有這個(gè)鍵可以設(shè)置為默認(rèn)值

second=dict.get('f',0)

print(second)

3

0

請(qǐng)按任意鍵繼續(xù). . .

5.3列表取值

list=['1','12','3','342','23']

#取所有值

a=list[:]

print(a)

#取前兩個(gè)值,下標(biāo)為0.1

b=list[:2]

print(b)

#取下標(biāo)為1,2的值

c=list[1:3]

print(c)

['1', '12', '3', '342', '23']

['1', '12']

['12', '3']

請(qǐng)按任意鍵繼續(xù). . .

5.4 list的remove與del

list=['23','2','23','45','8']

# 刪除的是下標(biāo)為1的元素

del(list[1])

print(list)

# 刪除的是第一個(gè)匹配的元素

list.remove('23')

print(list)

5.5 list.index()

listA=['有自己的房子','有工作']

a=listA.index('有工作')

print(a)

1

請(qǐng)按任意鍵繼續(xù). . .

6 matplotlibpython使用matplotlib:subplot繪制多個(gè)子圖 - CSDN博客?blog.csdn.net【Matplotlib】詳解圖像各個(gè)部分 - Chris*Chen - 博客園?www.cnblogs.comIPython繪圖和可視化---matplotlib 入門(mén)?www.cnblogs.com

6.1 matplotlib.lines

#以下是關(guān)鍵語(yǔ)句

import matplotlib.lines as mlines

ne=mlines.Line2D([],[],color='green',label='negative',marker=".")

po=mlines.Line2D([],[],color='red',label='positive',marker=".")

axs.legend(handles=[ne,po])

plt.show()

6.2 設(shè)置漢字格式 from matolotlib.font_manager import FontProperties

from matolotlib.font_manager import FontProperties

font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)

fig,axs=plt.subplots(2,2,figsize=(13,8))

axs[0][0].set_xlabel("吃冰淇淋的數(shù)量",FontProperties=font)

7讀取文件

file=open("E:\MachineL\datingTestSet.txt")

#讀取一行,a是str類型

a=file.readline()

print(a)

#讀取所有內(nèi)容,b是list類型

b=file.readlines()

print(b)

8 KNN

from sklearn.neighbors import KNeighborsClassifier as KNN

neigh=KNN(n_neighbors=3,algorithm='auto')

neigh.fit(mat,labels)

predict_class=neigh.predict(test_vector)

9.當(dāng)數(shù)組運(yùn)算遇到dtype錯(cuò)誤

error=labelmat - h

TypeError: ufunc 'subtract' did not contain a loop with signature matching types dtype('

原因在于labelmat和h矩陣的dtype類型不一樣,可以使用labelmat.dtype打印,然后只需使用labelmat.astype('float64'),不一定寫(xiě)float64,只要兩者相同就行

10.random.uniformPython uniform() 函數(shù)?www.runoob.com

11sklearm

11.1 from sklearn.preprocessing import LabelEncoder

import pandas as pd

from sklearn.preprocessing import LabelEncoder

'''把字典生成pandas,并利用LabelEmcoder序列化'''

dict={'a':['good','good','bad'],'b':['red','black','red'],'c':['big','big','small']}

dict_pd=pd.DataFrame(dict)

print(dict_pd)

le=LabelEncoder()

for col in dict_pd.columns:

dict_pd[col]=le.fit_transform(dict_pd[col])

print(dict_pd)

a b c

0 good red big

1 good black big

2 bad red small

a b c

0 1 1 0

1 1 0 0

2 0 1 1

請(qǐng)按任意鍵繼續(xù). . .

總結(jié)

以上是生活随笔為你收集整理的sign python_python机器学习的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。