mirror of
https://github.com/agresdominik/predictify.git
synced 2026-04-21 17:55:49 +00:00
Song data csv files
This commit is contained in:
@@ -1,192 +0,0 @@
|
|||||||
{
|
|
||||||
"cells": [
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 13,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Processing file 1/1772...\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"import os\n",
|
|
||||||
"import librosa\n",
|
|
||||||
"import numpy as np\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"def summarize_feature(feature_array):\n",
|
|
||||||
" \"\"\"\n",
|
|
||||||
" feature_array shape: [num_coeffs, num_frames]\n",
|
|
||||||
" Returns: 1D numpy array containing mean, std, and median of each row.\n",
|
|
||||||
" \"\"\"\n",
|
|
||||||
" # axis=1 means we compute statistics across 'frames'\n",
|
|
||||||
" means = np.mean(feature_array, axis=1)\n",
|
|
||||||
" stds = np.std(feature_array, axis=1)\n",
|
|
||||||
" medians = np.median(feature_array, axis=1)\n",
|
|
||||||
" \n",
|
|
||||||
" # Concatenate all stats into one 1D array\n",
|
|
||||||
" return np.concatenate([means, stds, medians], axis=0) #[means, stds, medians]\n",
|
|
||||||
"\n",
|
|
||||||
"def extract_features_librosa(file_path):\n",
|
|
||||||
"\n",
|
|
||||||
" # Load the audio file\n",
|
|
||||||
" y, sr = librosa.load(file_path, sr=None)\n",
|
|
||||||
" \n",
|
|
||||||
" # Extract features\n",
|
|
||||||
" chroma_stft = librosa.feature.chroma_stft(y=y, sr=sr)\n",
|
|
||||||
" chroma_cqt = librosa.feature.chroma_cqt(y=y, sr=sr)\n",
|
|
||||||
" chroma_cens = librosa.feature.chroma_cens(y=y, sr=sr)\n",
|
|
||||||
" chroma_vqt = librosa.feature.chroma_vqt(y=y, sr=sr, intervals='equal')\n",
|
|
||||||
" melspectogram = librosa.feature.melspectrogram(y=y, sr=sr)\n",
|
|
||||||
" mfccs = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=12) # Numer of mfccs difference?\n",
|
|
||||||
" rms = librosa.feature.rms(y=y)\n",
|
|
||||||
" spectral_centroid = librosa.feature.spectral_centroid(y=y, sr=sr)\n",
|
|
||||||
" spectral_bandwith = librosa.feature.spectral_bandwidth(y=y, sr=sr)\n",
|
|
||||||
" spectral_contrast = librosa.feature.spectral_contrast(y=y, sr=sr)\n",
|
|
||||||
" spectral_flatness = librosa.feature.spectral_flatness(y=y) \n",
|
|
||||||
" spectral_rolloff = librosa.feature.spectral_rolloff(y=y, sr=sr)\n",
|
|
||||||
" poly_features = librosa.feature.poly_features(y=y, sr=sr)\n",
|
|
||||||
" tonnetz = librosa.feature.tonnetz(y=y, sr=sr)\n",
|
|
||||||
" zero_crossings = librosa.feature.zero_crossing_rate(y)\n",
|
|
||||||
" \n",
|
|
||||||
" # Estimate tempo and beats\n",
|
|
||||||
" tempo = librosa.feature.tempo(y=y, sr=sr)\n",
|
|
||||||
" tempogram = librosa.feature.tempogram(y=y, sr=sr)\n",
|
|
||||||
" fourier_tempogram = librosa.feature.fourier_tempogram(y=y, sr=sr)\n",
|
|
||||||
" tempogram_ratio = librosa.feature.tempogram_ratio(y=y, sr=sr)\n",
|
|
||||||
"\n",
|
|
||||||
" track_features = np.concatenate([\n",
|
|
||||||
" summarize_feature(mfccs),\n",
|
|
||||||
" summarize_feature(chroma_stft),\n",
|
|
||||||
" summarize_feature(chroma_cqt),\n",
|
|
||||||
" summarize_feature(chroma_cens),\n",
|
|
||||||
" summarize_feature(chroma_vqt),\n",
|
|
||||||
" summarize_feature(melspectogram),\n",
|
|
||||||
" summarize_feature(spectral_centroid),\n",
|
|
||||||
" summarize_feature(spectral_bandwith),\n",
|
|
||||||
" summarize_feature(spectral_contrast),\n",
|
|
||||||
" summarize_feature(spectral_flatness),\n",
|
|
||||||
" summarize_feature(spectral_rolloff),\n",
|
|
||||||
" summarize_feature(poly_features),\n",
|
|
||||||
" summarize_feature(tonnetz),\n",
|
|
||||||
" summarize_feature(zero_crossings),\n",
|
|
||||||
" summarize_feature(tempogram),\n",
|
|
||||||
" summarize_feature(fourier_tempogram),\n",
|
|
||||||
" summarize_feature(tempogram_ratio),\n",
|
|
||||||
" summarize_feature(rms),\n",
|
|
||||||
" tempo\n",
|
|
||||||
" ], axis=0)\n",
|
|
||||||
"\n",
|
|
||||||
" return track_features\n",
|
|
||||||
"\n",
|
|
||||||
" # Aggregate features into a dictionary\n",
|
|
||||||
" \"\"\"\n",
|
|
||||||
" features = {\n",
|
|
||||||
" 'chroma_stft': ,\n",
|
|
||||||
" 'chroma_cqt': summarize_feature(chroma_cqt),\n",
|
|
||||||
" 'chroma_cens': summarize_feature(chroma_cens),\n",
|
|
||||||
" 'chroma_vqt': summarize_feature(chroma_vqt),\n",
|
|
||||||
" 'melspectogram': summarize_feature(melspectogram),\n",
|
|
||||||
" 'mfccs': ,\n",
|
|
||||||
" 'rms': summarize_feature(rms),\n",
|
|
||||||
" 'spectral_centroid': summarize_feature(spectral_centroid),\n",
|
|
||||||
" 'spectral_bandwith': summarize_feature(spectral_bandwith),\n",
|
|
||||||
" 'spectral_contrast': summarize_feature(spectral_contrast),\n",
|
|
||||||
" 'spectral_flatness': summarize_feature(spectral_flatness),\n",
|
|
||||||
" 'spectral_rolloff': summarize_feature(spectral_rolloff),\n",
|
|
||||||
" 'poly_features': summarize_feature(poly_features),\n",
|
|
||||||
" 'tonnetz': summarize_feature(tonnetz),\n",
|
|
||||||
" 'zero_crossings': summarize_feature(zero_crossings),\n",
|
|
||||||
" 'tempo': tempo,\n",
|
|
||||||
" 'tempogram': summarize_feature(tempogram),\n",
|
|
||||||
" 'fourier_tempogram': summarize_feature(fourier_tempogram),\n",
|
|
||||||
" 'tempogram_ratio': summarize_feature(tempogram_ratio)\n",
|
|
||||||
" }\n",
|
|
||||||
" return features\n",
|
|
||||||
" \"\"\"\n",
|
|
||||||
"\n",
|
|
||||||
"folder_path = './audio_previews'\n",
|
|
||||||
"X = []\n",
|
|
||||||
"\n",
|
|
||||||
"folder_len = os.listdir(folder_path)\n",
|
|
||||||
"folder_len_num = len(folder_len)\n",
|
|
||||||
"counter = 0\n",
|
|
||||||
"\n",
|
|
||||||
"for file in os.listdir(folder_path):\n",
|
|
||||||
" if file.endswith('.mp3'):\n",
|
|
||||||
" counter += 1\n",
|
|
||||||
" print(f'Processing file {counter}/{folder_len_num}...')\n",
|
|
||||||
" file_path = os.path.join(folder_path, file)\n",
|
|
||||||
" file_id = os.path.splitext(file)[0]\n",
|
|
||||||
" features = extract_features_librosa(file_path)\n",
|
|
||||||
" X.append(features)\n",
|
|
||||||
" if counter == 1:\n",
|
|
||||||
" break\n",
|
|
||||||
"\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 14,
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"ename": "ValueError",
|
|
||||||
"evalue": "Complex data not supported\n[array([-2.43607666e+02+0.j, 2.02283173e+02+0.j, -9.33068466e+00+0.j, ...,\n 3.39018144e-02+0.j, 1.07776299e-01+0.j, 1.20185320e+02+0.j])]\n",
|
|
||||||
"output_type": "error",
|
|
||||||
"traceback": [
|
|
||||||
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
|
||||||
"\u001b[31mComplexWarning\u001b[39m Traceback (most recent call last)",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/utils/validation.py:1055\u001b[39m, in \u001b[36mcheck_array\u001b[39m\u001b[34m(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_writeable, force_all_finite, ensure_all_finite, ensure_non_negative, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)\u001b[39m\n\u001b[32m 1054\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1055\u001b[39m array = \u001b[43m_asarray_with_order\u001b[49m\u001b[43m(\u001b[49m\u001b[43marray\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morder\u001b[49m\u001b[43m=\u001b[49m\u001b[43morder\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdtype\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mxp\u001b[49m\u001b[43m=\u001b[49m\u001b[43mxp\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1056\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m ComplexWarning \u001b[38;5;28;01mas\u001b[39;00m complex_warning:\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/utils/_array_api.py:839\u001b[39m, in \u001b[36m_asarray_with_order\u001b[39m\u001b[34m(array, dtype, order, copy, xp, device)\u001b[39m\n\u001b[32m 838\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m--> \u001b[39m\u001b[32m839\u001b[39m array = \u001b[43mnumpy\u001b[49m\u001b[43m.\u001b[49m\u001b[43masarray\u001b[49m\u001b[43m(\u001b[49m\u001b[43marray\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morder\u001b[49m\u001b[43m=\u001b[49m\u001b[43morder\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdtype\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 841\u001b[39m \u001b[38;5;66;03m# At this point array is a NumPy ndarray. We convert it to an array\u001b[39;00m\n\u001b[32m 842\u001b[39m \u001b[38;5;66;03m# container that is consistent with the input's namespace.\u001b[39;00m\n",
|
|
||||||
"\u001b[31mComplexWarning\u001b[39m: Casting complex values to real discards the imaginary part",
|
|
||||||
"\nThe above exception was the direct cause of the following exception:\n",
|
|
||||||
"\u001b[31mValueError\u001b[39m Traceback (most recent call last)",
|
|
||||||
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[14]\u001b[39m\u001b[32m, line 5\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01msklearn\u001b[39;00m\u001b[34;01m.\u001b[39;00m\u001b[34;01mpreprocessing\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m StandardScaler\n\u001b[32m 3\u001b[39m scaler = StandardScaler()\n\u001b[32m----> \u001b[39m\u001b[32m5\u001b[39m X_scaled = \u001b[43mscaler\u001b[49m\u001b[43m.\u001b[49m\u001b[43mfit_transform\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/utils/_set_output.py:319\u001b[39m, in \u001b[36m_wrap_method_output.<locals>.wrapped\u001b[39m\u001b[34m(self, X, *args, **kwargs)\u001b[39m\n\u001b[32m 317\u001b[39m \u001b[38;5;129m@wraps\u001b[39m(f)\n\u001b[32m 318\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mwrapped\u001b[39m(\u001b[38;5;28mself\u001b[39m, X, *args, **kwargs):\n\u001b[32m--> \u001b[39m\u001b[32m319\u001b[39m data_to_wrap = \u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 320\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(data_to_wrap, \u001b[38;5;28mtuple\u001b[39m):\n\u001b[32m 321\u001b[39m \u001b[38;5;66;03m# only wrap the first output for cross decomposition\u001b[39;00m\n\u001b[32m 322\u001b[39m return_tuple = (\n\u001b[32m 323\u001b[39m _wrap_data_with_container(method, data_to_wrap[\u001b[32m0\u001b[39m], X, \u001b[38;5;28mself\u001b[39m),\n\u001b[32m 324\u001b[39m *data_to_wrap[\u001b[32m1\u001b[39m:],\n\u001b[32m 325\u001b[39m )\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/base.py:918\u001b[39m, in \u001b[36mTransformerMixin.fit_transform\u001b[39m\u001b[34m(self, X, y, **fit_params)\u001b[39m\n\u001b[32m 903\u001b[39m warnings.warn(\n\u001b[32m 904\u001b[39m (\n\u001b[32m 905\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mThis object (\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.\u001b[34m__class__\u001b[39m.\u001b[34m__name__\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m) has a `transform`\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m (...)\u001b[39m\u001b[32m 913\u001b[39m \u001b[38;5;167;01mUserWarning\u001b[39;00m,\n\u001b[32m 914\u001b[39m )\n\u001b[32m 916\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m y \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 917\u001b[39m \u001b[38;5;66;03m# fit method of arity 1 (unsupervised transformation)\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m918\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mfit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mfit_params\u001b[49m\u001b[43m)\u001b[49m.transform(X)\n\u001b[32m 919\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 920\u001b[39m \u001b[38;5;66;03m# fit method of arity 2 (supervised transformation)\u001b[39;00m\n\u001b[32m 921\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m.fit(X, y, **fit_params).transform(X)\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/preprocessing/_data.py:894\u001b[39m, in \u001b[36mStandardScaler.fit\u001b[39m\u001b[34m(self, X, y, sample_weight)\u001b[39m\n\u001b[32m 892\u001b[39m \u001b[38;5;66;03m# Reset internal state before fitting\u001b[39;00m\n\u001b[32m 893\u001b[39m \u001b[38;5;28mself\u001b[39m._reset()\n\u001b[32m--> \u001b[39m\u001b[32m894\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mpartial_fit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msample_weight\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/base.py:1389\u001b[39m, in \u001b[36m_fit_context.<locals>.decorator.<locals>.wrapper\u001b[39m\u001b[34m(estimator, *args, **kwargs)\u001b[39m\n\u001b[32m 1382\u001b[39m estimator._validate_params()\n\u001b[32m 1384\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m config_context(\n\u001b[32m 1385\u001b[39m skip_parameter_validation=(\n\u001b[32m 1386\u001b[39m prefer_skip_nested_validation \u001b[38;5;129;01mor\u001b[39;00m global_skip_validation\n\u001b[32m 1387\u001b[39m )\n\u001b[32m 1388\u001b[39m ):\n\u001b[32m-> \u001b[39m\u001b[32m1389\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfit_method\u001b[49m\u001b[43m(\u001b[49m\u001b[43mestimator\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/preprocessing/_data.py:930\u001b[39m, in \u001b[36mStandardScaler.partial_fit\u001b[39m\u001b[34m(self, X, y, sample_weight)\u001b[39m\n\u001b[32m 898\u001b[39m \u001b[38;5;250m\u001b[39m\u001b[33;03m\"\"\"Online computation of mean and std on X for later scaling.\u001b[39;00m\n\u001b[32m 899\u001b[39m \n\u001b[32m 900\u001b[39m \u001b[33;03mAll of X is processed as a single batch. This is intended for cases\u001b[39;00m\n\u001b[32m (...)\u001b[39m\u001b[32m 927\u001b[39m \u001b[33;03m Fitted scaler.\u001b[39;00m\n\u001b[32m 928\u001b[39m \u001b[33;03m\"\"\"\u001b[39;00m\n\u001b[32m 929\u001b[39m first_call = \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mhasattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mn_samples_seen_\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m930\u001b[39m X = \u001b[43mvalidate_data\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 931\u001b[39m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 932\u001b[39m \u001b[43m \u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 933\u001b[39m \u001b[43m \u001b[49m\u001b[43maccept_sparse\u001b[49m\u001b[43m=\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mcsr\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mcsc\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 934\u001b[39m \u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[43m=\u001b[49m\u001b[43mFLOAT_DTYPES\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 935\u001b[39m \u001b[43m \u001b[49m\u001b[43mensure_all_finite\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mallow-nan\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[32m 936\u001b[39m \u001b[43m \u001b[49m\u001b[43mreset\u001b[49m\u001b[43m=\u001b[49m\u001b[43mfirst_call\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 937\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 938\u001b[39m n_features = X.shape[\u001b[32m1\u001b[39m]\n\u001b[32m 940\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m sample_weight \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/utils/validation.py:2944\u001b[39m, in \u001b[36mvalidate_data\u001b[39m\u001b[34m(_estimator, X, y, reset, validate_separately, skip_check_array, **check_params)\u001b[39m\n\u001b[32m 2942\u001b[39m out = X, y\n\u001b[32m 2943\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m no_val_X \u001b[38;5;129;01mand\u001b[39;00m no_val_y:\n\u001b[32m-> \u001b[39m\u001b[32m2944\u001b[39m out = \u001b[43mcheck_array\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minput_name\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mX\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mcheck_params\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 2945\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m no_val_X \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m no_val_y:\n\u001b[32m 2946\u001b[39m out = _check_y(y, **check_params)\n",
|
|
||||||
"\u001b[36mFile \u001b[39m\u001b[32m~/Services/predictify/.venv/lib/python3.11/site-packages/sklearn/utils/validation.py:1057\u001b[39m, in \u001b[36mcheck_array\u001b[39m\u001b[34m(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_writeable, force_all_finite, ensure_all_finite, ensure_non_negative, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name)\u001b[39m\n\u001b[32m 1055\u001b[39m array = _asarray_with_order(array, order=order, dtype=dtype, xp=xp)\n\u001b[32m 1056\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m ComplexWarning \u001b[38;5;28;01mas\u001b[39;00m complex_warning:\n\u001b[32m-> \u001b[39m\u001b[32m1057\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 1058\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mComplex data not supported\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{}\u001b[39;00m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[33m\"\u001b[39m.format(array)\n\u001b[32m 1059\u001b[39m ) \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mcomplex_warning\u001b[39;00m\n\u001b[32m 1061\u001b[39m \u001b[38;5;66;03m# It is possible that the np.array(..) gave no warning. This happens\u001b[39;00m\n\u001b[32m 1062\u001b[39m \u001b[38;5;66;03m# when no dtype conversion happened, for example dtype = None. The\u001b[39;00m\n\u001b[32m 1063\u001b[39m \u001b[38;5;66;03m# result is that np.array(..) produces an array of complex dtype\u001b[39;00m\n\u001b[32m 1064\u001b[39m \u001b[38;5;66;03m# and we need to catch and raise exception for such cases.\u001b[39;00m\n\u001b[32m 1065\u001b[39m _ensure_no_complex_data(array)\n",
|
|
||||||
"\u001b[31mValueError\u001b[39m: Complex data not supported\n[array([-2.43607666e+02+0.j, 2.02283173e+02+0.j, -9.33068466e+00+0.j, ...,\n 3.39018144e-02+0.j, 1.07776299e-01+0.j, 1.20185320e+02+0.j])]\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"from sklearn.preprocessing import StandardScaler\n",
|
|
||||||
"\n",
|
|
||||||
"scaler = StandardScaler()\n",
|
|
||||||
"\n",
|
|
||||||
"X_scaled = scaler.fit_transform(X)\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"kernelspec": {
|
|
||||||
"display_name": ".venv",
|
|
||||||
"language": "python",
|
|
||||||
"name": "python3"
|
|
||||||
},
|
|
||||||
"language_info": {
|
|
||||||
"codemirror_mode": {
|
|
||||||
"name": "ipython",
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"file_extension": ".py",
|
|
||||||
"mimetype": "text/x-python",
|
|
||||||
"name": "python",
|
|
||||||
"nbconvert_exporter": "python",
|
|
||||||
"pygments_lexer": "ipython3",
|
|
||||||
"version": "3.11.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nbformat": 4,
|
|
||||||
"nbformat_minor": 2
|
|
||||||
}
|
|
||||||
+13304
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user