项目印记
预测未来的最好办法,就是把它创造出来。--艾伦.凯(美)
机器学习的基础知识(学习代码记录)
视频网址:https://www.youtube.com/watch?v=i_LwzRVP7bg&t=2835s
数据网址:https://archive.ics.uci.edu/dataset/1/abalone
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from imblearn.over_sampling import RandomOverSampler
pd.read_csv("/Users/mutian/downloads/abalone/abalone.data")
cols = ["Sex","Length","Diameter","Height","Whole_weight","Ahucked_weight","Viscera_weight","Shell_weight","Rings"]
df = pd.read_csv("/Users/mutian/downloads/abalone/abalone.data",names=cols)
df.head()
df["Sex"] = (df["Sex"] =="M").astype(int)
df["Sex"].unique
for label in cols[:-1]:
plt.hist(df[df["Sex"]==1][label],color='blue',label='gamma',alpha=0.7,density=True)
plt.hist(df[df["Sex"]==0][label],color='red',label='hadron',alpha=0.7,density=True)
plt.title(label)
plt.ylabel("Probability")
plt.xlabel("label")
plt.legend()
plt.show()
train,valid,test = np.split(df.sample(frac=1),[int(0.6*len(df)), int(0.8*len(df))])
def scale_dataset(dataframe,oversample=False):
X = dataframe[dataframe.columns[:-1]].values
y = dataframe[dataframe.columns[-1]].values
scaler = StandardScaler()
X = scaler.fit_transform(X)
if oversample:
ros = RandomOverSampler()
X,y = ros.fit_resample(X,y)
data = np.hstack((X,np.reshape(y,(-1,1))))
return data,X,y
print(len(train[train["Sex"]==1]))
print(len(train[train["Sex"]==0]))
Train,X_train,y_train = scale_dataset(train,oversample=True)
train
@@机器学习的基础知识(学习代码记录)